oh-my-opencode-slim 2.1.1 → 2.2.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (43) hide show
  1. package/README.ja-JP.md +113 -118
  2. package/README.ko-KR.md +141 -123
  3. package/README.md +102 -145
  4. package/README.zh-CN.md +112 -118
  5. package/dist/agents/index.d.ts +0 -4
  6. package/dist/cli/index.js +57 -20
  7. package/dist/cli/providers.d.ts +11 -4
  8. package/dist/config/constants.d.ts +11 -1
  9. package/dist/config/schema.d.ts +680 -2
  10. package/dist/config/strip-orchestrator-model.d.ts +9 -0
  11. package/dist/hooks/command-hook-utils.d.ts +5 -0
  12. package/dist/hooks/foreground-fallback/index.d.ts +40 -28
  13. package/dist/hooks/image-hook.d.ts +1 -0
  14. package/dist/hooks/index.d.ts +1 -1
  15. package/dist/index.js +1992 -455
  16. package/dist/interview/document.d.ts +2 -1
  17. package/dist/interview/ui.d.ts +0 -1
  18. package/dist/multiplexer/cmux/close-policy.d.ts +20 -0
  19. package/dist/multiplexer/cmux/index.d.ts +102 -0
  20. package/dist/multiplexer/cmux/session-lifecycle.d.ts +92 -0
  21. package/dist/multiplexer/cmux/session-state.d.ts +45 -0
  22. package/dist/multiplexer/factory.d.ts +0 -9
  23. package/dist/multiplexer/herdr/index.d.ts +2 -0
  24. package/dist/multiplexer/index.d.ts +3 -1
  25. package/dist/multiplexer/session-manager.d.ts +10 -2
  26. package/dist/multiplexer/shared.d.ts +8 -1
  27. package/dist/multiplexer/types.d.ts +5 -2
  28. package/dist/multiplexer/zellij/index.d.ts +1 -1
  29. package/dist/tools/smartfetch/utils.d.ts +3 -1
  30. package/dist/tui-state.d.ts +5 -5
  31. package/dist/tui.js +87 -27
  32. package/dist/utils/escape-html.d.ts +1 -0
  33. package/dist/utils/frontmatter.d.ts +6 -0
  34. package/dist/utils/index.d.ts +1 -1
  35. package/dist/utils/logger.d.ts +0 -2
  36. package/oh-my-opencode-slim.schema.json +717 -2
  37. package/package.json +1 -1
  38. package/src/skills/clonedeps/SKILL.md +32 -29
  39. package/src/skills/codemap.md +5 -3
  40. package/src/skills/deepwork/SKILL.md +17 -6
  41. package/src/skills/verification-planning/SKILL.md +102 -0
  42. package/src/skills/worktrees/SKILL.md +14 -7
  43. package/src/skills/release-smoke-test/SKILL.md +0 -159
package/README.ko-KR.md CHANGED
@@ -22,29 +22,44 @@
22
22
 
23
23
  </div>
24
24
 
25
- ---
26
-
27
25
  ## 이 플러그인은 무엇인가요
28
26
 
29
27
  oh-my-opencode-slim은 OpenCode용 에이전트 오케스트레이션 플러그인입니다. 코드베이스 정찰, 최신 문서 조회, 아키텍처 리뷰, UI 작업, 잘 정의된 범위의 구현 작업까지 처리하는 전문 에이전트 팀이 내장되어 있으며, 모두 하나의 오케스트레이터 아래에서 동작합니다.
30
28
 
