Skip to content

FearW/hermes-agent

ย 
ย 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

93 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

Hermes Agent

ๅŸบไบŽ Nous Research ็š„ Hermes ๆทฑๅบฆ้ญ”ๆ”น็‰ˆ โ€” ่‡ชๆˆ‘่ฟ›ๅŒ–็š„ AI ไปฃ็†๏ผŒๆ”ฏๆŒๅคšๅนณๅฐ็ฝ‘ๅ…ณใ€ๆ™บ่ƒฝ่ทฏ็”ฑใ€ๅŠจๆ€ๅทฅๅ…ทๅˆ†ๅฑ‚ใ€ๆŠ€่ƒฝ็ณป็ปŸใ€MCP ๅ่ฎฎ

ๆฆ‚่งˆ

Hermes ๆ˜ฏไธ€ไธชๅ…จๅŠŸ่ƒฝ็š„ AI ไปฃ็†็ณป็ปŸ๏ผŒๅœจ Nous Research ๅŽŸ็‰ˆๅŸบ็ก€ไธŠ่ฟ›่กŒไบ†ๅคง้‡ๅฎšๅˆถๅผ€ๅ‘ใ€‚ๆ ธๅฟƒๆ€่ทฏๆ˜ฏ๏ผšไธ€ไธชไปฃ็†๏ผŒๆ‰€ๆœ‰ๅนณๅฐ๏ผŒๆŒ‰้œ€ๅˆ†้…่ƒฝๅŠ›ใ€‚

hermes                    # CLI ่Šๅคฉ
hermes-agent              # ็›ดๆŽฅ่ฟ่กŒ
hermes-acp                # ACP ๅ่ฎฎ้€‚้…ๅ™จ
hermes gateway start      # ๅฏๅŠจๅคšๅนณๅฐ็ฝ‘ๅ…ณ

้ญ”ๆ”นๅŠŸ่ƒฝๅ…จ่งˆ

ไปฅไธ‹ๆ˜ฏ็›ธๅฏนไบŽๅŽŸ็‰ˆ Hermes ็š„ๆ‰€ๆœ‰ๅฎšๅˆถๅ’ŒๅขžๅผบๅŠŸ่ƒฝ๏ผš

1. ๆ™บ่ƒฝๆจกๅž‹่ทฏ็”ฑ (Smart Model Routing)

่‡ชๅŠจๆ นๆฎๆถˆๆฏๅคๆ‚ๅบฆ้€‰ๆ‹ฉไธๅŒๆจกๅž‹/ๅทฅๅ…ท้›†๏ผŒๅคงๅน…่Š‚็œ tokenใ€‚

simple  (็ฎ€ๅ•้—ฎ้ข˜)  โ†’ light  ๆจกๅผ๏ผšๆ— ๅทฅๅ…ท๏ผŒ็”จ cheap_model
general (ๆ—ฅๅธธๅฏน่ฏ)  โ†’ medium ๆจกๅผ๏ผšไป… core + meta ๅทฅๅ…ท (~60% token ่Š‚็œ)
complex (ๅคๆ‚ไปปๅŠก)  โ†’ heavy  ๆจกๅผ๏ผšๅ…จ้ƒจๅทฅๅ…ท + MCP + ๆŠ€่ƒฝ
  • ๅคๆ‚ๅบฆๅŸบไบŽ๏ผšๅ…ณ้”ฎ่ฏใ€ๆถˆๆฏ้•ฟๅบฆใ€ไปฃ็ ๅ—ใ€URLใ€็บฆๆŸ้“พใ€่ถ…ๆ—ถๆขๅค็ญ‰ไฟกๅท
  • ๆ”ฏๆŒไธญ่‹ฑๆ–‡ๅ…ณ้”ฎ่ฏ๏ผˆ"ไปฃ็ ""ไฟฎๅค""้‡ๆž„""ๆŽ’ๆŸฅ""debug""patch"็ญ‰๏ผ‰
  • ๅฏ้…็ฝฎ force_light_contains / force_heavy_contains ๅผบๅˆถ่ทฏ็”ฑ
  • ๆ‰€ๆœ‰้˜ˆๅ€ผๅฏ่ฐƒ๏ผšmax_simple_chars / min_complex_words ็ญ‰

2. ไธ‰ๅฑ‚ๅŠจๆ€ๅทฅๅ…ทๅˆ†็บง (Tool Tiers)

ไธๅ†ไธ€ๆŠŠๆขญๅ…จ้ƒจๅทฅๅ…ทใ€‚ๆŒ‰ๅคๆ‚ๅบฆๅŠจๆ€ๅˆ†้…๏ผš

ๅฑ‚็บง ๅŒ…ๅซๅทฅๅ…ท ไผฐ็ฎ— Token
Core web_search, web_extract, terminal, process, read_file, write_file, patch, search_files ~1,500
Meta skills_list, skill_view, todo, memory, session_search, clarify ~1,300
Heavy browser_, vision_, image_generate, tts, execute_code, delegate_task, cronjob, send_message, ha_*, skill_manage ~1,600

general ่ฝฎไปŽ ~4,400 tokens ้™ๅˆฐ ~2,800๏ผŒ่Š‚็œ็บฆ 37%ใ€‚

