Hermes๋ฅผ ์„ค์น˜ํ•˜๊ณ  ์ฒซ ์‹คํ–‰๊นŒ์ง€ ๋๋ƒˆ๋Š”๋ฐ๋„, ์ฒด๊ฐ์ด ๋ณ„๋กœ ์•ˆ ์˜ค๋Š” ๊ฒฝ์šฐ๊ฐ€ ์žˆ๋‹ค. ๋Œ€๊ฐœ ์ด์œ ๋Š” ์„ค์น˜๊ฐ€ ๋œ ๋ผ์„œ๊ฐ€ ์•„๋‹ˆ๋‹ค. ๋ชจ๋ธ ์„ ํƒ๊ณผ ๊ธฐ๋ณธ ์„ค์ •์ด ๋‚ด ์‚ฌ์šฉ ๋ฐฉ์‹์— ๋งž์ง€ ์•Š๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค. ๊ฐ™์€ Hermes๋ผ๋„ ์–ด๋–ค provider๋ฅผ ๊ณ ๋ฅด๊ณ , ์–ด๋–ค backend๋ฅผ ์“ฐ๊ณ , ์–ด๋–ค ๊ธฐ๋ณธ๊ฐ’์„ ๋„ฃ๋А๋ƒ์— ๋”ฐ๋ผ ์™„์ „ํžˆ ๋‹ค๋ฅธ ๋„๊ตฌ์ฒ˜๋Ÿผ ๋А๊ปด์ง„๋‹ค.

ํŠนํžˆ ์ฒ˜์Œ์—๋Š” โ€œ์ œ์ผ ๊ฐ•ํ•œ ๋ชจ๋ธโ€๋ณด๋‹ค ๋‚ด๊ฐ€ ์˜ค๋ž˜ ์“ธ ์ˆ˜ ์žˆ๋Š” ์กฐํ•ฉ์„ ๊ณ ๋ฅด๋Š” ํŽธ์ด ๋” ์ค‘์š”ํ•˜๋‹ค. ๊ฒฐ์ œ ๋ฐฉ์‹, ์ธ์ฆ ๋ฐฉ์‹, ์‘๋‹ต ์†๋„, tool ํ˜ธ์ถœ ์•ˆ์ •์„ฑ, ๋ชจ๋ฐ”์ผ๊นŒ์ง€ ์ด์–ด์งˆ ์šด์˜ ํ๋ฆ„์ด ํ•œ ๋ฒˆ์— ๊ฐ™์ด ์›€์ง์ด๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค.

์•ˆ๋‚ด: ์ด ๊ธ€์€ Hermes ๊ณต์‹ ๋ฌธ์„œ์™€ ๊ณต์‹ ์ €์žฅ์†Œ๋ฅผ ๋ฐ”ํƒ•์œผ๋กœ ์ •๋ฆฌํ–ˆ๊ณ , ๊ตฌ์กฐํ™”์™€ ๋ฌธ์žฅ ์ •๋ฆฌ์— ์ƒ์„ฑํ˜• AI๋ฅผ ๋ณด์กฐ์ ์œผ๋กœ ํ™œ์šฉํ–ˆ์Šต๋‹ˆ๋‹ค.

์ด๋ฒˆ ๊ธ€์˜ ๋ชฉํ‘œ

์ด ๊ธ€์„ ๋๋‚ด๋ฉด ์•„๋ž˜ ๋‹ค์„ฏ ๊ฐ€์ง€๊ฐ€ ์ •๋ฆฌ๋ผ ์žˆ์–ด์•ผ ํ•œ๋‹ค.

  • ์–ด๋–ค provider๋ฅผ ๋จผ์ € ๊ณ ๋ฅผ์ง€ ํŒ๋‹จํ•  ์ˆ˜ ์žˆ๋‹ค
  • hermes model๊ณผ /model์˜ ์ฐจ์ด๋ฅผ ์•ˆ๋‹ค
  • ~/.hermes/.env์™€ config.yaml์„ ์–ด๋””์— ์–ด๋–ป๊ฒŒ ์“ฐ๋Š”์ง€ ์•ˆ๋‹ค
  • ์ฒ˜์Œ์— ๋„ฃ์„ ๊ธฐ๋ณธ ์„ค์ • ๋ฌถ์Œ์„ ์ •ํ•  ์ˆ˜ ์žˆ๋‹ค
  • ๋‹ค์Œ ๋‹จ๊ณ„์ธ Telegram ์—ฐ๊ฒฐ ์ „์— ๊ธฐ์ค€ ๊ตฌ์„ฑ์ด ์žกํ˜€ ์žˆ๋‹ค
flowchart LR
A[๋‚ด ์‚ฌ์šฉ ๋ฐฉ์‹ ํŒŒ์•…] --> B[Provider ์„ ํƒ]
B --> C[๊ธฐ๋ณธ ๋ชจ๋ธ ์„ ํƒ]
C --> D[config.yaml ๊ณผ .env ์ •๋ฆฌ]
D --> E[terminal/approval ๊ธฐ๋ณธ๊ฐ’ ์„ค์ •]
E --> F[Telegram ์—ฐ๊ฒฐ ์ค€๋น„]

์™œ ๋ชจ๋ธ ์„ ํƒ์ด ์„ค์น˜๋ณด๋‹ค ๋” ์ค‘์š”ํ• ๊นŒ

Hermes ๊ณต์‹ Quickstart์™€ AI Providers ๋ฌธ์„œ๋Š” ๋‘˜ ๋‹ค ๊ฐ™์€ ์ด์•ผ๊ธฐ๋ฅผ ํ•œ๋‹ค. Hermes๋Š” ์„ค์น˜๋งŒ์œผ๋กœ ์™„์„ฑ๋˜์ง€ ์•Š๋Š”๋‹ค. ์ ์–ด๋„ ํ•˜๋‚˜์˜ inference provider๊ฐ€ ์„ค์ •๋ผ ์žˆ์–ด์•ผ ์‹ค์ œ๋กœ ์“ธ ์ˆ˜ ์žˆ๋‹ค.

