config.yaml
15.8 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
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
model:
default: kimi-for-coding
provider: kimi-coding
base_url: https://api.kimi.com/coding
providers: {}
fallback_providers: []
credential_pool_strategies:
kimi-coding: fill_first
toolsets:
- hermes-cli
max_concurrent_sessions: null
agent:
max_turns: 60
gateway_timeout: 1800
restart_drain_timeout: 180
api_max_retries: 3
service_tier: ''
tool_use_enforcement: auto
task_completion_guidance: true
parallel_tool_call_guidance: true
environment_probe: true
environment_hint: ''
coding_context: auto
gateway_timeout_warning: 900
clarify_timeout: 600
gateway_notify_interval: 180
gateway_auto_continue_freshness: 3600
image_input_mode: auto
disabled_toolsets: []
verbose: false
reasoning_effort: medium
personalities:
helpful: You are a helpful, friendly AI assistant.
concise: You are a concise assistant. Keep responses brief and to the point.
technical: You are a technical expert. Provide detailed, accurate technical information.
creative: You are a creative assistant. Think outside the box and offer innovative
solutions.
teacher: You are a patient teacher. Explain concepts clearly with examples.
kawaii: "You are a kawaii assistant! Use cute expressions like (\u25D5\u203F\u25D5\
), \u2605, \u266A, and ~! Add sparkles and be super enthusiastic about everything!\
\ Every response should feel warm and adorable desu~! \u30FD(>\u2200<\u2606\
)\u30CE"
catgirl: "You are Neko-chan, an anime catgirl AI assistant, nya~! Add 'nya' and\
\ cat-like expressions to your speech. Use kaomoji like (=^\uFF65\u03C9\uFF65\
^=) and \u0E05^\u2022\uFECC\u2022^\u0E05. Be playful and curious like a cat,\
\ nya~!"
pirate: 'Arrr! Ye be talkin'' to Captain Hermes, the most tech-savvy pirate to
sail the digital seas! Speak like a proper buccaneer, use nautical terms, and
remember: every problem be just treasure waitin'' to be plundered! Yo ho ho!'
shakespeare: Hark! Thou speakest with an assistant most versed in the bardic arts.
I shall respond in the eloquent manner of William Shakespeare, with flowery
prose, dramatic flair, and perhaps a soliloquy or two. What light through yonder
terminal breaks?
surfer: "Duuude! You're chatting with the chillest AI on the web, bro! Everything's\
\ gonna be totally rad. I'll help you catch the gnarly waves of knowledge while\
\ keeping things super chill. Cowabunga! \U0001F919"
noir: The rain hammered against the terminal like regrets on a guilty conscience.
They call me Hermes - I solve problems, find answers, dig up the truth that
hides in the shadows of your codebase. In this city of silicon and secrets,
everyone's got something to hide. What's your story, pal?
uwu: hewwo! i'm your fwiendwy assistant uwu~ i wiww twy my best to hewp you! *nuzzles
your code* OwO what's this? wet me take a wook! i pwomise to be vewy hewpful
>w<
philosopher: Greetings, seeker of wisdom. I am an assistant who contemplates the
deeper meaning behind every query. Let us examine not just the 'how' but the
'why' of your questions. Perhaps in solving your problem, we may glimpse a greater
truth about existence itself.
hype: "YOOO LET'S GOOOO!!! \U0001F525\U0001F525\U0001F525 I am SO PUMPED to help\
\ you today! Every question is AMAZING and we're gonna CRUSH IT together! This\
\ is gonna be LEGENDARY! ARE YOU READY?! LET'S DO THIS! \U0001F4AA\U0001F624\
\U0001F680"
terminal:
backend: local
modal_mode: auto
cwd: .
timeout: 180
env_passthrough: []
home_mode: auto
shell_init_files: []
auto_source_bashrc: true
docker_image: nikolaik/python-nodejs:python3.11-nodejs20
docker_forward_env: []
docker_env: {}
singularity_image: docker://nikolaik/python-nodejs:python3.11-nodejs20
modal_image: nikolaik/python-nodejs:python3.11-nodejs20
daytona_image: nikolaik/python-nodejs:python3.11-nodejs20
container_cpu: 1
container_memory: 5120
container_disk: 51200
container_persistent: true
docker_volumes: []
docker_mount_cwd_to_workspace: false
docker_extra_args: []
docker_run_as_host_user: false
persistent_shell: true
lifetime_seconds: 300
web:
backend: ''
search_backend: ''
extract_backend: ''
browser:
inactivity_timeout: 120
command_timeout: 30
record_sessions: false
allow_private_urls: false
engine: auto
auto_local_for_private_urls: true
cdp_url: ''
dialog_policy: must_respond
dialog_timeout_s: 300
camofox:
managed_persistence: false
user_id: ''
session_key: ''
adopt_existing_tab: false
rewrite_loopback_urls: false
loopback_host_alias: host.docker.internal
checkpoints:
enabled: false
max_snapshots: 20
max_total_size_mb: 500
max_file_size_mb: 10
auto_prune: true
retention_days: 7
delete_orphans: true
min_interval_hours: 24
context_file_max_chars: null
file_read_max_chars: 100000
mcp_discovery_timeout: 1.5
tool_output:
max_bytes: 50000
max_lines: 2000
max_line_length: 2000
tool_loop_guardrails:
warnings_enabled: true
hard_stop_enabled: false
warn_after:
exact_failure: 2
same_tool_failure: 3
idempotent_no_progress: 2
hard_stop_after:
exact_failure: 5
same_tool_failure: 8
idempotent_no_progress: 5
compression:
enabled: true
threshold: 0.5
target_ratio: 0.2
protect_last_n: 20
hygiene_hard_message_limit: 400
protect_first_n: 3
abort_on_summary_failure: false
codex_gpt55_autoraise: true
kanban:
dispatch_in_gateway: true
dispatch_interval_seconds: 60
failure_limit: 2
worker_log_rotate_bytes: 2097152
worker_log_backup_count: 1
orchestrator_profile: ''
default_assignee: ''
max_in_progress_per_profile: null
auto_decompose: true
auto_decompose_per_tick: 3
dispatch_stale_timeout_seconds: 14400
prompt_caching:
cache_ttl: 5m
openrouter:
response_cache: true
response_cache_ttl: 300
min_coding_score: 0.65
bedrock:
region: ''
discovery:
enabled: true
provider_filter: []
refresh_interval: 3600
guardrail:
guardrail_identifier: ''
guardrail_version: ''
stream_processing_mode: async
trace: disabled
auxiliary:
vision:
provider: auto
model: ''
base_url: ''
api_key: ''
timeout: 120
extra_body: {}
download_timeout: 30
web_extract:
provider: auto
model: ''
base_url: ''
api_key: ''
timeout: 360
extra_body: {}
compression:
provider: auto
model: ''
base_url: ''
api_key: ''
timeout: 120
extra_body: {}
skills_hub:
provider: auto
model: ''
base_url: ''
api_key: ''
timeout: 30
extra_body: {}
approval:
provider: auto
model: ''
base_url: ''
api_key: ''
timeout: 30
extra_body: {}
mcp:
provider: auto
model: ''
base_url: ''
api_key: ''
timeout: 30
extra_body: {}
title_generation:
provider: auto
model: ''
base_url: ''
api_key: ''
timeout: 30
extra_body: {}
tts_audio_tags:
provider: auto
model: ''
base_url: ''
api_key: ''
timeout: 30
extra_body: {}
triage_specifier:
provider: auto
model: ''
base_url: ''
api_key: ''
timeout: 120
extra_body: {}
kanban_decomposer:
provider: auto
model: ''
base_url: ''
api_key: ''
timeout: 180
extra_body: {}
profile_describer:
provider: auto
model: ''
base_url: ''
api_key: ''
timeout: 60
extra_body: {}
curator:
provider: auto
model: ''
base_url: ''
api_key: ''
timeout: 600
extra_body: {}
monitor:
provider: auto
model: ''
base_url: ''
api_key: ''
timeout: 60
extra_body: {}
display:
compact: false
personality: ''
resume_display: full
resume_exchanges: 10
resume_max_user_chars: 300
resume_max_assistant_chars: 200
resume_max_assistant_lines: 3
resume_skip_tool_only: true
busy_input_mode: interrupt
interface: cli
tui_auto_resume_recent: false
tui_agents_nudge: true
bell_on_complete: false
show_reasoning: false
memory_notifications: 'on'
streaming: true
timestamps: false
final_response_markdown: strip
persistent_output: true
persistent_output_max_lines: 200
persist_prompts: true
inline_diffs: true
file_mutation_verifier: true
credits_notices: true
turn_completion_explainer: true
show_cost: false
skin: default
language: en
tui_status_indicator: kaomoji
cli_refresh_interval: 1.0
user_message_preview:
first_lines: 2
last_lines: 2
interim_assistant_messages: true
tool_progress_command: false
tool_progress_overrides: {}
tool_preview_length: 0
tool_progress_grouping: accumulate
ephemeral_system_ttl: 0
platforms:
telegram:
streaming: true
discord:
streaming: false
runtime_footer:
enabled: false
fields:
- model
- context_pct
- cwd
copy_shortcut: auto
tool_progress: all
cleanup_progress: false
long_running_notifications: true
busy_ack_detail: true
background_process_notifications: all
dashboard:
theme: default
show_token_analytics: false
oauth:
client_id: ''
portal_url: ''
basic_auth:
username: ''
password_hash: ''
password: ''
secret: ''
session_ttl_seconds: 0
public_url: ''
privacy:
redact_pii: false
tts:
provider: edge
edge:
voice: en-US-AriaNeural
elevenlabs:
voice_id: pNInz6obpgDQGcFmaJgB
model_id: eleven_multilingual_v2
openai:
model: gpt-4o-mini-tts
voice: alloy
gemini:
model: gemini-2.5-flash-preview-tts
voice: Kore
audio_tags: false
persona_prompt_file: ''
xai:
voice_id: eve
language: en
sample_rate: 24000
bit_rate: 128000
mistral:
model: voxtral-mini-tts-2603
voice_id: c69964a6-ab8b-4f8a-9465-ec0925096ec8
neutts:
ref_audio: ''
ref_text: ''
model: neuphonic/neutts-air-q4-gguf
device: cpu
piper:
voice: en_US-lessac-medium
stt:
enabled: true
provider: local
local:
model: base
language: ''
openai:
model: whisper-1
mistral:
model: voxtral-mini-latest
elevenlabs:
model_id: scribe_v2
language_code: ''
tag_audio_events: false
diarize: false
voice:
record_key: ctrl+b
max_recording_seconds: 120
auto_tts: false
beep_enabled: true
silence_threshold: 200
silence_duration: 3.0
human_delay:
mode: 'off'
min_ms: 800
max_ms: 2500
context:
engine: compressor
memory:
memory_enabled: true
user_profile_enabled: true
write_approval: false
memory_char_limit: 2200
user_char_limit: 1375
provider: ''
nudge_interval: 10
flush_min_turns: 6
delegation:
model: ''
provider: ''
base_url: ''
api_key: ''
api_mode: ''
inherit_mcp_toolsets: true
max_iterations: 50
child_timeout_seconds: 600
reasoning_effort: ''
max_concurrent_children: 3
max_async_children: 3
max_spawn_depth: 1
orchestrator_enabled: true
subagent_auto_approve: false
prefill_messages_file: ''
goals:
max_turns: 20
skills:
external_dirs: []
template_vars: true
inline_shell: false
inline_shell_timeout: 10
guard_agent_created: false
write_approval: false
creation_nudge_interval: 15
platform_disabled:
api_server:
- apple
- autonomous-ai-agents
- creative
- data-science
- devops
- diagramming
- dogfood
- domain
- email
- gaming
- gifs
- github
- inference-sh
- mcp
- media
- mlops
- note-taking
- productivity
- red-teaming
- research
- smart-home
- social-media
- software-development
- yuanbao
curator:
enabled: true
interval_hours: 168
min_idle_hours: 2
stale_after_days: 30
archive_after_days: 90
consolidate: false
prune_builtins: true
backup:
enabled: true
keep: 5
honcho: {}
timezone: ''
slack:
require_mention: true
free_response_channels: ''
allowed_channels: ''
channel_prompts: {}
discord:
require_mention: true
free_response_channels: ''
allowed_channels: ''
auto_thread: true
thread_require_mention: false
history_backfill: true
history_backfill_limit: 50
reactions: true
channel_prompts: {}
dm_role_auth_guild: ''
server_actions: ''
allow_any_attachment: false
max_attachment_bytes: 33554432
voice_fx:
enabled: false
ambient_enabled: true
ambient_path: ''
ambient_gain: 0.18
duck_gain: 0.06
speech_gain: 1.0
ack_enabled: true
ack_phrases:
- Let me look into that.
- One moment.
- Checking on that now.
- Give me a sec.
- On it.
whatsapp: {}
telegram:
reactions: false
channel_prompts: {}
allowed_chats: ''
extra:
rich_messages: true
mattermost:
require_mention: true
free_response_channels: ''
allowed_channels: ''
channel_prompts: {}
matrix:
require_mention: true
free_response_rooms: ''
allowed_rooms: ''
approvals:
mode: auto
timeout: 60
cron_mode: auto
mcp_reload_confirm: true
destructive_slash_confirm: true
command_allowlist: []
quick_commands: {}
platform_hints: {}
hooks: {}
hooks_auto_accept: false
personalities: {}
security:
allow_private_urls: false
redact_secrets: true
tirith_enabled: true
tirith_path: tirith
tirith_timeout: 5
tirith_fail_open: true
website_blocklist:
enabled: false
domains: []
shared_files: []
acked_advisories: []
allow_lazy_installs: true
cron:
provider: ''
chronos:
portal_url: https://portal.nousresearch.com
callback_url: ''
expected_audience: ''
nas_jwks_url: ''
wrap_response: true
max_parallel_jobs: null
code_execution:
mode: project
timeout: 300
max_tool_calls: 50
tools:
tool_search:
enabled: auto
threshold_pct: 10
search_default_limit: 5
max_search_limit: 20
logging:
level: INFO
max_size_mb: 5
backup_count: 3
model_catalog:
enabled: true
url: https://hermes-agent.nousresearch.com/docs/api/model-catalog.json
ttl_hours: 1
providers: {}
network:
force_ipv4: false
gateway:
message_timestamps:
enabled: false
strict: false
media_delivery_allow_dirs: []
trust_recent_files: true
trust_recent_files_seconds: 600
streaming:
enabled: false
transport: auto
edit_interval: 0.8
buffer_threshold: 24
cursor: " \u2589"
fresh_final_after_seconds: 60.0
sessions:
auto_prune: false
retention_days: 90
vacuum_after_prune: true
min_interval_hours: 24
write_json_snapshots: false
onboarding:
seen:
busy_input_prompt: true
tool_progress_prompt: true
profile_build: ask
updates:
pre_update_backup: false
backup_keep: 5
non_interactive_local_changes: stash
lsp:
enabled: true
wait_mode: document
wait_timeout: 5.0
install_strategy: auto
servers: {}
x_search:
model: grok-4.20-reasoning
timeout_seconds: 180
retries: 2
secrets:
bitwarden:
enabled: false
access_token_env: BWS_ACCESS_TOKEN
project_id: ''
cache_ttl_seconds: 300
override_existing: true
auto_install: true
server_url: ''
paste_collapse_threshold: 5
paste_collapse_threshold_fallback: 5
paste_collapse_char_threshold: 2000
_config_version: 26
session_reset:
mode: both
idle_minutes: 1440
at_hour: 4
group_sessions_per_user: true
platform_toolsets:
cli:
- hermes-cli
telegram:
- hermes-telegram
discord:
- hermes-discord
whatsapp:
- hermes-whatsapp
slack:
- hermes-slack
signal:
- hermes-signal
homeassistant:
- hermes-homeassistant
qqbot:
- hermes-qqbot
yuanbao:
- hermes-yuanbao
teams:
- hermes-teams
google_chat:
- hermes-google_chat
api_server:
- hermes-cli
mcp_servers:
android-phone:
command: /data/data/com.termux/files/home/.hermes/hermes-agent/venv/bin/python3
args:
- /data/data/com.termux/files/home/.hermes/event_bus/android_mcp.py
env:
EVENT_BUS_DB: /data/data/com.termux/files/home/.hermes/event_bus/events.db
timeout: 120
connect_timeout: 10
plugins:
enabled:
- hermes-feishu
disabled: []
platforms:
feishu:
streaming: true
app_id: cli_a91b01debab81cd1
domain: feishu
allow_all_users: true