3. ๅคšๅนณๅฐๆถˆๆฏ็ฝ‘ๅ…ณ (Multi-Platform Gateway)

ไธ€ไธช็ฝ‘ๅ…ณๅŒๆ—ถๆœๅŠกๆ‰€ๆœ‰ๅนณๅฐ๏ผŒๅ…ฑไบซไผš่ฏ็ฎก็†ใ€่ฎฐๅฟ†ใ€ๆŠ€่ƒฝ็ณป็ปŸ๏ผš

ๅนณๅฐ ็Šถๆ€ ็‰นๆ€ง
CLI โœ… ๅฎŒๆ•ด็ปˆ็ซฏไฝ“้ชŒ๏ผŒ็šฎ่‚ค็ณป็ปŸ๏ผŒๅฎžๆ—ถๆตๅผ
Telegram โœ… ๅ‘ฝไปคใ€็พค็ป„ใ€ๅ†…่”้”ฎ็›˜ใ€่ฏญ้Ÿณๆถˆๆฏใ€ๆตๅผ็ผ–่พ‘
Discord โœ… ้ข‘้“ใ€็งไฟกใ€Slash ๅ‘ฝไปคใ€ๆตๅผ
WhatsApp โœ… ๆถˆๆฏๆ”ถๅ‘
Slack โœ… Bolt ๆก†ๆžถใ€Socket Mode
Signal โœ… ็ซฏๅˆฐ็ซฏๅŠ ๅฏ†ๆถˆๆฏ
Home Assistant โœ… ๆ™บ่ƒฝๅฎถๅฑ…ๆŽงๅˆถ้ขๆฟ
Matrix โœ… ็ซฏๅˆฐ็ซฏๅŠ ๅฏ†ใ€ๅคšๆˆฟ้—ด
DingTalk โœ… ้’‰้’‰ๆœบๅ™จไบบ
Feishu/Lark โœ… ้ฃžไนฆๆœบๅ™จไบบ
TUI Gateway โœ… ็ปˆ็ซฏ UI ็ฝ‘ๅ…ณ
Web Dashboard โœ… CPA ็ฎก็† WebUI

4. ๅฟƒ่ทณ่ฐƒๅบฆๅ™จ (Heartbeat Scheduler)

็ฝ‘ๅ…ณ็ฉบ้—ฒๆ—ถ๏ผŒไปฃ็†ๅฏไปฅไธปๅŠจๅ‘่ตทๅฟƒ่ทณ่ฝฎๆฌก๏ผš

  • ๅฎšๆœŸๆ‰ง่กŒ่ฝป้‡็บงไปฃ็†่ฝฎๆฌก๏ผˆๅœจ main session ไธŠไธ‹ๆ–‡ไธญ๏ผ‰
  • HEARTBEAT_OK ้™้ป˜็กฎ่ฎคๆœบๅˆถ๏ผŒไธๅนฒๆ‰ฐ็”จๆˆท
  • ๅฏ้…็ฝฎ TTL ๅ’Œ้—ด้š”
  • ็”จไบŽ๏ผš่ƒŒๆ™ฏ็Ÿฅ่ฏ†ๆ›ดๆ–ฐใ€ไธปๅŠจๅปบ่ฎฎใ€ๅฎšๆ—ถๆฃ€ๆŸฅ

5. CLIProxyAPI (CPA) ็ปŸไธ€ไปฃ็†ๅฑ‚

ๆ‰€ๆœ‰่ฏทๆฑ‚็ปŸไธ€้€š่ฟ‡ CPA ่ทฏ็”ฑ๏ผŒไธๅ†็›ด่ฟžไธŠๆธธ Provider๏ผš

Hermes โ†’ CPA (/v1) โ†’ ไธŠๆธธ Provider (OpenRouter / Anthropic / OpenAI / ๆœฌๅœฐๆจกๅž‹)
  • CPA WebUI ็ฎก็†ไธŠๆธธ Providerใ€OAuth ่ดฆๆˆทใ€่ทฏ็”ฑ็ญ–็•ฅใ€ๆ•…้šœ่ฝฌ็งป
  • OpenAI ๅ…ผๅฎนๆŽฅๅฃ (/v1) + Anthropic ๅ…ผๅฎนๆŽฅๅฃ (/anthropic)
  • ๆ”ฏๆŒ API Key ้‰ดๆƒใ€ๅคš่ดฆๆˆทๆฑ 
  • Hermes ๅช่ฎค provider: cliproxyapi

6. ็ปˆ็ซฏ็Žฏๅขƒ็Ÿฉ้˜ต (6 ็ง่ฟ่กŒๅŽ็ซฏ)

ไธๅชๆœฌๅœฐๆ‰ง่กŒ๏ผš

ๅŽ็ซฏ ๅœบๆ™ฏ
local ๆœฌๅœฐ็›ดๆŽฅๆ‰ง่กŒ
ssh ่ฟœ็จ‹ๆœๅŠกๅ™จ๏ผŒไปฃ็†ไปฃ็ ๆœฌๅœฐ่ฟ่กŒ
docker Docker ๅฎนๅ™จ้š”็ฆป
singularity HPC ้›†็พคใ€ๅ…ฑไบซ่ฎก็ฎ—็Žฏๅขƒ
modal Modal ไบ‘็ซฏ GPU/Serverless
daytona Daytona ไบ‘็ซฏๆฒ™็ฎฑ๏ผŒๆŒไน…ๅŒ–ๅทฅไฝœๅŒบ