๊ทธ๋ฆฌ๊ณ  ๊ณต์‹ ๋ฌธ์„œ๊ฐ€ ๋ถ„๋ช…ํžˆ ์ ์–ด ๋‘” ๊ธฐ์ค€์ด ํ•˜๋‚˜ ์žˆ๋‹ค.

64K ์ด์ƒ ์ปจํ…์ŠคํŠธ๋ฅผ ๊ฐ€์ง„ ๋ชจ๋ธ์ด ํ•„์š”ํ•˜๋‹ค.

์ด ๊ธฐ์ค€์ด ์ค‘์š”ํ•œ ์ด์œ ๋Š” Hermes๊ฐ€ ๋‹จ์ˆœ ์งˆ๋‹ต๊ธฐ๊ฐ€ ์•„๋‹ˆ๋ผ, ์—ฌ๋Ÿฌ ๋‹จ๊ณ„์˜ tool ํ˜ธ์ถœ๊ณผ ์„ธ์…˜ ๋ฌธ๋งฅ ์œ ์ง€๊นŒ์ง€ ํ•ด์•ผ ํ•˜๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค. ์ž‘์€ ๋ชจ๋ธ์„ ์–ต์ง€๋กœ ๋ถ™์ด๋ฉด ์„ค์น˜๋Š” ์„ฑ๊ณตํ•ด๋„, ์‹ค์ œ ์ž‘์—…์—์„œ๋Š” ๊ธฐ์–ต์ด ์งง๊ณ  ํ๋ฆ„์ด ์‰ฝ๊ฒŒ ๋Š๊ธด๋‹ค.

์ฆ‰, ์ฒซ ์งˆ๋ฌธ์€ โ€œ๋ฌด์Šจ ๋ชจ๋ธ์ด ์ œ์ผ ์ข‹์ง€?โ€๋ณด๋‹ค **โ€œ๋‚ด๊ฐ€ ์˜ค๋ž˜ ์•ˆ์ •์ ์œผ๋กœ ์“ธ ์ˆ˜ ์žˆ๋Š” 64K+ ๋ชจ๋ธ์ด ๋ญ์ง€?โ€**๊ฐ€ ๋” ๋งž๋‹ค.

1. hermes model๊ณผ /model์€ ์—ญํ• ์ด ๋‹ค๋ฅด๋‹ค

Hermes ๋ฌธ์„œ์—์„œ ์ดˆ๋ณด์ž๊ฐ€ ๊ฐ€์žฅ ๋งŽ์ด ํ—ท๊ฐˆ๋ฆฌ๋Š” ๋ถ€๋ถ„์ด ์ด๊ฑฐ๋‹ค. ๋‘ ๋ช…๋ น์€ ๋น„์Šทํ•ด ๋ณด์ด์ง€๋งŒ ์“ฐ๋Š” ์œ„์น˜์™€ ์—ญํ• ์ด ๋‹ค๋ฅด๋‹ค.

hermes model

ํ„ฐ๋ฏธ๋„์—์„œ ์„ธ์…˜ ๋ฐ–์—์„œ ์‹คํ–‰ํ•˜๋Š” ์„ค์ • ๋ช…๋ น์ด๋‹ค. provider ์ถ”๊ฐ€, OAuth ๋กœ๊ทธ์ธ, API key ์ž…๋ ฅ, custom endpoint ๋“ฑ๋ก์ฒ˜๋Ÿผ ์ฒ˜์Œ ์—ฐ๊ฒฐํ•  ๋•Œ ์“ด๋‹ค.

hermes model

/model

์ด๋ฏธ Hermes ์„ธ์…˜ ์•ˆ์— ๋“ค์–ด์™€ ์žˆ์„ ๋•Œ ์“ฐ๋Š” ์ „ํ™˜ ๋ช…๋ น์ด๋‹ค. ์ด๋ฏธ ์„ค์ •๋œ provider์™€ model ์‚ฌ์ด๋ฅผ ๋น ๋ฅด๊ฒŒ ๋ฐ”๊พธ๋Š” ์šฉ๋„๋‹ค.

์ด ์ฐจ์ด๋ฅผ ๋ชจ๋ฅด๊ณ  /model๋กœ ์ƒˆ๋กœ์šด provider๋ฅผ ๋ถ™์ด๋ ค๊ณ  ํ•˜๋ฉด ์ž˜ ์•ˆ ๋œ๋‹ค. ๋ฐ˜๋Œ€๋กœ ์ด๋ฏธ ์„ธํŒ…์ด ๋๋‚œ ๋’ค์—๋„ ๋งค๋ฒˆ hermes model๋ถ€ํ„ฐ ์—ด๋ฉด ํ๋ฆ„์ด ๋А๋ ค์ง„๋‹ค.

ํ•œ ์ค„ ๊ธฐ์ค€

  • ์ฒ˜์Œ ์—ฐ๊ฒฐ์€ hermes model
  • ์„ธ์…˜ ์•ˆ ์ „ํ™˜์€ /model

์ด ๊ธฐ์ค€ ํ•˜๋‚˜๋งŒ ์•Œ์•„๋„ ์ดˆ๋ฐ˜ ์‹œํ–‰์ฐฉ์˜ค๊ฐ€ ํฌ๊ฒŒ ์ค„์–ด๋“ ๋‹ค.

2. ์–ด๋–ค provider๋ฅผ ๋จผ์ € ๊ณ ๋ฅด๋ฉด ์ข‹์„๊นŒ

Hermes ๊ณต์‹ Providers ๋ฌธ์„œ๋ฅผ ๋ณด๋ฉด ์„ ํƒ์ง€๋Š” ๊ฝค ๋งŽ๋‹ค. Nous Portal, OpenAI Codex, Anthropic, OpenRouter, Gemini, Copilot, Qwen, DeepSeek, Ollama Cloud, Custom Endpoint๊นŒ์ง€ ๋„“๋‹ค.

