-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathexample.config.yaml
More file actions
113 lines (103 loc) · 4.24 KB
/
example.config.yaml
File metadata and controls
113 lines (103 loc) · 4.24 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
# Assistant example config. Email integration with optional Gemini web research.
# See packages/assistant-email/README.md, packages/assistant-github/README.md,
# and packages/assistant-gemini/README.md for more config options and examples.
llms:
default:
base_url: http://localhost:11434 # Ollama server URL
model: your-model-name:latest
parameters: # Passed directly to the API
temperature: 0.7
integrations:
- type: email
name: personal
imap_server: imap.example.com
username: you@example.com
password: !secret personal_email_password
schedule:
every: 30m
llm: default
platforms:
inbox:
limit: 50
window: 7d # Optional: only check last N days (default: all)
classifications: # Optional, defaults are used if omitted
human: is this a personal email written by a human?
requires_response:
prompt: does this email require a response?
type: boolean
privacy_policy_update:
prompt: is this email to tell me that a privacy policy has been updated?
type: boolean
automations:
# Deterministic: archive calendar events (no LLM needed)
- when:
is_calendar_event: true
then: archive
# LLM-based: archive emails that aren't from a human
- when:
classification.human: "< 0.2"
then: archive
# LLM-based: research ToS updates via Gemini (requires gemini integration below)
# !yolo required: LLM provenance + data sent to external API
- when:
classification.privacy_policy_update: true
then:
- archive
- !yolo
service:
call: gemini.default.web_research
inputs:
prompt: >
I live in Canada and the privacy policy for {{ domain }}
has recently been updated. Craft a concise report on the
changes in the new privacy policy and how it may impact
me. Include links to primary sources.
human_log: "Privacy Policy update for {{ domain }}"
on_result:
- type: note
path: research/privacy_policy_updates/
# GitHub integration: track PRs and issues via GitHub App credentials
- type: github
name: personal
github_user: your-github-username
app_id: !secret github_app_id
installation_id: !secret github_installation_id
private_key: !secret github_private_key
schedule:
every: 12h
llm: default
# orgs: [myorg] # Restrict to specific orgs
# repos: [myorg/myrepo] # Restrict to specific repos (org/repo format)
# repos: # Or use object form to add context for the LLM:
# - repo: myorg/backend
# context: "Python API server. Issues should include endpoint and error details."
# - repo: myorg/frontend
# context: "React SPA. Include browser and component info in issues."
# - myorg/docs # Plain strings still work alongside object entries
platforms:
pull_requests:
include_mentions: true
issues:
include_mentions: true
# Gemini web research service used for privacy policy updates
- type: gemini
name: default
api_key: !secret gemini_api_key
model: gemini-3-pro-preview
chat:
llm: default
system_prompt: You are a helpful assistant.
queue_policies: # Optional: dedup + rate limiting + retention
retention: 7d # How long to keep done/failed task files (default: 7d)
defaults:
deduplicate_pending: true # Skip enqueue if identical payload pending
overrides:
service.gemini.web_research:
rate_limit:
max: 10 # Max enqueues per time window
per: 1h # Window: 30m, 1h, 1d, etc.
directories:
notes: /path/to/notes
task_queue: /path/to/task_queue
logs: /path/to/logs
chats: /path/to/chats # Conversation history (JSONL files)