evil-omo 3.17.11 → 4.0.0
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.
- package/README.ja.md +154 -114
- package/README.ko.md +197 -150
- package/README.ru.md +93 -71
- package/README.zh-cn.md +113 -72
- package/dist/agents/agent-skill-resolution.d.ts +1 -0
- package/dist/agents/builtin-agents/available-skills.d.ts +1 -1
- package/dist/agents/builtin-agents/general-agents.d.ts +1 -0
- package/dist/agents/builtin-agents.d.ts +1 -1
- package/dist/agents/dynamic-agent-core-sections.d.ts +1 -0
- package/dist/agents/dynamic-agent-prompt-builder.d.ts +1 -1
- package/dist/agents/hephaestus/gpt-5-5.d.ts +0 -4
- package/dist/agents/types.d.ts +1 -0
- package/dist/cli/doctor/checks/team-mode.d.ts +2 -0
- package/dist/cli/doctor/constants.d.ts +1 -0
- package/dist/cli/index.js +21099 -20826
- package/dist/cli/run/continuation-state.d.ts +1 -0
- package/dist/config/index.d.ts +1 -1
- package/dist/config/schema/agent-names.d.ts +1 -0
- package/dist/config/schema/agent-overrides.d.ts +45 -0
- package/dist/config/schema/categories.d.ts +7 -1
- package/dist/config/schema/commands.d.ts +1 -0
- package/dist/config/schema/evil-omo-config.d.ts +70 -0
- package/dist/config/schema/fallback-models.d.ts +5 -0
- package/dist/config/schema/hooks.d.ts +1 -0
- package/dist/config/schema/keyword-detector.d.ts +21 -0
- package/dist/config/schema/team-mode.d.ts +16 -0
- package/dist/config/schema.d.ts +2 -0
- package/dist/create-hooks.d.ts +3 -0
- package/dist/evil-omo.schema.json +191 -47
- package/dist/features/background-agent/manager.d.ts +17 -9
- package/dist/features/background-agent/process-cleanup.d.ts +4 -0
- package/dist/features/background-agent/types.d.ts +16 -12
- package/dist/features/background-agent/wait-for-task-session.d.ts +1 -1
- package/dist/features/boulder-state/storage.d.ts +1 -0
- package/dist/features/builtin-commands/commands.d.ts +1 -0
- package/dist/features/builtin-commands/templates/hyperplan.d.ts +1 -0
- package/dist/features/builtin-commands/templates/refactor.d.ts +1 -0
- package/dist/features/builtin-commands/templates/remove-ai-slops.d.ts +1 -0
- package/dist/features/builtin-commands/types.d.ts +1 -1
- package/dist/features/builtin-skills/skills/git-master-sections/commit-workflow.d.ts +1 -1
- package/dist/features/builtin-skills/skills/git-master-sections/history-search-workflow.d.ts +1 -1
- package/dist/features/builtin-skills/skills/git-master-sections/overview.d.ts +1 -1
- package/dist/features/builtin-skills/skills/git-master-sections/quick-reference.d.ts +1 -1
- package/dist/features/builtin-skills/skills/git-master-sections/rebase-workflow.d.ts +1 -1
- package/dist/features/builtin-skills/skills/index.d.ts +1 -0
- package/dist/features/builtin-skills/skills/team-mode.d.ts +2 -0
- package/dist/features/builtin-skills/skills.d.ts +1 -0
- package/dist/features/claude-code-plugin-loader/discovery.d.ts +1 -0
- package/dist/features/hook-message-injector/injector.d.ts +2 -2
- package/dist/features/opencode-skill-loader/loader.d.ts +2 -2
- package/dist/features/opencode-skill-loader/skill-resolution-options.d.ts +1 -0
- package/dist/features/run-continuation-state/types.d.ts +1 -1
- package/dist/features/skill-mcp-manager/types.d.ts +1 -0
- package/dist/features/team-mode/deps.d.ts +6 -0
- package/dist/features/team-mode/member-guidance.d.ts +2 -0
- package/dist/features/team-mode/member-parser.d.ts +16 -0
- package/dist/features/team-mode/member-session-resolution.d.ts +6 -0
- package/dist/features/team-mode/member-session-routing.d.ts +19 -0
- package/dist/features/team-mode/resolve-caller-team-lead.d.ts +8 -0
- package/dist/features/team-mode/team-layout-tmux/close-team-member-pane.d.ts +4 -0
- package/dist/features/team-mode/team-layout-tmux/layout.d.ts +26 -6
- package/dist/features/team-mode/team-layout-tmux/rebalance-team-window.d.ts +9 -0
- package/dist/features/team-mode/team-layout-tmux/resolve-caller-tmux-session.d.ts +7 -0
- package/dist/features/team-mode/team-layout-tmux/sweep-stale-team-sessions.d.ts +8 -0
- package/dist/features/team-mode/team-mailbox/ack.d.ts +2 -0
- package/dist/features/team-mode/team-mailbox/inbox.d.ts +3 -0
- package/dist/features/team-mode/team-mailbox/index.d.ts +7 -0
- package/dist/features/team-mode/team-mailbox/poll.d.ts +10 -0
- package/dist/features/team-mode/team-mailbox/reservation.d.ts +11 -0
- package/dist/features/team-mode/team-mailbox/send.d.ts +27 -0
- package/dist/features/team-mode/team-registry/index.d.ts +3 -0
- package/dist/features/team-mode/team-registry/loader.d.ts +12 -0
- package/dist/features/team-mode/team-registry/paths.d.ts +13 -0
- package/dist/features/team-mode/team-registry/team-spec-input-normalizer.d.ts +6 -0
- package/dist/features/team-mode/team-registry/validator.d.ts +10 -0
- package/dist/features/team-mode/team-runtime/activate-team-layout.d.ts +4 -0
- package/dist/features/team-mode/team-runtime/cleanup-team-run-resources.d.ts +17 -0
- package/dist/features/team-mode/team-runtime/create.d.ts +25 -0
- package/dist/features/team-mode/team-runtime/delete-team.d.ts +16 -0
- package/dist/features/team-mode/team-runtime/index.d.ts +2 -0
- package/dist/features/team-mode/team-runtime/resolve-member-dependencies.d.ts +3 -0
- package/dist/features/team-mode/team-runtime/resolve-member.d.ts +17 -0
- package/dist/features/team-mode/team-runtime/shutdown-helpers.d.ts +11 -0
- package/dist/features/team-mode/team-runtime/shutdown-test-fixtures.d.ts +46 -0
- package/dist/features/team-mode/team-runtime/shutdown.d.ts +5 -0
- package/dist/features/team-mode/team-runtime/status.d.ts +36 -0
- package/dist/features/team-mode/team-session-registry.d.ts +11 -0
- package/dist/features/team-mode/team-state-store/index.d.ts +1 -0
- package/dist/features/team-mode/team-state-store/locks.d.ts +12 -0
- package/dist/features/team-mode/team-state-store/resume.d.ts +10 -0
- package/dist/features/team-mode/team-state-store/store.d.ts +21 -0
- package/dist/features/team-mode/team-tasklist/claim.d.ts +10 -0
- package/dist/features/team-mode/team-tasklist/dependencies.d.ts +2 -0
- package/dist/features/team-mode/team-tasklist/get.d.ts +3 -0
- package/dist/features/team-mode/team-tasklist/index.d.ts +6 -0
- package/dist/features/team-mode/team-tasklist/list.d.ts +8 -0
- package/dist/features/team-mode/team-tasklist/store.d.ts +3 -0
- package/dist/features/team-mode/team-tasklist/test-support.d.ts +9 -0
- package/dist/features/team-mode/team-tasklist/update.d.ts +9 -0
- package/dist/features/team-mode/tools/index.d.ts +1 -0
- package/dist/features/team-mode/tools/lifecycle-test-fixture.d.ts +188 -0
- package/dist/features/team-mode/tools/lifecycle.d.ts +37 -0
- package/dist/features/team-mode/tools/messaging.d.ts +31 -0
- package/dist/features/team-mode/tools/query.d.ts +16 -0
- package/dist/features/team-mode/tools/tasks.d.ts +18 -0
- package/dist/features/team-mode/types.d.ts +138 -6
- package/dist/features/tmux-subagent/action-executor-core.d.ts +1 -0
- package/dist/features/tmux-subagent/action-executor.d.ts +1 -0
- package/dist/features/tmux-subagent/attachable-session-status.d.ts +4 -0
- package/dist/features/tmux-subagent/manager.d.ts +32 -3
- package/dist/features/tmux-subagent/pane-state-querier.d.ts +10 -0
- package/dist/features/tmux-subagent/polling.d.ts +1 -0
- package/dist/hooks/atlas/atlas-hook.d.ts +1 -1
- package/dist/hooks/atlas/boulder-continuation-injector.d.ts +2 -3
- package/dist/hooks/atlas/recent-model-resolver.d.ts +9 -1
- package/dist/hooks/atlas/tool-execute-after.d.ts +2 -1
- package/dist/hooks/atlas/tool-execute-before.d.ts +1 -0
- package/dist/hooks/atlas/types.d.ts +8 -2
- package/dist/hooks/index.d.ts +3 -0
- package/dist/hooks/keyword-detector/constants.d.ts +6 -0
- package/dist/hooks/keyword-detector/detector.d.ts +5 -3
- package/dist/hooks/keyword-detector/hook.d.ts +2 -1
- package/dist/hooks/keyword-detector/hyperplan/default.d.ts +13 -0
- package/dist/hooks/keyword-detector/hyperplan/index.d.ts +1 -0
- package/dist/hooks/keyword-detector/team/default.d.ts +13 -0
- package/dist/hooks/keyword-detector/team/index.d.ts +1 -0
- package/dist/hooks/ralph-loop/loop-session-recovery.d.ts +7 -0
- package/dist/hooks/session-notification-scheduler.d.ts +2 -4
- package/dist/hooks/session-notification-utils.d.ts +1 -0
- package/dist/hooks/session-recovery/recover-tool-result-missing.d.ts +2 -2
- package/dist/hooks/team-mailbox-injector/hook.d.ts +31 -0
- package/dist/hooks/team-mailbox-injector/index.d.ts +2 -0
- package/dist/hooks/team-mode-status-injector/hook.d.ts +28 -0
- package/dist/hooks/team-mode-status-injector/index.d.ts +1 -0
- package/dist/hooks/team-session-events/team-idle-wake-hint.d.ts +38 -0
- package/dist/hooks/team-session-events/team-lead-orphan-handler.d.ts +12 -0
- package/dist/hooks/team-session-events/team-member-error-handler.d.ts +10 -0
- package/dist/hooks/team-session-events/team-member-status-handler.d.ts +10 -0
- package/dist/hooks/team-tool-gating/hook.d.ts +3 -0
- package/dist/hooks/team-tool-gating/index.d.ts +1 -0
- package/dist/hooks/write-existing-file-guard/hook.d.ts +6 -1
- package/dist/hooks/write-existing-file-guard/tool-execute-before-handler.d.ts +1 -0
- package/dist/index.js +74499 -71440
- package/dist/plugin/hooks/create-core-hooks.d.ts +3 -0
- package/dist/plugin/hooks/create-tool-guard-hooks.d.ts +2 -1
- package/dist/plugin/hooks/create-transform-hooks.d.ts +3 -1
- package/dist/plugin/recent-synthetic-idles.d.ts +1 -0
- package/dist/plugin/tool-registry.d.ts +16 -0
- package/dist/shared/bun-spawn-shim.d.ts +40 -0
- package/dist/shared/posthog-activity-state.d.ts +0 -5
- package/dist/shared/posthog.d.ts +7 -6
- package/dist/shared/project-discovery-dirs.d.ts +1 -0
- package/dist/shared/shell-env.d.ts +1 -0
- package/dist/shared/tmux/constants.d.ts +1 -1
- package/dist/shared/tmux/index.d.ts +1 -0
- package/dist/shared/tmux/runner.d.ts +13 -0
- package/dist/shared/tmux/tmux-utils/pane-replace.d.ts +1 -1
- package/dist/shared/tmux/tmux-utils/pane-spawn.d.ts +13 -1
- package/dist/shared/tmux/tmux-utils/session-spawn.d.ts +13 -1
- package/dist/shared/tmux/tmux-utils/spawn-process.d.ts +1 -1
- package/dist/shared/tmux/tmux-utils/stale-session-sweep.d.ts +9 -2
- package/dist/shared/tmux/tmux-utils/window-spawn.d.ts +13 -1
- package/dist/shared/tmux/tmux-utils.d.ts +1 -1
- package/dist/tools/delegate-task/openai-categories.d.ts +1 -0
- package/dist/tools/delegate-task/skill-resolver.d.ts +1 -0
- package/dist/tools/delegate-task/subagent-resolver.d.ts +5 -1
- package/dist/tools/delegate-task/types.d.ts +1 -0
- package/dist/tools/index.d.ts +1 -0
- package/dist/tools/look-at/missing-file-error.d.ts +2 -0
- package/dist/tools/skill/types.d.ts +2 -0
- package/package.json +15 -14
package/README.ko.md
CHANGED
|
@@ -1,46 +1,48 @@
|
|
|
1
|
-
> [!WARNING]
|
|
2
|
-
> **임시 공지 (이번 주): 메인테이너 대응 지연 안내**
|
|
3
|
-
>
|
|
4
|
-
> 핵심 메인테이너 Q가 부상을 입어, 이번 주에는 이슈/PR 응답 및 릴리스가 지연될 수 있습니다.
|
|
5
|
-
> 양해와 응원에 감사드립니다.
|
|
6
|
-
|
|
7
1
|
> [!TIP]
|
|
8
2
|
> **Building in Public**
|
|
9
3
|
>
|
|
10
|
-
>
|
|
11
|
-
> 모든
|
|
4
|
+
> 메인테이너는 oh-my-openagent를 실시간으로 개발하고 유지보수합니다. OpenClaw를 크게 커스터마이즈한 포크 위에서 동작하는 AI 어시스턴트 Jobdori와 함께요.
|
|
5
|
+
> 모든 기능, 모든 수정, 모든 이슈 트리아지 — 전부 Discord에서 라이브로.
|
|
12
6
|
>
|
|
13
7
|
> [](https://discord.gg/PUwSMR9XNk)
|
|
14
8
|
>
|
|
15
|
-
> [**→ #building-in-public
|
|
9
|
+
> [**→ #building-in-public 채널에서 지켜보기**](https://discord.gg/PUwSMR9XNk)
|
|
16
10
|
|
|
11
|
+
> [!NOTE]
|
|
12
|
+
>
|
|
13
|
+
> [](https://sisyphuslabs.ai)
|
|
14
|
+
> > **OmO는 위의 Jobdori에 의해 메인테이닝되고 있습니다. 당신의 Jobdori, Dori를 만나세요. <br />대기 명단은 [여기](https://sisyphuslabs.ai)에서 받습니다.**
|
|
17
15
|
|
|
18
16
|
> [!TIP]
|
|
19
|
-
>
|
|
17
|
+
> 함께해요!
|
|
20
18
|
>
|
|
21
|
-
> | [<img alt="Discord link" src="https://img.shields.io/discord/1452487457085063218?color=5865F2&label=discord&labelColor=black&logo=discord&logoColor=white&style=flat-square" width="156px" />](https://discord.gg/PUwSMR9XNk) | [Discord 커뮤니티](https://discord.gg/PUwSMR9XNk)
|
|
19
|
+
> | [<img alt="Discord link" src="https://img.shields.io/discord/1452487457085063218?color=5865F2&label=discord&labelColor=black&logo=discord&logoColor=white&style=flat-square" width="156px" />](https://discord.gg/PUwSMR9XNk) | 기여자와 `oh-my-openagent` 사용자들을 만나려면 [Discord 커뮤니티](https://discord.gg/PUwSMR9XNk)로 오세요. |
|
|
22
20
|
> | :-----| :----- |
|
|
23
|
-
> | [<img alt="X link" src="https://img.shields.io/badge/Follow-%40justsisyphus-00CED1?style=flat-square&logo=x&labelColor=black" width="156px" />](https://x.com/justsisyphus) | `oh-my-
|
|
24
|
-
> | [<img alt="GitHub Follow" src="https://img.shields.io/github/followers/code-yeongyu?style=flat-square&logo=github&labelColor=black&color=24292f" width="156px" />](https://github.com/code-yeongyu) |
|
|
21
|
+
> | [<img alt="X link" src="https://img.shields.io/badge/Follow-%40justsisyphus-00CED1?style=flat-square&logo=x&labelColor=black" width="156px" />](https://x.com/justsisyphus) | 원래 제 X 계정에서 `oh-my-openagent` 업데이트를 올렸는데, 계정이 실수로 정지되어 지금은 [@justsisyphus](https://x.com/justsisyphus)에서 대신 업데이트가 올라옵니다. |
|
|
22
|
+
> | [<img alt="GitHub Follow" src="https://img.shields.io/github/followers/code-yeongyu?style=flat-square&logo=github&labelColor=black&color=24292f" width="156px" />](https://github.com/code-yeongyu) | 다른 프로젝트도 궁금하다면 GitHub에서 [@code-yeongyu](https://github.com/code-yeongyu)를 팔로우하세요. |
|
|
25
23
|
|
|
26
24
|
<!-- <CENTERED SECTION FOR GITHUB DISPLAY> -->
|
|
27
25
|
|
|
28
26
|
<div align="center">
|
|
29
27
|
|
|
30
|
-
[](https://github.com/code-yeongyu/oh-my-openagent#oh-my-openagent)
|
|
31
29
|
|
|
32
|
-
[](https://github.com/code-yeongyu/oh-my-openagent#oh-my-
|
|
30
|
+
[](https://github.com/code-yeongyu/oh-my-openagent#oh-my-openagent)
|
|
33
31
|
|
|
34
32
|
</div>
|
|
35
33
|
|
|
36
|
-
>
|
|
34
|
+
> 이건 oh-my-openagent의 Team Mode 동작 장면입니다. Kimi K2.6과 GPT-5.5로요.
|
|
35
|
+
|
|
36
|
+
> Anthropic은 [**우리 때문에 OpenCode를 차단했습니다.**](https://x.com/thdxr/status/2010149530486911014) **진짜입니다.**
|
|
37
|
+
> 그들은 당신을 가둬두고 싶어 합니다. Claude Code는 좋은 감옥이지만, 여전히 감옥입니다.
|
|
37
38
|
>
|
|
38
|
-
>
|
|
39
|
+
> 2시간짜리 작업에 200달러를 낼 필요는 없습니다.
|
|
40
|
+
> 미래는 한 명의 승자를 고르는 게 아니라, 모두를 오케스트레이션하는 쪽에 있습니다. 모델은 매달 저렴해지고, 매달 똑똑해집니다. 어떤 벤더도 독점하지 못합니다. 우리는 그런 오픈 마켓을 위해 빌드합니다. 그들의 담장 안 정원이 아니라.
|
|
39
41
|
|
|
40
42
|
<div align="center">
|
|
41
43
|
|
|
42
44
|
[](https://github.com/code-yeongyu/oh-my-openagent/releases)
|
|
43
|
-
[](https://www.npmjs.com/package/oh-my-opencode)
|
|
44
46
|
[](https://github.com/code-yeongyu/oh-my-openagent/graphs/contributors)
|
|
45
47
|
[](https://github.com/code-yeongyu/oh-my-openagent/network/members)
|
|
46
48
|
[](https://github.com/code-yeongyu/oh-my-openagent/stargazers)
|
|
@@ -56,169 +58,171 @@
|
|
|
56
58
|
|
|
57
59
|
## 리뷰
|
|
58
60
|
|
|
59
|
-
> "
|
|
61
|
+
> "Cursor 구독을 해지하게 만들었습니다. 오픈소스 커뮤니티에서 믿기지 않는 일들이 벌어지고 있어요." - [Arthur Guiot](https://x.com/arthur_guiot/status/2008736347092382053?s=20)
|
|
60
62
|
|
|
61
|
-
> "Claude Code가
|
|
63
|
+
> "Claude Code가 7일에 하는 일을 사람이 3개월 걸려 한다고 치면, Sisyphus는 1시간 만에 끝냅니다. 태스크가 끝날 때까지 그냥 돌아갑니다. 말 그대로 기강 잡힌 에이전트예요." <br/>- B, 퀀트 리서처
|
|
62
64
|
|
|
63
|
-
> "Oh My Opencode로 하루 만에 eslint 경고 8000개를
|
|
65
|
+
> "Oh My Opencode로 하루 만에 eslint 경고 8000개를 날려버렸습니다." <br/>- [Jacob Ferrari](https://x.com/jacobferrari_/status/2003258761952289061)
|
|
64
66
|
|
|
65
|
-
> "
|
|
67
|
+
> "4만 5천 줄짜리 Tauri 앱을 Ohmyopencode와 Ralph Loop로 하룻밤 사이에 SaaS 웹 앱으로 전환했습니다. 'interview me' 프롬프트부터 시작해서 질문들에 대한 평가와 개선 제안을 받았어요. 작업 과정을 지켜보는 것도 즐거웠고, 아침에 일어나니 거의 동작하는 사이트가 나와 있더군요!" - [James Hargis](https://x.com/hargabyte/status/2007299688261882202)
|
|
66
68
|
|
|
67
|
-
> "oh-my-opencode
|
|
69
|
+
> "oh-my-opencode 한 번 써보면 돌아갈 수 없습니다." <br/>- [d0t3ch](https://x.com/d0t3ch/status/2001685618200580503)
|
|
68
70
|
|
|
69
|
-
> "뭐가
|
|
71
|
+
> "뭐가 그렇게 대단한지 정확히 말로는 아직 못 하겠는데, 개발 경험이 완전히 다른 차원으로 넘어갔습니다." - [
|
|
72
|
+
苔硯:こけすずり](https://x.com/kokesuzuri/status/2008532913961529372?s=20)
|
|
70
73
|
|
|
71
|
-
> "
|
|
74
|
+
> "이번 주말은 open code, oh my opencode, supermemory로 마인크래프트/소울즈류 합성체를 만들고 있습니다."
|
|
75
|
+
> "점심 먹고 산책 다녀오는 동안 크라우치 애니메이션 추가해달라고 시켜놨습니다. [영상]" - [MagiMetal](https://x.com/MagiMetal/status/2005374704178373023)
|
|
72
76
|
|
|
73
|
-
> "이걸 코어에
|
|
77
|
+
> "이걸 코어에 편입시키고 만든 사람 영입하세요. 진심으로요. 진짜, 진짜, 진짜 좋습니다." <br/>- Henning Kilset
|
|
74
78
|
|
|
75
|
-
> "설득할
|
|
79
|
+
> "@yeon_gyu_kim 설득할 수 있으면 꼭 뽑으세요. 이 친구 opencode를 혁신했어요." <br/>- [mysticaltech](https://x.com/mysticaltech/status/2001858758608376079)
|
|
76
80
|
|
|
77
|
-
> "Oh My OpenCode는 진짜
|
|
81
|
+
> "Oh My OpenCode는 진짜 미쳤습니다" - [YouTube - Darren Builds AI](https://www.youtube.com/watch?v=G_Snfh2M41M)
|
|
78
82
|
|
|
79
83
|
---
|
|
80
84
|
|
|
81
|
-
# Oh My
|
|
85
|
+
# Oh My OpenAgent
|
|
82
86
|
|
|
83
|
-
Claude Code, Codex,
|
|
87
|
+
Claude Code, Codex, 듣도 보도 못한 OSS 모델들까지 저글링 중이시죠. 워크플로우를 손보고, 에이전트를 디버깅하고.
|
|
84
88
|
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
OmO 설치하고. `ultrawork` 치세요. 끝.
|
|
89
|
+
그 일은 우리가 했습니다. 전부 테스트했고, 실전에 먹힌 것만 남겼습니다.
|
|
88
90
|
|
|
91
|
+
oh-my-openagent를 설치하세요. `ultrawork`를 입력하세요. 끝.
|
|
89
92
|
|
|
90
93
|
|
|
91
94
|
## 설치
|
|
92
95
|
|
|
93
|
-
###
|
|
96
|
+
### 사람을 위한 설치
|
|
94
97
|
|
|
95
|
-
|
|
98
|
+
이 프롬프트를 당신의 LLM 에이전트(Claude Code, AmpCode, Cursor 등)에 붙여넣으세요:
|
|
96
99
|
|
|
97
100
|
```
|
|
98
|
-
Install and configure oh-my-
|
|
101
|
+
Install and configure oh-my-openagent by following the instructions here:
|
|
99
102
|
https://raw.githubusercontent.com/code-yeongyu/oh-my-openagent/refs/heads/dev/docs/guide/installation.md
|
|
100
103
|
```
|
|
101
104
|
|
|
102
|
-
아니면 [설치 가이드](docs/guide/installation.md)를 직접 읽으셔도
|
|
105
|
+
아니면 [설치 가이드](docs/guide/installation.md)를 직접 읽으셔도 됩니다. 다만 진심으로, 에이전트한테 시키세요. 사람은 설정 파일을 오타로 망칩니다.
|
|
103
106
|
|
|
104
|
-
### LLM
|
|
107
|
+
### LLM 에이전트를 위한 설치
|
|
105
108
|
|
|
106
|
-
설치 가이드를
|
|
109
|
+
설치 가이드를 받아와서 그대로 따르세요:
|
|
107
110
|
|
|
108
111
|
```bash
|
|
109
112
|
curl -s https://raw.githubusercontent.com/code-yeongyu/oh-my-openagent/refs/heads/dev/docs/guide/installation.md
|
|
110
113
|
```
|
|
111
114
|
|
|
112
|
-
**참고**: 배포된 패키지와 바이너리 이름은 `oh-my-opencode
|
|
115
|
+
**참고**: 배포된 npm 패키지와 CLI 바이너리 이름은 여전히 `oh-my-opencode`입니다(전환 기간 동안 `oh-my-openagent`로도 함께 배포됩니다). `opencode.json` 안에서는 호환성 레이어가 이제 `oh-my-openagent` 플러그인 엔트리를 우선합니다. 기존 `oh-my-opencode` 엔트리도 경고와 함께 여전히 로드됩니다. 플러그인 설정 파일도 여전히 `oh-my-opencode.json`이나 `oh-my-opencode.jsonc`를 많이 씁니다. 전환 기간 동안에는 기존 이름과 새 이름 둘 다 인식됩니다.
|
|
113
116
|
|
|
114
|
-
익명 텔레메트리는 설치
|
|
117
|
+
익명 텔레메트리는 활성 설치 수(DAU/WAU/MAU) 집계를 위해 기본적으로 활성화되어 있습니다. 머신당 UTC 하루에 최대 1회만 이벤트가 전송되며, 해시된 설치 식별자를 사용하고 원시 호스트명은 절대 사용하지 않으며 PostHog person profile은 생성되지 않습니다. `OMO_SEND_ANONYMOUS_TELEMETRY=0` 또는 `OMO_DISABLE_POSTHOG=1`로 비활성화할 수 있습니다. [개인정보처리방침](docs/legal/privacy-policy.md)과 [서비스 이용약관](docs/legal/terms-of-service.md)을 참조하세요.
|
|
115
118
|
|
|
116
119
|
---
|
|
117
120
|
|
|
118
121
|
## 이 README 건너뛰기
|
|
119
122
|
|
|
120
|
-
문서 읽는 시대는 지났습니다. 그냥
|
|
123
|
+
이제 문서 읽는 시대는 지났습니다. 그냥 아래를 에이전트에 붙여넣으세요:
|
|
121
124
|
|
|
122
125
|
```
|
|
123
126
|
Read this and tell me why it's not just another boilerplate: https://raw.githubusercontent.com/code-yeongyu/oh-my-openagent/refs/heads/dev/README.md
|
|
124
127
|
```
|
|
125
128
|
|
|
126
|
-
|
|
129
|
+
|
|
130
|
+
## 하이라이트
|
|
127
131
|
|
|
128
132
|
### 🪄 `ultrawork`
|
|
129
133
|
|
|
130
|
-
|
|
134
|
+
아직도 이 문서를 읽고 있다고요? 대단하네요.
|
|
131
135
|
|
|
132
|
-
설치하세요. `ultrawork`
|
|
136
|
+
설치하세요. `ultrawork`(또는 `ulw`)를 입력하세요. 끝.
|
|
133
137
|
|
|
134
|
-
아래
|
|
138
|
+
아래 나오는 모든 기능, 모든 최적화는 몰라도 됩니다. 그냥 작동합니다.
|
|
135
139
|
|
|
136
|
-
|
|
140
|
+
아래 구독 조합만으로도 `ultrawork`는 잘 돌아갑니다(이 프로젝트와는 무관한 개인 추천입니다):
|
|
137
141
|
- [ChatGPT 구독 ($20)](https://chatgpt.com/)
|
|
138
142
|
- [Kimi Code 구독 ($19)](https://www.kimi.com/code)
|
|
139
143
|
- [GLM Coding 요금제 ($10)](https://z.ai/subscribe)
|
|
140
144
|
- 종량제(pay-per-token) 대상자라면 kimi와 gemini 모델을 써도 비용이 별로 안 나옵니다.
|
|
141
145
|
|
|
142
|
-
| | 기능
|
|
143
|
-
| :---: | :------------------------------------------------------- |
|
|
144
|
-
| 🤖 |
|
|
145
|
-
| ⚡ | **`ultrawork` / `ulw`** |
|
|
146
|
-
| 🚪 | **[IntentGate](https://factory.ai/news/terminal-bench)** |
|
|
147
|
-
| 🔗 |
|
|
148
|
-
| 🛠️ | **LSP + AST-Grep** | 워크스페이스
|
|
149
|
-
| 🧠 |
|
|
150
|
-
| 📚 |
|
|
151
|
-
| 🔁 | **Ralph Loop / `/ulw-loop`** |
|
|
152
|
-
| ✅ | **Todo
|
|
153
|
-
| 💬 |
|
|
154
|
-
| 🖥️ | **Tmux
|
|
155
|
-
| 🔌 | **Claude Code
|
|
156
|
-
| 🎯 |
|
|
157
|
-
| 📋 | **Prometheus
|
|
158
|
-
| 🔍 | **`/init-deep`** | 프로젝트
|
|
159
|
-
|
|
160
|
-
###
|
|
146
|
+
| | 기능 | 하는 일 |
|
|
147
|
+
| :---: | :------------------------------------------------------- | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
148
|
+
| 🤖 | **Discipline Agents** | Sisyphus가 Hephaestus, Oracle, Librarian, Explore를 지휘합니다. 병렬로 도는 풀스택 AI 개발팀. |
|
|
149
|
+
| ⚡ | **`ultrawork` / `ulw`** | 한 단어. 모든 에이전트가 켜집니다. 끝날 때까지 멈추지 않습니다. |
|
|
150
|
+
| 🚪 | **[IntentGate](https://factory.ai/news/terminal-bench)** | 분류하거나 행동하기 전에 사용자의 진짜 의도부터 분석합니다. 문자 그대로 오해하는 일은 끝. |
|
|
151
|
+
| 🔗 | **Hash-Anchored Edit Tool** | `LINE#ID` 콘텐츠 해시가 모든 변경을 검증합니다. 낡은 라인 에러 0건. [oh-my-pi](https://github.com/can1357/oh-my-pi)에서 영감. [The Harness Problem →](https://blog.can.ac/2026/02/12/the-harness-problem/) |
|
|
152
|
+
| 🛠️ | **LSP + AST-Grep** | 워크스페이스 리네임, 빌드 전 진단, AST 기반 리라이트. 에이전트에게도 IDE 수준의 정밀도. |
|
|
153
|
+
| 🧠 | **Background Agents** | 전문가 5명 이상을 동시에 발사. 컨텍스트는 가볍게. 결과는 준비되면 도착. |
|
|
154
|
+
| 📚 | **Built-in MCPs** | Exa(웹 검색), Context7(공식 문서), Grep.app(GitHub 검색). 항상 켜져 있음. |
|
|
155
|
+
| 🔁 | **Ralph Loop / `/ulw-loop`** | 자기참조 루프. 100% 끝날 때까지 멈추지 않습니다. |
|
|
156
|
+
| ✅ | **Todo Enforcer** | 에이전트가 놀고 있나요? 시스템이 다시 끌어옵니다. 당신의 작업은 반드시 끝납니다. |
|
|
157
|
+
| 💬 | **Comment Checker** | 주석에 AI 슬롭 금지. 시니어가 쓴 것처럼 읽히는 코드. |
|
|
158
|
+
| 🖥️ | **Tmux Integration** | 풀 인터랙티브 터미널. REPL, 디버거, TUI 전부 라이브. |
|
|
159
|
+
| 🔌 | **Claude Code Compatible** | 쓰시던 hook, command, skill, MCP, plugin 전부 그대로 동작합니다. |
|
|
160
|
+
| 🎯 | **Skill-Embedded MCPs** | 스킬이 자기만의 MCP 서버를 들고 다닙니다. 컨텍스트 낭비 없음. |
|
|
161
|
+
| 📋 | **Prometheus Planner** | 실행 전 인터뷰 모드로 전략 플래닝. |
|
|
162
|
+
| 🔍 | **`/init-deep`** | 프로젝트 전반에 계층형 `AGENTS.md` 파일을 자동 생성합니다. 토큰 효율에도, 에이전트 성능에도 좋습니다. |
|
|
163
|
+
|
|
164
|
+
### Discipline Agents
|
|
161
165
|
|
|
162
166
|
<table><tr>
|
|
163
167
|
<td align="center"><img src=".github/assets/sisyphus.png" height="300" /></td>
|
|
164
168
|
<td align="center"><img src=".github/assets/hephaestus.png" height="300" /></td>
|
|
165
169
|
</tr></table>
|
|
166
170
|
|
|
167
|
-
**Sisyphus** (`claude-opus-4-7` / **`kimi-k2.
|
|
171
|
+
**Sisyphus** (`claude-opus-4-7` / **`kimi-k2.6`** / **`glm-5.1`**)는 메인 오케스트레이터입니다. 계획을 세우고, 전문가에게 위임하고, 공격적인 병렬 실행으로 작업을 끝까지 밀어붙입니다. 중간에 멈추지 않습니다.
|
|
168
172
|
|
|
169
|
-
**Hephaestus** (`gpt-5.4`)는
|
|
173
|
+
**Hephaestus** (`gpt-5.4`)는 자율적으로 깊게 파는 작업자입니다. 레시피가 아니라 목표를 주세요. 코드베이스를 탐색하고, 패턴을 조사하고, 손을 잡아주지 않아도 엔드투엔드로 실행합니다. *The Legitimate Craftsman.*
|
|
170
174
|
|
|
171
|
-
**Prometheus** (`claude-opus-4-7` / **`kimi-k2.
|
|
175
|
+
**Prometheus** (`claude-opus-4-7` / **`kimi-k2.6`** / **`glm-5.1`**)는 전략 플래너입니다. 인터뷰 모드: 질문으로 스코프를 파악하고, 코드에 손대기 전에 상세한 계획을 만듭니다.
|
|
172
176
|
|
|
173
|
-
모든 에이전트는
|
|
177
|
+
모든 에이전트는 자기 모델의 강점에 맞춰 튜닝되어 있습니다. 수동으로 모델을 돌려가며 쓸 필요가 없습니다. [더 알아보기 →](docs/guide/overview.md)
|
|
174
178
|
|
|
175
|
-
> Anthropic
|
|
179
|
+
> Anthropic은 [우리 때문에 OpenCode를 차단했습니다.](https://x.com/thdxr/status/2010149530486911014) 그래서 Hephaestus에게 "The Legitimate Craftsman"이라는 별명이 붙었습니다. 의도된 아이러니입니다.
|
|
176
180
|
>
|
|
177
|
-
> Opus에서
|
|
181
|
+
> Opus에서 가장 잘 돌지만, Kimi K2.6 + GPT-5.4 조합만으로도 이미 바닐라 Claude Code를 이깁니다. 별도 설정 없이요.
|
|
178
182
|
|
|
179
|
-
###
|
|
183
|
+
### Agent Orchestration
|
|
180
184
|
|
|
181
|
-
Sisyphus가
|
|
185
|
+
Sisyphus가 서브에이전트에 위임할 때는 모델을 직접 고르지 않습니다. **카테고리**를 고릅니다. 카테고리는 자동으로 적합한 모델에 매핑됩니다:
|
|
182
186
|
|
|
183
|
-
| 카테고리
|
|
184
|
-
| :------------------- |
|
|
185
|
-
| `visual-engineering` | 프론트엔드, UI/UX, 디자인
|
|
186
|
-
| `deep` | 자율 리서치
|
|
187
|
-
| `quick` | 단일 파일 변경, 오타 수정
|
|
188
|
-
| `ultrabrain` |
|
|
187
|
+
| 카테고리 | 용도 |
|
|
188
|
+
| :------------------- | :--------------------------------- |
|
|
189
|
+
| `visual-engineering` | 프론트엔드, UI/UX, 디자인 |
|
|
190
|
+
| `deep` | 자율 리서치 + 실행 |
|
|
191
|
+
| `quick` | 단일 파일 변경, 오타 수정 |
|
|
192
|
+
| `ultrabrain` | 어려운 로직, 아키텍처 결정 |
|
|
189
193
|
|
|
190
|
-
|
|
194
|
+
에이전트는 필요한 작업 종류만 말하고, 하네스가 적합한 모델을 고릅니다. `ultrabrain`은 이제 기본으로 GPT-5.4 xhigh로 라우팅됩니다. 당신이 건드릴 건 없습니다.
|
|
191
195
|
|
|
192
196
|
### Claude Code 호환성
|
|
193
197
|
|
|
194
|
-
Claude Code
|
|
198
|
+
Claude Code 세팅을 손봐두셨죠. 잘하셨습니다.
|
|
195
199
|
|
|
196
|
-
|
|
200
|
+
hook, command, skill, MCP, plugin 전부 그대로 여기서 동작합니다. 플러그인까지 포함한 완전 호환입니다.
|
|
197
201
|
|
|
198
|
-
### 에이전트를 위한 월드클래스
|
|
202
|
+
### 당신의 에이전트를 위한 월드클래스 도구
|
|
199
203
|
|
|
200
|
-
LSP, AST-Grep, Tmux, MCP
|
|
204
|
+
LSP, AST-Grep, Tmux, MCP — 대충 붙여놓은 게 아니라 실제로 통합되어 있습니다.
|
|
201
205
|
|
|
202
|
-
- **LSP**: `lsp_rename`, `lsp_goto_definition`, `lsp_find_references`, `lsp_diagnostics`. 에이전트에게 IDE
|
|
203
|
-
- **AST-Grep**: 25개
|
|
204
|
-
- **Tmux**:
|
|
205
|
-
- **MCP**: 웹 검색, 공식 문서, GitHub 코드
|
|
206
|
+
- **LSP**: `lsp_rename`, `lsp_goto_definition`, `lsp_find_references`, `lsp_diagnostics`. 모든 에이전트에게 IDE 수준 정밀도를.
|
|
207
|
+
- **AST-Grep**: 25개 언어에 걸친 패턴 기반 코드 검색·리라이트.
|
|
208
|
+
- **Tmux**: 풀 인터랙티브 터미널. REPL, 디버거, TUI 앱. 에이전트가 세션 안에 그대로 머뭅니다.
|
|
209
|
+
- **MCP**: 웹 검색, 공식 문서, GitHub 코드 검색. 기본 탑재.
|
|
206
210
|
|
|
207
|
-
###
|
|
211
|
+
### Skill-Embedded MCPs
|
|
208
212
|
|
|
209
|
-
MCP
|
|
213
|
+
MCP 서버는 컨텍스트 예산을 갉아먹습니다. 우리가 고쳤습니다.
|
|
210
214
|
|
|
211
|
-
|
|
215
|
+
스킬이 자기만의 MCP 서버를 데리고 다닙니다. 필요할 때 올라오고, 태스크 스코프 안에서만 살아 있다가, 끝나면 사라집니다. 컨텍스트 윈도우가 깔끔하게 유지됩니다.
|
|
212
216
|
|
|
213
|
-
###
|
|
217
|
+
### 더 잘 코딩합니다. Hash-Anchored Edits
|
|
214
218
|
|
|
215
|
-
하네스 문제는
|
|
219
|
+
하네스 문제는 실존합니다. 대부분의 에이전트 실패는 모델 잘못이 아니라 편집 도구 탓입니다.
|
|
216
220
|
|
|
217
|
-
> *"
|
|
221
|
+
> *"이 도구들 중 어느 것도 모델이 수정하려는 라인에 대한 안정적이고 검증 가능한 식별자를 주지 않는다... 모델이 이미 본 내용을 재현해내길 바라는 방식에 의존한다. 재현하지 못할 때 — 그리고 자주 못한다 — 사용자는 모델을 탓한다."*
|
|
218
222
|
>
|
|
219
|
-
> <br/>- [Can Bölük,
|
|
223
|
+
> <br/>- [Can Bölük, The Harness Problem](https://blog.can.ac/2026/02/12/the-harness-problem/)
|
|
220
224
|
|
|
221
|
-
[oh-my-pi](https://github.com/can1357/oh-my-pi)에서 영감을
|
|
225
|
+
[oh-my-pi](https://github.com/can1357/oh-my-pi)에서 영감을 받아 **Hashline**을 만들었습니다. 에이전트가 읽는 모든 라인은 콘텐츠 해시가 붙어 돌아옵니다:
|
|
222
226
|
|
|
223
227
|
```
|
|
224
228
|
11#VK| function hello() {
|
|
@@ -226,13 +230,13 @@ MCP 서버들이 당신의 컨텍스트 예산을 다 잡아먹죠. 우리가
|
|
|
226
230
|
33#MB| }
|
|
227
231
|
```
|
|
228
232
|
|
|
229
|
-
에이전트는 이 태그를
|
|
233
|
+
에이전트는 이 태그를 참조해 편집합니다. 마지막 읽은 이후 파일이 바뀌었다면 해시가 맞지 않고, 손상 전에 편집이 거부됩니다. 공백 재현 필요 없음. 낡은 라인 에러 없음.
|
|
230
234
|
|
|
231
|
-
Grok Code Fast 1
|
|
235
|
+
Grok Code Fast 1: **6.7% → 68.3%** 성공률. 편집 도구만 바꿔서요.
|
|
232
236
|
|
|
233
237
|
### 깊은 초기화. `/init-deep`
|
|
234
238
|
|
|
235
|
-
`/init-deep`을 실행하세요.
|
|
239
|
+
`/init-deep`을 실행하세요. 계층형 `AGENTS.md` 파일을 생성합니다:
|
|
236
240
|
|
|
237
241
|
```
|
|
238
242
|
project/
|
|
@@ -243,45 +247,43 @@ project/
|
|
|
243
247
|
│ └── AGENTS.md ← 컴포넌트 전용 컨텍스트
|
|
244
248
|
```
|
|
245
249
|
|
|
246
|
-
|
|
250
|
+
에이전트는 관련 컨텍스트를 알아서 읽습니다. 수동 관리 0.
|
|
247
251
|
|
|
248
252
|
### 플래닝. Prometheus
|
|
249
253
|
|
|
250
|
-
복잡한 작업인가요?
|
|
254
|
+
복잡한 작업인가요? 프롬프트 쓰고 기도하지 마세요.
|
|
251
255
|
|
|
252
|
-
`/start-work
|
|
256
|
+
`/start-work`가 Prometheus를 호출합니다. **진짜 엔지니어처럼 인터뷰**를 진행하고, 스코프와 모호한 부분을 짚어내고, 코드에 손대기 전에 검증된 계획을 세웁니다. 에이전트는 뭘 만들지 알고 나서야 시작합니다.
|
|
253
257
|
|
|
254
|
-
###
|
|
258
|
+
### Skills
|
|
255
259
|
|
|
256
|
-
|
|
260
|
+
Skill은 단순 프롬프트가 아닙니다. 각 스킬은:
|
|
257
261
|
|
|
258
|
-
-
|
|
259
|
-
-
|
|
260
|
-
-
|
|
262
|
+
- 도메인 튜닝된 시스템 지시를 갖고 있고,
|
|
263
|
+
- MCP 서버를 필요할 때 함께 데려오며,
|
|
264
|
+
- 권한 범위가 지정되어 에이전트가 선을 넘지 않습니다.
|
|
261
265
|
|
|
262
|
-
|
|
266
|
+
빌트인: `playwright`(브라우저 자동화), `git-master`(atomic 커밋, rebase 수술), `frontend-ui-ux`(디자인 우선 UI).
|
|
263
267
|
|
|
264
|
-
직접
|
|
268
|
+
직접 추가하려면 `.opencode/skills/*/SKILL.md` 또는 `~/.config/opencode/skills/*/SKILL.md` 아래에 넣으세요.
|
|
265
269
|
|
|
266
|
-
**전체
|
|
270
|
+
**전체 기능을 보고 싶다면?** **[Features Documentation](docs/reference/features.md)**에서 에이전트, hook, 도구, MCP 등 모든 것을 상세히 확인할 수 있습니다.
|
|
267
271
|
|
|
268
272
|
---
|
|
269
273
|
|
|
270
|
-
>
|
|
271
|
-
>
|
|
272
|
-
> oh-my-opencode가 처음이신가요? 어떤 모델을 써야 할지 **[설치 가이드](docs/guide/installation.md#step-5-understand-your-model-setup)** 에서 추천 조합을 확인하세요.
|
|
274
|
+
> **oh-my-openagent가 처음이라면?** 뭘 갖게 되는지는 **[Overview](docs/guide/overview.md)**를, 에이전트들이 어떻게 협업하는지는 **[Orchestration Guide](docs/guide/orchestration.md)**를 참고하세요.
|
|
273
275
|
|
|
274
|
-
## 제거
|
|
276
|
+
## 제거
|
|
275
277
|
|
|
276
|
-
oh-my-
|
|
278
|
+
oh-my-openagent를 제거하려면:
|
|
277
279
|
|
|
278
|
-
1. **OpenCode 설정에서
|
|
280
|
+
1. **OpenCode 설정에서 플러그인을 제거합니다**
|
|
279
281
|
|
|
280
|
-
`~/.config/opencode/opencode.json`
|
|
282
|
+
`~/.config/opencode/opencode.json`(또는 `opencode.jsonc`)을 열어 `plugin` 배열에서 `"oh-my-openagent"` 또는 기존 `"oh-my-opencode"` 항목을 삭제합니다:
|
|
281
283
|
|
|
282
284
|
```bash
|
|
283
|
-
# jq 사용
|
|
284
|
-
jq '.plugin = [.plugin[] | select(. != "oh-my-opencode")]' \
|
|
285
|
+
# jq 사용
|
|
286
|
+
jq '.plugin = [.plugin[] | select(. != "oh-my-openagent" and . != "oh-my-opencode")]' \
|
|
285
287
|
~/.config/opencode/opencode.json > /tmp/oc.json && \
|
|
286
288
|
mv /tmp/oc.json ~/.config/opencode/opencode.json
|
|
287
289
|
```
|
|
@@ -289,63 +291,108 @@ oh-my-opencode를 지우려면:
|
|
|
289
291
|
2. **설정 파일 제거 (선택 사항)**
|
|
290
292
|
|
|
291
293
|
```bash
|
|
292
|
-
#
|
|
293
|
-
rm -f ~/.config/opencode/oh-my-
|
|
294
|
+
# 호환 기간 동안 인식되는 플러그인 설정 파일 제거
|
|
295
|
+
rm -f ~/.config/opencode/oh-my-openagent.jsonc ~/.config/opencode/oh-my-openagent.json \
|
|
296
|
+
~/.config/opencode/oh-my-opencode.jsonc ~/.config/opencode/oh-my-opencode.json
|
|
294
297
|
|
|
295
|
-
# 프로젝트 설정 제거 (
|
|
296
|
-
rm -f .opencode/oh-my-
|
|
298
|
+
# 프로젝트 설정 제거 (있다면)
|
|
299
|
+
rm -f .opencode/oh-my-openagent.jsonc .opencode/oh-my-openagent.json \
|
|
300
|
+
.opencode/oh-my-opencode.jsonc .opencode/oh-my-opencode.json
|
|
297
301
|
```
|
|
298
302
|
|
|
299
303
|
3. **제거 확인**
|
|
300
304
|
|
|
301
305
|
```bash
|
|
302
306
|
opencode --version
|
|
303
|
-
#
|
|
307
|
+
# 더 이상 플러그인이 로드되지 않아야 합니다
|
|
304
308
|
```
|
|
305
309
|
|
|
306
|
-
##
|
|
310
|
+
## Features
|
|
311
|
+
|
|
312
|
+
진작 있었어야 했다고 느낄 기능들입니다. 한 번 쓰면 되돌아갈 수 없습니다.
|
|
313
|
+
|
|
314
|
+
전체 내용은 [Features Documentation](docs/reference/features.md) 참고.
|
|
315
|
+
|
|
316
|
+
**요약:**
|
|
317
|
+
- **Agents**: Sisyphus(메인), Prometheus(플래너), Oracle(아키텍처·디버깅), Librarian(문서·코드 검색), Explore(빠른 코드베이스 grep), Multimodal Looker
|
|
318
|
+
- **Background Agents**: 진짜 개발팀처럼 여러 에이전트를 병렬로 실행
|
|
319
|
+
- **LSP & AST Tools**: 리팩터링, rename, 진단, AST 기반 코드 검색
|
|
320
|
+
- **Hash-anchored Edit Tool**: `LINE#ID` 참조로 모든 변경 전에 내용을 검증. 수술적 편집, 낡은 라인 에러 0
|
|
321
|
+
- **Context Injection**: AGENTS.md, README.md, 조건부 규칙 자동 주입
|
|
322
|
+
- **Claude Code Compatibility**: 전체 hook 시스템, command, skill, agent, MCP
|
|
323
|
+
- **Built-in MCPs**: websearch(Exa), context7(문서), grep_app(GitHub 검색)
|
|
324
|
+
- **Session Tools**: 세션 히스토리 조회·읽기·검색·분석
|
|
325
|
+
- **Productivity Features**: Ralph Loop, Todo Enforcer, Comment Checker, Think Mode 등
|
|
326
|
+
- **Doctor Command**: 빌트인 진단(`bunx oh-my-opencode doctor`)으로 플러그인 등록, 설정, 모델, 환경 검증
|
|
327
|
+
- **Model Fallbacks**: `fallback_models`에 단순 모델 문자열과 per-fallback 객체 설정을 같은 배열에 섞어 쓸 수 있음
|
|
328
|
+
- **File Prompts**: 에이전트 설정에서 `file://`로 프롬프트를 파일에서 로드
|
|
329
|
+
- **Session Recovery**: 세션 에러, 컨텍스트 윈도우 한계, API 실패에서 자동 복구
|
|
330
|
+
- **Model Setup**: 에이전트-모델 매칭은 [설치 가이드](docs/guide/installation.md#step-5-understand-your-model-setup)에 기본 포함
|
|
331
|
+
|
|
332
|
+
## 설정
|
|
333
|
+
|
|
334
|
+
의견이 분명한 기본값. 꼭 손대야겠다면 조정 가능.
|
|
335
|
+
|
|
336
|
+
자세한 내용은 [Configuration Documentation](docs/reference/configuration.md) 참고.
|
|
337
|
+
|
|
338
|
+
**요약:**
|
|
339
|
+
- **설정 파일 위치**: 호환성 레이어는 `oh-my-openagent.json[c]`와 기존 `oh-my-opencode.json[c]` 플러그인 설정 파일을 모두 인식합니다. 기존 설치는 아직 기존 이름을 쓰는 경우가 많습니다.
|
|
340
|
+
- **JSONC 지원**: 주석과 trailing comma 지원
|
|
341
|
+
- **Agents**: 어떤 에이전트든 모델, temperature, 프롬프트, 권한을 오버라이드
|
|
342
|
+
- **Built-in Skills**: `playwright`(브라우저 자동화), `git-master`(atomic 커밋)
|
|
343
|
+
- **Sisyphus Agent**: Prometheus(플래너), Metis(플랜 컨설턴트)와 함께 도는 메인 오케스트레이터
|
|
344
|
+
- **Background Tasks**: 프로바이더/모델별 동시성 제한 설정
|
|
345
|
+
- **Categories**: 도메인별 태스크 위임(`visual`, `business-logic`, 커스텀)
|
|
346
|
+
- **Hooks**: 25개 이상의 빌트인 hook, `disabled_hooks`로 전부 제어 가능
|
|
347
|
+
- **MCPs**: 빌트인 websearch(Exa), context7(문서), grep_app(GitHub 검색)
|
|
348
|
+
- **LSP**: 리팩터링 도구까지 포함한 풀 LSP 지원
|
|
349
|
+
- **Experimental**: 공격적 truncation, 자동 재개 등
|
|
350
|
+
|
|
351
|
+
|
|
352
|
+
## 저자의 메모
|
|
307
353
|
|
|
308
|
-
|
|
354
|
+
**철학이 궁금하다면?** [Ultrawork Manifesto](docs/manifesto.md)를 읽어보세요.
|
|
309
355
|
|
|
310
356
|
---
|
|
311
357
|
|
|
312
|
-
|
|
358
|
+
개인 프로젝트에 LLM 토큰값으로 2만 4천 달러를 태웠습니다. 온갖 도구를 다 써봤고, 설정을 죽도록 만졌습니다. 결국 OpenCode가 이겼습니다.
|
|
313
359
|
|
|
314
|
-
제가
|
|
360
|
+
제가 부딪힌 모든 문제의 해법이 이 플러그인에 박혀 있습니다. 설치만 하고 시작하세요.
|
|
315
361
|
|
|
316
|
-
OpenCode가 Debian/Arch라면,
|
|
362
|
+
OpenCode가 Debian/Arch라면, oh-my-openagent는 Ubuntu/[Omarchy](https://omarchy.org/)입니다.
|
|
317
363
|
|
|
318
|
-
[AmpCode](https://ampcode.com)와 [Claude Code](https://code.claude.com/docs/overview)의 영향을
|
|
364
|
+
[AmpCode](https://ampcode.com)와 [Claude Code](https://code.claude.com/docs/overview)의 영향을 많이 받았습니다. 기능을 옮겨왔고, 많은 경우 개선까지 했습니다. 지금도 만들고 있습니다. 이건 **Open**Code입니다.
|
|
319
365
|
|
|
320
|
-
다른
|
|
366
|
+
다른 하네스들은 멀티모델 오케스트레이션을 약속합니다. 우리는 출시합니다. 안정성도. 그리고 실제로 동작하는 기능들도.
|
|
321
367
|
|
|
322
|
-
|
|
323
|
-
- 어떤
|
|
324
|
-
- 디버깅의
|
|
325
|
-
-
|
|
326
|
-
-
|
|
327
|
-
-
|
|
328
|
-
- 데일리
|
|
329
|
-
-
|
|
368
|
+
저는 이 프로젝트의 가장 집착적인 사용자입니다:
|
|
369
|
+
- 어떤 모델이 가장 날카로운 논리를 갖고 있나?
|
|
370
|
+
- 누가 디버깅의 신인가?
|
|
371
|
+
- 누가 가장 좋은 산문을 쓰나?
|
|
372
|
+
- 누가 프론트엔드를 지배하나?
|
|
373
|
+
- 누가 백엔드를 소유하나?
|
|
374
|
+
- 매일 데일리 드라이빙할 때 가장 빠른 건?
|
|
375
|
+
- 경쟁자들은 뭘 출시하고 있나?
|
|
330
376
|
|
|
331
|
-
이 플러그인은 그
|
|
377
|
+
이 플러그인은 그 증류액입니다. 가장 좋은 걸 가져가세요. 개선안 있으면 PR 환영입니다.
|
|
332
378
|
|
|
333
|
-
|
|
334
|
-
**제가
|
|
379
|
+
**하네스 선택으로 고뇌하는 건 이제 그만하세요.**
|
|
380
|
+
**제가 리서치하고, 가장 좋은 걸 훔쳐와서, 여기 출시하겠습니다.**
|
|
335
381
|
|
|
336
|
-
|
|
382
|
+
오만하게 들리나요? 더 나은 방법이 있으신가요? 기여해주세요. 환영합니다.
|
|
337
383
|
|
|
338
|
-
언급된 어떤
|
|
384
|
+
언급된 어떤 프로젝트나 모델과도 제휴 관계는 없습니다. 그저 개인적인 실험의 결과입니다.
|
|
339
385
|
|
|
340
|
-
이 프로젝트의 99%는 OpenCode로 만들어졌습니다.
|
|
386
|
+
이 프로젝트의 99%는 OpenCode로 만들어졌습니다. 저는 TypeScript를 사실 잘 모릅니다. **다만 이 문서만큼은 제가 직접 검토하고 대부분 다시 썼습니다.**
|
|
341
387
|
|
|
342
|
-
##
|
|
388
|
+
## 전문가들이 현업에서 쓰고 있습니다
|
|
343
389
|
|
|
344
390
|
- [Indent](https://indentcorp.com)
|
|
345
|
-
- 인플루언서 마케팅 솔루션
|
|
391
|
+
- Spray(인플루언서 마케팅 솔루션), vovushop(크로스보더 커머스 플랫폼), vreview(AI 커머스 리뷰 마케팅 솔루션) 개발사.
|
|
346
392
|
- [Google](https://google.com)
|
|
347
393
|
- [Microsoft](https://microsoft.com)
|
|
394
|
+
- [Vercel](https://vercel.com)
|
|
348
395
|
- [ELESTYLE](https://elestyle.jp)
|
|
349
|
-
- 멀티 모바일 결제 게이트웨이
|
|
396
|
+
- elepay(멀티 모바일 결제 게이트웨이), OneQR(캐시리스 솔루션용 모바일 앱 SaaS) 개발사.
|
|
350
397
|
|
|
351
|
-
|
|
398
|
+
*훌륭한 hero 이미지를 만들어준 [@junhoyeo](https://github.com/junhoyeo)에게 특별히 감사드립니다.*
|