์ฒ˜์Œ์—” ์ด๊ฑธ ์ „๋ถ€ ๋น„๊ตํ•˜๋ ค ๋“ค๊ธฐ๋ณด๋‹ค, ๋‚ด๊ฐ€ ์ด๋ฏธ ๊ฐ€์ง€๊ณ  ์žˆ๋Š” ๊ณ„์ •๊ณผ ์Šต๊ด€์„ ๊ธฐ์ค€์œผ๋กœ ์ž๋ฅด๋Š” ํŽธ์ด ๋‚ซ๋‹ค.

๊ฐ€์žฅ ์‰ฌ์šด ์‹œ์ž‘, ์ด๋ฏธ ์“ฐ๋Š” ๊ณ„์ •์ด ์žˆ๋Š” ๊ฒฝ์šฐ

์ด๋ฏธ ChatGPT, Claude, GitHub Copilot ๊ฐ™์€ ๊ณ„์ •์„ ์“ฐ๊ณ  ์žˆ๋‹ค๋ฉด, ๊ทธ ์ƒํƒœ๊ณ„์—์„œ ๋ฐ”๋กœ ์‹œ์ž‘ํ•˜๋Š” ํŽธ์ด ๊ฐ€์žฅ ๋น ๋ฅด๋‹ค.

  • ChatGPT ์ค‘์‹ฌ์ด๋ฉด OpenAI Codex
  • Claude ์ค‘์‹ฌ์ด๋ฉด Anthropic
  • GitHub Copilot ์ค‘์‹ฌ์ด๋ฉด Copilot

์ด ๊ฒฝ๋กœ์˜ ์žฅ์ ์€ ์ธ์ฆ ์žฅ๋ฒฝ์ด ๋‚ฎ๋‹ค๋Š” ์ ์ด๋‹ค. ์ด๋ฏธ ์“ฐ๋Š” ๊ณ„์ • ๊ธฐ๋ฐ˜์ด๋ผ ์ฒซ ์ง„์ž… ๋งˆ์ฐฐ์ด ์ ๋‹ค.

๋ชจ๋ธ์„ ์ž์ฃผ ๋ฐ”๊ฟ” ๋ณด๊ณ  ์‹ถ์„ ๋•Œ

์—ฌ๋Ÿฌ ๋ชจ๋ธ์„ ํ•œ ์ธํ„ฐํŽ˜์ด์Šค์—์„œ ๋น„๊ตํ•˜๊ณ  ์‹ถ๋‹ค๋ฉด OpenRouter ๊ฐ™์€ ๋ผ์šฐํ„ฐํ˜• provider๊ฐ€ ํŽธํ•˜๋‹ค. ๋‹ค๋งŒ ์ด ๊ฒฝ์šฐ๋Š” โ€œ์‰ฝ๊ฒŒ ๋ฐ”๊ฟ€ ์ˆ˜ ์žˆ์Œโ€์ด ์žฅ์ ์ธ ๋Œ€์‹ , ์ฒ˜์Œ์—๋Š” ์–ด๋–ค ๋ชจ๋ธ์„ ๊ธฐ๋ณธ๊ฐ’์œผ๋กœ ๋‘˜์ง€ ๋” ์‹ ์ค‘ํ•ด์•ผ ํ•œ๋‹ค.

์ง์ ‘ ๋Œ๋ฆฌ๋Š” ํ™˜๊ฒฝ์„ ์›ํ•  ๋•Œ

vLLM, Ollama, SGLang ๊ฐ™์€ OpenAI ํ˜ธํ™˜ endpoint๋ฅผ ์ด๋ฏธ ์šด์˜ ์ค‘์ด๋ผ๋ฉด Custom Endpoint๊ฐ€ ๋งž๋‹ค. ๋Œ€์‹  ์ด ๊ฒฝ์šฐ๋Š” ๋‹จ์ˆœ ๊ฐ€์ž…ํ˜•๋ณด๋‹ค ํ™•์ธํ•  ๊ฒŒ ๋Š˜์–ด๋‚œ๋‹ค.

  • base URL
  • API key ์œ ๋ฌด
  • ์‹ค์ œ context window
  • ์‘๋‹ต ํฌ๋งท ํ˜ธํ™˜์„ฑ

์ฆ‰, ์ž์œ ๋„๋Š” ๋†’์ง€๋งŒ ์ดˆ๋ฐ˜ ๋‚œ๋„๋„ ๊ฐ™์ด ์˜ฌ๋ผ๊ฐ„๋‹ค.

3. ์ฒ˜์Œ์—” โ€œ์ œ์ผ ๊ฐ•ํ•œ ๋ชจ๋ธโ€๋ณด๋‹ค โ€œ๊ณ„์† ์“ธ ๋ชจ๋ธโ€์ด ๋‚ซ๋‹ค

Hermes๋ฅผ ์˜ค๋ž˜ ์“ฐ๋Š” ์‚ฌ๋žŒ๊ณผ ๊ธˆ๋ฐฉ ๋ฉˆ์ถ”๋Š” ์‚ฌ๋žŒ์˜ ์ฐจ์ด๋Š” ์„ฑ๋Šฅํ‘œ๋ณด๋‹ค ์šด์˜ ๋งˆ์ฐฐ์—์„œ ๊ฐˆ๋ฆฐ๋‹ค. ์ฒ˜์Œ๋ถ€ํ„ฐ ๊ฐ€์žฅ ๋น„์‹ธ๊ณ  ๊ฐ€์žฅ ๋ฌด๊ฑฐ์šด ๋ชจ๋ธ๋งŒ ๊ณ ๋ฅด๋ฉด, ๋ช‡ ๋ฒˆ ์‹ ๊ธฐํ•˜๊ฒŒ ์“ฐ๊ณ  ๋‚˜์„œ ๋น„์šฉ์ด๋‚˜ ์†๋„ ๋•Œ๋ฌธ์— ์Šต๊ด€์ด ๋Š๊ธฐ๊ธฐ ์‰ฝ๋‹ค.

