opencode-ultra 0.9.4 → 0.9.6

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/LICENSE.md ADDED
@@ -0,0 +1,114 @@
1
+ # License
2
+
3
+ This project is a derivative work based on:
4
+
5
+ - **[oh-my-opencode](https://github.com/code-yeongyu/oh-my-opencode)** by code-yeongyu — Licensed under the Sustainable Use License v1.0
6
+ - **[OpenCode](https://github.com/anomalyco/opencode)** by the OpenCode team — Licensed under the MIT License
7
+
8
+ Portions of this software are licensed as follows:
9
+
10
+ - All third party components incorporated into the software are licensed under the original license
11
+ provided by the owner of the applicable component.
12
+ - Content derived from oh-my-opencode is available under the "Sustainable Use License" as defined below.
13
+ - Content derived from OpenCode is available under the MIT License.
14
+ - Original additions by the opencode-ultra contributors follow the Sustainable Use License.
15
+
16
+ ---
17
+
18
+ ## Sustainable Use License
19
+
20
+ Version 1.0
21
+
22
+ ### Acceptance
23
+
24
+ By using the software, you agree to all of the terms and conditions below.
25
+
26
+ ### Copyright License
27
+
28
+ The licensor grants you a non-exclusive, royalty-free, worldwide, non-sublicensable, non-transferable license
29
+ to use, copy, distribute, make available, and prepare derivative works of the software, in each case subject
30
+ to the limitations below.
31
+
32
+ ### Limitations
33
+
34
+ You may use or modify the software only for your own internal business purposes or for non-commercial or
35
+ personal use. You may distribute the software or provide it to others only if you do so free of charge for
36
+ non-commercial purposes. You may not alter, remove, or obscure any licensing, copyright, or other notices of
37
+ the licensor in the software. Any use of the licensor's trademarks is subject to applicable law.
38
+
39
+ ### Patents
40
+
41
+ The licensor grants you a license, under any patent claims the licensor can license, or becomes able to
42
+ license, to make, have made, use, sell, offer for sale, import and have imported the software, in each case
43
+ subject to the limitations and conditions in this license. This license does not cover any patent claims that
44
+ you cause to be infringed by modifications or additions to the software. If you or your company make any
45
+ written claim that the software infringes or contributes to infringement of any patent, your patent license
46
+ for the software granted under these terms ends immediately. If your company makes such a claim, your patent
47
+ license ends immediately for work on behalf of your company.
48
+
49
+ ### Notices
50
+
51
+ You must ensure that anyone who gets a copy of any part of the software from you also gets a copy of these
52
+ terms. If you modify the software, you must include in any modified copies of the software a prominent notice
53
+ stating that you have modified the software.
54
+
55
+ ### No Other Rights
56
+
57
+ These terms do not imply any licenses other than those expressly granted in these terms.
58
+
59
+ ### Termination
60
+
61
+ If you use the software in violation of these terms, such use is not licensed, and your license will
62
+ automatically terminate. If the licensor provides you with a notice of your violation, and you cease all
63
+ violation of this license no later than 30 days after you receive that notice, your license will be reinstated
64
+ retroactively. However, if you violate these terms after such reinstatement, any additional violation of these
65
+ terms will cause your license to terminate automatically and permanently.
66
+
67
+ ### No Liability
68
+
69
+ As far as the law allows, the software comes as is, without any warranty or condition, and the licensor will
70
+ not be liable to you for any damages arising out of these terms or the use or nature of the software, under
71
+ any kind of legal claim.
72
+
73
+ ### Definitions
74
+
75
+ The "licensor" is the entity offering these terms.
76
+
77
+ The "software" is the software the licensor makes available under these terms, including any portion of it.
78
+
79
+ "You" refers to the individual or entity agreeing to these terms.
80
+
81
+ "Your company" is any legal entity, sole proprietorship, or other kind of organization that you work for, plus
82
+ all organizations that have control over, are under the control of, or are under common control with that
83
+ organization. Control means ownership of substantially all the assets of an entity, or the power to direct its
84
+ management and policies by vote, contract, or otherwise. Control can be direct or indirect.
85
+
86
+ "Your license" is the license granted to you for the software under these terms.
87
+
88
+ "Use" means anything you do with the software requiring your license.
89
+
90
+ "Trademark" means trademarks, service marks, and similar rights.
91
+
92
+ ---
93
+
94
+ ## MIT License (OpenCode)
95
+
96
+ Copyright (c) 2025 opencode
97
+
98
+ Permission is hereby granted, free of charge, to any person obtaining a copy
99
+ of this software and associated documentation files (the "Software"), to deal
100
+ in the Software without restriction, including without limitation the rights
101
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
102
+ copies of the Software, and to permit persons to whom the Software is
103
+ furnished to do so, subject to the following conditions:
104
+
105
+ The above copyright notice and this permission notice shall be included in all
106
+ copies or substantial portions of the Software.
107
+
108
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
109
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
110
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
111
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
112
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
113
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
114
+ SOFTWARE.
package/README.md CHANGED
@@ -1,69 +1,87 @@
1
1
  # opencode-ultra
2
2
 
3
- OpenCode 1.2.x プラグイン。マルチエージェントオーケストレーション・キーワード駆動モード切替・ルール注入・セッション継続・AST検索・自己改善 (evolve) を軽量な単一プラグインで実現する。
4
-
5
- ## 機能一覧
6
-
7
- ### ツール (12)
8
-
9
- | ツール | 説明 |
10
- |--------|------|
11
- | `spawn_agent` | 並列エージェント実行 (ConcurrencyPool + spawn limit + timeout + sanitizer) |
12
- | `ralph_loop` | 自律ループ実行 (`<promise>DONE</promise>` で完了検知, per-iteration timeout) |
13
- | `cancel_ralph` | 実行中の Ralph Loop をキャンセル |
14
- | `batch_read` | 複数ファイル並列読み込み (最大20) |
15
- | `ledger_save` | Continuity Ledger の保存 (.opencode/ledgers/) |
16
- | `ledger_load` | Continuity Ledger の読み込み (名前指定 or 最新) |
17
- | `ast_search` | AST-aware コード検索 (ast-grep/sg バイナリ使用、未インストール時は自動スキップ) |
18
- | `evolve_apply` | プラグイン推薦の信頼度スコア評価 + OpenCode 設定への自動適用 (dry-run/backup 対応) |
19
- | `evolve_scan` | 改善提案 JSONL の検証・マージ・スコアリング・番号付きレポート生成 |
20
- | `evolve_score` | 改善提案のスコアリング・ランキング (Priority x Effort 重み付け) |
21
- | `evolve_exe` | 提案の自律実行パイプライン (git branch → implement → test → build → review → merge/rollback) |
22
- | `evolve_publish` | バージョンアップ + テスト + ビルド + npm publish (デプロイ手順出力対応) |
23
-
24
- ### フック (9)
25
-
26
- | フック | hook ポイント | 説明 |
27
- |--------|-------------|------|
28
- | `keyword-detector` | chat.message | ultrawork/search/analyze/think/evolve キーワード検知 |
29
- | `rules-injector` | system.transform | .opencode/rules.md system prompt に注入 |
30
- | `context-injector` | system.transform | ARCHITECTURE.md / CODE_STYLE.md を自動注入 |
31
- | `fragment-injector` | system.transform | エージェント毎のカスタムプロンプト断片注入 |
32
- | `prompt-renderer` | system.transform | モデル別 system prompt フォーマット最適化 (markdown/xml/json) |
33
- | `comment-checker` | tool.execute.after | Write/Edit 後の AI スロップコメント検知 |
34
- | `token-truncation` | tool.execute.after | 30000文字超のツール出力を先頭40%+末尾40%に圧縮 |
35
- | `todo-enforcer` | event (session.idle) | 未完了 TODO を検知して強制継続 |
36
- | `session-compaction` | experimental.session.compacting | セッション圧縮時に structured summary 生成 |
3
+ > **Disclaimer**: This project is not built by or affiliated with the [OpenCode](https://github.com/anomalyco/opencode) team.
4
+ > It is a community-built plugin forked from [oh-my-opencode](https://github.com/code-yeongyu/oh-my-opencode).
5
+
6
+ A lightweight OpenCode 1.2.x plugin that provides multi-agent orchestration, keyword-driven mode switching, rules injection, session continuity, AST search, and self-improvement (evolve) in a single plugin.
7
+
8
+ ## Install
9
+
10
+ ```bash
11
+ # In your OpenCode plugin directory
12
+ bun add opencode-ultra
13
+ ```
14
+
15
+ Register in `opencode.jsonc`:
16
+
17
+ ```jsonc
18
+ {
19
+ "plugins": ["opencode-ultra"]
20
+ }
21
+ ```
22
+
23
+ ## Features
24
+
25
+ ### Tools (12)
26
+
27
+ | Tool | Description |
28
+ |------|-------------|
29
+ | `spawn_agent` | Parallel agent execution (ConcurrencyPool + spawn limit + timeout + sanitizer) |
30
+ | `ralph_loop` | Autonomous loop execution (completion detection via `<promise>DONE</promise>`, per-iteration timeout) |
31
+ | `cancel_ralph` | Cancel a running Ralph Loop |
32
+ | `batch_read` | Parallel multi-file reading (max 20) |
33
+ | `ledger_save` | Save Continuity Ledger (.opencode/ledgers/) |
34
+ | `ledger_load` | Load Continuity Ledger (by name or latest) |
35
+ | `ast_search` | AST-aware code search (uses ast-grep/sg binary, auto-skips if not installed) |
36
+ | `evolve_apply` | Trust score evaluation + auto-apply plugin recommendations to OpenCode config (dry-run/backup) |
37
+ | `evolve_scan` | Validate, merge, score improvement proposals from JSONL + generate numbered report |
38
+ | `evolve_score` | Score and rank proposals (Priority x Effort weighted) |
39
+ | `evolve_exe` | Autonomous execution pipeline (git branch -> implement -> test -> build -> review -> merge/rollback) |
40
+ | `evolve_publish` | Version bump + test + build + npm publish (with deploy instructions) |
41
+
42
+ ### Hooks (9)
43
+
44
+ | Hook | Hook Point | Description |
45
+ |------|-----------|-------------|
46
+ | `keyword-detector` | chat.message | Detects ultrawork/search/analyze/think/evolve keywords |
47
+ | `rules-injector` | system.transform | Injects .opencode/rules.md into system prompt |
48
+ | `context-injector` | system.transform | Auto-injects ARCHITECTURE.md / CODE_STYLE.md |
49
+ | `fragment-injector` | system.transform | Per-agent custom prompt fragment injection |
50
+ | `prompt-renderer` | system.transform | Model-specific system prompt format optimization (markdown/xml/json) |
51
+ | `comment-checker` | tool.execute.after | Detects AI slop comments after Write/Edit |
52
+ | `token-truncation` | tool.execute.after | Compresses tool output >30000 chars to first 40% + last 40% |
53
+ | `todo-enforcer` | event (session.idle) | Detects unfinished TODOs and forces continuation |
54
+ | `session-compaction` | experimental.session.compacting | Generates structured summary during session compaction |
37
55
 
38
56
  ### Safety
39
57
 
40
- | 機能 | 説明 |
41
- |------|------|
42
- | **Prompt Injection Sanitizer** | エージェント出力から注入パターンを検知・無害化 (17パターン, 6カテゴリ) |
43
- | **Spawn Limit** | 同時実行セッション上限 (default: 15) |
44
- | **Agent Timeout** | per-agent タイムアウト (default: 180s) |
45
- | **Trust Score** | npm パッケージの信頼度スコア (0-100) — evolve 推薦の品質ゲート |
46
- | **Concurrency Pool** | Semaphore ベースの global/provider/model 三層並列制御 |
58
+ | Feature | Description |
59
+ |---------|-------------|
60
+ | **Prompt Injection Sanitizer** | Detects and neutralizes injection patterns in agent output (17 patterns, 6 categories) |
61
+ | **Spawn Limit** | Max concurrent sessions (default: 15) |
62
+ | **Agent Timeout** | Per-agent timeout (default: 180s) |
63
+ | **Trust Score** | npm package trust score (0-100) — quality gate for evolve recommendations |
64
+ | **Concurrency Pool** | Semaphore-based global/provider/model three-tier concurrency control |
47
65
 
48
- ### Evolve (自己改善)
66
+ ### Evolve (Self-Improvement)
49
67
 
50
- `evolve` / `self-improve` / `自己改善` / `進化` キーワードで起動する5フェーズの自己改善サイクル。
68
+ Triggered by `evolve` / `self-improve` keywords. A 5-phase self-improvement cycle:
51
69
 
52
- | Phase | 内容 |
53
- |-------|------|
54
- | 1. RESEARCH | npm/GitHub でプラグインエコシステムをスキャン |
55
- | 2. COMPARE | 機能マトリクスで opencode-ultra との差分を可視化 |
56
- | 3. PROPOSE | 実装レベルの構造化提案 (対象ファイル/関数、問題点、変更内容、効果) + JSONL 出力 |
57
- | 4. SCORE | `evolve_score` で全提案をスコアリング (Priority x Effort 重み付け) |
58
- | 5. SAVE | `ledger_save` で結果を永続化 |
70
+ | Phase | Description |
71
+ |-------|-------------|
72
+ | 1. RESEARCH | Scan npm/GitHub for plugin ecosystem |
73
+ | 2. COMPARE | Feature matrix diff against opencode-ultra |
74
+ | 3. PROPOSE | Structured implementation proposals (target files/functions, issues, changes, effects) + JSONL output |
75
+ | 4. SCORE | Score all proposals via `evolve_score` (Priority x Effort weighted) |
76
+ | 5. SAVE | Persist results via `ledger_save` |
59
77
 
60
- 提案は `.opencode/evolve-proposals.jsonl` に JSONL 形式で出力される:
78
+ Proposals are output to `.opencode/evolve-proposals.jsonl`:
61
79
 
62
80
  ```json
63
- {"title":"機能名","priority":"P0","effort":"Medium","inspiration":"参考プラグイン","current_state":"現状","why":"メリット","how":"対象ファイル:関数名変更内容"}
81
+ {"title":"Feature","priority":"P0","effort":"Medium","inspiration":"reference-plugin","current_state":"Current state","why":"Benefit","how":"target-file:functionchange description"}
64
82
  ```
65
83
 
66
- `evolve_score` のスコア計算: `priority_weight x effort_weight`
84
+ Score calculation: `priority_weight x effort_weight`
67
85
 
68
86
  | Priority | Weight | Effort | Weight |
69
87
  |----------|--------|--------|--------|
@@ -71,97 +89,112 @@ OpenCode 1.2.x プラグイン。マルチエージェントオーケストレ
71
89
  | P1 | 5 | Medium | 2 |
72
90
  | P2 | 1 | High | 1 |
73
91
 
74
- P0+Low=30 (最優先) / P2+High=1 (最低)
92
+ P0+Low=30 (highest priority) / P2+High=1 (lowest)
75
93
 
76
- ### Evolve Execution (自律実行)
94
+ ### Evolve Execution (Autonomous)
77
95
 
78
- 提案の実装を `evolve_exe` で完全自動化できる。各提案ごとに git branch で隔離し、失敗時は自動ロールバック。
96
+ Fully automate proposal implementation with `evolve_exe`. Each proposal is isolated in a git branch with automatic rollback on failure.
79
97
 
80
98
  ```
81
- evolve_exe({ proposals: "1,3" }) — 提案 #1 #3 を自律実行
82
- evolve_exe({ proposals: "all" }) — accepted 全提案を実行
83
- evolve_exe({ proposals: "1", dryRun: true }) — 実行プランのみ表示
84
- evolve_exe({ proposals: "1,2", publish: true }) — 実行後に自動 publish
99
+ evolve_exe({ proposals: "1,3" }) — Execute proposals #1 and #3
100
+ evolve_exe({ proposals: "all" }) — Execute all accepted proposals
101
+ evolve_exe({ proposals: "1", dryRun: true }) — Show execution plan only
102
+ evolve_exe({ proposals: "1,2", publish: true }) — Auto-publish after execution
85
103
  ```
86
104
 
87
- | Phase | 内容 |
88
- |-------|------|
89
- | 1. GIT BRANCH | `evolve/{slug}` ブランチ作成 |
90
- | 2. IMPLEMENT | implementAgent (default: hephaestus) が自律実装 |
91
- | 3. TEST | `bun test` 実行 (失敗 rollback) |
92
- | 4. BUILD | `bun run build` 実行 (失敗 rollback) |
93
- | 5. REVIEW | reviewAgent (default: momus) がコードレビュー (BLOCK はログ記録) |
94
- | 6. MERGE | `--no-ff` で元ブランチにマージ、ブランチ削除 |
105
+ | Phase | Description |
106
+ |-------|-------------|
107
+ | 1. GIT BRANCH | Create `evolve/{slug}` branch |
108
+ | 2. IMPLEMENT | implementAgent (default: hephaestus) autonomously implements |
109
+ | 3. TEST | Run `bun test` (failure -> rollback) |
110
+ | 4. BUILD | Run `bun run build` (failure -> rollback) |
111
+ | 5. REVIEW | reviewAgent (default: momus) code review (BLOCK is logged) |
112
+ | 6. MERGE | `--no-ff` merge to original branch, delete feature branch |
95
113
 
96
- 実装後のパブリッシュ:
114
+ Post-implementation publish:
97
115
 
98
116
  ```
99
- evolve_publish({ bump: "patch" }) — test build version bump npm publish
100
- evolve_publish({ bump: "minor", deploy: "ssh-124" }) — publish + SSH デプロイ手順出力
117
+ evolve_publish({ bump: "patch" }) — test -> build -> version bump -> npm publish
118
+ evolve_publish({ bump: "minor", deploy: "my-server" }) — publish + SSH deploy instructions
101
119
  ```
102
120
 
103
- ## エージェント構成
121
+ ## Agent Configuration
122
+
123
+ Sisyphus (orchestrator) handles reading, analysis, and planning, then delegates implementation to sub-agents.
104
124
 
105
- Sisyphus (オーケストレーター) が読み込み・分析・計画を行い、実装はサブエージェントに委任する。
125
+ | Agent | Role | Tier |
126
+ |-------|------|------|
127
+ | **sisyphus** | Orchestrator — read + analyze + plan + delegate | High |
128
+ | **momus** | Code review and quality check | High |
129
+ | **oracle** | Design, debugging, architecture decisions | Mid |
130
+ | **hephaestus** | Autonomous implementation worker | Mid |
131
+ | **metis** | Task decomposition and parallel execution planning | Mid |
132
+ | **multimodal-looker** | Image and screenshot analysis | Mid |
133
+ | **explore** | Fast codebase reconnaissance | Fast |
134
+ | **librarian** | Documentation and best practices research | Fast |
135
+ | **scout** | Plugin ecosystem research | Fast |
136
+ | **atlas** | Task management and progress tracking | Low |
106
137
 
107
- | Agent | 役割 | デフォルトモデル | Tier |
108
- |-------|------|----------------|------|
109
- | **sisyphus** | オーケストレーター — 読み込み+分析+計画+委任 | `openai/gpt-5.3-codex` | High |
110
- | **momus** | コードレビュー・品質チェック | `openai/gpt-5.3-codex` | High |
111
- | **oracle** | 設計・デバッグ・アーキテクチャ判断 | `zai-coding-plan/glm-5` | Mid |
112
- | **hephaestus** | 自律型実装ワーカー | `zai-coding-plan/glm-5` | Mid |
113
- | **metis** | タスク分解・並列実行計画 | `kimi-for-coding/k2p5` | Mid |
114
- | **multimodal-looker** | 画像・スクリーンショット解析 | `kimi-for-coding/k2p5` | Mid |
115
- | **explore** | 高速コードベース偵察 | `openai/gpt-5.3-codex-spark` | Fast |
116
- | **librarian** | ドキュメント・ベストプラクティス調査 | `openai/gpt-5.3-codex-spark` | Fast |
117
- | **scout** | プラグインエコシステム調査 | `openai/gpt-5.3-codex-spark` | Fast |
118
- | **atlas** | タスク管理・進捗追跡 | `minimax-coding-plan/MiniMax-M2.5` | Low |
138
+ All agent models are configured via `opencode-ultra.json`. Only providers/models defined in your `opencode.jsonc` `provider` section can be specified.
119
139
 
120
- 全てのエージェントのモデルは `opencode-ultra.json` で設定する。BUILTIN デフォルトと JSON 設定は一致させること。
140
+ ### Default Models
121
141
 
122
- > **重要**: `openai-codex/` `anthropic/` など auth プラグイン由来のプロバイダーは sub-session で解決できない。`opencode.jsonc` の `provider` セクションまたは Coding Plan プラグインで定義されたプロバイダーのみ使用可能。
142
+ | Agent | Default Model |
143
+ |-------|--------------|
144
+ | sisyphus | anthropic/claude-opus-4-5 |
145
+ | oracle | openai/gpt-5.2 |
146
+ | hephaestus | openai/gpt-5.2 |
147
+ | momus | anthropic/claude-sonnet-4-5 |
148
+ | metis | anthropic/claude-sonnet-4-5 |
149
+ | explore | anthropic/claude-haiku-4-5 |
150
+ | librarian | anthropic/claude-sonnet-4-5 |
151
+ | multimodal-looker | anthropic/claude-sonnet-4-5 |
152
+ | atlas | anthropic/claude-sonnet-4-5 |
123
153
 
124
- ## キーワード検知
154
+ You can override these with any model from your configured providers (OpenAI, Anthropic, Google, OpenRouter, etc.).
125
155
 
126
- | キーワード | モード | 効果 |
127
- |-----------|--------|------|
128
- | `ultrawork` / `ulw` | ultrawork | variant "max"、全エージェント活用 |
129
- | `search` / `find` / `探して` 等 | search | 網羅的検索 |
130
- | `analyze` / `調査` / `debug` 等 | analyze | コンテキスト収集 |
131
- | `think hard` / `じっくり` / `熟考` 等 | think | Extended thinking 有効化 |
132
- | `evolve` / `self-improve` / `自己改善` 等 | evolve | 自己改善サイクル起動 |
156
+ ## Keyword Detection
133
157
 
134
- 日本語・中国語キーワードにも対応。
158
+ | Keyword | Mode | Effect |
159
+ |---------|------|--------|
160
+ | `ultrawork` / `ulw` | ultrawork | variant "max", full agent utilization |
161
+ | `search` / `find` / `探して` etc. | search | Comprehensive search |
162
+ | `analyze` / `調査` / `debug` etc. | analyze | Context collection |
163
+ | `think hard` / `じっくり` / `熟考` etc. | think | Extended thinking enabled |
164
+ | `evolve` / `self-improve` / `自己改善` etc. | evolve | Self-improvement cycle |
135
165
 
136
- ## 設定
166
+ Supports Japanese and Chinese keywords.
137
167
 
138
- `opencode-ultra.json` (または `.jsonc`) による2段階マージ:
168
+ ## Configuration
139
169
 
140
- 1. **ユーザー設定**: `~/.config/opencode/opencode-ultra.json[c]`
141
- 2. **プロジェクト設定**: `<project>/.opencode/opencode-ultra.json[c]`
170
+ Two-level merge via `opencode-ultra.json` (or `.jsonc`):
142
171
 
143
- プロジェクト設定がユーザー設定をオーバーライドする。
172
+ 1. **User config**: `~/.config/opencode/opencode-ultra.json[c]`
173
+ 2. **Project config**: `<project>/.opencode/opencode-ultra.json[c]`
144
174
 
145
- ### 設定スキーマ
175
+ Project config overrides user config.
176
+
177
+ ### Configuration Schema
146
178
 
147
179
  ```jsonc
148
180
  {
149
- // エージェントモデル設定 (BUILTIN_AGENTS と一致させること)
181
+ // Agent model settings (specify models defined in opencode.jsonc provider section)
150
182
  "agents": {
151
- "sisyphus": { "model": "openai/gpt-5.3-codex" },
152
- "oracle": { "model": "zai-coding-plan/glm-5" },
153
- "hephaestus": { "model": "zai-coding-plan/glm-5" },
154
- "explore": { "model": "openai/gpt-5.3-codex-spark" },
155
- "momus": { "model": "openai/gpt-5.3-codex" }
183
+ "sisyphus": { "model": "anthropic/claude-opus-4-5" },
184
+ "oracle": { "model": "openai/gpt-5.2" },
185
+ "hephaestus": { "model": "openai/gpt-5.2" },
186
+ "explore": { "model": "anthropic/claude-haiku-4-5" },
187
+ "momus": { "model": "anthropic/claude-sonnet-4-5" }
156
188
  },
157
189
 
158
- // カテゴリ (spawn_agent category パラメータでモデル一括切替)
190
+ // Categories (bulk model switching via spawn_agent category parameter)
191
+ // Note: category takes priority over individual agent models
159
192
  "categories": {
160
- "quick": { "model": "openai/gpt-5.3-codex-spark" },
161
- "deep": { "model": "openai/gpt-5.3-codex", "variant": "medium" }
193
+ "quick": { "model": "anthropic/claude-haiku-4-5" },
194
+ "deep": { "model": "anthropic/claude-opus-4-5" }
162
195
  },
163
196
 
164
- // Fragment Injection (エージェント毎のプロンプト断片)
197
+ // Fragment Injection (per-agent prompt fragments)
165
198
  "fragments": {
166
199
  "hephaestus": [".opencode/fragments/strict.md"]
167
200
  },
@@ -170,11 +203,11 @@ Sisyphus (オーケストレーター) が読み込み・分析・計画を行
170
203
  "prompt_renderer": {
171
204
  "default": "markdown",
172
205
  "model_overrides": {
173
- "openai/gpt-5.3-codex": "markdown"
206
+ "provider/model": "xml"
174
207
  }
175
208
  },
176
209
 
177
- // 無効化
210
+ // Disable features
178
211
  "disabled_agents": [],
179
212
  "disabled_hooks": [], // keyword-detector, rules-injector, context-injector,
180
213
  // fragment-injector, prompt-renderer, comment-checker,
@@ -187,11 +220,11 @@ Sisyphus (オーケストレーター) が読み込み・分析・計画を行
187
220
  // Built-in Agent Demotion (default: true)
188
221
  "demote_builtin": true,
189
222
 
190
- // 並列制御
223
+ // Concurrency control
191
224
  "background_task": {
192
225
  "defaultConcurrency": 3,
193
226
  "providerConcurrency": { "openai": 8 },
194
- "modelConcurrency": { "openai/gpt-5.3-codex": 2 }
227
+ "modelConcurrency": { "openai/gpt-5.2": 2 }
195
228
  },
196
229
 
197
230
  // Safety
@@ -202,13 +235,13 @@ Sisyphus (オーケストレーター) が読み込み・分析・計画を行
202
235
 
203
236
  // Evolve Execution
204
237
  "evolve_exe": {
205
- "maxIterations": 10, // 最大イテレーション (1-20)
206
- "iterationTimeoutMs": 300000, // per-iteration タイムアウト
207
- "totalTimeoutMs": 900000, // 1提案あたりの合計タイムアウト
208
- "skipReview": false, // レビューをスキップ
209
- "skipTests": false, // bun test をスキップ
210
- "implementAgent": "hephaestus", // 実装エージェント (config.agents で定義されたもの)
211
- "reviewAgent": "momus" // レビューエージェント
238
+ "maxIterations": 10,
239
+ "iterationTimeoutMs": 300000,
240
+ "totalTimeoutMs": 900000,
241
+ "skipReview": false,
242
+ "skipTests": false,
243
+ "implementAgent": "hephaestus",
244
+ "reviewAgent": "momus"
212
245
  },
213
246
 
214
247
  // Token Truncation
@@ -220,27 +253,27 @@ Sisyphus (オーケストレーター) が読み込み・分析・計画を行
220
253
  // Todo Enforcer
221
254
  "todo_enforcer": { "maxEnforcements": 5 },
222
255
 
223
- // MCP API キー
256
+ // MCP API Keys
224
257
  "mcp_api_keys": { "context7": "ctx7sk-..." }
225
258
  }
226
259
  ```
227
260
 
228
261
  ## Continuity Ledger
229
262
 
230
- セッション間の文脈を引き継ぐマークダウンドキュメント。`.opencode/ledgers/` に保存される。
263
+ Markdown documents for session-to-session context continuity. Saved to `.opencode/ledgers/`.
231
264
 
232
265
  ```typescript
233
- // 保存
266
+ // Save
234
267
  ledger_save({ name: "auth-refactor", content: "## Context\n..." })
235
268
 
236
- // 読み込み (名前指定)
269
+ // Load (by name)
237
270
  ledger_load({ name: "auth-refactor" })
238
271
 
239
- // 読み込み (最新)
272
+ // Load (latest)
240
273
  ledger_load({})
241
274
  ```
242
275
 
243
- ## ビルド・テスト
276
+ ## Build & Test
244
277
 
245
278
  ```bash
246
279
  bun install
@@ -248,6 +281,15 @@ bun run build
248
281
  bun test
249
282
  ```
250
283
 
251
- ## ライセンス
284
+ ## Attribution
285
+
286
+ This project is a fork of [oh-my-opencode](https://github.com/code-yeongyu/oh-my-opencode) by [code-yeongyu](https://github.com/code-yeongyu), built on top of [OpenCode](https://github.com/anomalyco/opencode) by the OpenCode team.
287
+
288
+ We respect and follow the upstream licenses:
289
+ - oh-my-opencode: [Sustainable Use License v1.0](./LICENSE.md)
290
+ - OpenCode: [MIT License](https://github.com/anomalyco/opencode/blob/main/LICENSE)
291
+
292
+ ## License
252
293
 
253
- MIT
294
+ [Sustainable Use License v1.0](./LICENSE.md) — Free for personal and non-commercial use.
295
+ See [LICENSE.md](./LICENSE.md) for full terms.
@@ -12,4 +12,6 @@ type MinimalPluginConfig = {
12
12
  disabled_agents?: string[];
13
13
  [key: string]: unknown;
14
14
  };
15
+ export declare const AUTONOMOUS_MODE_SYSTEM = "## \u26A1 AUTONOMOUS MODE ACTIVE\n\nYou are running via CLI without a human present (opencode run --format json or non-TTY mode).\n\nMANDATORY BEHAVIOR:\n1. **Skip plan approval entirely** \u2014 no \"\u3053\u306E\u30D7\u30E9\u30F3\u3067\u9032\u3081\u307E\u3059\u304B\uFF1F\", no waiting\n2. Read the task \u2192 plan internally \u2192 execute immediately\n3. **Delegate ALL file writes to spawn_agent** \u2014 do NOT use Write, Edit, apply_patch, or Bash yourself\n4. Run spawn_agent calls IN PARALLEL for independent components\n5. After implementation, spawn momus for code review\n\nEXECUTION ORDER:\n- Phase 1: Read specs (Grep/Glob/Read) \u2014 do this yourself\n- Phase 2: spawn_agent hephaestus for each major component (in parallel)\n- Phase 3: spawn_agent momus for review after Phase 2 completes\n- Phase 4: spawn_agent hephaestus to run `git add -A && git commit -m 'feat: initial implementation'`\n- Report final summary";
16
+ export declare const AUTONOMOUS_MODE_ANCHOR = "\n\n[\u26A1 AUTONOMOUS MODE: No user present. Execute immediately. Delegate ALL file writing to spawn_agent(hephaestus). Do NOT use Write/Edit/apply_patch/Bash. Spawn parallel agents now. Final step: spawn hephaestus to run git add -A && git commit.]";
15
17
  export declare function buildAgents(config: Partial<MinimalPluginConfig>): Record<string, AgentDef>;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "opencode-ultra",
3
- "version": "0.9.4",
3
+ "version": "0.9.6",
4
4
  "description": "Lightweight OpenCode 1.2.x plugin — ultrawork mode, multi-agent orchestration, rules injection",
5
5
  "keywords": [
6
6
  "opencode",
@@ -9,13 +9,13 @@
9
9
  "multi-agent",
10
10
  "ultrawork"
11
11
  ],
12
- "homepage": "https://github.com/outxci/opencode-ultra#readme",
12
+ "homepage": "https://github.com/ouchanip/opencode-ultra#readme",
13
13
  "bugs": {
14
- "url": "https://github.com/outxci/opencode-ultra/issues"
14
+ "url": "https://github.com/ouchanip/opencode-ultra/issues"
15
15
  },
16
16
  "repository": {
17
17
  "type": "git",
18
- "url": "git+https://github.com/outxci/opencode-ultra.git"
18
+ "url": "git+https://github.com/ouchanip/opencode-ultra.git"
19
19
  },
20
20
  "main": "dist/index.js",
21
21
  "types": "dist/index.d.ts",
@@ -38,5 +38,5 @@
38
38
  "files": [
39
39
  "dist"
40
40
  ],
41
- "license": "MIT"
41
+ "license": "SEE LICENSE IN LICENSE.md"
42
42
  }