ๆ‰€ๆœ‰ๅŽ็ซฏๅ…ฑไบซ sudo ๅฏ†็ ็ฎก้“ใ€่ถ…ๆ—ถๆŽงๅˆถใ€่ต„ๆบ้™ๅˆถ้…็ฝฎใ€‚

7. MCP ๅ่ฎฎๅฎŒๆ•ดๅฎž็Žฐ (Model Context Protocol)

ๆŽฅๅ…ฅ MCP ็”Ÿๆ€็š„ไปปๆ„ๅทฅๅ…ทๆœๅŠกๅ™จ๏ผš

  • Stdio ๆœๅŠกๅ™จ: ้€š่ฟ‡ๅญ่ฟ›็จ‹ๅฏๅŠจ MCP ๆœๅŠกๅ™จ
  • HTTP/SSE ๆœๅŠกๅ™จ: ่ฟžๆŽฅ่ฟœ็จ‹ MCP ็ซฏ็‚น
  • OAuth 2.1 ๆŽˆๆƒ: ๅ†…็ฝฎ OAuth ๅฎขๆˆท็ซฏ๏ผŒๆ”ฏๆŒ้œ€่ฆ่ฎค่ฏ็š„ MCP ๆœๅŠกๅ™จ
  • Sampling ๆ”ฏๆŒ: ๆœๅŠกๅ™จๅ‘่ตท็š„ LLM ่ฏทๆฑ‚๏ผŒๅฏ้…็ฝฎๆจกๅž‹/้€Ÿ็އ/ๅฎก่ฎก
  • ่‡ชๅŠจๅ‘็Žฐๅนถๆณจๅ†Œ MCP ๅทฅๅ…ทๅˆฐๅทฅๅ…ทๆณจๅ†Œ่กจ

8. ่‡ช่ฟ›ๅŒ–ๆŠ€่ƒฝ็ณป็ปŸ (Self-Improving Skills)

ไปฃ็†ๅฏไปฅๅˆ›ๅปบใ€ๆ”น่ฟ›ใ€ๅˆ†ไบซๆŠ€่ƒฝ๏ผš

  • ๅฎŒๆˆๅคๆ‚ไปปๅŠกๅŽ่‡ชๅŠจๆ็คบๅˆ›ๅปบๆŠ€่ƒฝ
  • ๆŠ€่ƒฝๅญ˜ๅ‚จๅœจ ~/.hermes/skills/
  • Skills Hub: ไปŽ GitHub ไป“ๅบ“ๆœ็ดข/ๅฎ‰่ฃ…/็ฎก็†ๆŠ€่ƒฝ
  • ๅค–้ƒจๆŠ€่ƒฝ็›ฎๅฝ•: ่ทจไปฃ็†ๅ…ฑไบซๅช่ฏปๆŠ€่ƒฝ
  • ๆŠ€่ƒฝไฟๆŠคๆœบๅˆถ๏ผš่ฎฟ้—ฎๆŽงๅˆถๅ’Œๆƒ้™็ฎก็†
  • ๆฏ N ่ฝฎๅทฅๅ…ท่ฐƒ็”จๆ็คบๅˆ›ๅปบๆŠ€่ƒฝ

9. ไธŠไธ‹ๆ–‡ๅŽ‹็ผฉๅผ•ๆ“Ž (Context Compression)

ๅฏน่ฏๅคช้•ฟๆ—ถ่‡ชๅŠจๅŽ‹็ผฉไธญ้—ด่ฝฎๆฌก๏ผš

  • ่ทŸ่ธช API ่ฟ”ๅ›ž็š„ๅฎž้™… token ็”จ้‡๏ผˆ้žไผฐ็ฎ—๏ผ‰
  • ่พพๅˆฐ้˜ˆๅ€ผ๏ผˆ้ป˜่ฎค 50%๏ผ‰ๆ—ถ่งฆๅ‘ๅŽ‹็ผฉ
  • ไฟๆŠคๅ‰ 3 ่ฝฎ + ๆœ€่ฟ‘ N ๆกๆถˆๆฏ๏ผˆ้ป˜่ฎค 20 ๆก๏ผ‰
  • ็”จๅฟซ้€Ÿๆจกๅž‹ๆ€ป็ป“ไธญ้—ด่ฝฎๆฌก
  • ๅŽ‹็ผฉๅŽๆ— ็ผ็ปง็ปญๅฏน่ฏ
  • ๆ‰€ๆœ‰ๅ‚ๆ•ฐๅฏ่ฐƒ๏ผšthreshold / target_ratio / protect_last_n

10. ๆŒไน…ๅŒ–่ฎฐๅฟ†็ณป็ปŸ (Persistent Memory)

่ทจไผš่ฏ่ฎฐๅฟ†๏ผŒไธค็งๅญ˜ๅ‚จ๏ผš

