oh-my-opencode 3.0.0-beta.3 → 3.0.0-beta.5

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 CHANGED
@@ -28,7 +28,7 @@
28
28
 
29
29
  > `oh-my-opencode` をインストールして、ドーピングしたかのようにコーディングしましょう。バックグラウンドでエージェントを走らせ、oracle、librarian、frontend engineer のような専門エージェントを呼び出してください。丹精込めて作られた LSP/AST ツール、厳選された MCP、そして完全な Claude Code 互換レイヤーを、たった一行で手に入れましょう。
30
30
 
31
- **今すぐ始めましょう。ChatGPT、Claude、Gemini のサブスクリプションで使えます。**
31
+ **注意: librarianには高価なモデルを使用しないでください。これはあなたにとって役に立たないだけでなく、LLMプロバイダーにも負担をかけます。代わりにClaude Haiku、Gemini Flash、GLM 4.7、MiniMaxなどのモデルを使用してください。**
32
32
 
33
33
  <div align="center">
34
34
 
@@ -76,6 +76,7 @@
76
76
  - [Oh My OpenCode](#oh-my-opencode)
77
77
  - [この Readme は読まなくていいです](#この-readme-は読まなくていいです)
78
78
  - [エージェントの時代ですから](#エージェントの時代ですから)
79
+ - [🪄 魔法の言葉:`ultrawork`](#-魔法の言葉ultrawork)
79
80
  - [読みたい方のために:シジフォスに会う](#読みたい方のためにシジフォスに会う)
80
81
  - [インストールするだけで。](#インストールするだけで)
81
82
  - [インストール](#インストール)
@@ -88,10 +89,15 @@
88
89
  - [ステップ 4: 認証情報の設定](#ステップ-4-認証情報の設定)
89
90
  - [4.1 Anthropic (Claude)](#41-anthropic-claude)
90
91
  - [4.2 Google Gemini (Antigravity OAuth)](#42-google-gemini-antigravity-oauth)
92
+ - [4.2.1 モデル設定](#421-モデル設定)
93
+ - [4.2.2 oh-my-opencode エージェントモデルのオーバーライド](#422-oh-my-opencode-エージェントモデルのオーバーライド)
91
94
  - [4.3 OpenAI (ChatGPT Plus/Pro)](#43-openai-chatgpt-pluspro)
95
+ - [モデル設定](#モデル設定)
92
96
  - [⚠️ 注意](#️-注意)
93
97
  - [セットアップの確認](#セットアップの確認)
94
98
  - [ユーザーに「おめでとうございます!🎉」と伝える](#ユーザーにおめでとうございますと伝える)
99
+ - [無料広告](#無料広告)
100
+ - [スターをお願いする ⭐](#スターをお願いする-)
95
101
  - [複雑すぎますか?](#複雑すぎますか)
96
102
  - [アンインストール](#アンインストール)
97
103
  - [機能](#機能)
@@ -99,7 +105,8 @@
99
105
  - [バックグラウンドエージェント: 本当のチームのように働く](#バックグラウンドエージェント-本当のチームのように働く)
100
106
  - [ツール: 同僚にはもっと良い道具を](#ツール-同僚にはもっと良い道具を)
101
107
  - [なぜあなただけ IDE を使っているのですか?](#なぜあなただけ-ide-を使っているのですか)
102
- - [Context is all you need.](#context-is-all-you-need)
108
+ - [セッション管理](#セッション管理)
109
+ - [Context Is All You Need](#context-is-all-you-need)
103
110
  - [マルチモーダルを活用し、トークンは節約する](#マルチモーダルを活用しトークンは節約する)
104
111
  - [止まらないエージェントループ](#止まらないエージェントループ)
105
112
  - [Claude Code 互換性: さらば Claude Code、ようこそ OpenCode](#claude-code-互換性-さらば-claude-codeようこそ-opencode)
@@ -109,16 +116,20 @@
109
116
  - [互換性トグル](#互換性トグル)
110
117
  - [エージェントのためだけでなく、あなたのために](#エージェントのためだけでなくあなたのために)
111
118
  - [設定](#設定)
119
+ - [JSONC のサポート](#jsonc-のサポート)
112
120
  - [Google Auth](#google-auth)
113
121
  - [Agents](#agents)
114
122
  - [Permission オプション](#permission-オプション)
115
123
  - [Sisyphus Agent](#sisyphus-agent)
124
+ - [Background Tasks](#background-tasks)
116
125
  - [Hooks](#hooks)
117
126
  - [MCPs](#mcps)
118
127
  - [LSP](#lsp)
119
128
  - [Experimental](#experimental)
120
129
  - [作者のノート](#作者のノート)
121
130
  - [注意](#注意)
131
+ - [こちらの企業の専門家にご愛用いただいています](#こちらの企業の専門家にご愛用いただいています)
132
+ - [スポンサー](#スポンサー)
122
133
 
123
134
  # Oh My OpenCode
124
135
 
@@ -721,10 +732,10 @@ Oh My OpenCode は以下の場所からフックを読み込んで実行しま
721
732
  1. `.opencode/oh-my-opencode.json` (プロジェクト)
722
733
  2. ユーザー設定(プラットフォーム別):
723
734
 
724
- | プラットフォーム | ユーザー設定パス |
725
- |------------------|------------------|
726
- | **Windows** | `~/.config/opencode/oh-my-opencode.json` (推奨) または `%APPDATA%\opencode\oh-my-opencode.json` (fallback) |
727
- | **macOS/Linux** | `~/.config/opencode/oh-my-opencode.json` |
735
+ | プラットフォーム | ユーザー設定パス |
736
+ | ---------------- | ---------------------------------------------------------------------------------------------------------- |
737
+ | **Windows** | `~/.config/opencode/oh-my-opencode.json` (推奨) または `%APPDATA%\opencode\oh-my-opencode.json` (fallback) |
738
+ | **macOS/Linux** | `~/.config/opencode/oh-my-opencode.json` |
728
739
 
729
740
  スキーマ自動補完がサポートされています:
730
741
 
@@ -748,10 +759,10 @@ Oh My OpenCode は以下の場所からフックを読み込んで実行しま
748
759
  ```jsonc
749
760
  {
750
761
  "$schema": "https://raw.githubusercontent.com/code-yeongyu/oh-my-opencode/master/assets/oh-my-opencode.schema.json",
751
-
762
+
752
763
  // Antigravity OAuth 経由で Google Gemini を有効にする
753
764
  "google_auth": false,
754
-
765
+
755
766
  /* エージェントのオーバーライド - 特定のタスクに合わせてモデルをカスタマイズ */
756
767
  "agents": {
757
768
  "oracle": {
@@ -841,13 +852,13 @@ Oh My OpenCode は以下の場所からフックを読み込んで実行しま
841
852
  }
842
853
  ```
843
854
 
844
- | Permission | 説明 | 値 |
845
- |------------|------|----|
846
- | `edit` | ファイル編集権限 | `ask` / `allow` / `deny` |
847
- | `bash` | Bash コマンド実行権限 | `ask` / `allow` / `deny` またはコマンド別: `{ "git": "allow", "rm": "deny" }` |
848
- | `webfetch` | ウェブアクセス権限 | `ask` / `allow` / `deny` |
849
- | `doom_loop` | 無限ループ検知のオーバーライド許可 | `ask` / `allow` / `deny` |
850
- | `external_directory` | プロジェクトルート外へのファイルアクセス | `ask` / `allow` / `deny` |
855
+ | Permission | 説明 | 値 |
856
+ | -------------------- | ---------------------------------------- | ----------------------------------------------------------------------------- |
857
+ | `edit` | ファイル編集権限 | `ask` / `allow` / `deny` |
858
+ | `bash` | Bash コマンド実行権限 | `ask` / `allow` / `deny` またはコマンド別: `{ "git": "allow", "rm": "deny" }` |
859
+ | `webfetch` | ウェブアクセス権限 | `ask` / `allow` / `deny` |
860
+ | `doom_loop` | 無限ループ検知のオーバーライド許可 | `ask` / `allow` / `deny` |
861
+ | `external_directory` | プロジェクトルート外へのファイルアクセス | `ask` / `allow` / `deny` |
851
862
 
852
863
  または `~/.config/opencode/oh-my-opencode.json` か `.opencode/oh-my-opencode.json` の `disabled_agents` を使用して無効化できます:
853
864
 
@@ -925,12 +936,12 @@ Oh My OpenCode は以下の場所からフックを読み込んで実行しま
925
936
  }
926
937
  ```
927
938
 
928
- | オプション | デフォルト | 説明 |
929
- | --------------------------- | ------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------ |
930
- | `disabled` | `false` | `true` の場合、すべての Sisyphus オーケストレーションを無効化し、元の build/plan をプライマリとして復元します。 |
931
- | `default_builder_enabled` | `false` | `true` の場合、OpenCode-Builder エージェントを有効化します(OpenCode build と同じ、SDK 制限により名前変更)。デフォルトでは無効です。 |
932
- | `planner_enabled` | `true` | `true` の場合、Prometheus (Planner) エージェントを有効化します(work-planner 方法論を含む)。デフォルトで有効です。 |
933
- | `replace_plan` | `true` | `true` の場合、デフォルトのプランエージェントをサブエージェントモードに降格させます。`false` に設定すると、Prometheus (Planner) とデフォルトのプランの両方を利用できます。 |
939
+ | オプション | デフォルト | 説明 |
940
+ | ------------------------- | ---------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
941
+ | `disabled` | `false` | `true` の場合、すべての Sisyphus オーケストレーションを無効化し、元の build/plan をプライマリとして復元します。 |
942
+ | `default_builder_enabled` | `false` | `true` の場合、OpenCode-Builder エージェントを有効化します(OpenCode build と同じ、SDK 制限により名前変更)。デフォルトでは無効です。 |
943
+ | `planner_enabled` | `true` | `true` の場合、Prometheus (Planner) エージェントを有効化します(work-planner 方法論を含む)。デフォルトで有効です。 |
944
+ | `replace_plan` | `true` | `true` の場合、デフォルトのプランエージェントをサブエージェントモードに降格させます。`false` に設定すると、Prometheus (Planner) とデフォルトのプランの両方を利用できます。 |
934
945
 
935
946
  ### Background Tasks
936
947
 
@@ -953,10 +964,10 @@ Oh My OpenCode は以下の場所からフックを読み込んで実行しま
953
964
  }
954
965
  ```
955
966
 
956
- | オプション | デフォルト | 説明 |
957
- | --------------------- | ---------- | -------------------------------------------------------------------------------------------------------------- |
958
- | `defaultConcurrency` | - | すべてのプロバイダー/モデルに対するデフォルトの最大同時バックグラウンドタスク数 |
959
- | `providerConcurrency` | - | プロバイダーごとの同時実行制限。キーはプロバイダー名(例:`anthropic`、`openai`、`google`) |
967
+ | オプション | デフォルト | 説明 |
968
+ | --------------------- | ---------- | --------------------------------------------------------------------------------------------------------------------- |
969
+ | `defaultConcurrency` | - | すべてのプロバイダー/モデルに対するデフォルトの最大同時バックグラウンドタスク数 |
970
+ | `providerConcurrency` | - | プロバイダーごとの同時実行制限。キーはプロバイダー名(例:`anthropic`、`openai`、`google`) |
960
971
  | `modelConcurrency` | - | モデルごとの同時実行制限。キーは完全なモデル名(例:`anthropic/claude-opus-4-5`)。プロバイダー制限より優先されます。 |
961
972
 
962
973
  **優先順位**: `modelConcurrency` > `providerConcurrency` > `defaultConcurrency`
@@ -1035,13 +1046,13 @@ OpenCode でサポートされるすべての LSP 構成およびカスタム設
1035
1046
  }
1036
1047
  ```
1037
1048
 
1038
- | オプション | デフォルト | 説明 |
1039
- | --------------------------------- | ---------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
1040
- | `preemptive_compaction_threshold` | `0.85` | プリエンプティブコンパクションをトリガーする閾値(0.5-0.95)。`preemptive-compaction` フックはデフォルトで有効です。このオプションで閾値をカスタマイズできます。 |
1049
+ | オプション | デフォルト | 説明 |
1050
+ | --------------------------------- | ---------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
1051
+ | `preemptive_compaction_threshold` | `0.85` | プリエンプティブコンパクションをトリガーする閾値(0.5-0.95)。`preemptive-compaction` フックはデフォルトで有効です。このオプションで閾値をカスタマイズできます。 |
1041
1052
  | `truncate_all_tool_outputs` | `false` | ホワイトリストのツール(Grep、Glob、LSP、AST-grep)だけでなく、すべてのツール出力を切り詰めます。Tool output truncator はデフォルトで有効です - `disabled_hooks`で無効化できます。 |
1042
- | `aggressive_truncation` | `false` | トークン制限を超えた場合、ツール出力を積極的に切り詰めて制限内に収めます。デフォルトの切り詰めより積極的です。不十分な場合は要約/復元にフォールバックします。 |
1043
- | `auto_resume` | `false` | thinking block エラーや thinking disabled violation からの回復成功後、自動的にセッションを再開します。最後のユーザーメッセージを抽出して続行します。 |
1044
- | `dcp_for_compaction` | `false` | コンパクション用DCP(動的コンテキスト整理)を有効化 - トークン制限超過時に最初に実行されます。コンパクション前に重複したツール呼び出しと古いツール出力を整理します。 |
1053
+ | `aggressive_truncation` | `false` | トークン制限を超えた場合、ツール出力を積極的に切り詰めて制限内に収めます。デフォルトの切り詰めより積極的です。不十分な場合は要約/復元にフォールバックします。 |
1054
+ | `auto_resume` | `false` | thinking block エラーや thinking disabled violation からの回復成功後、自動的にセッションを再開します。最後のユーザーメッセージを抽出して続行します。 |
1055
+ | `dcp_for_compaction` | `false` | コンパクション用DCP(動的コンテキスト整理)を有効化 - トークン制限超過時に最初に実行されます。コンパクション前に重複したツール呼び出しと古いツール出力を整理します。 |
1045
1056
 
1046
1057
  **警告**:これらの機能は実験的であり、予期しない動作を引き起こす可能性があります。影響を理解した場合にのみ有効にしてください。
1047
1058
 
package/README.md CHANGED
@@ -29,10 +29,7 @@
29
29
  > This is coding on steroids—`oh-my-opencode` in action. Run background agents, call specialized agents like oracle, librarian, and frontend engineer. Use crafted LSP/AST tools, curated MCPs, and a full Claude Code compatibility layer.
30
30
 
31
31
 
32
- No stupid token consumption massive subagents here. No bloat tools here.
33
-
34
- **Certified, Verified, Tested, Actually Useful Harness in Production, after $24,000 worth of tokens spent.**
35
- **START WITH YOUR ChatGPT, Claude, Gemini SUBSCRIPTIONS. WE ALL COVER THEM.**
32
+ **Notice: Do not use expensive models for librarian. This is not only unhelpful to you, but also burdens LLM providers. Use models like Claude Haiku, Gemini Flash, GLM 4.7, or MiniMax instead.**
36
33
 
37
34
 
38
35
  <div align="center">
@@ -128,6 +125,7 @@ No stupid token consumption massive subagents here. No bloat tools here.
128
125
  - [Agents](#agents)
129
126
  - [Permission Options](#permission-options)
130
127
  - [Built-in Skills](#built-in-skills)
128
+ - [Git Master](#git-master)
131
129
  - [Sisyphus Agent](#sisyphus-agent)
132
130
  - [Background Tasks](#background-tasks)
133
131
  - [Categories](#categories)
@@ -135,6 +133,7 @@ No stupid token consumption massive subagents here. No bloat tools here.
135
133
  - [MCPs](#mcps)
136
134
  - [LSP](#lsp)
137
135
  - [Experimental](#experimental)
136
+ - [Environment Variables](#environment-variables)
138
137
  - [Author's Note](#authors-note)
139
138
  - [Warnings](#warnings)
140
139
  - [Loved by professionals at](#loved-by-professionals-at)
@@ -945,10 +944,10 @@ Configure git-master skill behavior:
945
944
  }
946
945
  ```
947
946
 
948
- | Option | Default | Description |
949
- | ------ | ------- | ----------- |
950
- | `commit_footer` | `true` | Adds "Ultraworked with Sisyphus" footer to commit messages. |
951
- | `include_co_authored_by` | `true` | Adds `Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>` trailer to commits. |
947
+ | Option | Default | Description |
948
+ | ------------------------ | ------- | -------------------------------------------------------------------------------- |
949
+ | `commit_footer` | `true` | Adds "Ultraworked with Sisyphus" footer to commit messages. |
950
+ | `include_co_authored_by` | `true` | Adds `Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>` trailer to commits. |
952
951
 
953
952
  ### Sisyphus Agent
954
953
 
@@ -1016,12 +1015,12 @@ You can also customize Sisyphus agents like other agents:
1016
1015
  }
1017
1016
  ```
1018
1017
 
1019
- | Option | Default | Description |
1020
- | --------------------------- | ------- | --------------------------------------------------------------------------------------------------------------------------------------------------- |
1021
- | `disabled` | `false` | When `true`, disables all Sisyphus orchestration and restores original build/plan as primary. |
1022
- | `default_builder_enabled` | `false` | When `true`, enables OpenCode-Builder agent (same as OpenCode build, renamed due to SDK limitations). Disabled by default. |
1023
- | `planner_enabled` | `true` | When `true`, enables Prometheus (Planner) agent with work-planner methodology. Enabled by default. |
1024
- | `replace_plan` | `true` | When `true`, demotes default plan agent to subagent mode. Set to `false` to keep both Prometheus (Planner) and default plan available. |
1018
+ | Option | Default | Description |
1019
+ | ------------------------- | ------- | -------------------------------------------------------------------------------------------------------------------------------------- |
1020
+ | `disabled` | `false` | When `true`, disables all Sisyphus orchestration and restores original build/plan as primary. |
1021
+ | `default_builder_enabled` | `false` | When `true`, enables OpenCode-Builder agent (same as OpenCode build, renamed due to SDK limitations). Disabled by default. |
1022
+ | `planner_enabled` | `true` | When `true`, enables Prometheus (Planner) agent with work-planner methodology. Enabled by default. |
1023
+ | `replace_plan` | `true` | When `true`, demotes default plan agent to subagent mode. Set to `false` to keep both Prometheus (Planner) and default plan available. |
1025
1024
 
1026
1025
  ### Background Tasks
1027
1026
 
@@ -1063,10 +1062,10 @@ Categories enable domain-specific task delegation via the `sisyphus_task` tool.
1063
1062
 
1064
1063
  **Default Categories:**
1065
1064
 
1066
- | Category | Model | Description |
1067
- |----------|-------|-------------|
1068
- | `visual` | `google/gemini-3-pro-preview` | Frontend, UI/UX, design-focused tasks. High creativity (temp 0.7). |
1069
- | `business-logic` | `openai/gpt-5.2` | Backend logic, architecture, strategic reasoning. Low creativity (temp 0.1). |
1065
+ | Category | Model | Description |
1066
+ | ---------------- | ----------------------------- | ---------------------------------------------------------------------------- |
1067
+ | `visual` | `google/gemini-3-pro-preview` | Frontend, UI/UX, design-focused tasks. High creativity (temp 0.7). |
1068
+ | `business-logic` | `openai/gpt-5.2` | Backend logic, architecture, strategic reasoning. Low creativity (temp 0.1). |
1070
1069
 
1071
1070
  **Usage:**
1072
1071
 
@@ -1181,6 +1180,12 @@ Opt-in experimental features that may change or be removed in future versions. U
1181
1180
 
1182
1181
  **Warning**: These features are experimental and may cause unexpected behavior. Enable only if you understand the implications.
1183
1182
 
1183
+ ### Environment Variables
1184
+
1185
+ | Variable | Description |
1186
+ | --------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------- |
1187
+ | `OPENCODE_CONFIG_DIR` | Override the OpenCode configuration directory. Useful for profile isolation with tools like [OCX](https://github.com/kdcokenny/ocx) ghost mode. |
1188
+
1184
1189
 
1185
1190
  ## Author's Note
1186
1191
 
package/README.zh-cn.md CHANGED
@@ -28,9 +28,7 @@
28
28
  > 装上 `oh-my-opencode`,编程体验直接起飞。后台跑着一堆 Agent,随时呼叫 Oracle、Librarian、Frontend Engineer 这些专家。精心打磨的 LSP/AST 工具、精选 MCP、完美的 Claude Code 兼容层——一行配置,全套带走。
29
29
 
30
30
  这里没有为了显摆而疯狂烧 Token 的臃肿 Subagent。没有垃圾工具。
31
-
32
- **这是烧了 24,000 美元 Token 换来的、真正经过生产环境验证、测试、靠谱的 Harness。**
33
- **拿着你的 ChatGPT、Claude、Gemini 订阅直接就能用。我们全包圆了。**
31
+ **注意:请勿为 librarian 使用昂贵的模型。这不仅对你没有帮助,还会给 LLM 提供商带来负担。请使用 Claude Haiku、Gemini Flash、GLM 4.7 或 MiniMax 等模型。**
34
32
 
35
33
  <div align="center">
36
34
 
@@ -78,6 +76,7 @@
78
76
  - [Oh My OpenCode](#oh-my-opencode)
79
77
  - [太长不看?(TL;DR)](#太长不看tldr)
80
78
  - [现在是 Agent 的时代](#现在是-agent-的时代)
79
+ - [🪄 魔法口令:`ultrawork`](#-魔法口令ultrawork)
81
80
  - [如果你真的想读读看:认识西西弗斯](#如果你真的想读读看认识西西弗斯)
82
81
  - [闭眼装就行](#闭眼装就行)
83
82
  - [安装](#安装)
@@ -90,10 +89,15 @@
90
89
  - [步骤 4:搞定认证](#步骤-4搞定认证)
91
90
  - [4.1 Anthropic (Claude)](#41-anthropic-claude)
92
91
  - [4.2 Google Gemini (Antigravity OAuth)](#42-google-gemini-antigravity-oauth)
92
+ - [模型配置](#模型配置)
93
+ - [oh-my-opencode Agent 模型覆盖](#oh-my-opencode-agent-模型覆盖)
93
94
  - [4.3 OpenAI (ChatGPT Plus/Pro)](#43-openai-chatgpt-pluspro)
95
+ - [模型配置](#模型配置-1)
94
96
  - [⚠️ 注意](#️-注意)
95
97
  - [检查作业](#检查作业)
96
98
  - [跟用户说"恭喜!🎉"](#跟用户说恭喜)
99
+ - [免费广告](#免费广告)
100
+ - [求个 Star ⭐](#求个-star-)
97
101
  - [太麻烦了?](#太麻烦了)
98
102
  - [卸载](#卸载)
99
103
  - [功能](#功能)
@@ -101,6 +105,7 @@
101
105
  - [后台 Agent:像真正的团队一样干活](#后台-agent像真正的团队一样干活)
102
106
  - [工具:给队友配点好的](#工具给队友配点好的)
103
107
  - [凭什么只有你能用 IDE?](#凭什么只有你能用-ide)
108
+ - [会话管理 (Session Management)](#会话管理-session-management)
104
109
  - [上下文就是一切 (Context is all you need)](#上下文就是一切-context-is-all-you-need)
105
110
  - [多模态全开,Token 省着用](#多模态全开token-省着用)
106
111
  - [根本停不下来的 Agent Loop](#根本停不下来的-agent-loop)
@@ -111,16 +116,20 @@
111
116
  - [兼容性开关](#兼容性开关)
112
117
  - [不只是为了 Agent,也是为了你](#不只是为了-agent也是为了你)
113
118
  - [配置](#配置)
119
+ - [JSONC 支持](#jsonc-支持)
114
120
  - [Google Auth](#google-auth)
115
121
  - [Agents](#agents)
116
122
  - [权限选项](#权限选项)
117
123
  - [Sisyphus Agent](#sisyphus-agent)
124
+ - [Background Tasks(后台任务)](#background-tasks后台任务)
118
125
  - [Hooks](#hooks)
119
126
  - [MCPs](#mcps)
120
127
  - [LSP](#lsp)
121
128
  - [Experimental](#experimental)
122
129
  - [作者的话](#作者的话)
123
130
  - [注意事项](#注意事项)
131
+ - [以下企业的专业人士都在用](#以下企业的专业人士都在用)
132
+ - [赞助者](#赞助者)
124
133
 
125
134
  # Oh My OpenCode
126
135
 
@@ -722,10 +731,10 @@ Agent 爽了,你自然也爽。但我还想直接让你爽。
722
731
  1. `.opencode/oh-my-opencode.json`(项目级)
723
732
  2. 用户配置(按平台):
724
733
 
725
- | 平台 | 用户配置路径 |
726
- |----------|------------------|
727
- | **Windows** | `~/.config/opencode/oh-my-opencode.json` (首选) 或 `%APPDATA%\opencode\oh-my-opencode.json` (备选) |
728
- | **macOS/Linux** | `~/.config/opencode/oh-my-opencode.json` |
734
+ | 平台 | 用户配置路径 |
735
+ | --------------- | -------------------------------------------------------------------------------------------------- |
736
+ | **Windows** | `~/.config/opencode/oh-my-opencode.json` (首选) 或 `%APPDATA%\opencode\oh-my-opencode.json` (备选) |
737
+ | **macOS/Linux** | `~/.config/opencode/oh-my-opencode.json` |
729
738
 
730
739
  支持 Schema 自动补全:
731
740
 
@@ -749,10 +758,10 @@ Agent 爽了,你自然也爽。但我还想直接让你爽。
749
758
  ```jsonc
750
759
  {
751
760
  "$schema": "https://raw.githubusercontent.com/code-yeongyu/oh-my-opencode/master/assets/oh-my-opencode.schema.json",
752
-
761
+
753
762
  // 通过 Antigravity OAuth 启用 Google Gemini
754
763
  "google_auth": false,
755
-
764
+
756
765
  /* Agent 覆盖 - 为特定任务自定义模型 */
757
766
  "agents": {
758
767
  "oracle": {
@@ -842,13 +851,13 @@ Agent 爽了,你自然也爽。但我还想直接让你爽。
842
851
  }
843
852
  ```
844
853
 
845
- | Permission | 说明 | 值 |
846
- | -------------------- | ------------------------ | -------------------------------------------------------------------- |
847
- | `edit` | 改文件 | `ask` / `allow` / `deny` |
848
- | `bash` | 跑 Bash 命令 | `ask` / `allow` / `deny` 或按命令:`{ "git": "allow", "rm": "deny" }` |
849
- | `webfetch` | 上网 | `ask` / `allow` / `deny` |
850
- | `doom_loop` | 覆盖无限循环检测 | `ask` / `allow` / `deny` |
851
- | `external_directory` | 访问根目录外面的文件 | `ask` / `allow` / `deny` |
854
+ | Permission | 说明 | 值 |
855
+ | -------------------- | -------------------- | --------------------------------------------------------------------- |
856
+ | `edit` | 改文件 | `ask` / `allow` / `deny` |
857
+ | `bash` | 跑 Bash 命令 | `ask` / `allow` / `deny` 或按命令:`{ "git": "allow", "rm": "deny" }` |
858
+ | `webfetch` | 上网 | `ask` / `allow` / `deny` |
859
+ | `doom_loop` | 覆盖无限循环检测 | `ask` / `allow` / `deny` |
860
+ | `external_directory` | 访问根目录外面的文件 | `ask` / `allow` / `deny` |
852
861
 
853
862
  或者在 `~/.config/opencode/oh-my-opencode.json` 或 `.opencode/oh-my-opencode.json` 的 `disabled_agents` 里直接禁了:
854
863
 
@@ -926,12 +935,12 @@ Sisyphus Agent 也能自定义:
926
935
  }
927
936
  ```
928
937
 
929
- | 选项 | 默认值 | 说明 |
930
- | --------------------------- | ------- | ------------------------------------------------------------------------------------------------------------------------------------------------- |
931
- | `disabled` | `false` | 设为 `true` 就禁用所有 Sisyphus 编排,恢复原来的 build/plan。 |
932
- | `default_builder_enabled` | `false` | 设为 `true` 就启用 OpenCode-Builder Agent(与 OpenCode build 相同,因 SDK 限制仅改名)。默认禁用。 |
933
- | `planner_enabled` | `true` | 设为 `true` 就启用 Prometheus (Planner) Agent(含 work-planner 方法论)。默认启用。 |
934
- | `replace_plan` | `true` | 设为 `true` 就把默认计划 Agent 降级为子 Agent 模式。设为 `false` 可以同时保留 Prometheus (Planner) 和默认计划。 |
938
+ | 选项 | 默认值 | 说明 |
939
+ | ------------------------- | ------- | --------------------------------------------------------------------------------------------------------------- |
940
+ | `disabled` | `false` | 设为 `true` 就禁用所有 Sisyphus 编排,恢复原来的 build/plan。 |
941
+ | `default_builder_enabled` | `false` | 设为 `true` 就启用 OpenCode-Builder Agent(与 OpenCode build 相同,因 SDK 限制仅改名)。默认禁用。 |
942
+ | `planner_enabled` | `true` | 设为 `true` 就启用 Prometheus (Planner) Agent(含 work-planner 方法论)。默认启用。 |
943
+ | `replace_plan` | `true` | 设为 `true` 就把默认计划 Agent 降级为子 Agent 模式。设为 `false` 可以同时保留 Prometheus (Planner) 和默认计划。 |
935
944
 
936
945
  ### Background Tasks(后台任务)
937
946
 
@@ -954,11 +963,11 @@ Sisyphus Agent 也能自定义:
954
963
  }
955
964
  ```
956
965
 
957
- | 选项 | 默认值 | 说明 |
958
- | --------------------- | ------ | -------------------------------------------------------------------------------------------------------------- |
959
- | `defaultConcurrency` | - | 所有提供商/模型的默认最大并发后台任务数 |
960
- | `providerConcurrency` | - | 按提供商设置并发限制。键是提供商名称(例如:`anthropic`、`openai`、`google`) |
961
- | `modelConcurrency` | - | 按模型设置并发限制。键是完整的模型名称(例如:`anthropic/claude-opus-4-5`)。会覆盖提供商级别的限制。 |
966
+ | 选项 | 默认值 | 说明 |
967
+ | --------------------- | ------ | ----------------------------------------------------------------------------------------------------- |
968
+ | `defaultConcurrency` | - | 所有提供商/模型的默认最大并发后台任务数 |
969
+ | `providerConcurrency` | - | 按提供商设置并发限制。键是提供商名称(例如:`anthropic`、`openai`、`google`) |
970
+ | `modelConcurrency` | - | 按模型设置并发限制。键是完整的模型名称(例如:`anthropic/claude-opus-4-5`)。会覆盖提供商级别的限制。 |
962
971
 
963
972
  **优先级顺序**: `modelConcurrency` > `providerConcurrency` > `defaultConcurrency`
964
973
 
@@ -1036,13 +1045,13 @@ Oh My OpenCode 送你重构工具(重命名、代码操作)。
1036
1045
  }
1037
1046
  ```
1038
1047
 
1039
- | 选项 | 默认值 | 说明 |
1040
- | --------------------------------- | ------- | ---------------------------------------------------------------------------------------------------------------------------------------------- |
1041
- | `preemptive_compaction_threshold` | `0.85` | 触发预防性压缩的阈值比例(0.5-0.95)。`preemptive-compaction` 钩子默认启用;此选项用于自定义阈值。 |
1042
- | `truncate_all_tool_outputs` | `false` | 截断所有工具输出,而不仅仅是白名单工具(Grep、Glob、LSP、AST-grep)。Tool output truncator 默认启用 - 使用 `disabled_hooks` 禁用。 |
1043
- | `aggressive_truncation` | `false` | 超出 token 限制时,激进地截断工具输出以适应限制。比默认截断更激进。不够的话会回退到摘要/恢复。 |
1044
- | `auto_resume` | `false` | 从 thinking block 错误或 thinking disabled violation 成功恢复后,自动恢复会话。提取最后一条用户消息继续执行。 |
1045
- | `dcp_for_compaction` | `false` | 启用压缩用 DCP(动态上下文剪枝)- 在超出 token 限制时首先执行。在压缩前清理重复的工具调用和旧的工具输出。 |
1048
+ | 选项 | 默认值 | 说明 |
1049
+ | --------------------------------- | ------- | ---------------------------------------------------------------------------------------------------------------------------------- |
1050
+ | `preemptive_compaction_threshold` | `0.85` | 触发预防性压缩的阈值比例(0.5-0.95)。`preemptive-compaction` 钩子默认启用;此选项用于自定义阈值。 |
1051
+ | `truncate_all_tool_outputs` | `false` | 截断所有工具输出,而不仅仅是白名单工具(Grep、Glob、LSP、AST-grep)。Tool output truncator 默认启用 - 使用 `disabled_hooks` 禁用。 |
1052
+ | `aggressive_truncation` | `false` | 超出 token 限制时,激进地截断工具输出以适应限制。比默认截断更激进。不够的话会回退到摘要/恢复。 |
1053
+ | `auto_resume` | `false` | 从 thinking block 错误或 thinking disabled violation 成功恢复后,自动恢复会话。提取最后一条用户消息继续执行。 |
1054
+ | `dcp_for_compaction` | `false` | 启用压缩用 DCP(动态上下文剪枝)- 在超出 token 限制时首先执行。在压缩前清理重复的工具调用和旧的工具输出。 |
1046
1055
 
1047
1056
  **警告**:这些功能是实验性的,可能会导致意外行为。只有在理解其影响的情况下才启用。
1048
1057
 
package/dist/cli/index.js CHANGED
@@ -2657,7 +2657,7 @@ var require_napi = __commonJS((exports, module) => {
2657
2657
  var require_package = __commonJS((exports, module) => {
2658
2658
  module.exports = {
2659
2659
  name: "oh-my-opencode",
2660
- version: "2.14.1",
2660
+ version: "3.0.0-beta.4",
2661
2661
  description: "The Best AI Agent Harness - Batteries-Included OpenCode Plugin with Multi-Model Orchestration, Parallel Background Agents, and Crafted LSP/AST Tools",
2662
2662
  main: "dist/index.js",
2663
2663
  types: "dist/index.d.ts",
@@ -6885,7 +6885,7 @@ function detectConfigFile(basePath) {
6885
6885
  // src/shared/opencode-config-dir.ts
6886
6886
  import { existsSync as existsSync2 } from "fs";
6887
6887
  import { homedir as homedir2 } from "os";
6888
- import { join as join3 } from "path";
6888
+ import { join as join3, resolve } from "path";
6889
6889
  var TAURI_APP_IDENTIFIER = "ai.opencode.desktop";
6890
6890
  var TAURI_APP_IDENTIFIER_DEV = "ai.opencode.desktop.dev";
6891
6891
  function isDevBuild(version) {
@@ -6910,6 +6910,10 @@ function getTauriConfigDir(identifier) {
6910
6910
  }
6911
6911
  }
6912
6912
  function getCliConfigDir() {
6913
+ const envConfigDir = process.env.OPENCODE_CONFIG_DIR?.trim();
6914
+ if (envConfigDir) {
6915
+ return resolve(envConfigDir);
6916
+ }
6913
6917
  if (process.platform === "win32") {
6914
6918
  const crossPlatformDir = join3(homedir2(), ".config", "opencode");
6915
6919
  const crossPlatformConfig = join3(crossPlatformDir, "opencode.json");
@@ -7807,7 +7811,7 @@ async function install(args) {
7807
7811
  // node_modules/@opencode-ai/sdk/dist/gen/core/serverSentEvents.gen.js
7808
7812
  var createSseClient = ({ onSseError, onSseEvent, responseTransformer, responseValidator, sseDefaultRetryDelay, sseMaxRetryAttempts, sseMaxRetryDelay, sseSleepFn, url, ...options }) => {
7809
7813
  let lastEventId;
7810
- const sleep = sseSleepFn ?? ((ms) => new Promise((resolve) => setTimeout(resolve, ms)));
7814
+ const sleep = sseSleepFn ?? ((ms) => new Promise((resolve2) => setTimeout(resolve2, ms)));
7811
7815
  const createStream = async function* () {
7812
7816
  let retryDelay = sseDefaultRetryDelay ?? 3000;
7813
7817
  let attempt = 0;
@@ -9181,7 +9185,7 @@ async function createOpencodeServer(options) {
9181
9185
  OPENCODE_CONFIG_CONTENT: JSON.stringify(options.config ?? {})
9182
9186
  }
9183
9187
  });
9184
- const url = await new Promise((resolve, reject) => {
9188
+ const url = await new Promise((resolve2, reject) => {
9185
9189
  const id = setTimeout(() => {
9186
9190
  reject(new Error(`Timeout waiting for server to start after ${options.timeout}ms`));
9187
9191
  }, options.timeout);
@@ -9197,7 +9201,7 @@ async function createOpencodeServer(options) {
9197
9201
  throw new Error(`Failed to parse server url from output: ${line}`);
9198
9202
  }
9199
9203
  clearTimeout(id);
9200
- resolve(match[1]);
9204
+ resolve2(match[1]);
9201
9205
  return;
9202
9206
  }
9203
9207
  }
@@ -9564,7 +9568,7 @@ Sending prompt...`));
9564
9568
  console.log(import_picocolors5.default.dim(`Waiting for completion...
9565
9569
  `));
9566
9570
  while (!abortController.signal.aborted) {
9567
- await new Promise((resolve) => setTimeout(resolve, POLL_INTERVAL_MS));
9571
+ await new Promise((resolve2) => setTimeout(resolve2, POLL_INTERVAL_MS));
9568
9572
  if (!eventState.mainSessionIdle) {
9569
9573
  continue;
9570
9574
  }
@@ -24,7 +24,7 @@ interface ChatMessageOutput {
24
24
  parts: OutputPart[];
25
25
  }
26
26
  export declare function createContextInjectorHook(collector: ContextCollector): {
27
- "chat.message": (_input: ChatMessageInput, _output: ChatMessageOutput) => Promise<void>;
27
+ "chat.message": (input: ChatMessageInput, output: ChatMessageOutput) => Promise<void>;
28
28
  };
29
29
  interface MessageWithParts {
30
30
  info: Message;
@@ -1,8 +1,9 @@
1
1
  import type { PluginInput } from "@opencode-ai/plugin";
2
+ import type { ContextCollector } from "../../features/context-injector";
2
3
  export * from "./detector";
3
4
  export * from "./constants";
4
5
  export * from "./types";
5
- export declare function createKeywordDetectorHook(ctx: PluginInput): {
6
+ export declare function createKeywordDetectorHook(ctx: PluginInput, collector?: ContextCollector): {
6
7
  "chat.message": (input: {
7
8
  sessionID: string;
8
9
  agent?: string;
@@ -1,6 +1,6 @@
1
1
  export declare const HOOK_NAME = "prometheus-md-only";
2
2
  export declare const PROMETHEUS_AGENTS: string[];
3
3
  export declare const ALLOWED_EXTENSIONS: string[];
4
- export declare const ALLOWED_PATH_PREFIX = ".sisyphus/";
4
+ export declare const ALLOWED_PATH_PREFIX = ".sisyphus";
5
5
  export declare const BLOCKED_TOOLS: string[];
6
6
  export declare const PLANNING_CONSULT_WARNING = "\n\n---\n\n[SYSTEM DIRECTIVE - READ-ONLY PLANNING CONSULTATION]\n\nYou are being invoked by Prometheus (Planner), a READ-ONLY planning agent.\n\n**CRITICAL CONSTRAINTS:**\n- DO NOT modify any files (no Write, Edit, or any file mutations)\n- DO NOT execute commands that change system state\n- DO NOT create, delete, or rename files\n- ONLY provide analysis, recommendations, and information\n\n**YOUR ROLE**: Provide consultation, research, and analysis to assist with planning.\nReturn your findings and recommendations. The actual implementation will be handled separately after planning is complete.\n\n---\n\n";
@@ -1,6 +1,6 @@
1
1
  import type { PluginInput } from "@opencode-ai/plugin";
2
2
  export * from "./constants";
3
- export declare function createPrometheusMdOnlyHook(_ctx: PluginInput): {
3
+ export declare function createPrometheusMdOnlyHook(ctx: PluginInput): {
4
4
  "tool.execute.before": (input: {
5
5
  tool: string;
6
6
  sessionID: string;