๊ทธ๋ž˜์„œ ์ดˆ๋ฐ˜ ๊ธฐ์ค€์€ ์ด ์ •๋„๊ฐ€ ํ˜„์‹ค์ ์ด๋‹ค.

  • 64K ์ด์ƒ ์ปจํ…์ŠคํŠธ
  • tool ํ˜ธ์ถœ์ด ์•ˆ์ •์ ์ผ ๊ฒƒ
  • ์ธ์ฆ์ด ๋„ˆ๋ฌด ๋ฒˆ๊ฑฐ๋กญ์ง€ ์•Š์„ ๊ฒƒ
  • ๋‚ด๊ฐ€ ๊ฐ๋‹น ๊ฐ€๋Šฅํ•œ ๋น„์šฉ ๊ตฌ์กฐ์ผ ๊ฒƒ

Quickstart๋„ ์ •ํ™•ํžˆ ์ด ๋ฐฉํ–ฅ์ด๋‹ค. ์„ค์น˜ ์งํ›„์—๋Š” provider ํ•˜๋‚˜๋ฅผ ๊ณ ๋ฅด๊ณ , ๋จผ์ € ์ •์ƒ ๋Œ€ํ™”์™€ ๋„๊ตฌ ์‹คํ–‰์ด ๋˜๋Š”์ง€ ํ™•์ธํ•˜๋ผ๊ณ  ์•ˆ๋‚ดํ•œ๋‹ค.

๋ฏธ๋‹ˆ ์‚ฌ๋ก€ 1, โ€œ์ผ๋‹จ ๋นจ๋ฆฌ ์จ๋ณด๊ณ  ์‹ถ๋‹คโ€

์ด๋ฏธ ChatGPT๋‚˜ Claude๋ฅผ ์“ฐ๊ณ  ์žˆ๋‹ค๋ฉด ์ƒˆ ์ƒํƒœ๊ณ„ ๊ณต๋ถ€๋ฅผ ๋Š˜๋ฆฌ์ง€ ๋ง๊ณ , ๊ทธ ๊ณ„์ • ๊ธฐ๋ฐ˜ provider๋กœ ๋จผ์ € ๋“ค์–ด๊ฐ€๋Š” ๊ฒŒ ๋‚ซ๋‹ค. ๊ทธ๋ž˜์•ผ Hermes ์ž์ฒด ์‚ฌ์šฉ๊ฐ์— ์ง‘์ค‘ํ•  ์ˆ˜ ์žˆ๋‹ค.

๋ฏธ๋‹ˆ ์‚ฌ๋ก€ 2, โ€œ๋กœ์ปฌ ๋ชจ๋ธ๋กœ ์ „๋ถ€ ํ•ด๊ฒฐํ•˜๊ณ  ์‹ถ๋‹คโ€

๊ฐ€๋Šฅ์€ ํ•˜์ง€๋งŒ ์ฒ˜์Œ๋ถ€ํ„ฐ ๊ทธ๋ ‡๊ฒŒ ๊ฐ€๋ฉด, ๋ฌธ์ œ ์›์ธ์ด ๋ชจ๋ธ ์„ฑ๋Šฅ์ธ์ง€, context ์„ค์ •์ธ์ง€, endpoint ํ˜ธํ™˜์„ฑ์ธ์ง€ ๋ถ„๋ฆฌํ•˜๊ธฐ๊ฐ€ ์–ด๋ ต๋‹ค. ์ด ๊ฒฝ์šฐ๋Š” cloud provider๋กœ ํ•œ ๋ฒˆ ์ •์ƒ ๋™์ž‘ ๊ธฐ์ค€์„ ๋งŒ๋“  ๋’ค, local endpoint๋กœ ์˜ฎ๊ธฐ๋Š” ํŽธ์ด ํ›จ์”ฌ ๋œ ๊ผฌ์ธ๋‹ค.

4. provider๋ณ„๋กœ ์ดˆ๋ฐ˜ ํŒ๋‹จ ๊ธฐ์ค€์„ ๋‹จ์ˆœํ•˜๊ฒŒ ์žก์ž

๊ณต์‹ ๋ฌธ์„œ ์ „์ฒด๋ฅผ ๋ณด๋ฉด provider๋งˆ๋‹ค ํŠน์„ฑ์ด ๋‹ค๋ฅด๋‹ค. ์ดˆ๋ฐ˜์—” ์•„๋ž˜ ์ •๋„๋งŒ ๊ธฐ์–ตํ•ด๋„ ์ถฉ๋ถ„ํ•˜๋‹ค.

OpenAI Codex

ChatGPT ๊ณ„์ • ๊ธฐ๋ฐ˜์œผ๋กœ ๋“ค์–ด๊ฐ€๊ธฐ ์‰ฝ๊ณ , Hermes๊ฐ€ Codex CLI ์„ค์น˜ ์—†์ด๋„ ์ธ์ฆ ์ •๋ณด๋ฅผ ์ž์ฒด auth store์— ๋ณด๊ด€ํ•  ์ˆ˜ ์žˆ๋‹ค. ์ด๋ฏธ OpenAI ์ƒํƒœ๊ณ„์— ์ต์ˆ™ํ•˜๋ฉด ๋น ๋ฅธ ์‹œ์ž‘ ํ›„๋ณด๋กœ ์ข‹๋‹ค.

Anthropic