ๅญ˜ๅ‚จ ็”จ้€” ๅญ—็ฌฆ้™ๅˆถ
MEMORY.md ไปฃ็†ไธชไบบ็ฌ”่ฎฐ๏ผš็Žฏๅขƒไบ‹ๅฎžใ€็บฆๅฎšใ€ๅญฆๅˆฐ็š„็Ÿฅ่ฏ† 2,200 chars (~800 tokens)
USER.md ็”จๆˆท็”ปๅƒ๏ผšๅๅฅฝใ€ๆฒŸ้€š้ฃŽๆ ผใ€ๆœŸๆœ› 1,375 chars (~500 tokens)
  • ไปฃ็†่‡ชไธป็ฎก็†่ฃๅ‰ช๏ผˆ่พพๅˆฐ้™ๅˆถๆ—ถๅˆๅนถๆˆ–ๆ›ฟๆข๏ผ‰
  • ่ฎฐๅฟ†ๆ้†’๏ผšๆฏ N ่ฝฎๆ็คบไปฃ็†ไฟๅญ˜่ฎฐๅฟ†
  • ่ฎฐๅฟ†ๅ†ฒๅˆท๏ผšๅŽ‹็ผฉ/้‡็ฝฎ/้€€ๅ‡บๅ‰็ป™ไปฃ็†ไธ€่ฝฎไฟๅญ˜่ฎฐๅฟ†
  • Honcho ้›†ๆˆ: AI-native ่ทจไผš่ฏ็”จๆˆทๅปบๆจก๏ผˆๅฏ้€‰๏ผ‰

11. ็ก็œ ๆจกๅผ (Sleep Mode)

ๅฏน่ฏ้—ด้š™่‡ชๅŠจ่ฟ›่กŒๅŽๅฐๅญฆไน ๅ’Œ็ปดๆŠค๏ผš

ๅŠŸ่ƒฝ ่ฏดๆ˜Ž
่ฎฐๅฟ†ๅฎกๆŸฅ ๅŽๅฐๅฎกๆŸฅๅนถๆ”น่ฟ›่ฎฐๅฟ†
ๆŠ€่ƒฝๅฎกๆŸฅ ๅŽๅฐๅฎกๆŸฅๅนถๆ”น่ฟ›ๆŠ€่ƒฝ/ๅทฅไฝœๆต
ๅค–้ƒจ่ฎฐๅฟ†ๅŒๆญฅ ๅŒๆญฅๅทฒๅฎŒๆˆ่ฝฎๆฌกๅˆฐๅค–้ƒจ่ฎฐๅฟ†ๆไพ›่€…
L4 ๅฝ’ๆกฃ ๅฝ’ๆกฃ็ฉบ้—ฒไผš่ฏๅˆฐ L4 ่ฎฐๅฟ†
L4 ๅŽ‹็ผฉ ่ฃๅ‰ชๆ—ง็š„ไฝŽไผ˜ๅ…ˆ็บง L4 ่กŒ

้…็ฝฎๆกฃไฝ๏ผšoff / light / balanced / deep

12. ๆต่งˆๅ™จ่‡ชๅŠจๅŒ– (Browser Automation)

ๅŸบไบŽ Browserbase ็š„ไบ‘็ซฏๆต่งˆๅ™จ๏ผš

  • navigate / snapshot / click / type / scroll / back / press
  • get_images / vision๏ผˆๆˆชๅ›พ่ง†่ง‰ๅˆ†ๆž๏ผ‰
  • ไธๆดป่ทƒ่ถ…ๆ—ถ่‡ชๅŠจๅ…ณ้—ญ๏ผˆ้ป˜่ฎค 2 ๅˆ†้’Ÿ๏ผ‰
  • ๆ”ฏๆŒ Firecrawl ้กต้ขๆŠ“ๅ–

13. ่ง†่ง‰ไธŽๅคšๅช’ไฝ“ๅทฅๅ…ท

ๅทฅๅ…ท ่ƒฝๅŠ› ไพ่ต–
vision_analyze ๅ›พๅƒๅˆ†ๆžใ€OCR ่พ…ๅŠฉๆจกๅž‹
image_generate FLUX ๅ›พๅƒ็”Ÿๆˆ FAL_KEY
text_to_speech ่ฏญ้Ÿณๅˆๆˆ Edge TTS๏ผˆๅ…่ดน๏ผ‰ๆˆ– ElevenLabs/OpenAI/MiniMax/Mistral
transcription (STT) ่ฏญ้Ÿณ่ฝฌๆ–‡ๅญ— faster-whisper๏ผˆๆœฌๅœฐๅ…่ดน๏ผ‰ๆˆ– Groq/OpenAI/Mistral API
voice_mode ่ฏญ้Ÿณๅฏน่ฏๆจกๅผ ๅŒไธŠ

14. ๅฎšๆ—ถไปปๅŠก็ณป็ปŸ (Cron Jobs)

ๅœจ CLI ไธญ็ฎก็†ๅฎšๆ—ถไปปๅŠก๏ผš

  • ๅˆ›ๅปบ/ๅˆ—่กจ/ๆ›ดๆ–ฐ/ๆš‚ๅœ/ๆขๅค/่ฟ่กŒ/ๅˆ ้™ค
  • ๆ”ฏๆŒ cron ่กจ่พพๅผ
  • ไปปๅŠกๆ‰ง่กŒๅœจ็‹ฌ็ซ‹ไธŠไธ‹ๆ–‡ไธญ
  • ๅ…ฑไบซ่ฎฐๅฟ†ๅ’ŒๆŠ€่ƒฝ็ณป็ปŸ