31
- 핵심 아이디어는 간단합니다. 하나의 모델이 모든 작업을 처리하도록 강제하는 대신, 각 작업에 가장 적합한 에이전트로 라우팅하여 **품질, 속도, 비용**의 균형을 맞춥니다.
32
-
33
- 에이전트 자체를 살펴보려면 **[판테온 만나보기](#meet-the-pantheon)** 를 참고하세요. 전체 기능 세트는 아래의 **[기능 & 워크플로우](#features-and-workflows)** 에서 확인할 수 있습니다.
34
-
35
- ### LazySkills로 에이전트 스킬 관리하기
29
+ 핵심 아이디어는 간단합니다. 하나의 모델이 모든 작업을 처리하도록 강제하는 대신, 각 작업에 가장 적합한 에이전트로 라우팅하여 **품질, 속도, 비용**의 균형을 맞춥니다. Orchestrator는 작업 그래프를 계획하고, 전문 에이전트를 백그라운드 작업으로 배치하며, 계속 진행하기 전에 결과를 조정합니다.
30
+
31
+ ### 주요 특징
32
+
33
+ - **[7명의 전문 에이전트](#meet-the-pantheon)** - Orchestrator, Explorer,
34
+ Oracle, Council, Librarian, Designer, Fixer. 작업의 각 부분을 가장 적합한
35
+ 에이전트에게 맡기며, 모든 프로바이더의 모델을 자유롭게 조합할 수 있습니다.
36
+ - **[백그라운드 오케스트레이션](docs/background-orchestration.md)** -
37
+ Orchestrator가 전문 에이전트를 백그라운드 작업으로 배치하고, 추적하며,
38
+ 계속 진행하기 전에 결과를 조정합니다. 기본적으로 병렬 작업을 수행합니다.
39
+ - **[번들 스킬](#skills)** - `deepwork`, `codemap`,
40
+ `verification-planning`, `reflect` 같은 프롬프트 기반 워크플로를 에이전트별로
41
+ 할당합니다.
42
+ - **[Council](docs/council.md)** - 여러 모델에 같은 질문을 병렬로 실행하고
43
+ `@council`로 하나의 답변을 종합합니다.
44
+ - **[Companion](docs/companion.md)** - 병렬 백그라운드 전문 에이전트를 포함해
45
+ 활성 에이전트를 보여 주는 선택적 플로팅 데스크톱 창입니다.
46
+ - **[멀티플렉서 통합](docs/multiplexer-integration.md)** - Tmux, Zellij,
47
+ Herdr 또는 cmux 페인에서 에이전트 작업을 실시간으로 확인합니다.
48
+ - **[프리셋 전환](docs/preset-switching.md)** - `/preset`으로 실행 중에 팀 전체의
49
+ 모델을 교체합니다.
50
+ - **[코드 인텔리전스 도구](docs/tools.md)** - 25개 언어를 지원하는 LSP 도구와
51
+ AST 인식 검색, 웹 검색·문서·GitHub 코드 검색용 내장 MCP를 제공합니다.
52
+ - **[완전한 사용자 지정](docs/configuration.md)** - 커스텀 에이전트, 프롬프트
53
+ 오버라이드, 에이전트별 스킬/MCP 권한 및
54
+ [프로젝트 로컬 사용자 지정](docs/project-local-customization.md)을 지원합니다.
55
+
56
+ ### OpenAI GPT-5.6
36
57
 
37
58
  <p align="center">
38
- <a href="https://github.com/alvinunreal/lazyskills">
39
- <img src="img/lazyskills-wide.svg" alt="LazySkills" width="720">
40
- </a>
59
+ <img src="img/openai-gpt-5-6-pantheon.jpeg" alt="OpenAI GPT-5.6 판테온: Terra, Sol, Luna" width="100%">
41
60
  </p>
42
61
 
43
- **[LazySkills](https://github.com/alvinunreal/lazyskills)** 에이전트 스킬을 관리하기 위한 터미널 UI입니다. 설치된 스킬, 각 스킬을 사용할 수 있는 에이전트, 가시성이 깨질 수 있는 이유, 다음에 안전하게 실행할 수 있는 작업을 한곳에서 확인할 수 있습니다.
44
-
45
- <p align="center">
46
- <a href="https://github.com/alvinunreal/lazyskills"><b>LazySkills 살펴보기 →</b></a>
47
- </p>
62
+ 기본 [OpenAI 프리셋](docs/openai-preset.md) Terra를 Orchestrator에, Sol을 Oracle에, Luna를 빠른 전문 레인에 매핑합니다.
48
63
 
49
64
  ### 사용자들의 말
50
65
 
@@ -139,7 +154,7 @@ bun run build
139
154
  > 자동 위임이 어떻게 동작하는지 이해하는 것을 **권장**합니다. **[Orchestrator 프롬프트](https://github.com/alvinunreal/oh-my-opencode-slim/blob/master/src/agents/orchestrator.ts#L28)** 에는 위임 규칙, 전문 에이전트 라우팅 로직, 메인 에이전트가 언제 서브에이전트로 작업을 넘겨야 하는지에 대한 임계값이 포함되어 있습니다. 수동으로 위임하려면 `@agentName <task>`로 서브에이전트를 호출하면 됩니다.
140
155
 
141
156
  > [!TIP]
142
- > 이제 백그라운드 에이전트가 기본 워크플로이므로 **[Multiplexer Integration](docs/multiplexer-integration.md)** 을 활성화하고 설정하는 것을 **강력히 권장**합니다. 각 에이전트를 전용 Tmux, Zellij, 또는 Herdr 창에서 자동으로 열어 주기 때문에, Orchestrator가 세션을 계속 조율하는 동안 전문 에이전트들의 작업을 실시간으로 따라볼 수 있습니다.
157
+ > 이제 백그라운드 에이전트가 기본 워크플로이므로 **[Multiplexer Integration](docs/multiplexer-integration.md)** 을 활성화하고 설정하는 것을 **강력히 권장**합니다. 각 에이전트를 전용 Tmux, Zellij, Herdr 또는 cmux 창에서 자동으로 열어 주기 때문에, Orchestrator가 세션을 계속 조율하는 동안 전문 에이전트들의 작업을 실시간으로 따라볼 수 있습니다.
143
158
 
144
159
  기본 생성 설정에는 `openai`와 `opencode-go` 프리셋이 모두 포함되어 있습니다.
145
160
 
@@ -157,20 +172,29 @@ bun run build
157
172
  "fixer": { "model": "openai/gpt-5.6-luna", "variant": "medium", "skills": [], "mcps": [] }
158
173
  },
159
174
  "opencode-go": {
160
- "orchestrator": { "model": "opencode-go/glm-5.2", "skills": [ "*" ], "mcps": [ "*", "!context7" ] },
175
+ "orchestrator": { "model": "opencode-go/minimax-m3", "variant": "max", "skills": [ "*" ], "mcps": [ "*", "!context7" ] },
161
176
  "oracle": { "model": "opencode-go/qwen3.7-max", "variant": "max", "skills": ["simplify"], "mcps": [] },
162
- "librarian": { "model": "opencode-go/deepseek-v4-flash", "skills": [], "mcps": [ "websearch", "context7", "gh_grep" ] },
163
- "explorer": { "model": "opencode-go/deepseek-v4-flash", "skills": [], "mcps": [] },
177
+ "librarian": { "model": "opencode-go/deepseek-v4-flash", "variant": "high", "skills": [], "mcps": [ "websearch", "context7", "gh_grep" ] },
178
+ "explorer": { "model": "opencode-go/deepseek-v4-flash", "variant": "max", "skills": [], "mcps": [] },
164
179
  "designer": { "model": "opencode-go/kimi-k2.7-code", "variant": "medium", "skills": [], "mcps": [] },
165
- "fixer": { "model": "opencode-go/deepseek-v4-flash", "variant": "high", "skills": [], "mcps": [] }
180
+ "fixer": { "model": "opencode-go/deepseek-v4-flash", "variant": "high", "skills": [], "mcps": [] },
181
+ "observer": { "model": "opencode-go/mimo-v2.5", "variant": "max", "skills": [], "mcps": [] }
166
182
  }
167
183
  }
168
184
  }
169
185
  ```
170
186
 
187
+ ### 프리셋 문서
188
+
189
+ - **[OpenAI 프리셋](docs/openai-preset.md)** — 기본으로 생성되는 프리셋으로, 모든 에이전트가 OpenAI 모델에서 실행됩니다.
190
+ - **[OpenCode Go 프리셋](docs/opencode-go-preset.md)** — 에이전트를 OpenCode Go 모델에서 실행합니다. Orchestrator 모델이 멀티모달이 아니므로 시각 분석용 Observer 에이전트를 활성화합니다.
191
+ - **[작성자 프리셋](docs/authors-preset.md)** — 작성자가 매일 사용하는 서드파티 스킬 포함 정확한 설정입니다.
192
+ - **[$30 프리셋](docs/thirty-dollars-preset.md)** — 월 약 $30로 Codex Plus와 GitHub Copilot Pro를 중심으로 구성한 혼합 프로바이더 설정입니다.
193
+ - **[OpenCode Zen 무료 프리셋](docs/opencode-zen-free-preset.md)** — 모든 에이전트가 opencode 무료 모델에서 실행되며 사용 비용이 없습니다.
194
+
171
195
  ### 대체 프로바이더 사용하기
172
196
 
173
- 커스텀 프로바이더나 여러 프로바이더를 혼합해서 사용하려면, **[Configuration](docs/configuration.md)** 에서 전체 레퍼런스를 확인하세요. 바로 사용할 수 있는 시작점을 찾고 있다면 **[Author's Preset](docs/authors-preset.md)** 과 **[$30 Preset](docs/thirty-dollars-preset.md)** 확인해 보세요. `$30` 프리셋이 가장 가성비 좋은 설정입니다.
197
+ 커스텀 프로바이더나 여러 프로바이더를 혼합해서 사용하려면 전체 참조 문서인 **[Configuration](docs/configuration.md)** 을 사용하세요.
174
198
 
175
199
  ### ✅ 설정 확인하기
176
200
 
@@ -195,91 +219,6 @@ ping all agents
195
219
 
196
220
  ---
197
221
 
198
- ### V2의 새로운 점
199
-
200
- V2는 oh-my-opencode-slim을 스케줄러 중심의 멀티 에이전트 워크플로 시스템으로 바꿉니다. Orchestrator는 계획, 위임, 결과 조정, 검증에 집중하고, 전문가들은 각자의 lane에서 작업합니다.
201
-
202
- - **[백그라운드 에이전트](#백그라운드-에이전트)** - Orchestrator가 전문가를 백그라운드 작업으로 디스패치하고, 작업/세션 ID를 추적하며, 완료 이벤트를 기다린 뒤 결과를 조정합니다.
203
- - **[Companion](#companion)** - 선택 사항인 플로팅 데스크톱 창이 병렬 백그라운드 전문가를 포함해 현재 활성 에이전트를 보여줍니다.
204
- - **[Deepwork](#deepwork)** - 대규모, 다중 파일, 위험도가 높거나 단계적인 코딩 작업을 위한 구조화된 워크플로입니다. 지속적인 계획 파일과 Oracle 리뷰 게이트를 사용합니다.
205
- - **[Reflect](#reflect)** - 반복되는 작업 패턴을 돌아보고 재사용 가능한 skill, 에이전트, 명령, 설정 규칙, 프롬프트 규칙, 프로젝트 playbook을 제안합니다.
206
- - **[Worktrees](#worktrees)** - 복잡하거나 위험하거나 병렬로 진행되는 작업을 위해 Git worktree를 안전 프로토콜이 있는 격리된 코딩 lane으로 관리합니다.
207
- - **[oh-my-opencode-slim Skill](#oh-my-opencode-slim-skill)** - 모델, 프롬프트, 커스텀 에이전트, MCP 접근, 프리셋, 플러그인 동작을 안전하게 조정하는 번들 설정 skill입니다.
208
-
209
- #### 백그라운드 에이전트
210
-
211
- V2에서는 백그라운드 전문가가 기본 동작 모델입니다. Orchestrator는 작업 그래프를 계획하고, 적절한 에이전트를 실행하며, 겹치는 쓰기 소유권을 피하고, 터미널 작업 결과를 받은 뒤에 다음 행동을 이어갑니다.
212
-
213
- 전체 스케줄러 모델은 **[Background Orchestration](docs/v2-background-orchestration.md)** 을 참고하세요.
214
-
215
- #### Companion
216
-
217
- 선택 사항인 Companion은 실시간 에이전트 활동을 보여주는 플로팅 데스크톱 상태 창입니다. 현재 세션 상태와 활성 에이전트를 표시해 백그라운드 작업을 한눈에 파악할 수 있습니다.
218
-
219
- <div align="center">
220
- <img src="img/companion.gif" alt="Companion showing active agents" width="600">
221
- <p><i>왼쪽 아래의 시각적 companion.</i></p>
222
- </div>
223
-
224
- 대화형 설치 중 인스톨러는 Companion 활성화 여부를 묻고 기본값은 `no`입니다. 자동화에서는 명시적으로 활성화할 수 있습니다.
225
-
226
- ```bash
227
- bunx oh-my-opencode-slim@latest install --companion=yes
228
- ```
229
-
230
- 설정, 위치, 크기, 설치 세부 사항은 **[Companion](docs/companion.md)** 을 참고하세요.
231
-
232
- #### Deepwork
233
-
234
- Deepwork는 대규모 리팩터링, 다단계 기능, 위험한 아키텍처 변경, 지속적인 계획이 필요한 작업 같은 무거운 코딩 세션을 위한 기능입니다. 로컬 markdown 진행 파일을 만들고, Oracle 리뷰 게이트를 사용하며, 구현 단계를 구조화합니다.
235
-
236
- 다음으로 시작합니다.
237
-
238
- ```text
239
- /deepwork <heavy coding task>
240
- ```
241
-
242
- 사용 시점과 워크플로 동작 방식은 **[Skills](docs/skills.md#deepwork)** 를 참고하세요.
243
-
244
- #### Reflect
245
-
246
- Reflect는 Orchestrator가 반복되는 워크플로 마찰에서 배우도록 돕습니다. 최근 작업과 기존 자산을 검토한 뒤 skill, 커스텀 에이전트, 명령, 설정 규칙, 프롬프트 규칙, MCP 권한 변경, 프로젝트 playbook 중 가장 작고 유용한 개선안을 제안합니다. 근거가 부족하면 아무것도 만들지 않는 것을 권장해야 합니다.
247
-
248
- 직접 실행할 수 있습니다.
249
-
250
- ```text
251
- /reflect
252
- /reflect release workflow and checks
253
- ```
254
-
255
- 자연어 프롬프트로도 사용할 수 있습니다.
256
-
257
- ```text
258
- reflect on my recent workflows
259
- find repeated work worth turning into reusable instructions
260
- ```
261
-
262
- 전체 워크플로와 가드레일은 **[Skills](docs/skills.md#reflect)** 를 참고하세요.
263
-
264
- #### Worktrees
265
-
266
- Worktrees는 Git worktree를 `.slim/worktrees/<slug>/` 아래의 안전하고 격리된 코딩 lane으로 관리합니다. Orchestrator가 lane의 생명주기를 관리하고, `.slim/worktrees.json`에 상태를 추적하며, 전문가 에이전트를 lane 안에서 실행하고, Git 상태를 변경하기 전에 명시적인 확인을 요구합니다.
267
-
268
- 안전 프로토콜은 **[Skills](docs/skills.md#worktrees)** 를 참고하세요.
269
-
270
- #### oh-my-opencode-slim Skill
271
-
272
- 번들된 `oh-my-opencode-slim` skill은 Orchestrator가 플러그인 자체를 설정하고 개선하도록 돕습니다. 모델 튜닝, 커스텀 에이전트, 프롬프트 오버라이드, skill/MCP 권한, 프리셋, 선택적 에이전트, 백그라운드 오케스트레이션, 반복되는 워크플로 마찰에 사용할 수 있습니다.
273
-
274
- <div align="center">
275
- <img src="img/oh-my-opencode-skill.png" alt="oh-my-opencode-slim skill in use" width="600">
276
- <p><i>번들 skill에 에이전트 설정 튜닝과 개선을 요청하세요.</i></p>
277
- </div>
278
-
279
- 예시와 안전 규칙은 **[Skills](docs/skills.md#oh-my-opencode-slim)** 를 참고하세요.
280
-
281
- ---
282
-
283
222
  <a id="meet-the-pantheon"></a>
284
223
 
285
224
  ## 🏛️ 판테온 만나보기
@@ -308,17 +247,17 @@ Worktrees는 Git worktree를 `.slim/worktrees/<slug>/` 아래의 안전하고
308
247
  </tr>
309
248
  <tr>
310
249
  <td colspan="2">
311
- <b>기본 모델:</b> <code>openai/gpt-5.6-terra</code>
250
+ <b>기본 모델:</b> <code>openai/gpt-5.6-terra (medium)</code>
312
251
  </td>
313
252
  </tr>
314
253
  <tr>
315
254
  <td colspan="2">
316
- <b>추천 모델:</b> <code>openai/gpt-5.6-terra</code> <code>anthropic/claude-opus-4.6</code>
255
+ <b>추천 모델:</b> <code>openai/gpt-5.6-terra (medium)</code> <code>anthropic/claude-fable-5</code> <code>anthropic/claude-opus-4-8</code>
317
256
  </td>
318
257
  </tr>
319
258
  <tr>
320
259
  <td colspan="2">
321
- <b>모델 가이드:</b> 기본으로 사용할 가장 강력한 올라운드 코딩 모델을 선택하세요. Orchestrator는 메인 코딩 에이전트이자 위임자이므로, 강한 구현 능력과 좋은 판단력, 안정적인 인스트럭션 팔로잉이 필요합니다.
260
+ <b>모델 가이드:</b> 가장 강력한 계획 판단 모델을 선택하세요. Orchestrator는 워크플로 관리자입니다. 작업을 계획하고, 백그라운드 전문 에이전트를 일정에 배치하며, 결과를 조정하고, 결과물을 검증하므로 단순 작업 처리량보다 안정적인 지시 이행과 높은 수준의 기술적 판단력이 필요합니다.
322
261
  </td>
323
262
  </tr>
324
263
  </table>
@@ -354,7 +293,7 @@ Worktrees는 Git worktree를 `.slim/worktrees/<slug>/` 아래의 안전하고
354
293
  </tr>
355
294
  <tr>
356
295
  <td colspan="2">
357
- <b>추천 모델:</b> <code>cerebras/zai-glm-4.7</code> <code>fireworks-ai/accounts/fireworks/routers/kimi-k2p5-turbo</code> <code>openai/gpt-5.6-luna</code>
296
+ <b>추천 모델:</b> <code>openai/gpt-5.3-codex</code> <code>cerebras/zai-glm-4.7</code> <code>fireworks-ai/accounts/fireworks/routers/kimi-k2p6-turbo</code>
358
297
  </td>
359
298
  </tr>
360
299
  <tr>
@@ -395,7 +334,7 @@ Worktrees는 Git worktree를 `.slim/worktrees/<slug>/` 아래의 안전하고
395
334
  </tr>
396
335
  <tr>
397
336
  <td colspan="2">
398
- <b>추천 모델:</b> <code>openai/gpt-5.6-sol (high)</code> <code>google/gemini-3.1-pro-preview (high)</code>
337
+ <b>추천 모델:</b> <code>openai/gpt-5.6-sol (xhigh)</code> <code>anthropic/claude-fable-5</code> <code>anthropic/claude-opus-4-8 (xhigh)</code>
399
338
  </td>
400
339
  </tr>
401
340
  <tr>
@@ -485,7 +424,7 @@ Worktrees는 Git worktree를 `.slim/worktrees/<slug>/` 아래의 안전하고
485
424
  </tr>
486
425
  <tr>
487
426
  <td colspan="2">
488
- <b>추천 모델:</b> <code>cerebras/zai-glm-4.7</code> <code>fireworks-ai/accounts/fireworks/routers/kimi-k2p5-turbo</code> <code>openai/gpt-5.6-luna</code>
427
+ <b>추천 모델:</b> <code>openai/gpt-5.3-codex</code> <code>cerebras/zai-glm-4.7</code> <code>fireworks-ai/accounts/fireworks/routers/kimi-k2p6-turbo</code>
489
428
  </td>
490
429
  </tr>
491
430
  <tr>
@@ -526,7 +465,7 @@ Worktrees는 Git worktree를 `.slim/worktrees/<slug>/` 아래의 안전하고
526
465
  </tr>
527
466
  <tr>
528
467
  <td colspan="2">
529
- <b>추천 모델:</b> <code>google/gemini-3.1-pro-preview</code> <code>kimi-for-coding/k2p5</code>
468
+ <b>추천 모델:</b> <code>google/gemini-3.5-flash</code> <code>moonshotai/kimi-k2.7-code</code>
530
469
  </td>
531
470
  </tr>
532
471
  <tr>
@@ -562,17 +501,17 @@ Worktrees는 Git worktree를 `.slim/worktrees/<slug>/` 아래의 안전하고
562
501
  </tr>
563
502
  <tr>
564
503
  <td colspan="2">
565
- <b>기본 모델:</b> <code>openai/gpt-5.6-luna</code>
504
+ <b>기본 모델:</b> <code>openai/gpt-5.6-luna (medium)</code>
566
505
  </td>
567
506
  </tr>
568
507
  <tr>
569
508
  <td colspan="2">
570
- <b>추천 모델:</b> <code>cerebras/zai-glm-4.7</code> <code>fireworks-ai/accounts/fireworks/routers/kimi-k2p5-turbo</code> <code>openai/gpt-5.6-luna</code>
509
+ <b>추천 모델:</b> <code>openai/gpt-5.6-luna (medium)</code> <code>anthropic/claude-sonnet-4-6</code>
571
510
  </td>
572
511
  </tr>
573
512
  <tr>
574
513
  <td colspan="2">
575
- <b>모델 가이드:</b> 일상적이고 범위가 정해진 구현 작업에 빠르고 안정적인 코딩 모델을 선택하세요. Fixer는 보통 Orchestrator로부터 구체적인 계획이나 제한된 명령을 받으므로, 테스트, 테스트 업데이트, 간단한 코드 변경 같은 효율적인 실행 작업에 적합합니다.
514
+ <b>모델 가이드:</b> 범위가 정해진 구현 작업에 신뢰할 있는 코딩 모델을 선택하세요. Fixer는 Orchestrator로부터 구체적인 계획이나 제한된 지시를 받으므로, 효율적인 실행 작업과 간단한 코드 변경에 적합합니다.
576
515
  </td>
577
516
  </tr>
578
517
  </table>
@@ -584,7 +523,7 @@ Worktrees는 Git worktree를 `.slim/worktrees/<slug>/` 아래의 안전하고
584
523
  ### Observer: 침묵의 증인
585
524
 
586
525
  > [!NOTE]
587
- > **별도의 에이전트인 이유는?** Orchestrator 모델이 멀티모달이 아니라면, Observer를 활성화하여 이미지, 스크린샷, PDF 및 기타 시각 파일을 처리할 수 있습니다. Observer는 기본적으로 비활성화되어 있으며, 메인 추론 모델을 변경하지 않고도 Orchestrator에 전용 멀티모달 리더를 제공합니다. 설정에서 `disabled_agents: []`로 설정하고 `observer` 모델을 구성하세요. 번들로 제공되는 `opencode-go` 설치 프리셋은 GLM Orchestrator가 멀티모달이 아니므로 이를 자동으로 활성화합니다.
526
+ > **별도의 에이전트인 이유는?** Orchestrator 모델이 멀티모달이 아니라면, Observer를 활성화하여 이미지, 스크린샷, PDF 및 기타 시각 파일을 처리할 수 있습니다. Observer는 기본적으로 비활성화되어 있으며, 메인 추론 모델을 변경하지 않고도 Orchestrator에 전용 멀티모달 리더를 제공합니다. 설정에서 `disabled_agents: []`로 설정하고 `observer` 모델을 구성하세요. 번들로 제공되는 `opencode-go` 설치 프리셋은 GLM Orchestrator가 멀티모달이 아니므로 이를 자동으로 활성화합니다. `image_routing`을 생략하면 기존의 조건부 Observer 동작이 유지됩니다. Observer가 활성화된 경우에만 `image_routing: "auto"`로 설정하고, 이미지 첨부 파일을 항상 Orchestrator에 전달하려면 `"direct"`로 설정하세요.
588
527
 
589
528
  <table>
590
529
  <tr>
@@ -596,9 +535,9 @@ Worktrees는 Git worktree를 `.slim/worktrees/<slug>/` 아래의 안전하고
596
535
 
597
536
  **읽기 전용 시각 분석** - 이미지, 스크린샷, PDF, 다이어그램을 해석합니다. 원시 파일 바이트를 메인 컨텍스트 윈도우에 로드하지 않고, 구조화된 관찰 결과를 오케스트레이터에 반환합니다.
598
537
 
599
- - 이미지, 스크린샷, 다이어그램 -> `read` 도구 (네이티브 이미지 지원)
600
- - PDF 및 바이너리 문서 -> `read` 도구 (텍스트 + 구조 추출)
601
- - **기본 비활성화** - `"disabled_agents": []`로 설정하고 비전 지원 모델을 구성하여 활성화; `--preset=opencode-go`로 설치하면 `opencode-go/kimi-k2.6`으로 자동 활성화됩니다
538
+ - 이미지, 스크린샷, 다이어그램 `read` 도구(네이티브 이미지 지원)
539
+ - PDF 및 바이너리 문서 `read` 도구(텍스트 + 구조 추출)
540
+ - **기본 비활성화** - `"disabled_agents": []`와 비전 지원 모델을 설정하여 활성화합니다. `--preset=opencode-go`로 설치하면 `opencode-go/mimo-v2.5`로 활성화됩니다. 활성화 시 이미지 첨부 파일은 기본적으로 Observer로 라우팅됩니다. Orchestrator에서 유지하려면 `"image_routing": "direct"`로 설정하세요.
602
541
 
603
542
  </td>
604
543
  </tr>
@@ -621,6 +560,61 @@ Worktrees는 Git worktree를 `.slim/worktrees/<slug>/` 아래의 안전하고
621
560
 
622
561
  ---
623
562
 
563
+ <a id="skills"></a>
564
+
565
+ ## 🧩 스킬
566
+
567
+ 스킬은 에이전트의 시스템 프롬프트에 주입되어 판단, 워크플로, 도구 사용을
568
+ 안내하는 프롬프트 기반 지침입니다. 실행 중인 서버인 MCP와 달리 스킬은
569
+ 프로세스를 실행하지 않습니다. 작업에 맞춰 에이전트가 활성화하는 집중형
570
+ 플레이북입니다. 인스톨러는 8개의 스킬을 번들로 제공하고 플러그인 자동
571
+ 업데이트 시 최신 상태로 유지하며, 로컬 사용자 지정은 보존합니다.
572
+
573
+ | 스킬 | 용도 | 기본 에이전트 | 호출 방법 |
574
+ |:----:|------|---------------|-----------|
575
+ | <img src="img/skills/codemap.webp" width="120" alt="Codemap artifact"><br>[`codemap`](src/skills/codemap/SKILL.md) | 에이전트가 모든 것을 다시 읽지 않고 코드베이스를 이해하도록 돕는 계층형 저장소 지도 | `orchestrator` | `run codemap` |
576
+ | <img src="img/skills/deepwork.webp" width="120" alt="Deepwork artifact"><br>[`deepwork`](src/skills/deepwork/SKILL.md) | 검토 게이트를 갖춘 대규모·고위험·다단계 코딩 세션용 구조화된 워크플로 | `orchestrator` | `/deepwork <task>` |
577
+ | <img src="img/skills/verification-planning.webp" width="120" alt="Verification Planning artifact"><br>[`verification-planning`](src/skills/verification-planning/SKILL.md) | 중요하지 않은 변경이 아닌 경우, 프로젝트별 증거 경로를 미리 계획 | `orchestrator` | 중요한 작업 전 자동 |
578
+ | <img src="img/skills/simplify.webp" width="120" alt="Simplify artifact"><br>[`simplify`](src/skills/simplify/SKILL.md) | 가독성과 유지보수성을 위한 동작 보존 단순화 | `oracle` | 단순화를 요청하거나 리뷰 중 |
579
+ | <img src="img/skills/worktrees.webp" width="120" alt="Worktrees artifact"><br>[`worktrees`](src/skills/worktrees/SKILL.md) | 고위험 또는 병렬 작업을 위한 안전하고 격리된 코딩 레인으로 Git worktree 사용 | `orchestrator` | `work in a worktree` |
580
+ | <img src="img/skills/clonedeps.webp" width="120" alt="Clonedeps artifact"><br>[`clonedeps`](src/skills/clonedeps/SKILL.md) | 에이전트가 라이브러리 내부를 검사하도록 의존성 소스를 로컬에 복제 | `orchestrator` | `clone dependencies` |
581
+ | <img src="img/skills/reflect.webp" width="120" alt="Reflect artifact"><br>[`reflect`](src/skills/reflect/SKILL.md) | 반복되는 워크플로 마찰을 재사용 가능한 스킬, 에이전트 또는 설정으로 전환 | `orchestrator` | `/reflect` |
582
+ | <img src="img/skills/oh-my-opencode-slim.webp" width="120" alt="oh-my-opencode-slim artifact"><br>[`oh-my-opencode-slim`](src/skills/oh-my-opencode-slim/SKILL.md) | 플러그인 설정 자체를 안전하게 구성하고 개선 | `orchestrator` | 설정 조정을 요청 |
583
+
584
+ 스킬 할당은 권한 부여입니다. 에이전트는 부여받은 스킬만 활성화할 수 있습니다.
585
+ `~/.config/opencode/oh-my-opencode-slim.json`의 에이전트별 `skills` 배열로
586
+ 구성합니다. 명시적 목록, 전체 허용을 위한 `"*"`, 특정 스킬 거부를 위한
587
+ `"!skill-name"`을 사용할 수 있습니다.
588
+
589
+ 전체 문서는 **[스킬](docs/skills.md)** 을 참고하거나, 그림이 포함된 개요인
590
+ **[ohmyopencodeslim.com/skills](https://ohmyopencodeslim.com/skills)** 를 둘러보세요.
591
+
592
+ ---
593
+
594
+ <a id="companion"></a>
595
+
596
+ ## 🖥️ Companion
597
+
598
+ 선택적인 Companion은 실시간 에이전트 활동을 보여 주는 플로팅 데스크톱 상태
599
+ 창입니다. 현재 세션 상태와 활성 에이전트를 표시하므로 백그라운드 작업을
600
+ 한눈에 더 쉽게 파악할 수 있습니다.
601
+
602
+ <div align="center">
603
+ <img src="img/companion.gif" alt="Companion showing active agents" width="600">
604
+ <p><i>왼쪽 아래의 시각적 companion.</i></p>
605
+ </div>
606
+
607
+ 대화형 설치 중 인스톨러는 Companion 활성화 여부를 묻고 기본값은 `no`입니다.
608
+ 자동화에서는 다음과 같이 명시적으로 활성화하세요.
609
+
610
+ ```bash
611
+ bunx oh-my-opencode-slim@latest install --companion=yes
612
+ ```
613
+
614
+ 설정, 위치, 크기, 설치 세부 사항은 **[Companion](docs/companion.md)** 을 참고하세요.
615
+
616
+ ---
617
+
624
618
  ## 📚 문서
625
619
 
626
620
  이 섹션은 지도로 활용하세요. 설치부터 시작한 뒤, 필요에 따라 기능, 설정 또는 예시 프리셋으로 이동하면 됩니다.
@@ -634,7 +628,7 @@ Worktrees는 Git worktree를 `.slim/worktrees/<slug>/` 아래의 안전하고
634
628
  | **[Council](docs/council.md)** | `@council`로 여러 모델을 병렬 실행하고 하나의 답변으로 종합 |
635
629
  | **[Custom Agents](docs/configuration.md#custom-agents)** | 커스텀 프롬프트, 모델, MCP 접근, Orchestrator 위임 규칙으로 커스텀 전문 에이전트 정의 |
636
630
  | **[ACP Agents](docs/acp-agents.md)** | Claude Code ACP 또는 Gemini ACP 같은 외부 ACP 호환 에이전트를 위임 가능한 서브에이전트로 연결 |
637
- | **[Multiplexer Integration](docs/multiplexer-integration.md)** | Tmux, Zellij, 또는 Herdr 페인에서 에이전트 작업을 실시간으로 확인 |
631
+ | **[Multiplexer Integration](docs/multiplexer-integration.md)** | Tmux, Zellij, Herdr 또는 cmux 페인에서 에이전트 작업을 실시간으로 확인 |
638
632
  | **[Codemap](docs/codemap.md)** | 계층형 코드맵을 생성하여 대규모 코드베이스를 빠르게 파악 |
639
633
  | **[Clonedeps](docs/clonedeps.md)** | 선택한 의존성 소스를 무시된 로컬 워크스페이스에 복제하여 검사 |
640
634
  | **[Worktrees](docs/worktrees.md)** | `.slim/worktrees/` lane을 사용해 격리된 병렬 또는 고위험 코딩 작업 수행 |
@@ -648,9 +642,10 @@ Worktrees는 Git worktree를 `.slim/worktrees/<slug>/` 아래의 안전하고
648
642
  |-----|------|
649
643
  | **[Installation Guide](docs/installation.md)** | 플러그인 설치, CLI 플래그 사용, 설정 초기화, 설치 문제 해결 |
650
644
  | **[Configuration](docs/configuration.md)** | 설정 파일 위치, JSONC 지원, 프롬프트 오버라이드, 전체 옵션 레퍼런스 |
645
+ | **[Project Customization](docs/project-local-customization.md)** | 저장소별 커스텀 에이전트, 프롬프트 오버라이드, 에이전트별 스킬 및 우선순위 |
651
646
  | **[Background Orchestration](docs/background-orchestration.md)** | 네이티브 백그라운드 서브에이전트를 기반으로 한 스케줄러 우선 Orchestrator 모델 |
652
647
  | **[Maintainer Guide](docs/maintainers.md)** | 이슈 트리아지 규칙, 라벨 의미, 지원 라우팅, 저장소 유지보수 워크플로우 |
653
- | **[Skills](docs/skills.md)** | `simplify`, `codemap`, `clonedeps`, `deepwork`, `reflect`, `worktrees`, `oh-my-opencode-slim` 등 번들된 스킬 |
648
+ | **[Skills](docs/skills.md)** | `simplify`, `codemap`, `clonedeps`, `deepwork`, `verification-planning`, `reflect`, `worktrees`, `oh-my-opencode-slim` 등 번들된 스킬 |
654
649
  | **[MCPs](docs/mcps.md)** | `websearch`, `context7`, `gh_grep` 및 에이전트별 MCP 권한 동작 방식 |
655
650
  | **[Tools](docs/tools.md)** | `webfetch`, LSP 도구, 코드 검색, 포매터 등 내장 도구 기능 |
656
651
 
@@ -671,7 +666,7 @@ Worktrees는 Git worktree를 `.slim/worktrees/<slug>/` 아래의 안전하고
671
666
  <p><sub>병합된 모든 기여는 이 영역에 흔적을 남깁니다.</sub></p>
672
667
 
673
668
  <!-- ALL-CONTRIBUTORS-BADGE:START - Do not remove or modify this section -->
674
- [![All Contributors](https://img.shields.io/badge/all_contributors-59-orange.svg?style=flat-square)](#contributors-)
669
+ [![All Contributors](https://img.shields.io/badge/all_contributors-76-orange.svg?style=flat-square)](#contributors-)
675
670
  <!-- ALL-CONTRIBUTORS-BADGE:END -->
676
671
  </div>
677
672
 
@@ -760,6 +755,29 @@ Worktrees는 Git worktree를 `.slim/worktrees/<slug>/` 아래의 안전하고
760
755
  <td align="center" valign="top" width="16.66%"><a href="https://github.com/Qesire"><img src="https://avatars.githubusercontent.com/u/102657430?v=4?s=100" width="100px;" alt="Knowingthesea_Qesire"/><br /><sub><b>Knowingthesea_Qesire</b></sub></a><br /><a href="https://github.com/alvinunreal/oh-my-opencode-slim/commits?author=Qesire" title="Code">💻</a></td>
761
756
  <td align="center" valign="top" width="16.66%"><a href="http://www.flyinghail.net/"><img src="https://avatars.githubusercontent.com/u/157430?v=4?s=100" width="100px;" alt="FENG Hao"/><br /><sub><b>FENG Hao</b></sub></a><br /><a href="https://github.com/alvinunreal/oh-my-opencode-slim/commits?author=flyinghail" title="Code">💻</a></td>
762
757
  <td align="center" valign="top" width="16.66%"><a href="https://github.com/smatheusblu"><img src="https://avatars.githubusercontent.com/u/5666794?v=4?s=100" width="100px;" alt="Matheus Nogueira Silveira"/><br /><sub><b>Matheus Nogueira Silveira</b></sub></a><br /><a href="https://github.com/alvinunreal/oh-my-opencode-slim/commits?author=smatheusblu" title="Code">💻</a></td>
758
+ <td align="center" valign="top" width="16.66%"><a href="https://github.com/sktr"><img src="https://avatars.githubusercontent.com/u/44969514?v=4?s=100" width="100px;" alt="sktr"/><br /><sub><b>sktr</b></sub></a><br /><a href="https://github.com/alvinunreal/oh-my-opencode-slim/commits?author=sktr" title="Code">💻</a></td>
759
+ </tr>
760
+ <tr>
761
+ <td align="center" valign="top" width="16.66%"><a href="https://github.com/bobbyunknown"><img src="https://avatars.githubusercontent.com/u/62272380?v=4?s=100" width="100px;" alt="Insomnia"/><br /><sub><b>Insomnia</b></sub></a><br /><a href="https://github.com/alvinunreal/oh-my-opencode-slim/commits?author=bobbyunknown" title="Code">💻</a></td>
762
+ <td align="center" valign="top" width="16.66%"><a href="https://github.com/andrescastane"><img src="https://avatars.githubusercontent.com/u/13487870?v=4?s=100" width="100px;" alt="Andres Castañeda"/><br /><sub><b>Andres Castañeda</b></sub></a><br /><a href="https://github.com/alvinunreal/oh-my-opencode-slim/commits?author=andrescastane" title="Code">💻</a></td>
763
+ <td align="center" valign="top" width="16.66%"><a href="https://zaradacht.com/"><img src="https://avatars.githubusercontent.com/u/24251016?v=4?s=100" width="100px;" alt="Zaradacht Taifour (Zack)"/><br /><sub><b>Zaradacht Taifour (Zack)</b></sub></a><br /><a href="https://github.com/alvinunreal/oh-my-opencode-slim/commits?author=Zaradacht" title="Code">💻</a></td>
764
+ <td align="center" valign="top" width="16.66%"><a href="https://github.com/fslse"><img src="https://avatars.githubusercontent.com/u/90545544?v=4?s=100" width="100px;" alt="fslse"/><br /><sub><b>fslse</b></sub></a><br /><a href="https://github.com/alvinunreal/oh-my-opencode-slim/commits?author=fslse" title="Code">💻</a></td>
765
+ <td align="center" valign="top" width="16.66%"><a href="https://github.com/linze0721"><img src="https://avatars.githubusercontent.com/u/178997622?v=4?s=100" width="100px;" alt="萧瑟"/><br /><sub><b>萧瑟</b></sub></a><br /><a href="https://github.com/alvinunreal/oh-my-opencode-slim/commits?author=linze0721" title="Code">💻</a></td>
766
+ <td align="center" valign="top" width="16.66%"><a href="https://github.com/SisyphusZheng"><img src="https://avatars.githubusercontent.com/u/146103794?v=4?s=100" width="100px;" alt="Zhi"/><br /><sub><b>Zhi</b></sub></a><br /><a href="https://github.com/alvinunreal/oh-my-opencode-slim/commits?author=SisyphusZheng" title="Code">💻</a></td>
767
+ </tr>
768
+ <tr>
769
+ <td align="center" valign="top" width="16.66%"><a href="https://github.com/824156793"><img src="https://avatars.githubusercontent.com/u/19755784?v=4?s=100" width="100px;" alt="lilili"/><br /><sub><b>lilili</b></sub></a><br /><a href="https://github.com/alvinunreal/oh-my-opencode-slim/commits?author=824156793" title="Code">💻</a></td>
770
+ <td align="center" valign="top" width="16.66%"><a href="http://mikehenke.com/"><img src="https://avatars.githubusercontent.com/u/119844?v=4?s=100" width="100px;" alt="Mike Henke"/><br /><sub><b>Mike Henke</b></sub></a><br /><a href="https://github.com/alvinunreal/oh-my-opencode-slim/commits?author=mhenke" title="Code">💻</a></td>
771
+ <td align="center" valign="top" width="16.66%"><a href="https://github.com/imVinayPandya"><img src="https://avatars.githubusercontent.com/u/5011197?v=4?s=100" width="100px;" alt="Vinay Pandya"/><br /><sub><b>Vinay Pandya</b></sub></a><br /><a href="https://github.com/alvinunreal/oh-my-opencode-slim/commits?author=imVinayPandya" title="Code">💻</a></td>
772
+ <td align="center" valign="top" width="16.66%"><a href="https://github.com/s-shank"><img src="https://avatars.githubusercontent.com/u/241541918?v=4?s=100" width="100px;" alt="Shank"/><br /><sub><b>Shank</b></sub></a><br /><a href="https://github.com/alvinunreal/oh-my-opencode-slim/commits?author=s-shank" title="Code">💻</a></td>
773
+ <td align="center" valign="top" width="16.66%"><a href="https://rgutzen.github.io/"><img src="https://avatars.githubusercontent.com/u/16289604?v=4?s=100" width="100px;" alt="Robin Gutzen"/><br /><sub><b>Robin Gutzen</b></sub></a><br /><a href="https://github.com/alvinunreal/oh-my-opencode-slim/commits?author=rgutzen" title="Code">💻</a></td>
774
+ <td align="center" valign="top" width="16.66%"><a href="https://github.com/dragon-Elec"><img src="https://avatars.githubusercontent.com/u/197374270?v=4?s=100" width="100px;" alt="Yash"/><br /><sub><b>Yash</b></sub></a><br /><a href="https://github.com/alvinunreal/oh-my-opencode-slim/commits?author=dragon-Elec" title="Code">💻</a></td>
775
+ </tr>
776
+ <tr>
777
+ <td align="center" valign="top" width="16.66%"><a href="https://github.com/Jiajun0413"><img src="https://avatars.githubusercontent.com/u/184531967?v=4?s=100" width="100px;" alt="Liu Jiajun"/><br /><sub><b>Liu Jiajun</b></sub></a><br /><a href="https://github.com/alvinunreal/oh-my-opencode-slim/commits?author=Jiajun0413" title="Code">💻</a></td>
778
+ <td align="center" valign="top" width="16.66%"><a href="https://github.com/umi008"><img src="https://avatars.githubusercontent.com/u/200843810?v=4?s=100" width="100px;" alt="Ulises Millán"/><br /><sub><b>Ulises Millán</b></sub></a><br /><a href="https://github.com/alvinunreal/oh-my-opencode-slim/commits?author=umi008" title="Code">💻</a></td>
779
+ <td align="center" valign="top" width="16.66%"><a href="https://github.com/HighColdHC"><img src="https://avatars.githubusercontent.com/u/35870222?v=4?s=100" width="100px;" alt="HighColdHC"/><br /><sub><b>HighColdHC</b></sub></a><br /><a href="https://github.com/alvinunreal/oh-my-opencode-slim/commits?author=HighColdHC" title="Code">💻</a></td>
780
+ <td align="center" valign="top" width="16.66%"><a href="https://hardcore.engineer/about"><img src="https://avatars.githubusercontent.com/u/401815?v=4?s=100" width="100px;" alt="Stephan Schielke"/><br /><sub><b>Stephan Schielke</b></sub></a><br /><a href="https://github.com/alvinunreal/oh-my-opencode-slim/commits?author=stephanschielke" title="Code">💻</a></td>
763
781
  </tr>
764
782
  </tbody>
765
783
  </table>