Claude ๊ณ„์—ด์„ ์ง์ ‘ ์“ฐ๊ณ  ์‹ถ์„ ๋•Œ ์ž์—ฐ์Šค๋Ÿฝ๋‹ค. ๊ณต์‹ ๋ฌธ์„œ๋Š” Claude Code credential store๋ฅผ ์ฝ๋Š” ๊ฒฝ๋กœ๋„ ์•ˆ๋‚ดํ•œ๋‹ค. ์ฆ‰, ์ด๋ฏธ Claude Code๋ฅผ ์“ฐ๋Š” ์‚ฌ๋žŒ์—๊ฒŒ ์—ฐ๊ฒฐ ๋น„์šฉ์ด ๋‚ฎ๋‹ค.

GitHub Copilot

Copilot ๊ตฌ๋…์„ ์ด๋ฏธ ์“ฐ๊ณ  ์žˆ๊ณ , GPTยทClaudeยทGemini ๊ณ„์—ด์„ ํ•œ ๊ตฌ๋…๊ถŒ ์•ˆ์—์„œ ํ™œ์šฉํ•˜๊ณ  ์‹ถ๋‹ค๋ฉด ๋งค๋ ฅ์ ์ด๋‹ค. ๊ฐœ๋ฐœ์ž ์›Œํฌํ”Œ๋กœ์— ์ต์ˆ™ํ•œ ์‚ฌ๋žŒ์—๊ฒŒ ์ž˜ ๋งž๋Š”๋‹ค.

Google Gemini

API key ๊ฒฝ๋กœ์™€ OAuth ๊ฒฝ๋กœ๊ฐ€ ๋ชจ๋‘ ์žˆ๋‹ค. ๊ณต์‹ ๋ฌธ์„œ๋Š” OAuth ํŽธ์˜์„ฑ์„ ์ œ๊ณตํ•˜์ง€๋งŒ, ์ •์ฑ… ๋ฆฌ์Šคํฌ ๊ฒฝ๊ณ ๋„ ํ•จ๊ป˜ ๋ณด์—ฌ ์ค€๋‹ค. ๋‚ฎ์€ ๋ฆฌ์Šคํฌ๋ฅผ ์›ํ•˜๋ฉด API key ๊ธฐ๋ฐ˜ gemini provider๊ฐ€ ๋” ๋‹จ์ˆœํ•˜๋‹ค.

OpenRouter

๋‹ค์–‘ํ•œ ๋ชจ๋ธ์„ ๋ฐ”๊ฟ” ์“ฐ๊ธฐ ์ข‹๋‹ค. ๋Œ€์‹  ์ž์œ ๋„๊ฐ€ ๋†’์€ ๋งŒํผ โ€œ๊ธฐ๋ณธ ๋ชจ๋ธ ํ•˜๋‚˜๋ฅผ ์ •ํ•ด ๋†“๋Š” ์Šต๊ด€โ€์ด ์ค‘์š”ํ•˜๋‹ค. ์•ˆ ๊ทธ๋Ÿฌ๋ฉด ๋น„๊ต๋งŒ ํ•˜๋‹ค ์„ค์ •์ด ํ”๋“ค๋ฆฌ๊ธฐ ์‰ฝ๋‹ค.

Custom Endpoint

๋กœ์ปฌ์ด๋‚˜ ์‚ฌ๋‚ด ํ™˜๊ฒฝ์„ ๋ถ™์ผ ์ˆ˜ ์žˆ๋‹ค๋Š” ๊ฒŒ ํฐ ์žฅ์ ์ด๋‹ค. ํ•˜์ง€๋งŒ ์ดˆ๋ฐ˜์—” ๊ฐ€์žฅ ๋””๋ฒ„๊น… ๋‚œ๋„๊ฐ€ ๋†’๋‹ค. endpoint๊ฐ€ OpenAI ํ˜ธํ™˜์ด๋ผ๊ณ  ํ•ด๋„ ์„ธ๋ถ€ ๋™์ž‘ ์ฐจ์ด ๋•Œ๋ฌธ์— ์กฐ์ •์ด ํ•„์š”ํ•  ์ˆ˜ ์žˆ๋‹ค.

5. ์„ค์ • ํŒŒ์ผ์€ ๋‘˜๋งŒ ์ •ํ™•ํžˆ ๋‚˜๋ˆ ๋„ ์ ˆ๋ฐ˜์€ ๋๋‚œ๋‹ค

Hermes Configuration ๋ฌธ์„œ๋Š” ์„ค์ •์˜ ์ค‘์‹ฌ์„ ~/.hermes/ ๋””๋ ‰ํ„ฐ๋ฆฌ๋กœ ์„ค๋ช…ํ•œ๋‹ค. ์—ฌ๊ธฐ์„œ ์ฒ˜์Œ์— ์ค‘์š”ํ•œ ํŒŒ์ผ์€ ์‚ฌ์‹ค ๋‘ ๊ฐœ๋‹ค.

์ด ์›์น™์„ ์ง€ํ‚ค๋ฉด ์„ค์ •์ด ํ›จ์”ฌ ๋œ ๊ผฌ์ธ๋‹ค.

.env์— ๋„ฃ์„ ๊ฒƒ

  • API key
  • bot token
  • ๋น„๋ฐ€๋ฒˆํ˜ธ ์„ฑ๊ฒฉ์˜ ๊ฐ’
  • ์™ธ๋ถ€ ์„œ๋น„์Šค credential

config.yaml์— ๋„ฃ์„ ๊ฒƒ

  • ๊ธฐ๋ณธ provider
  • ๊ธฐ๋ณธ model
  • terminal backend
  • approval mode
  • Telegram mention ๊ทœ์น™ ๊ฐ™์€ ์ผ๋ฐ˜ ์˜ต์…˜

๊ณต์‹ ๋ฌธ์„œ๋Š” hermes config set์ด API key๋Š” .env์—, ์ผ๋ฐ˜ ์„ค์ •์€ config.yaml์— ์ž๋™ ๋ถ„๊ธฐ ์ €์žฅํ•œ๋‹ค๊ณ  ์„ค๋ช…ํ•œ๋‹ค. ์ฆ‰, ์ดˆ๋ณด์ž๋ผ๋ฉด ์ˆ˜๋™ ํŽธ์ง‘๋ณด๋‹ค ์ด ๋ช…๋ น์„ ์„ž์–ด ์“ฐ๋Š” ๊ฒŒ ์•ˆ์ „ํ•˜๋‹ค.