15. ๅญไปฃ็†ๅง”ๆดพ (Subagent Delegation)

spawn ็‹ฌ็ซ‹ๅญไปฃ็†ๅค„็†ๅญไปปๅŠก๏ผš

  • ้š”็ฆปไธŠไธ‹ๆ–‡๏ผŒไธๆฑกๆŸ“ไธปไผš่ฏ
  • ๆ”ฏๆŒๅ•ไปปๅŠกๅ’Œๆ‰น้‡ๆจกๅผ๏ผˆๆœ€ๅคš 3 ไธชๅนถ่กŒ๏ผ‰
  • ๅฏ้…็ฝฎๅญไปฃ็†็š„ๅทฅๅ…ท้›†ๅ’Œๆจกๅž‹
  • ็ป“ๆžœๅŽ‹็ผฉๅŽ่ฟ”ๅ›žไธปไปฃ็†

16. ไปฃ็ ๆ‰ง่กŒๆฒ™็ฎฑ (Code Execution Sandbox)

Python ่„šๆœฌ้€š่ฟ‡ RPC ่ฐƒ็”จ Hermes ๅทฅๅ…ท๏ผš

  • ไธญ้—ด็ป“ๆžœไธ่ฟ›ๅ…ฅ LLM ไธŠไธ‹ๆ–‡็ช—ๅฃ
  • ๅฏ้…็ฝฎ่ถ…ๆ—ถ๏ผˆ้ป˜่ฎค 300s๏ผ‰ๅ’Œๆœ€ๅคงๅทฅๅ…ท่ฐƒ็”จๆ•ฐ๏ผˆ้ป˜่ฎค 50๏ผ‰
  • ้€‚ๅˆๆ•ฐๆฎๅค„็†ใ€ๆ‰น้‡ๆ“ไฝœ

17. ไผš่ฏ็ฎก็†็ณป็ปŸ

็‰นๆ€ง ่ฏดๆ˜Ž
่‡ชๅŠจ้‡็ฝฎ็ญ–็•ฅ both / idle / daily / none
ไธๆดป่ทƒ่ถ…ๆ—ถ ๅฏ้…็ฝฎๅˆ†้’Ÿๆ•ฐ๏ผˆ้ป˜่ฎค 24h๏ผ‰
ๆฏๆ—ฅๅฎšๆ—ถ้‡็ฝฎ ๆŒ‡ๅฎšๅฐๆ—ถ๏ผˆ้ป˜่ฎค 4 AM๏ผ‰
ๆŒ‰็”จๆˆท้š”็ฆป ็พค็ป„่Šๅคฉไธญๆฏไบบ็‹ฌ็ซ‹ไผš่ฏ๏ผˆ้ป˜่ฎคๅผ€ๅฏ๏ผ‰
ๆตๅผ่พ“ๅ‡บ ๅฎžๆ—ถ็ผ–่พ‘ๆถˆๆฏ๏ผŒๆ”ฏๆŒ Telegram/Discord/Slack
ไผš่ฏๆ—ฅๅฟ— ่‡ชๅŠจไฟๅญ˜ๅฎŒๆ•ด่ฝจ่ฟนๅˆฐ logs/

18. CLI ็šฎ่‚ค็ณป็ปŸ (Skin System)

่‡ชๅฎšไน‰ CLI ๅค–่ง‚๏ผš

  • ๅ†…็ฝฎ็šฎ่‚ค๏ผšdefault๏ผˆ้‡‘่‰ฒ๏ผ‰ / ares๏ผˆ็บข้“œ๏ผ‰ / mono๏ผˆ็ฐๅบฆ๏ผ‰ / slate๏ผˆ่“็ฐ๏ผ‰
  • ่‡ชๅฎšไน‰็šฎ่‚ค๏ผšYAML ๆ–‡ไปถๅฎšไน‰้ขœ่‰ฒใ€ๅŠจ็”ปใ€ๆ–‡ๅญ—
  • ่ฟ่กŒๆ—ถ /skin <name> ๅˆ‡ๆข
  • ๅฏ้…็ฝฎ๏ผšๆจชๅน…้ขœ่‰ฒใ€็Šถๆ€ๅŠจ็”ปใ€ๅทฅๅ…ทๅ‰็ผ€ใ€ๅ“ๅบ”ๆก†ๆ ‡้ข˜

19. ๅฎ‰ๅ…จไธŽๅฎก่ฎก

็‰นๆ€ง ่ฏดๆ˜Ž
Tirith ้ข„ๆ‰ง่กŒๆ‰ซๆ ๆฃ€ๆต‹ homograph URLใ€pipe-to-shellใ€ๆณจๅ…ฅใ€env ๆ“็บต
CPA ่พน็•Œ (CPA Boundary) ่ฎฟ้—ฎๆŽงๅˆถ็ญ–็•ฅๅ’Œๅฎ‰ๅ…จ่พน็•Œ
PII ่„ฑๆ• ๅฏ้€‰็š„็”ต่ฏๅท็ /ID ๅ“ˆๅธŒ่„ฑๆ•
ๅ‘ฝไปคๆณจๅ…ฅ้˜ฒๆŠค ๆ‰€ๆœ‰ shell=True ๅทฒๆ›ฟๆขไธบๅ‚ๆ•ฐๆ•ฐ็ป„ๅฝขๅผ
ๅผ‚ๅธธๅฎก่ฎกๆ—ฅๅฟ— ๆ‰€ๆœ‰ except ๅ—่ฎฐๅฝ• exc_info=True

