oh-my-opencode-slim 2.1.1 → 2.2.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-JP.md +13 -12
- package/README.ko-KR.md +13 -12
- package/README.md +29 -16
- package/README.zh-CN.md +13 -12
- package/dist/agents/index.d.ts +0 -4
- package/dist/cli/index.js +49 -6
- package/dist/config/constants.d.ts +10 -0
- package/dist/config/schema.d.ts +680 -2
- package/dist/config/strip-orchestrator-model.d.ts +9 -0
- package/dist/hooks/command-hook-utils.d.ts +5 -0
- package/dist/hooks/foreground-fallback/index.d.ts +40 -28
- package/dist/hooks/image-hook.d.ts +1 -0
- package/dist/hooks/index.d.ts +1 -1
- package/dist/index.js +1871 -326
- package/dist/interview/document.d.ts +2 -1
- package/dist/interview/ui.d.ts +0 -1
- package/dist/multiplexer/cmux/close-policy.d.ts +20 -0
- package/dist/multiplexer/cmux/index.d.ts +102 -0
- package/dist/multiplexer/cmux/session-lifecycle.d.ts +92 -0
- package/dist/multiplexer/cmux/session-state.d.ts +45 -0
- package/dist/multiplexer/factory.d.ts +0 -9
- package/dist/multiplexer/herdr/index.d.ts +2 -0
- package/dist/multiplexer/index.d.ts +3 -1
- package/dist/multiplexer/session-manager.d.ts +10 -2
- package/dist/multiplexer/shared.d.ts +8 -1
- package/dist/multiplexer/types.d.ts +5 -2
- package/dist/tools/smartfetch/utils.d.ts +3 -1
- package/dist/tui-state.d.ts +5 -5
- package/dist/tui.js +86 -20
- package/dist/utils/escape-html.d.ts +1 -0
- package/dist/utils/frontmatter.d.ts +6 -0
- package/dist/utils/index.d.ts +1 -1
- package/dist/utils/logger.d.ts +0 -2
- package/oh-my-opencode-slim.schema.json +717 -2
- package/package.json +1 -1
- package/src/skills/clonedeps/SKILL.md +32 -29
- package/src/skills/codemap.md +7 -3
- package/src/skills/deepwork/SKILL.md +17 -6
- package/src/skills/verification-planning/SKILL.md +103 -0
- package/src/skills/worktrees/SKILL.md +14 -7
package/README.ja-JP.md
CHANGED
|
@@ -32,19 +32,13 @@ oh-my-opencode-slim は OpenCode 向けのエージェントオーケストレ
|
|
|
32
32
|
|
|
33
33
|
各エージェントについて知りたい場合は **[Meet the Pantheon](#meet-the-pantheon)** を参照してください。機能の全体像は下記の **[Features & Workflows](#features-and-workflows)** をご覧ください。
|
|
34
34
|
|
|
35
|
-
###
|
|
35
|
+
### OpenAI GPT-5.6
|
|
36
36
|
|
|
37
37
|
<p align="center">
|
|
38
|
-
<
|
|
39
|
-
<img src="img/lazyskills-wide.svg" alt="LazySkills" width="720">
|
|
40
|
-
</a>
|
|
38
|
+
<img src="img/openai-gpt-5-6-pantheon.jpeg" alt="OpenAI GPT-5.6 パンテオン:Terra、Sol、Luna" width="720">
|
|
41
39
|
</p>
|
|
42
40
|
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
<p align="center">
|
|
46
|
-
<a href="https://github.com/alvinunreal/lazyskills"><b>LazySkills を見る →</b></a>
|
|
47
|
-
</p>
|
|
41
|
+
デフォルトの [OpenAI プリセット](docs/openai-preset.md) は、Terra を Orchestrator、Sol を Oracle、Luna を高速な専門レーンに割り当てます。
|
|
48
42
|
|
|
49
43
|
### ユーザーの声
|
|
50
44
|
|
|
@@ -141,7 +135,7 @@ bun run build
|
|
|
141
135
|
> バックグラウンドオーケストレーションの仕組みを理解しておくことを**推奨**します。**[Orchestrator のプロンプト](https://github.com/alvinunreal/oh-my-opencode-slim/blob/master/src/agents/orchestrator.ts#L28)** には、スケジューラーのルール、専門エージェントへのルーティングロジック、作業をバックグラウンドエージェントへ割り当てるしきい値が記述されています。`@agentName <task>` のようにサブエージェントを呼び出すことで、いつでも手動で委譲できます。
|
|
142
136
|
|
|
143
137
|
> [!TIP]
|
|
144
|
-
> バックグラウンドエージェントが現在のデフォルトワークフローになっているため、**[Multiplexer Integration](docs/multiplexer-integration.md)** を有効化して設定することを**強く推奨**します。各エージェントが専用の Tmux、Zellij または
|
|
138
|
+
> バックグラウンドエージェントが現在のデフォルトワークフローになっているため、**[Multiplexer Integration](docs/multiplexer-integration.md)** を有効化して設定することを**強く推奨**します。各エージェントが専用の Tmux、Zellij、Herdr または cmux ペインで自動的に開かれるため、Orchestrator がセッションを調整し続けている間も、専門エージェントの作業をリアルタイムで追えます。
|
|
145
139
|
|
|
146
140
|
デフォルトで生成される設定には `openai` と `opencode-go` の両方のプリセットが含まれます。
|
|
147
141
|
|
|
@@ -204,6 +198,7 @@ V2 は oh-my-opencode-slim を、スケジューラー中心のマルチエー
|
|
|
204
198
|
- **[バックグラウンドエージェント](#バックグラウンドエージェント)** - Orchestrator は専門家をバックグラウンドタスクとしてディスパッチし、タスク/セッション ID を追跡し、完了イベントを待ってから結果を整合します。
|
|
205
199
|
- **[Companion](#companion)** - 任意のフローティングデスクトップウィンドウが、並列実行中のバックグラウンド専門家を含め、現在アクティブなエージェントを表示します。
|
|
206
200
|
- **[Deepwork](#deepwork)** - 大規模、多ファイル、高リスク、または段階的なコーディング作業向けの構造化ワークフローです。永続的な計画ファイルと Oracle レビューゲートを使用します。
|
|
201
|
+
- **[検証計画](#検証計画)** - 自明でない実装の前にプロジェクト固有の証拠経路を計画し、システムをエージェントにとってより判読可能にする検証機能も扱います。
|
|
207
202
|
- **[Reflect](#reflect)** - 繰り返される作業パターンを振り返り、再利用可能な skill、エージェント、コマンド、設定ルール、プロンプトルール、プロジェクト playbook を提案します。
|
|
208
203
|
- **[Worktrees](#worktrees)** - 複雑、高リスク、または並列タスク向けに、安全プロトコル付きの隔離されたコーディング lane として Git worktree を管理します。
|
|
209
204
|
- **[oh-my-opencode-slim Skill](#oh-my-opencode-slim-skill)** - モデル、プロンプト、カスタムエージェント、MCP アクセス、プリセット、プラグイン動作を安全に調整するための同梱設定 skill です。
|
|
@@ -243,6 +238,12 @@ Deepwork は、大規模リファクタリング、多段階機能、高リス
|
|
|
243
238
|
|
|
244
239
|
いつ使うべきか、ワークフローがどのように動くかは **[Skills](docs/skills.md#deepwork)** を参照してください。
|
|
245
240
|
|
|
241
|
+
#### 検証計画
|
|
242
|
+
|
|
243
|
+
検証計画は、自明でない変更を実装する前に、その変更をどう証明するかを Orchestrator が決めるための skill です。成立させる主張を定め、プロジェクト固有の証拠経路を設計し、システムが決定的な状態をエージェントへ直接示せない場合には、小さな検証機能を作れます。不慣れな機能を扱うときは、方針を選ぶ前に Librarian に焦点を絞った調査を依頼します。
|
|
244
|
+
|
|
245
|
+
証拠経路のワークフローと安全境界は **[Skills](docs/skills.md#verification-planning)** を参照してください。
|
|
246
|
+
|
|
246
247
|
#### Reflect
|
|
247
248
|
|
|
248
249
|
Reflect は、Orchestrator が繰り返し発生するワークフロー上の摩擦から学ぶのを助けます。最近の作業と既存の資産を確認し、skill、カスタムエージェント、コマンド、設定ルール、プロンプトルール、MCP 権限変更、プロジェクト playbook の中から、最小で有用な改善を提案します。十分な証拠がない場合は、何も作成しないことを推奨します。
|
|
@@ -636,7 +637,7 @@ Worktrees は、Git worktree を `.slim/worktrees/<slug>/` 配下の安全で隔
|
|
|
636
637
|
| **[Council](docs/council.md)** | 複数のモデルを並列実行し、`@council` で 1 つの回答に統合します |
|
|
637
638
|
| **[Custom Agents](docs/configuration.md#custom-agents)** | カスタムプロンプト、モデル、MCP アクセス、Orchestrator の委譲ルールを備えた独自の専門エージェントを定義します |
|
|
638
639
|
| **[ACP Agents](docs/acp-agents.md)** | Claude Code ACP や Gemini ACP などの外部 ACP 互換エージェントを委譲可能なサブエージェントとして接続します |
|
|
639
|
-
| **[Multiplexer Integration](docs/multiplexer-integration.md)** | エージェントの動作を Tmux、Zellij や
|
|
640
|
+
| **[Multiplexer Integration](docs/multiplexer-integration.md)** | エージェントの動作を Tmux、Zellij、Herdr や cmux のペインでライブ表示します |
|
|
640
641
|
| **[Codemap](docs/codemap.md)** | 階層的なコードマップを生成し、大規模コードベースを迅速に理解します |
|
|
641
642
|
| **[Clonedeps](docs/clonedeps.md)** | 選択した依存関係のソースを ignore 済みのローカルワークスペースにクローンし、調査できるようにします |
|
|
642
643
|
| **[Worktrees](docs/worktrees.md)** | `.slim/worktrees/` lane を使い、隔離された並列または高リスクなコーディング作業を行います |
|
|
@@ -652,7 +653,7 @@ Worktrees は、Git worktree を `.slim/worktrees/<slug>/` 配下の安全で隔
|
|
|
652
653
|
| **[Configuration](docs/configuration.md)** | 設定ファイルの配置場所、JSONC サポート、プロンプトの上書き、全オプションのリファレンス |
|
|
653
654
|
| **[Background Orchestration](docs/background-orchestration.md)** | ネイティブのバックグラウンドサブエージェントを中心にした、スケジューラー優先の Orchestrator モデル |
|
|
654
655
|
| **[Maintainer Guide](docs/maintainers.md)** | Issue のトリアージルール、ラベルの意味、サポートの振り分け、リポジトリ運用ワークフロー |
|
|
655
|
-
| **[Skills](docs/skills.md)** | `simplify`、`codemap`、`clonedeps`、`deepwork`、`reflect`、`worktrees`、`oh-my-opencode-slim` などの同梱スキル |
|
|
656
|
+
| **[Skills](docs/skills.md)** | `simplify`、`codemap`、`clonedeps`、`deepwork`、`verification-planning`、`reflect`、`worktrees`、`oh-my-opencode-slim` などの同梱スキル |
|
|
656
657
|
| **[MCPs](docs/mcps.md)** | `websearch`、`context7`、`gh_grep`、およびエージェントごとの MCP 権限の仕組み |
|
|
657
658
|
| **[Tools](docs/tools.md)** | `webfetch`、LSP ツール、コード検索、フォーマッターなどの組み込みツール機能 |
|
|
658
659
|
|
package/README.ko-KR.md
CHANGED
|
@@ -32,19 +32,13 @@ oh-my-opencode-slim은 OpenCode용 에이전트 오케스트레이션 플러그
|
|
|
32
32
|
|
|
33
33
|
에이전트 자체를 살펴보려면 **[판테온 만나보기](#meet-the-pantheon)** 를 참고하세요. 전체 기능 세트는 아래의 **[기능 & 워크플로우](#features-and-workflows)** 에서 확인할 수 있습니다.
|
|
34
34
|
|
|
35
|
-
###
|
|
35
|
+
### OpenAI GPT-5.6
|
|
36
36
|
|
|
37
37
|
<p align="center">
|
|
38
|
-
<
|
|
39
|
-
<img src="img/lazyskills-wide.svg" alt="LazySkills" width="720">
|
|
40
|
-
</a>
|
|
38
|
+
<img src="img/openai-gpt-5-6-pantheon.jpeg" alt="OpenAI GPT-5.6 판테온: Terra, Sol, Luna" width="720">
|
|
41
39
|
</p>
|
|
42
40
|
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
<p align="center">
|
|
46
|
-
<a href="https://github.com/alvinunreal/lazyskills"><b>LazySkills 살펴보기 →</b></a>
|
|
47
|
-
</p>
|
|
41
|
+
기본 [OpenAI 프리셋](docs/openai-preset.md)은 Terra를 Orchestrator에, Sol을 Oracle에, Luna를 빠른 전문 레인에 매핑합니다.
|
|
48
42
|
|
|
49
43
|
### 사용자들의 말
|
|
50
44
|
|
|
@@ -139,7 +133,7 @@ bun run build
|
|
|
139
133
|
> 자동 위임이 어떻게 동작하는지 이해하는 것을 **권장**합니다. **[Orchestrator 프롬프트](https://github.com/alvinunreal/oh-my-opencode-slim/blob/master/src/agents/orchestrator.ts#L28)** 에는 위임 규칙, 전문 에이전트 라우팅 로직, 메인 에이전트가 언제 서브에이전트로 작업을 넘겨야 하는지에 대한 임계값이 포함되어 있습니다. 수동으로 위임하려면 `@agentName <task>`로 서브에이전트를 호출하면 됩니다.
|
|
140
134
|
|
|
141
135
|
> [!TIP]
|
|
142
|
-
> 이제 백그라운드 에이전트가 기본 워크플로이므로 **[Multiplexer Integration](docs/multiplexer-integration.md)** 을 활성화하고 설정하는 것을 **강력히 권장**합니다. 각 에이전트를 전용 Tmux, Zellij, 또는
|
|
136
|
+
> 이제 백그라운드 에이전트가 기본 워크플로이므로 **[Multiplexer Integration](docs/multiplexer-integration.md)** 을 활성화하고 설정하는 것을 **강력히 권장**합니다. 각 에이전트를 전용 Tmux, Zellij, Herdr 또는 cmux 창에서 자동으로 열어 주기 때문에, Orchestrator가 세션을 계속 조율하는 동안 전문 에이전트들의 작업을 실시간으로 따라볼 수 있습니다.
|
|
143
137
|
|
|
144
138
|
기본 생성 설정에는 `openai`와 `opencode-go` 프리셋이 모두 포함되어 있습니다.
|
|
145
139
|
|
|
@@ -202,6 +196,7 @@ V2는 oh-my-opencode-slim을 스케줄러 중심의 멀티 에이전트 워크
|
|
|
202
196
|
- **[백그라운드 에이전트](#백그라운드-에이전트)** - Orchestrator가 전문가를 백그라운드 작업으로 디스패치하고, 작업/세션 ID를 추적하며, 완료 이벤트를 기다린 뒤 결과를 조정합니다.
|
|
203
197
|
- **[Companion](#companion)** - 선택 사항인 플로팅 데스크톱 창이 병렬 백그라운드 전문가를 포함해 현재 활성 에이전트를 보여줍니다.
|
|
204
198
|
- **[Deepwork](#deepwork)** - 대규모, 다중 파일, 위험도가 높거나 단계적인 코딩 작업을 위한 구조화된 워크플로입니다. 지속적인 계획 파일과 Oracle 리뷰 게이트를 사용합니다.
|
|
199
|
+
- **[검증 계획](#검증-계획)** - 복잡한 구현 전에 프로젝트별 증거 경로를 계획하고, 시스템을 에이전트가 더 잘 이해할 수 있도록 검증 기능을 마련합니다.
|
|
205
200
|
- **[Reflect](#reflect)** - 반복되는 작업 패턴을 돌아보고 재사용 가능한 skill, 에이전트, 명령, 설정 규칙, 프롬프트 규칙, 프로젝트 playbook을 제안합니다.
|
|
206
201
|
- **[Worktrees](#worktrees)** - 복잡하거나 위험하거나 병렬로 진행되는 작업을 위해 Git worktree를 안전 프로토콜이 있는 격리된 코딩 lane으로 관리합니다.
|
|
207
202
|
- **[oh-my-opencode-slim Skill](#oh-my-opencode-slim-skill)** - 모델, 프롬프트, 커스텀 에이전트, MCP 접근, 프리셋, 플러그인 동작을 안전하게 조정하는 번들 설정 skill입니다.
|
|
@@ -241,6 +236,12 @@ Deepwork는 대규모 리팩터링, 다단계 기능, 위험한 아키텍처 변
|
|
|
241
236
|
|
|
242
237
|
사용 시점과 워크플로 동작 방식은 **[Skills](docs/skills.md#deepwork)** 를 참고하세요.
|
|
243
238
|
|
|
239
|
+
#### 검증 계획
|
|
240
|
+
|
|
241
|
+
검증 계획은 복잡한 변경을 구현하기 전에 그 변경이 어떻게 입증될지를 Orchestrator가 결정하도록 돕는 skill입니다. 성립해야 할 주장을 정하고 프로젝트별 증거 경로를 설계하며, 시스템이 결정적인 상태를 에이전트에게 직접 보여줄 수 없을 때는 작은 검증 기능을 만들 수 있습니다. 익숙하지 않은 기능을 다룰 때는 접근 방식을 고르기 전에 Librarian에게 집중적인 조사를 맡깁니다.
|
|
242
|
+
|
|
243
|
+
증거 경로 워크플로와 안전 경계는 **[Skills](docs/skills.md#verification-planning)** 를 참고하세요.
|
|
244
|
+
|
|
244
245
|
#### Reflect
|
|
245
246
|
|
|
246
247
|
Reflect는 Orchestrator가 반복되는 워크플로 마찰에서 배우도록 돕습니다. 최근 작업과 기존 자산을 검토한 뒤 skill, 커스텀 에이전트, 명령, 설정 규칙, 프롬프트 규칙, MCP 권한 변경, 프로젝트 playbook 중 가장 작고 유용한 개선안을 제안합니다. 근거가 부족하면 아무것도 만들지 않는 것을 권장해야 합니다.
|
|
@@ -634,7 +635,7 @@ Worktrees는 Git worktree를 `.slim/worktrees/<slug>/` 아래의 안전하고
|
|
|
634
635
|
| **[Council](docs/council.md)** | `@council`로 여러 모델을 병렬 실행하고 하나의 답변으로 종합 |
|
|
635
636
|
| **[Custom Agents](docs/configuration.md#custom-agents)** | 커스텀 프롬프트, 모델, MCP 접근, Orchestrator 위임 규칙으로 커스텀 전문 에이전트 정의 |
|
|
636
637
|
| **[ACP Agents](docs/acp-agents.md)** | Claude Code ACP 또는 Gemini ACP 같은 외부 ACP 호환 에이전트를 위임 가능한 서브에이전트로 연결 |
|
|
637
|
-
| **[Multiplexer Integration](docs/multiplexer-integration.md)** | Tmux, Zellij, 또는
|
|
638
|
+
| **[Multiplexer Integration](docs/multiplexer-integration.md)** | Tmux, Zellij, Herdr 또는 cmux 페인에서 에이전트 작업을 실시간으로 확인 |
|
|
638
639
|
| **[Codemap](docs/codemap.md)** | 계층형 코드맵을 생성하여 대규모 코드베이스를 빠르게 파악 |
|
|
639
640
|
| **[Clonedeps](docs/clonedeps.md)** | 선택한 의존성 소스를 무시된 로컬 워크스페이스에 복제하여 검사 |
|
|
640
641
|
| **[Worktrees](docs/worktrees.md)** | `.slim/worktrees/` lane을 사용해 격리된 병렬 또는 고위험 코딩 작업 수행 |
|
|
@@ -650,7 +651,7 @@ Worktrees는 Git worktree를 `.slim/worktrees/<slug>/` 아래의 안전하고
|
|
|
650
651
|
| **[Configuration](docs/configuration.md)** | 설정 파일 위치, JSONC 지원, 프롬프트 오버라이드, 전체 옵션 레퍼런스 |
|
|
651
652
|
| **[Background Orchestration](docs/background-orchestration.md)** | 네이티브 백그라운드 서브에이전트를 기반으로 한 스케줄러 우선 Orchestrator 모델 |
|
|
652
653
|
| **[Maintainer Guide](docs/maintainers.md)** | 이슈 트리아지 규칙, 라벨 의미, 지원 라우팅, 저장소 유지보수 워크플로우 |
|
|
653
|
-
| **[Skills](docs/skills.md)** | `simplify`, `codemap`, `clonedeps`, `deepwork`, `reflect`, `worktrees`, `oh-my-opencode-slim` 등 번들된 스킬 |
|
|
654
|
+
| **[Skills](docs/skills.md)** | `simplify`, `codemap`, `clonedeps`, `deepwork`, `verification-planning`, `reflect`, `worktrees`, `oh-my-opencode-slim` 등 번들된 스킬 |
|
|
654
655
|
| **[MCPs](docs/mcps.md)** | `websearch`, `context7`, `gh_grep` 및 에이전트별 MCP 권한 동작 방식 |
|
|
655
656
|
| **[Tools](docs/tools.md)** | `webfetch`, LSP 도구, 코드 검색, 포매터 등 내장 도구 기능 |
|
|
656
657
|
|
package/README.md
CHANGED
|
@@ -30,19 +30,14 @@ The main idea is simple: instead of forcing one model to do everything, the plug
|
|
|
30
30
|
|
|
31
31
|
To explore the agents themselves, see **[Meet the Pantheon](#meet-the-pantheon)**. For the full feature set, see **[Features & Workflows](#features-and-workflows)** below.
|
|
32
32
|
|
|
33
|
-
###
|
|
33
|
+
### OpenAI GPT-5.6
|
|
34
34
|
|
|
35
35
|
<p align="center">
|
|
36
|
-
<
|
|
37
|
-
<img src="img/lazyskills-wide.svg" alt="LazySkills" width="720">
|
|
38
|
-
</a>
|
|
36
|
+
<img src="img/openai-gpt-5-6-pantheon.jpeg" alt="OpenAI GPT-5.6 Pantheon: Terra, Sol, and Luna" width="100%">
|
|
39
37
|
</p>
|
|
40
38
|
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
<p align="center">
|
|
44
|
-
<a href="https://github.com/alvinunreal/lazyskills"><b>Explore LazySkills →</b></a>
|
|
45
|
-
</p>
|
|
39
|
+
The default [OpenAI preset](docs/openai-preset.md) maps Terra to Orchestrator,
|
|
40
|
+
Sol to Oracle, and Luna to the fast specialist lanes.
|
|
46
41
|
|
|
47
42
|
### What Users Say
|
|
48
43
|
|
|
@@ -137,7 +132,7 @@ Then:
|
|
|
137
132
|
> It's **recommended** to understand how background orchestration works. The **[Orchestrator prompt](https://github.com/alvinunreal/oh-my-opencode-slim/blob/master/src/agents/orchestrator.ts#L28)** contains the scheduler rules, specialist routing logic, and thresholds for when work should be assigned to background agents. You can always delegate manually by calling a subagent via: `@agentName <task>`
|
|
138
133
|
|
|
139
134
|
> [!TIP]
|
|
140
|
-
> Because background agents are now the default workflow, it is **highly recommended** to enable and configure **[Multiplexer Integration](docs/multiplexer-integration.md)**. It automatically opens each agent in a dedicated Tmux, Zellij, or
|
|
135
|
+
> Because background agents are now the default workflow, it is **highly recommended** to enable and configure **[Multiplexer Integration](docs/multiplexer-integration.md)**. It automatically opens each agent in a dedicated Tmux, Zellij, Herdr, or cmux pane, so you can watch specialists work live while the Orchestrator continues coordinating the session.
|
|
141
136
|
|
|
142
137
|
The default generated configuration includes both `openai` and `opencode-go` presets.
|
|
143
138
|
|
|
@@ -214,6 +209,9 @@ verification while specialists do the work in their own lanes.
|
|
|
214
209
|
agents are currently active, including parallel background specialists.
|
|
215
210
|
- **[Deepwork](#deepwork)** - a structured workflow for large, multi-file, risky,
|
|
216
211
|
or phased coding work using persistent plan files and Oracle review gates.
|
|
212
|
+
- **[Verification Planning](#verification-planning)** - plans a project-specific
|
|
213
|
+
evidence path before non-trivial implementation, including verification
|
|
214
|
+
affordances when the system needs to become more legible to an agent.
|
|
217
215
|
- **[Reflect](#reflect)** - reviews repeated work patterns and suggests reusable skills,
|
|
218
216
|
agents, commands, config rules, prompt rules, or project playbooks.
|
|
219
217
|
- **[Worktrees](#worktrees)** - manages Git worktrees as isolated coding lanes
|
|
@@ -228,7 +226,7 @@ V2 makes background specialists the default mental model: the Orchestrator plans
|
|
|
228
226
|
the work graph, launches the right agents, avoids overlapping write ownership,
|
|
229
227
|
and waits for terminal task results before acting on them.
|
|
230
228
|
|
|
231
|
-
See **[Background Orchestration](docs/
|
|
229
|
+
See **[Background Orchestration](docs/background-orchestration.md)** for the
|
|
232
230
|
full scheduler model.
|
|
233
231
|
|
|
234
232
|
#### Companion
|
|
@@ -268,6 +266,18 @@ Start it with:
|
|
|
268
266
|
See **[Skills](docs/skills.md#deepwork)** for when to use it and how the workflow
|
|
269
267
|
runs.
|
|
270
268
|
|
|
269
|
+
#### Verification Planning
|
|
270
|
+
|
|
271
|
+
Verification Planning gives the Orchestrator a way to decide how a non-trivial
|
|
272
|
+
change will be proven before implementation begins. It frames the claim, designs
|
|
273
|
+
project-specific evidence paths, and can create a small verification affordance
|
|
274
|
+
when the system cannot directly reveal the decisive state to an agent. For
|
|
275
|
+
unfamiliar capabilities, it asks the Librarian for focused research before
|
|
276
|
+
choosing an approach.
|
|
277
|
+
|
|
278
|
+
See **[Skills](docs/skills.md#verification-planning)** for the evidence-path
|
|
279
|
+
workflow and its safety boundaries.
|
|
280
|
+
|
|
271
281
|
#### Reflect
|
|
272
282
|
|
|
273
283
|
Reflect helps the Orchestrator learn from repeated workflow friction. It reviews
|
|
@@ -619,7 +629,7 @@ rules.
|
|
|
619
629
|
### Observer: The Silent Witness
|
|
620
630
|
|
|
621
631
|
> [!NOTE]
|
|
622
|
-
> **Why a separate agent?** If your Orchestrator model is not multimodal, enable Observer to handle images, screenshots,
|
|
632
|
+
> **Why a separate agent?** If your Orchestrator model is not multimodal, enable Observer to handle images, screenshots, and other visual files. Observer is disabled by default and gives the Orchestrator a dedicated multimodal reader without forcing you to change your main reasoning model. Set `disabled_agents: []` and an `observer` model in your configuration. The bundled `opencode-go` install preset does this automatically because its GLM Orchestrator is not multimodal. Omitting `image_routing` preserves existing conditional Observer behavior. Set `image_routing: "auto"` only when Observer is enabled, or `"direct"` to always pass image attachments to the Orchestrator.
|
|
623
633
|
|
|
624
634
|
<table>
|
|
625
635
|
<tr>
|
|
@@ -633,7 +643,7 @@ rules.
|
|
|
633
643
|
|
|
634
644
|
- Images, screenshots, diagrams → `read` tool (native image support)
|
|
635
645
|
- PDFs and binary documents → `read` tool (text + structure extraction)
|
|
636
|
-
- **Disabled by default** - enable with `"disabled_agents": []` and configure a vision-capable model; installing with `--preset=opencode-go` enables it with `opencode-go/kimi-k2.6`
|
|
646
|
+
- **Disabled by default** - enable with `"disabled_agents": []` and configure a vision-capable model; installing with `--preset=opencode-go` enables it with `opencode-go/kimi-k2.6`. Image attachments route to Observer by default when it is enabled; set `"image_routing": "direct"` to keep them on the Orchestrator.
|
|
637
647
|
|
|
638
648
|
</td>
|
|
639
649
|
</tr>
|
|
@@ -669,7 +679,7 @@ Use this section as a map: start with installation, then jump to features, confi
|
|
|
669
679
|
| **[Council](docs/council.md)** | Run multiple models in parallel and synthesize a single answer with `@council` |
|
|
670
680
|
| **[Custom Agents](docs/configuration.md#custom-agents)** | Define your own specialists with custom prompts, models, MCP access, and Orchestrator delegation rules |
|
|
671
681
|
| **[ACP Agents](docs/acp-agents.md)** | Connect external ACP-compatible agents such as Claude Code ACP or Gemini ACP as delegatable subagents |
|
|
672
|
-
| **[Multiplexer Integration](docs/multiplexer-integration.md)** | Watch agents work live in Tmux, Zellij, or
|
|
682
|
+
| **[Multiplexer Integration](docs/multiplexer-integration.md)** | Watch agents work live in Tmux, Zellij, Herdr, or cmux panes |
|
|
673
683
|
| **[Codemap](docs/codemap.md)** | Generate hierarchical codemaps to understand large codebases faster |
|
|
674
684
|
| **[Clonedeps](docs/clonedeps.md)** | Clone selected dependency source into an ignored local workspace for inspection |
|
|
675
685
|
| **[Worktrees](docs/worktrees.md)** | Use `.slim/worktrees/` lanes for isolated parallel or risky coding work |
|
|
@@ -686,7 +696,7 @@ Use this section as a map: start with installation, then jump to features, confi
|
|
|
686
696
|
| **[Project Customization](docs/project-local-customization.md)** | Repository-specific custom agents, prompt overrides, per-agent skills, and precedence |
|
|
687
697
|
| **[Background Orchestration](docs/background-orchestration.md)** | Scheduler-first orchestrator model built around native background subagents |
|
|
688
698
|
| **[Maintainer Guide](docs/maintainers.md)** | Issue triage rules, label meanings, support routing, and repo maintenance workflow |
|
|
689
|
-
| **[Skills](docs/skills.md)** | Bundled skills such as `simplify`, `codemap`, `clonedeps`, `deepwork`, `reflect`, `worktrees`, and `oh-my-opencode-slim` |
|
|
699
|
+
| **[Skills](docs/skills.md)** | Bundled skills such as `simplify`, `codemap`, `clonedeps`, `deepwork`, `verification-planning`, `reflect`, `worktrees`, and `oh-my-opencode-slim` |
|
|
690
700
|
| **[MCPs](docs/mcps.md)** | `websearch`, `context7`, `gh_grep`, and how MCP permissions work per agent |
|
|
691
701
|
| **[Tools](docs/tools.md)** | Built-in tool capabilities like `webfetch`, LSP tools, code search, and formatters |
|
|
692
702
|
|
|
@@ -707,7 +717,7 @@ Use this section as a map: start with installation, then jump to features, confi
|
|
|
707
717
|
<p><sub>Every merged contribution leaves a mark on the realm.</sub></p>
|
|
708
718
|
|
|
709
719
|
<!-- ALL-CONTRIBUTORS-BADGE:START - Do not remove or modify this section -->
|
|
710
|
-
[](#contributors-)
|
|
711
721
|
<!-- ALL-CONTRIBUTORS-BADGE:END -->
|
|
712
722
|
</div>
|
|
713
723
|
|
|
@@ -816,6 +826,9 @@ Use this section as a map: start with installation, then jump to features, confi
|
|
|
816
826
|
</tr>
|
|
817
827
|
<tr>
|
|
818
828
|
<td align="center" valign="top" width="16.66%"><a href="https://github.com/Jiajun0413"><img src="https://avatars.githubusercontent.com/u/184531967?v=4?s=100" width="100px;" alt="Liu Jiajun"/><br /><sub><b>Liu Jiajun</b></sub></a><br /><a href="https://github.com/alvinunreal/oh-my-opencode-slim/commits?author=Jiajun0413" title="Code">💻</a></td>
|
|
829
|
+
<td align="center" valign="top" width="16.66%"><a href="https://github.com/umi008"><img src="https://avatars.githubusercontent.com/u/200843810?v=4?s=100" width="100px;" alt="Ulises Millán"/><br /><sub><b>Ulises Millán</b></sub></a><br /><a href="https://github.com/alvinunreal/oh-my-opencode-slim/commits?author=umi008" title="Code">💻</a></td>
|
|
830
|
+
<td align="center" valign="top" width="16.66%"><a href="https://github.com/HighColdHC"><img src="https://avatars.githubusercontent.com/u/35870222?v=4?s=100" width="100px;" alt="HighColdHC"/><br /><sub><b>HighColdHC</b></sub></a><br /><a href="https://github.com/alvinunreal/oh-my-opencode-slim/commits?author=HighColdHC" title="Code">💻</a></td>
|
|
831
|
+
<td align="center" valign="top" width="16.66%"><a href="https://hardcore.engineer/about"><img src="https://avatars.githubusercontent.com/u/401815?v=4?s=100" width="100px;" alt="Stephan Schielke"/><br /><sub><b>Stephan Schielke</b></sub></a><br /><a href="https://github.com/alvinunreal/oh-my-opencode-slim/commits?author=stephanschielke" title="Code">💻</a></td>
|
|
819
832
|
</tr>
|
|
820
833
|
</tbody>
|
|
821
834
|
</table>
|
package/README.zh-CN.md
CHANGED
|
@@ -32,19 +32,13 @@ oh-my-opencode-slim 是一个用于 OpenCode 的智能体编排插件。它内
|
|
|
32
32
|
|
|
33
33
|
要了解智能体本身,请参阅 **[认识众神殿](#meet-the-pantheon)**。如需了解完整特性集,请参阅下方的 **[特性与工作流](#features-and-workflows)**。
|
|
34
34
|
|
|
35
|
-
###
|
|
35
|
+
### OpenAI GPT-5.6
|
|
36
36
|
|
|
37
37
|
<p align="center">
|
|
38
|
-
<
|
|
39
|
-
<img src="img/lazyskills-wide.svg" alt="LazySkills" width="720">
|
|
40
|
-
</a>
|
|
38
|
+
<img src="img/openai-gpt-5-6-pantheon.jpeg" alt="OpenAI GPT-5.6 众神殿:Terra、Sol 和 Luna" width="720">
|
|
41
39
|
</p>
|
|
42
40
|
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
<p align="center">
|
|
46
|
-
<a href="https://github.com/alvinunreal/lazyskills"><b>探索 LazySkills →</b></a>
|
|
47
|
-
</p>
|
|
41
|
+
默认的 [OpenAI 预设](docs/openai-preset.md) 将 Terra 映射为 Orchestrator、Sol 映射为 Oracle、Luna 映射为快速专家通道。
|
|
48
42
|
|
|
49
43
|
### 用户怎么说
|
|
50
44
|
|
|
@@ -134,7 +128,7 @@ bun run build
|
|
|
134
128
|
> **建议**了解后台编排的工作原理。**[编排者提示词 (Orchestrator prompt)](https://github.com/alvinunreal/oh-my-opencode-slim/blob/master/src/agents/orchestrator.ts#L28)** 包含调度规则、专家路由逻辑,以及何时应把工作分配给后台智能体的阈值。您始终可以通过以下方式手动委派任务:`@智能体名称 <任务内容>`
|
|
135
129
|
|
|
136
130
|
> [!TIP]
|
|
137
|
-
> 由于后台智能体现在是默认工作流,**强烈建议**启用并配置 **[Multiplexer Integration](docs/multiplexer-integration.md)**。它会自动在专用的 Tmux、Zellij 或
|
|
131
|
+
> 由于后台智能体现在是默认工作流,**强烈建议**启用并配置 **[Multiplexer Integration](docs/multiplexer-integration.md)**。它会自动在专用的 Tmux、Zellij、Herdr 或 cmux 窗格中打开每个智能体,让您在 Orchestrator 继续协调会话时,实时跟进各个专家智能体的工作。
|
|
138
132
|
|
|
139
133
|
默认生成的配置包含 `openai` 和 `opencode-go` 两个预设:
|
|
140
134
|
|
|
@@ -197,6 +191,7 @@ V2 将 oh-my-opencode-slim 变成了以调度器为核心的多智能体工作
|
|
|
197
191
|
- **[后台智能体](#后台智能体)** - Orchestrator 现在会把专家作为后台任务派发,跟踪任务/会话 ID,等待完成事件,并在继续之前整合结果。
|
|
198
192
|
- **[Companion](#companion)** - 可选的浮动桌面窗口会显示当前活跃的智能体,包括并行运行的后台专家。
|
|
199
193
|
- **[Deepwork](#deepwork)** - 面向大型、多文件、高风险或分阶段编码工作的结构化工作流,使用持久化计划文件和 Oracle 评审关卡。
|
|
194
|
+
- **[验证规划](#验证规划)** - 在非平凡实现前规划项目特定的证据路径;当系统需要更易被智能体理解时,可加入验证能力。
|
|
200
195
|
- **[Reflect](#reflect)** - 回顾重复出现的工作模式,并建议可复用的 skill、智能体、命令、配置规则、提示词规则或项目 playbook。
|
|
201
196
|
- **[Worktrees](#worktrees)** - 将 Git worktree 作为隔离编码通道管理,并为复杂、高风险或并行任务提供安全协议。
|
|
202
197
|
- **[oh-my-opencode-slim Skill](#oh-my-opencode-slim-skill)** - 随包提供的配置技能,可安全调优模型、提示词、自定义智能体、MCP 访问、预设和插件行为。
|
|
@@ -236,6 +231,12 @@ Deepwork 适用于重型编码会话:大范围重构、多阶段功能、高
|
|
|
236
231
|
|
|
237
232
|
何时使用以及工作流如何运行,请参阅 **[Skills](docs/skills.md#deepwork)**。
|
|
238
233
|
|
|
234
|
+
#### 验证规划
|
|
235
|
+
|
|
236
|
+
验证规划让 Orchestrator 在开始非平凡实现前,先决定如何证明变更有效。它会界定要成立的主张、设计项目特定的证据路径;当系统无法直接向智能体揭示决定性状态时,还可创建小型验证能力。面对不熟悉的能力时,它会在选择方案前请 Librarian 做有针对性的研究。
|
|
237
|
+
|
|
238
|
+
证据路径工作流及其安全边界见 **[Skills](docs/skills.md#verification-planning)**。
|
|
239
|
+
|
|
239
240
|
#### Reflect
|
|
240
241
|
|
|
241
242
|
Reflect 帮助 Orchestrator 从重复出现的工作流摩擦中学习。它会回顾近期工作和现有资产,然后建议最小且有用的改进:skill、自定义智能体、命令、配置规则、提示词规则、MCP 权限变更或项目 playbook。如果证据不足,它应建议什么都不创建。
|
|
@@ -629,7 +630,7 @@ Worktrees 将 Git worktree 作为安全、隔离的编码通道管理,默认
|
|
|
629
630
|
| **[Council](docs/council.md)** | 使用 `@council` 并行运行多个模型并合成单一答案 |
|
|
630
631
|
| **[自定义智能体](docs/configuration.md#custom-agents)** | 使用自定义提示词、模型、MCP 访问和 Orchestrator 委派规则定义自己的专家 |
|
|
631
632
|
| **[ACP Agents](docs/acp-agents.md)** | 将 Claude Code ACP 或 Gemini ACP 等外部 ACP 兼容智能体连接为可委派子智能体 |
|
|
632
|
-
| **[多路复用器集成](docs/multiplexer-integration.md)** | 在 Tmux、Zellij 或
|
|
633
|
+
| **[多路复用器集成](docs/multiplexer-integration.md)** | 在 Tmux、Zellij、Herdr 或 cmux 窗格中实时观看智能体工作 |
|
|
633
634
|
| **[Codemap](docs/codemap.md)** | 生成层级代码地图,更快理解大型代码库 |
|
|
634
635
|
| **[Clonedeps](docs/clonedeps.md)** | 将选定的依赖源码克隆到被忽略的本地工作区中以供检查 |
|
|
635
636
|
| **[Worktrees](docs/worktrees.md)** | 使用 `.slim/worktrees/` 通道进行隔离的并行或高风险编码工作 |
|
|
@@ -645,7 +646,7 @@ Worktrees 将 Git worktree 作为安全、隔离的编码通道管理,默认
|
|
|
645
646
|
| **[配置](docs/configuration.md)** | 配置文件位置、JSONC 支持、提示词覆盖和完整选项参考 |
|
|
646
647
|
| **[后台编排](docs/background-orchestration.md)** | 围绕原生后台子智能体构建的调度器优先 Orchestrator 模型 |
|
|
647
648
|
| **[维护者指南](docs/maintainers.md)** | issue 分流规则、标签含义、支持路由和仓库维护工作流 |
|
|
648
|
-
| **[Skills](docs/skills.md)** | `simplify`、`codemap`、`clonedeps`、`deepwork`、`reflect`、`worktrees` 和 `oh-my-opencode-slim` 等捆绑技能 |
|
|
649
|
+
| **[Skills](docs/skills.md)** | `simplify`、`codemap`、`clonedeps`、`deepwork`、`verification-planning`、`reflect`、`worktrees` 和 `oh-my-opencode-slim` 等捆绑技能 |
|
|
649
650
|
| **[MCPs](docs/mcps.md)** | `websearch`、`context7`、`gh_grep` 以及每个智能体的 MCP 权限机制 |
|
|
650
651
|
| **[Tools](docs/tools.md)** | `webfetch`、LSP 工具、代码搜索和格式化工具等内置工具能力 |
|
|
651
652
|
|
package/dist/agents/index.d.ts
CHANGED
|
@@ -29,7 +29,3 @@ export declare function getAgentConfigs(config?: PluginConfig, options?: {
|
|
|
29
29
|
* Get the set of disabled agent names from config, applying protection rules.
|
|
30
30
|
*/
|
|
31
31
|
export declare function getDisabledAgents(config?: PluginConfig): Set<string>;
|
|
32
|
-
/**
|
|
33
|
-
* Get the list of enabled (non-disabled) agent names.
|
|
34
|
-
*/
|
|
35
|
-
export declare function getEnabledAgentNames(config?: PluginConfig): string[];
|
package/dist/cli/index.js
CHANGED
|
@@ -415,6 +415,33 @@ var ManualPlanSchema = z2.object({
|
|
|
415
415
|
librarian: ManualAgentPlanSchema,
|
|
416
416
|
fixer: ManualAgentPlanSchema
|
|
417
417
|
}).strict();
|
|
418
|
+
var PermissionActionSchema = z2.enum(["ask", "allow", "deny"]);
|
|
419
|
+
var PermissionRuleSchema = z2.union([
|
|
420
|
+
PermissionActionSchema,
|
|
421
|
+
z2.record(z2.string(), PermissionActionSchema)
|
|
422
|
+
]);
|
|
423
|
+
var PermissionObjectSchema = z2.object({
|
|
424
|
+
read: PermissionRuleSchema.optional(),
|
|
425
|
+
edit: PermissionRuleSchema.optional(),
|
|
426
|
+
glob: PermissionRuleSchema.optional(),
|
|
427
|
+
grep: PermissionRuleSchema.optional(),
|
|
428
|
+
list: PermissionRuleSchema.optional(),
|
|
429
|
+
bash: PermissionRuleSchema.optional(),
|
|
430
|
+
task: PermissionRuleSchema.optional(),
|
|
431
|
+
external_directory: PermissionRuleSchema.optional(),
|
|
432
|
+
lsp: PermissionRuleSchema.optional(),
|
|
433
|
+
skill: PermissionRuleSchema.optional(),
|
|
434
|
+
todowrite: PermissionActionSchema.optional(),
|
|
435
|
+
question: PermissionActionSchema.optional(),
|
|
436
|
+
webfetch: PermissionActionSchema.optional(),
|
|
437
|
+
websearch: PermissionActionSchema.optional(),
|
|
438
|
+
codesearch: PermissionActionSchema.optional(),
|
|
439
|
+
doom_loop: PermissionActionSchema.optional()
|
|
440
|
+
}).catchall(PermissionRuleSchema);
|
|
441
|
+
var PermissionConfigSchema = z2.union([
|
|
442
|
+
PermissionActionSchema,
|
|
443
|
+
PermissionObjectSchema
|
|
444
|
+
]);
|
|
418
445
|
var AgentOverrideConfigSchema = z2.object({
|
|
419
446
|
model: z2.union([
|
|
420
447
|
z2.string(),
|
|
@@ -433,13 +460,15 @@ var AgentOverrideConfigSchema = z2.object({
|
|
|
433
460
|
prompt: z2.string().min(1).optional(),
|
|
434
461
|
orchestratorPrompt: z2.string().min(1).optional(),
|
|
435
462
|
options: z2.record(z2.string(), z2.unknown()).optional(),
|
|
436
|
-
displayName: z2.string().min(1).optional()
|
|
463
|
+
displayName: z2.string().min(1).optional(),
|
|
464
|
+
permission: PermissionConfigSchema.optional()
|
|
437
465
|
}).strict();
|
|
438
466
|
var MultiplexerTypeSchema = z2.enum([
|
|
439
467
|
"auto",
|
|
440
468
|
"tmux",
|
|
441
469
|
"zellij",
|
|
442
470
|
"herdr",
|
|
471
|
+
"cmux",
|
|
443
472
|
"none"
|
|
444
473
|
]);
|
|
445
474
|
var MultiplexerLayoutSchema = z2.enum([
|
|
@@ -485,7 +514,7 @@ var FailoverConfigSchema = z2.object({
|
|
|
485
514
|
retryDelayMs: z2.number().min(0).default(500),
|
|
486
515
|
maxRetries: z2.number().int().min(0).default(3).describe("Number of consecutive 429/rate-limit responses tolerated on the " + "same model before aborting (or swapping to the next fallback " + "model when a chain is configured)."),
|
|
487
516
|
retry_on_empty: z2.boolean().default(true).describe("When true (default), empty provider responses are treated as failures, " + "triggering fallback/retry. Set to false to treat them as successes."),
|
|
488
|
-
runtimeOverride: z2.boolean().
|
|
517
|
+
runtimeOverride: z2.boolean().optional().describe("DEPRECATED: no longer used. Previously controlled whether out-of-chain " + "runtime model picks triggered fallback. Fallback is now always " + "disabled when a user explicitly selects a model via /model.")
|
|
489
518
|
}).strict();
|
|
490
519
|
var CompanionConfigSchema = z2.object({
|
|
491
520
|
enabled: z2.boolean().optional(),
|
|
@@ -527,11 +556,13 @@ var PluginConfigSchema = z2.object({
|
|
|
527
556
|
preset: z2.string().optional(),
|
|
528
557
|
setDefaultAgent: z2.boolean().optional(),
|
|
529
558
|
compactSidebar: z2.boolean().optional().describe("Use the compact TUI sidebar layout. Defaults to true; set false to use the expanded layout."),
|
|
559
|
+
stripOrchestratorModel: z2.boolean().optional().describe("When true, omit orchestrator.model and orchestrator.variant from the SDK config so OpenCode uses the session model selected with /model after subagent dispatch. An explicitly selected preset that sets orchestrator.model is preserved. Defaults to false."),
|
|
530
560
|
autoUpdate: z2.boolean().optional().describe("Disable automatic installation of plugin updates when false. Defaults to true."),
|
|
531
561
|
presets: z2.record(z2.string(), PresetSchema).optional(),
|
|
532
562
|
agents: z2.record(z2.string(), AgentOverrideConfigSchema).optional(),
|
|
533
563
|
disabled_agents: z2.array(z2.string()).optional().describe("Agent names to disable completely. " + "Disabled agents are not instantiated and cannot be delegated to. " + "Orchestrator and council internal agents (councillor) cannot be disabled. " + "By default, 'observer' is disabled. Remove it from this list and configure a vision-capable model to enable."),
|
|
534
|
-
|
|
564
|
+
image_routing: z2.enum(["auto", "direct"]).optional().describe("How image attachments are handled. " + "When omitted, preserves legacy conditional behavior: intercept " + 'attachments only when observer is enabled. "auto": requires ' + "observer to be enabled and saves attachments to disk before " + 'nudging delegation to @observer. "direct": always passes ' + "attachments to the orchestrator untouched."),
|
|
565
|
+
disabled_mcps: z2.array(z2.string()).optional().describe("MCP server names to disable completely. Disabled servers are not " + "started and cannot be used by agents."),
|
|
535
566
|
disabled_tools: z2.array(z2.string()).optional().describe("Tool names to disable completely. Disabled tools are not registered with OpenCode and cannot be used by agents."),
|
|
536
567
|
disabled_skills: z2.array(z2.string()).optional().describe("Skill names to disable completely. Disabled skills are not granted to agents, even when referenced by presets or agent overrides."),
|
|
537
568
|
multiplexer: MultiplexerConfigSchema.optional(),
|
|
@@ -595,6 +626,12 @@ var CUSTOM_SKILLS = [
|
|
|
595
626
|
allowedAgents: ["orchestrator"],
|
|
596
627
|
sourcePath: "src/skills/deepwork"
|
|
597
628
|
},
|
|
629
|
+
{
|
|
630
|
+
name: "verification-planning",
|
|
631
|
+
description: "Plan credible, proportionate evidence before non-trivial implementation",
|
|
632
|
+
allowedAgents: ["orchestrator"],
|
|
633
|
+
sourcePath: "src/skills/verification-planning"
|
|
634
|
+
},
|
|
598
635
|
{
|
|
599
636
|
name: "reflect",
|
|
600
637
|
description: "Review repeated work and suggest reusable workflow improvements",
|
|
@@ -2757,7 +2794,9 @@ async function installCompanionArchive(finalBinaryPath, target, manifest, downlo
|
|
|
2757
2794
|
if (tempDir) {
|
|
2758
2795
|
try {
|
|
2759
2796
|
rmSync3(tempDir, { recursive: true, force: true });
|
|
2760
|
-
} catch {
|
|
2797
|
+
} catch (err) {
|
|
2798
|
+
log("[updater] install cleanup failed", String(err));
|
|
2799
|
+
}
|
|
2761
2800
|
}
|
|
2762
2801
|
}
|
|
2763
2802
|
}
|
|
@@ -2767,7 +2806,9 @@ function readInstallMetadata(binaryPath) {
|
|
|
2767
2806
|
if (parsed?.version && parsed.tag && parsed.target) {
|
|
2768
2807
|
return parsed;
|
|
2769
2808
|
}
|
|
2770
|
-
} catch {
|
|
2809
|
+
} catch (err) {
|
|
2810
|
+
log("[updater] metadata read failed", String(err));
|
|
2811
|
+
}
|
|
2771
2812
|
return null;
|
|
2772
2813
|
}
|
|
2773
2814
|
function writeInstallMetadata(binaryPath, metadata) {
|
|
@@ -2789,7 +2830,9 @@ async function withCompanionInstallLock(binaryPath, timeoutMs, staleMs, run) {
|
|
|
2789
2830
|
} finally {
|
|
2790
2831
|
try {
|
|
2791
2832
|
rmSync3(lock, { recursive: true, force: true });
|
|
2792
|
-
} catch {
|
|
2833
|
+
} catch (err) {
|
|
2834
|
+
log("[updater] lock release failed", String(err));
|
|
2835
|
+
}
|
|
2793
2836
|
}
|
|
2794
2837
|
} catch (err) {
|
|
2795
2838
|
const code = err.code;
|
|
@@ -26,3 +26,13 @@ export declare const STABLE_POLLS_THRESHOLD = 3;
|
|
|
26
26
|
/** Agents that are disabled by default. Users must explicitly enable them
|
|
27
27
|
* by removing from disabled_agents and configuring an appropriate model. */
|
|
28
28
|
export declare const DEFAULT_DISABLED_AGENTS: string[];
|
|
29
|
+
export declare const DEFAULT_MAX_SESSIONS_PER_AGENT = 2;
|
|
30
|
+
export declare const DEFAULT_READ_CONTEXT_MIN_LINES = 10;
|
|
31
|
+
export declare const DEFAULT_READ_CONTEXT_MAX_FILES = 8;
|
|
32
|
+
export type ImageRouting = 'auto' | 'direct';
|
|
33
|
+
/**
|
|
34
|
+
* Used when image_routing is omitted, preserving legacy conditional Observer
|
|
35
|
+
* routing. Explicit "auto" is validated separately after config layers merge.
|
|
36
|
+
*/
|
|
37
|
+
export declare const DEFAULT_IMAGE_ROUTING: ImageRouting;
|
|
38
|
+
export declare function resolveImageRouting(imageRouting: ImageRouting | undefined): ImageRouting;
|