hermes config set OPENROUTER_API_KEY sk-or-...
hermes config set terminal.backend local

6. ์„ค์ • ์šฐ์„ ์ˆœ์œ„๋ฅผ ์•Œ๋ฉด โ€œ์™œ ์•ˆ ๋ฐ”๋€Œ์ง€?โ€๊ฐ€ ์ค„์–ด๋“ ๋‹ค

Hermes ๋ฌธ์„œ์— ๋”ฐ๋ฅด๋ฉด ์„ค์ • ์šฐ์„ ์ˆœ์œ„๋Š” ์ด๋ ‡๋‹ค.

  1. CLI ์ธ์ž
  2. ~/.hermes/config.yaml
  3. ~/.hermes/.env
  4. ๋‚ด์žฅ ๊ธฐ๋ณธ๊ฐ’

์ด ๊ตฌ์กฐ๋ฅผ ๋ชจ๋ฅด๋ฉด ์ด๋Ÿฐ ์ผ์ด ์ƒ๊ธด๋‹ค. config.yaml์—์„œ model์„ ๋ฐ”๊ฟจ๋Š”๋ฐ, ์‹ค์ œ ์‹คํ–‰์€ ๋‹ค๋ฅธ ๊ฐ’์œผ๋กœ ๋œฌ๋‹ค. ๋‚˜์ค‘์— ๋ณด๋‹ˆ ์‹คํ–‰ํ•  ๋•Œ --model์„ ๋ถ™์—ฌ ๋‘” ์ƒํƒœ์˜€๋‹ค. ๋˜๋Š” shell ํ™˜๊ฒฝ๋ณ€์ˆ˜๊ฐ€ ๋‚จ์•„ ์žˆ์–ด์„œ ๋‹ค๋ฅธ ์„ค์ •์ฒ˜๋Ÿผ ๋ณด์ธ๋‹ค.

์ดˆ๋ฐ˜์—” ์ด๊ฑธ ๋‹จ์ˆœํ•˜๊ฒŒ ๊ด€๋ฆฌํ•˜๋Š” ๊ฒŒ ์ข‹๋‹ค.

  • ์„ธ์…˜ ํ…Œ์ŠคํŠธ ๋•Œ๋Š” CLI override๋ฅผ ์ตœ์†Œํ™”ํ•˜๊ธฐ
  • ์˜๊ตฌ ์„ค์ •์€ config.yaml์— ๋ชจ์œผ๊ธฐ
  • ๋น„๋ฐ€๊ฐ’๋งŒ .env์— ๋‚จ๊ธฐ๊ธฐ

7. ์ถ”์ฒœ ์‹œ์ž‘ ์„ค์ •์€ ๊ณผํ•˜์ง€ ์•Š๊ฒŒ ์žก๋Š” ํŽธ์ด ์ข‹๋‹ค

์ฒ˜์Œ๋ถ€ํ„ฐ ๋ชจ๋“  ๊ณ ๊ธ‰ ์˜ต์…˜์„ ์ผœ๊ธฐ๋ณด๋‹ค, ์•„๋ž˜์ฒ˜๋Ÿผ ๊ธฐ์ค€ ๊ตฌ์„ฑ์„ ํ•˜๋‚˜ ๋งŒ๋“  ๋’ค ์ถœ๋ฐœํ•˜๋Š” ํŽธ์ด ์ข‹๋‹ค.

# ~/.hermes/config.yaml
model:
  provider: "anthropic"
  default: "claude-sonnet-4-6"
 
terminal:
  backend: local
 
approvals:
  mode: manual

์ด๊ฑด ์˜ˆ์‹œ์ผ ๋ฟ์ด๊ณ  provider/model ์ด๋ฆ„์€ ๋‚ด ์ƒํ™ฉ์— ๋งž๊ฒŒ ๋ฐ”๊พธ๋ฉด ๋œ๋‹ค. ์ค‘์š”ํ•œ ๊ฑด ๊ตฌ์กฐ๋‹ค.

์™œ ์ด ์กฐํ•ฉ์ด ์ข‹์€๊ฐ€

์ฒ˜์Œ์—” ๊ธฐ๋Šฅ ๊ฒ€์ฆ์ด ์šฐ์„ ์ด๋‹ค. terminal backend๋ฅผ Docker๋‚˜ SSH๋กœ ๋„“ํžˆ๊ธฐ ์ „์—, ๋กœ์ปฌ์—์„œ ์ •์ƒ ๋™์ž‘ ๊ธฐ์ค€์„ ๋จผ์ € ๋งŒ๋“œ๋Š” ํŽธ์ด ์›์ธ ๋ถ„๋ฆฌ์— ์œ ๋ฆฌํ•˜๋‹ค. ์Šน์ธ ๋ชจ๋“œ๋„ ์ดˆ๋ฐ˜์—” manual์ด ๊ฐ€์žฅ ์•ˆ์ „ํ•˜๋‹ค.

8. auxiliary ๋ชจ๋ธ์„ ๋ชจ๋ฅด๊ณ  ๋„˜์–ด๊ฐ€๋ฉด ํ—ท๊ฐˆ๋ฆด ์ˆ˜ ์žˆ๋‹ค

Providers ๋ฌธ์„œ์—๋Š” ์ค‘์š”ํ•œ ์ฃผ์„์ด ํ•˜๋‚˜ ์žˆ๋‹ค. ๋ฉ”์ธ ๋ชจ๋ธ๊ณผ ๋ณ„๋„๋กœ, ์ผ๋ถ€ ๊ธฐ๋Šฅ์€ auxiliary ๋ชจ๋ธ์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด vision, web summarization, MoA ๊ฐ™์€ ๋ถ€๊ฐ€ ๊ธฐ๋Šฅ์€ ๊ธฐ๋ณธ์ ์œผ๋กœ OpenRouter ๊ธฐ๋ฐ˜ ๋ณด์กฐ ๋ชจ๋ธ์„ ์“ฐ๋„๋ก ์—ฐ๊ฒฐ๋  ์ˆ˜ ์žˆ๋‹ค.