20. ๅ…ถไป–็‰น่‰ฒ

็‰นๆ€ง ่ฏดๆ˜Ž
ๆจกๅž‹ๅˆซๅ /model fast ๅฟซ้€Ÿๅˆ‡ๆข้ข„้…็ฝฎๆจกๅž‹
ๆŽจ็†ๅŠ›ๅบฆๆŽงๅˆถ xhigh / high / medium / low / none
ไบบๆ ผ็ณป็ปŸ 6 ็ง้ข„่ฎพไบบๆ ผ + /personality ่‡ชๅฎšไน‰
Human Delay ๆถˆๆฏ้—ดๆทปๅŠ ็ฑปไบบๅปถ่ฟŸ
่ƒŒๆ™ฏ่ฟ›็จ‹้€š็Ÿฅ ็ปˆ็ซฏๅŽๅฐไปปๅŠกๅฎŒๆˆ้€š็Ÿฅๅˆฐๆถˆๆฏๅนณๅฐ
ๅฎŒๆˆๅ“้“ƒ ไปฃ็†ๅฎŒๆˆๆ—ถ็ปˆ็ซฏๅ“้“ƒ
ๅทฅไฝœๅŒบ้š”็ฆป Git worktree ้š”็ฆป๏ผŒๅคšไปฃ็†ๅนถ่กŒๅทฅไฝœ
่ฝจ่ฟนๅŽ‹็ผฉ ๅฏน่ฏๅކๅฒไผ˜ๅŒ–ๅ’ŒๅŽ‹็ผฉ
ๆจกๅž‹ๅ›ž้€€้“พ ไธปๆจกๅž‹ๅคฑ่ดฅๆ—ถ่‡ชๅŠจๅ›ž้€€ๅˆฐๅค‡็”จๆจกๅž‹

ๅฟซ้€Ÿๅผ€ๅง‹

ๅฎ‰่ฃ…

pip install hermes-agent

# ๆˆ–ๅฎŒๆ•ดๅฎ‰่ฃ…๏ผˆๅซๆถˆๆฏๅนณๅฐใ€่ฏญ้Ÿณ็ญ‰๏ผ‰
pip install "hermes-agent[all]"

้…็ฝฎ

# ๅคๅˆถ้…็ฝฎๆจกๆฟ
cp cli-config.yaml.example cli-config.yaml

# ็ผ–่พ‘ .env ๆ–‡ไปถ
cat > ~/.hermes/.env << EOF
CLIPROXY_API_KEY=your-key
EOF

ๅฏๅŠจ

# CLI ่Šๅคฉ
hermes

# ๅฏๅŠจๅคšๅนณๅฐ็ฝ‘ๅ…ณ
hermes gateway start

# ๅฏๅŠจ WebUI ้ขๆฟ
hermes dashboard start

# ่ฟ่กŒ่ฏŠๆ–ญ
hermes doctor

้…็ฝฎๅ‚่€ƒ

ๅฎŒๆ•ด้…็ฝฎ่ง cli-config.yaml.example๏ผŒๅŒ…ๅซๆ‰€ๆœ‰ๅฏ้€‰้กน็š„ๆณจ้‡Š่ฏดๆ˜Žใ€‚

ๆ ธๅฟƒ้…็ฝฎ้กน

model:
  default: "gpt-5(8192)"
  provider: "cliproxyapi"

smart_model_routing:
  enabled: true
  route_modes:
    simple: light
    general: medium
    complex: heavy

terminal:
  backend: "local"    # local | ssh | docker | singularity | modal | daytona
  cwd: "."
  timeout: 180

memory:
  memory_enabled: true
  user_profile_enabled: true

compression:
  enabled: true
  threshold: 0.50

sleep_mode:
  enabled: true
  profile: balanced

ๆžถๆž„

โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚                       ็”จๆˆทๅ…ฅๅฃ                            โ”‚
โ”‚  CLI โ”‚ Telegram โ”‚ Discord โ”‚ WhatsApp โ”‚ Slack โ”‚ ...       โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
                         โ–ผ
โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚                    Hermes ็ฝ‘ๅ…ณ                            โ”‚
โ”‚  ไผš่ฏ็ฎก็† โ”‚ ๅนณๅฐ้€‚้… โ”‚ ๆตๅผไผ ่พ“ โ”‚ ๅฟƒ่ทณ่ฐƒๅบฆ โ”‚ ไผš่ฏ้‡็ฝฎ     โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
                         โ–ผ
โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚                AI Agent ๆ ธๅฟƒ                              โ”‚
โ”‚  Smart Routing โ”‚ Tool Tiers โ”‚ Skills โ”‚ Memory โ”‚ MCP      โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
                         โ–ผ
โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚                CPA ไปฃ็†ๅฑ‚                                 โ”‚
โ”‚    OpenAI ๅ…ผๅฎน /v1 โ”‚ Anthropic ๅ…ผๅฎน /anthropic            โ”‚
โ”‚    ไธŠๆธธ่ทฏ็”ฑ โ”‚ ๆ•…้šœ่ฝฌ็งป โ”‚ ๅคš่ดฆๆˆทๆฑ  โ”‚ OAuth                 โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
                         โ–ผ
โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚OpenRouterโ”‚ Anthropicโ”‚  OpenAI  โ”‚   ๆœฌๅœฐ   โ”‚ ๆ›ดๅคš Provider โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜

้กน็›ฎ็ป“ๆž„

hermes-agent/
โ”œโ”€โ”€ agent/                  # AI ไปฃ็†ๆ ธๅฟƒ
โ”‚   โ”œโ”€โ”€ smart_model_routing.py   # ๆ™บ่ƒฝ่ทฏ็”ฑ
โ”‚   โ”œโ”€โ”€ agent_init.py            # ไปฃ็†ๅˆๅง‹ๅŒ–๏ผˆไปŽ run_agent.py ๆŠฝๅ–๏ผ‰
โ”‚   โ”œโ”€โ”€ auxiliary_client.py      # ่พ…ๅŠฉๆจกๅž‹ๅฎขๆˆท็ซฏ
โ”‚   โ”œโ”€โ”€ credential_pool.py       # ๅ‡ญ่ฏๆฑ 
โ”‚   โ””โ”€โ”€ anthropic_adapter.py     # Anthropic ้€‚้…
โ”œโ”€โ”€ gateway/                # ๅคšๅนณๅฐ็ฝ‘ๅ…ณ
โ”‚   โ”œโ”€โ”€ run.py                   # ็ฝ‘ๅ…ณไธปๅพช็Žฏ
โ”‚   โ”œโ”€โ”€ heartbeat.py             # ๅฟƒ่ทณ่ฐƒๅบฆๅ™จ
โ”‚   โ”œโ”€โ”€ message_handler.py       # ๆถˆๆฏ่ทฏ็”ฑ๏ผˆไปŽ run.py ๆŠฝๅ–๏ผ‰
โ”‚   โ”œโ”€โ”€ config.py                # ็ฝ‘ๅ…ณ้…็ฝฎ
โ”‚   โ”œโ”€โ”€ session.py               # ไผš่ฏ็ฎก็†
โ”‚   โ”œโ”€โ”€ status.py                # ็Šถๆ€็ฎก็†
โ”‚   โ””โ”€โ”€ platforms/               # ๅนณๅฐ้€‚้…ๅ™จ
โ”‚       โ”œโ”€โ”€ base.py              # ๅนณๅฐๅŸบ็ฑป
โ”‚       โ”œโ”€โ”€ telegram.py
โ”‚       โ”œโ”€โ”€ discord.py
โ”‚       โ”œโ”€โ”€ whatsapp.py
โ”‚       โ””โ”€โ”€ ...
โ”œโ”€โ”€ tools/                  # ๅทฅๅ…ท็ณป็ปŸ
โ”‚   โ”œโ”€โ”€ registry.py              # ๅทฅๅ…ทๆณจๅ†Œไธญๅฟƒ
โ”‚   โ”œโ”€โ”€ mcp_tool.py              # MCP ๅ่ฎฎๅฎขๆˆท็ซฏ
โ”‚   โ”œโ”€โ”€ mcp_oauth.py             # MCP OAuth 2.1
โ”‚   โ”œโ”€โ”€ terminal_tool.py         # ็ปˆ็ซฏๆ‰ง่กŒ
โ”‚   โ”œโ”€โ”€ file_operations.py       # ๆ–‡ไปถๆ“ไฝœ
โ”‚   โ”œโ”€โ”€ web_tools.py             # ็ฝ‘้กตๆœ็ดข/ๆŠ“ๅ–
โ”‚   โ”œโ”€โ”€ vision_tools.py          # ่ง†่ง‰ๅˆ†ๆž
โ”‚   โ”œโ”€โ”€ image_generation_tool.py # ๅ›พๅƒ็”Ÿๆˆ
โ”‚   โ”œโ”€โ”€ memory_tool.py           # ๆŒไน…ๅŒ–่ฎฐๅฟ†
โ”‚   โ”œโ”€โ”€ skills_*.py              # ๆŠ€่ƒฝ็ณป็ปŸ
โ”‚   โ”œโ”€โ”€ browser_providers/       # ๆต่งˆๅ™จ่‡ชๅŠจๅŒ–
โ”‚   โ””โ”€โ”€ environments/            # ่ฟ่กŒ็Žฏๅขƒ
โ”‚       โ”œโ”€โ”€ local.py             # ๆœฌๅœฐ
โ”‚       โ”œโ”€โ”€ ssh.py               # SSH ่ฟœ็จ‹
โ”‚       โ”œโ”€โ”€ docker.py            # Docker ๅฎนๅ™จ
โ”‚       โ”œโ”€โ”€ singularity.py       # Singularity
โ”‚       โ””โ”€โ”€ modal.py             # Modal ไบ‘็ซฏ
โ”œโ”€โ”€ hermes_cli/             # CLI ๅ’Œ่ฟ็ปด
โ”‚   โ”œโ”€โ”€ main.py                  # CLI ไธปๅ…ฅๅฃ
โ”‚   โ”œโ”€โ”€ gateway.py               # ็ฝ‘ๅ…ณ็ฎก็†
โ”‚   โ”œโ”€โ”€ setup.py                 # ๅฎ‰่ฃ…ๅ‘ๅฏผ
โ”‚   โ”œโ”€โ”€ doctor.py                # ่ฏŠๆ–ญๅทฅๅ…ท
โ”‚   โ”œโ”€โ”€ auth.py                  # ่ฎค่ฏ็ฎก็†
โ”‚   โ””โ”€โ”€ models.py                # ๆจกๅž‹็ฎก็†
โ”œโ”€โ”€ cron/                   # ๅฎšๆ—ถไปปๅŠก
โ”œโ”€โ”€ tui_gateway/            # TUI ็ฝ‘ๅ…ณ
โ”œโ”€โ”€ acp_adapter/            # ACP ๅ่ฎฎ้€‚้…
โ”œโ”€โ”€ toolsets.py             # ๅทฅๅ…ท้›†ๅฎšไน‰ๅ’Œๅˆ†ๅฑ‚
โ”œโ”€โ”€ model_tools.py          # ๆจกๅž‹ๅทฅๅ…ท
โ”œโ”€โ”€ trajectory_compressor.py# ่ฝจ่ฟนๅŽ‹็ผฉ
โ”œโ”€โ”€ utils.py                # ้€š็”จๅทฅๅ…ท
โ”œโ”€โ”€ cli.py                  # CLI ๅ…ฅๅฃ
โ””โ”€โ”€ cli-config.yaml.example # ้…็ฝฎๆจกๆฟ