์ด๊ฑธ ๋ชจ๋ฅด๋ฉด ์ด๋Ÿฐ ์˜คํ•ด๊ฐ€ ์ƒ๊ธด๋‹ค.

  • โ€œ๋‚œ Codex๋งŒ ์“ฐ๋Š”๋ฐ ์™œ OpenRouter key ์–˜๊ธฐ๊ฐ€ ๋‚˜์˜ค์ง€?โ€
  • โ€œ๋ฉ”์ธ ๋ชจ๋ธ์€ ์ž˜ ๋˜๋Š”๋ฐ ์–ด๋–ค ๊ธฐ๋Šฅ๋งŒ ์•ˆ ๋˜๋„ค?โ€

์ฆ‰, ๋ฉ”์ธ ์ฑ„ํŒ… ๋ชจ๋ธ๊ณผ ๋ณด์กฐ ๊ธฐ๋Šฅ์šฉ ๋ชจ๋ธ์ด ๋‹ค๋ฅผ ์ˆ˜ ์žˆ๋‹ค๋Š” ๊ฐ๊ฐ์„ ์ดˆ๋ฐ˜์— ์•Œ์•„๋‘๋Š” ๊ฒŒ ์ข‹๋‹ค. ์ฒ˜์Œ์—” ๋ชจ๋“  auxiliary ๊ธฐ๋Šฅ๊นŒ์ง€ ์™„๋ฒฝํžˆ ๋งž์ถ”๋ ค ํ•˜์ง€ ๋ง๊ณ , ๋ฉ”์ธ ๋Œ€ํ™” ๋ชจ๋ธ ํ•˜๋‚˜๋ฅผ ๋จผ์ € ์•ˆ์ •ํ™”ํ•˜๋Š” ํŽธ์ด ๋‚ซ๋‹ค.

9. local backend๋กœ ์‹œ์ž‘ํ•˜๋˜, ์˜ค๋ž˜ ์“ธ ๊ฑฐ๋ฉด ๋ณด์•ˆ๋„ ๊ฐ™์ด ์ƒ๊ฐํ•ด์•ผ ํ•œ๋‹ค

Configuration๊ณผ Security ๋ฌธ์„œ๋Š” ๋‘˜ ๋‹ค local backend๊ฐ€ ๊ฐ€์žฅ ์‰ฌ์šด ์ถœ๋ฐœ์ ์ด๋ผ๊ณ  ์„ค๋ช…ํ•œ๋‹ค. ๋™์‹œ์— ๊ฐ™์€ ๊ฒฝ๊ณ ๋„ ์ค€๋‹ค. local์€ ๋‚ด ์‚ฌ์šฉ์ž ๊ณ„์ •๊ณผ ๊ฐ™์€ ํŒŒ์ผ ์ ‘๊ทผ ๊ถŒํ•œ์„ ๊ฐ€์ง„๋‹ค.

๋”ฐ๋ผ์„œ ์ดˆ๋ฐ˜ ์ „๋žต์€ ์ด๋ ‡๊ฒŒ ๊ฐ€์ ธ๊ฐ€๋ฉด ์ข‹๋‹ค.

์ฒซ ์ฃผ

  • local backend
  • approvals manual
  • ๊ฐœ์ธ ๊ณ„์ • provider ํ•˜๋‚˜
  • ๊ธฐ๋ณธ ๋„๊ตฌ๋งŒ ํ™•์ธ

์ดํ›„

  • ์ •๋ง ๊ณ„์† ์“ธ ๊ฑฐ๋ฉด Docker backend ๊ฒ€ํ† 
  • ํ•„์š”ํ•œ credential๋งŒ ์„ ํƒ์ ์œผ๋กœ ์ „๋‹ฌ
  • gateway๊นŒ์ง€ ๋ถ™์ธ ๋’ค์—๋Š” ์ ‘๊ทผ ๋ฒ”์œ„ ๋” ์—„๊ฒฉํžˆ ๊ด€๋ฆฌ

์ด ์ˆœ์„œ๊ฐ€ ์ข‹์€ ์ด์œ ๋Š”, ์‚ฌ์šฉ์„ฑ ๊ฒ€์ฆ๊ณผ ๋ณด์•ˆ ๊ฐ•ํ™”๋ฅผ ๋ถ„๋ฆฌํ•  ์ˆ˜ ์žˆ๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค.

10. ์ฒ˜์Œ์— ๋ฐ”๋กœ ์จ๋„ ๋˜๋Š” ์ถ”์ฒœ ์กฐํ•ฉ 4๊ฐ€์ง€

1) ์ด๋ฏธ Claude Code๋ฅผ ์“ฐ๊ณ  ์žˆ๋‹ค

  • provider: Anthropic
  • backend: local
  • approvals: manual
  • ์žฅ์ : ๊ธฐ์กด ์Šต๊ด€๊ณผ ์—ฐ๊ฒฐ์ด ์‰ฝ๋‹ค

2) ChatGPT๋ฅผ ์ž์ฃผ ์“ด๋‹ค

  • provider: OpenAI Codex
  • backend: local
  • approvals: manual
  • ์žฅ์ : ์ง„์ž… ๋งˆ์ฐฐ์ด ๋‚ฎ๋‹ค

3) ๋ชจ๋ธ์„ ์ž์ฃผ ๋ฐ”๊ฟ” ๋ณด๊ณ  ์‹ถ๋‹ค

  • provider: OpenRouter
  • backend: local
  • approvals: manual
  • ์žฅ์ : ์—ฌ๋Ÿฌ ๋ชจ๋ธ ๋น„๊ต๊ฐ€ ์‰ฝ๋‹ค
  • ์ฃผ์˜: ๊ธฐ๋ณธ ๋ชจ๋ธ ํ•˜๋‚˜๋ฅผ ๊ณ ์ •ํ•ด ๋‘๊ธฐ