ๅทฅๅ…ทๅˆ—่กจ

ๅทฅๅ…ท ๅˆ†็ฑป ่ฏดๆ˜Ž
web_search core ็ฝ‘้กตๆœ็ดข๏ผˆTavily / Exa / Firecrawl๏ผ‰
web_extract core ็ฝ‘้กตๅ†…ๅฎนๆŠ“ๅ–
terminal core Shell ๅ‘ฝไปคๆ‰ง่กŒ
process core ่ฟ›็จ‹็ฎก็†
read_file core ๆ–‡ไปถ่ฏปๅ–
write_file core ๆ–‡ไปถๅ†™ๅ…ฅ
patch core ไปฃ็ ่กฅไธ
search_files core ๆ–‡ไปถๆœ็ดข
skills_list meta ๆŠ€่ƒฝๅˆ—่กจ
skill_view meta ๆŠ€่ƒฝๆŸฅ็œ‹
todo meta ๅพ…ๅŠžไบ‹้กน
memory meta ๆŒไน…ๅŒ–่ฎฐๅฟ†
session_search meta ไผš่ฏๆœ็ดข
clarify meta ้œ€ๆฑ‚ๆพ„ๆธ…
browser_* heavy ๆต่งˆๅ™จ่‡ชๅŠจๅŒ–
vision_analyze heavy ๅ›พๅƒๅˆ†ๆž
image_generate heavy ๅ›พๅƒ็”Ÿๆˆ
text_to_speech heavy ่ฏญ้Ÿณๅˆๆˆ
execute_code heavy ไปฃ็ ๆ‰ง่กŒๆฒ™็ฎฑ
delegate_task heavy ๅญไปฃ็†ๅง”ๆดพ
cronjob heavy ๅฎšๆ—ถไปปๅŠก็ฎก็†
send_message heavy ่ทจๅนณๅฐๆถˆๆฏๅ‘้€
ha_* heavy Home Assistant
skill_manage heavy ๆŠ€่ƒฝ็ฎก็†
skills_hub heavy ๆŠ€่ƒฝๅธ‚ๅœบ
mixture_of_agents heavy ๆททๅˆไปฃ็†ๆŽจ็†
rl_* heavy RL ่ฎญ็ปƒ

็Žฏๅขƒๅ˜้‡

ๅ˜้‡ ็”จ้€”
CLIPROXY_API_KEY CPA ่ฎค่ฏ
OPENROUTER_API_KEY OpenRouter ๅ›ž้€€
ANTHROPIC_API_KEY Anthropic ็›ดๆŽฅ
BROWSERBASE_API_KEY ๆต่งˆๅ™จ่‡ชๅŠจๅŒ–
FAL_KEY ๅ›พๅƒ็”Ÿๆˆ
GROQ_API_KEY ่ฏญ้Ÿณ่ฝฌๆ–‡ๅญ—
FIRECRAWL_API_KEY ็ฝ‘้กตๆŠ“ๅ–
TAVILY_API_KEY ็ฝ‘้กตๆœ็ดข
HONCHO_API_KEY ่ทจไผš่ฏ่ฎฐๅฟ†

ๅผ€ๅ‘

# ๅฎ‰่ฃ…ๅผ€ๅ‘ไพ่ต–
pip install "hermes-agent[dev]"

# ่ฟ่กŒๆต‹่ฏ•
pytest tests/ -x --tb=short

# ่ฟ่กŒ็‰นๅฎšๆต‹่ฏ•
pytest tests/tools/test_registry.py -v

License

MIT

About

The agent that grows with you

Resources

License

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages

  • Python 94.7%
  • TeX 2.0%
  • TypeScript 1.1%
  • BibTeX Style 0.7%
  • Shell 0.4%
  • Nix 0.3%
  • Other 0.8%