4) ๋กœ์ปฌ ์ถ”๋ก  ํ™˜๊ฒฝ์ด ์ด๋ฏธ ์žˆ๋‹ค

  • provider: Custom Endpoint
  • backend: local ๋˜๋Š” docker
  • approvals: manual
  • ์žฅ์ : ๋ฐ์ดํ„ฐ ํ†ต์ œ๊ถŒ์ด ๋†’๋‹ค
  • ์ฃผ์˜: context window์™€ ํ˜ธํ™˜์„ฑ์„ ๋จผ์ € ๊ฒ€์ฆํ•˜๊ธฐ

์ด ๋„ค ๊ฐ€์ง€๋Š” ์ „๋ถ€ ์ •๋‹ต์ด ๋  ์ˆ˜ ์žˆ๋‹ค. ์ค‘์š”ํ•œ ๊ฑด ์„ฑ๋Šฅํ‘œ๋ณด๋‹ค ๋‚ด ํ˜„์žฌ ์šด์˜ ์Šคํƒ๊ณผ ์ž˜ ๋ถ™๋Š”์ง€๋‹ค.

11. ์ฒ˜์Œ ์„ธํŒ… ๋’ค ๋ฐ”๋กœ ํ•ด๋ณผ ๊ฒ€์ฆ 5๊ฐ€์ง€

์„ค์ •์ด ๋๋‚ฌ๋‹ค๋ฉด ์•„๋ž˜ ๋‹ค์„ฏ ๊ฐ€์ง€๋ฅผ ๋ณด๋ฉด ๋œ๋‹ค.

1) ์‹œ์ž‘ ๋ฐฐ๋„ˆ์—์„œ provider/model ํ™•์ธ

์˜๋„ํ•œ ๋ชจ๋ธ์ด ์‹ค์ œ๋กœ ๋œจ๋Š”์ง€ ๋ณธ๋‹ค.

2) ๊ฐ„๋‹จํ•œ ์งˆ๋ฌธ ํ•˜๋‚˜

์‘๋‹ต ์†๋„์™€ ๋ฌธ์žฅ ์•ˆ์ •์„ฑ์„ ๋ณธ๋‹ค.

3) tool ํ˜ธ์ถœ ํ•˜๋‚˜

ํ„ฐ๋ฏธ๋„ ๋„๊ตฌ๊ฐ€ ์ •์ƒ ๋™์ž‘ํ•˜๋Š”์ง€ ๋ณธ๋‹ค.

4) /model ํ˜ธ์ถœ

์„ธ์…˜ ์•ˆ์—์„œ ์ด๋ฏธ ์„ค์ •๋œ ๋‹ค๋ฅธ ๋ชจ๋ธ๋กœ ๋ฐ”๊ฟ€ ์ˆ˜ ์žˆ๋Š”์ง€ ํ™•์ธํ•œ๋‹ค.

5) ์„ธ์…˜ ์ข…๋ฃŒ ํ›„ ์žฌ์‹คํ–‰

๋‹ค์‹œ ์—ด์—ˆ์„ ๋•Œ ์„ค์ •์ด ์œ ์ง€๋˜๋Š”์ง€ ๋ณธ๋‹ค.

์—ฌ๊ธฐ์„œ ์ค‘์š”ํ•œ ๊ฑด ๋ฒค์น˜๋งˆํฌ๊ฐ€ ์•„๋‹ˆ๋‹ค. ๋‚ด ๋ฃจํ‹ด์—์„œ ๊ฑฐ์Šฌ๋ฆฌ์ง€ ์•Š๋Š”์ง€๋ฅผ ๋ณด๋Š” ๊ฒƒ์ด๋‹ค.

12. Telegram ์ „์— ์ด ์ •๋„๋งŒ ์ •๋ฆฌ๋ผ ์žˆ์œผ๋ฉด ์ถฉ๋ถ„ํ•˜๋‹ค

Telegram ์—ฐ๊ฒฐ ์ „์— ์™„๋ฒฝํ•œ ์„ค์ •์€ ํ•„์š” ์—†๋‹ค. ์•„๋ž˜ ์ •๋„๋ฉด ์ถฉ๋ถ„ํ•˜๋‹ค.

  • provider ํ•˜๋‚˜ ์„ ํƒ ์™„๋ฃŒ
  • ๊ธฐ๋ณธ model ํ•˜๋‚˜ ์„ ํƒ ์™„๋ฃŒ
  • .env์™€ config.yaml ์—ญํ•  ๊ตฌ๋ถ„ ์™„๋ฃŒ
  • local backend์™€ manual approval ์œ ์ง€
  • ๊ธฐ๋ณธ ๋Œ€ํ™”์™€ tool ํ˜ธ์ถœ ๊ฒ€์ฆ ์™„๋ฃŒ

์ด ๊ธฐ์ค€์ด ์žกํ˜€ ์žˆ์œผ๋ฉด, ๋‹ค์Œ ๋‹จ๊ณ„์ธ Telegram ์—ฐ๊ฒฐ์—์„œ ๋ง‰ํ˜”์„ ๋•Œ๋„ ์›์ธ์„ ๋นจ๋ฆฌ ์ขํž ์ˆ˜ ์žˆ๋‹ค. ๋ชจ๋ธ ๋ฌธ์ œ์ธ์ง€, gateway ๋ฌธ์ œ์ธ์ง€, ๊ถŒํ•œ ๋ฌธ์ œ์ธ์ง€๋ฅผ ๋ถ„๋ฆฌํ•˜๊ธฐ ์‰ฌ์›Œ์ง€๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค.

๋‹ค์Œ ์ฝ๊ธฐ