@kyo-so/cli 0.9.0 → 0.10.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/CHANGELOG.md +71 -0
- package/README.ja.md +225 -123
- package/README.md +225 -126
- package/README.zh-CN.md +225 -123
- package/dist/acp/AcpAgentProcess.d.ts +2 -1
- package/dist/acp/FakeAgentManager.d.ts +1 -1
- package/dist/bin/kyoso.js +35895 -34770
- package/dist/cli/openRouterAcpSmoke.d.ts +25 -0
- package/dist/cli/pluginRuntimeContract.d.ts +4 -4
- package/dist/cli/setup.d.ts +3 -2
- package/dist/config/loadConfig.d.ts +19 -0
- package/dist/config/projectScope.d.ts +1 -1
- package/dist/config/schema.d.ts +9 -0
- package/dist/core/constants.d.ts +1 -1
- package/dist/core/types.d.ts +1 -0
- package/dist/index.js +580 -111
- package/dist/utils/env.d.ts +13 -0
- package/examples/codex-config.toml +4 -1
- package/examples/kyoso.toml +14 -0
- package/package.json +4 -3
package/CHANGELOG.md
CHANGED
|
@@ -7,6 +7,77 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
7
7
|
|
|
8
8
|
## [Unreleased]
|
|
9
9
|
|
|
10
|
+
## [0.10.0] - 2026-07-15
|
|
11
|
+
|
|
12
|
+
### Added
|
|
13
|
+
|
|
14
|
+
- User-authorized project-scoped `agents.codex.provider = "openrouter"` and
|
|
15
|
+
inherited OpenRouter model overrides, with a required non-empty Codex model
|
|
16
|
+
for provider selection and a user-global exact absolute-directory
|
|
17
|
+
`allowProjectProvider` allowlist,
|
|
18
|
+
a `provider = "default"` project opt-out that clears an inherited OpenRouter
|
|
19
|
+
model unless the reset layer supplies one, and a fixed OpenRouter Responses
|
|
20
|
+
API preset.
|
|
21
|
+
- OpenRouter readiness in `kyoso doctor`, including detected/missing key
|
|
22
|
+
guidance without exposing credential values.
|
|
23
|
+
- `kyoso setup --with-openrouter` for explicit `OPENROUTER_API_KEY` forwarding
|
|
24
|
+
in newly generated manual Codex and Claude Code MCP registrations. New Codex
|
|
25
|
+
registrations also include `CODEX_HOME` and `CODEX_ACCESS_TOKEN` alongside
|
|
26
|
+
the existing credential allowlist.
|
|
27
|
+
- A release-gated pinned Codex ACP/OpenRouter smoke command that requires an
|
|
28
|
+
explicit environment opt-in and never accepts credentials through argv.
|
|
29
|
+
|
|
30
|
+
### Changed
|
|
31
|
+
|
|
32
|
+
- Forward `OPENROUTER_API_KEY` to the Codex child only for the OpenRouter
|
|
33
|
+
provider; omit the provider to retain existing Codex login, OpenAI/Codex key,
|
|
34
|
+
and `CODEX_CONFIG` behavior.
|
|
35
|
+
- Preserve existing MCP registrations during setup, including disabled entries;
|
|
36
|
+
existing users update their environment allowlist manually.
|
|
37
|
+
- Omit `OPENROUTER_API_KEY` from new manual MCP registrations unless
|
|
38
|
+
`--with-openrouter` is explicitly requested.
|
|
39
|
+
- Keep the released Marketplace Plugin environment contract unchanged: it does
|
|
40
|
+
not forward `OPENROUTER_API_KEY` until a later coordinated Plugin
|
|
41
|
+
promotion.
|
|
42
|
+
|
|
43
|
+
### Fixed
|
|
44
|
+
|
|
45
|
+
- Require the explicit `--set` provider and model pair when direct CLI input
|
|
46
|
+
selects OpenRouter, preventing a project-supplied model from completing that
|
|
47
|
+
external-routing selection.
|
|
48
|
+
- Resolve existing project allowlist directories by real path and document
|
|
49
|
+
intentional preflight-only audit completion events.
|
|
50
|
+
|
|
51
|
+
## [0.9.1] - 2026-07-13
|
|
52
|
+
|
|
53
|
+
### Added
|
|
54
|
+
|
|
55
|
+
- Claude Code Marketplace Plugin distribution with a shared Kyoso Skill and
|
|
56
|
+
version-pinned local stdio MCP server.
|
|
57
|
+
- Best-effort post-publish reminders when either Plugin CLI pin lags the
|
|
58
|
+
released CLI version.
|
|
59
|
+
|
|
60
|
+
### Changed
|
|
61
|
+
|
|
62
|
+
- Move the Codex Plugin MCP definition to
|
|
63
|
+
`plugins/kyoso/.codex-plugin/mcp.json` so it cannot be auto-discovered by
|
|
64
|
+
Claude Code as a Plugin-root `.mcp.json`.
|
|
65
|
+
- Document opt-in per-tool approval settings for avoiding Kyoso rejections in
|
|
66
|
+
Codex Auto mode, including the risk of sending selected code and review
|
|
67
|
+
context to configured external model providers. The Plugin keeps approvals
|
|
68
|
+
disabled by default.
|
|
69
|
+
- Update the default `@agentclientprotocol/claude-agent-acp` adapter from
|
|
70
|
+
`0.57.0` to `0.58.1` for resumed-session model preservation, cancelled-turn
|
|
71
|
+
usage reporting, and streamed-thinking robustness.
|
|
72
|
+
- Update `@modelcontextprotocol/server` from `2.0.0-beta.2` to
|
|
73
|
+
`2.0.0-beta.3`, restoring legacy `CallToolResult` parsing tolerance and
|
|
74
|
+
incorporating transport and authentication validation fixes.
|
|
75
|
+
|
|
76
|
+
### Fixed
|
|
77
|
+
|
|
78
|
+
- Updated the pinned Codex ACP adapter to `1.1.2`, whose bundled Codex model
|
|
79
|
+
catalog advertises reasoning-effort options for `gpt-5.6` family models.
|
|
80
|
+
|
|
10
81
|
## [0.9.0] - 2026-07-11
|
|
11
82
|
|
|
12
83
|
### Added
|
package/README.ja.md
CHANGED
|
@@ -30,36 +30,31 @@ Kyoso はコード変更を適用しません。
|
|
|
30
30
|
<img src="https://raw.githubusercontent.com/hokupod/kyoso/main/docs/assets/kyoso-review-flow.ja.svg" alt="Kyo-so のレビュー実行フロー。MCP/CLI リクエストから secret scan、スナップショット、アンサンブルレビュー、集約、ゲート、最終決定まで" width="640">
|
|
31
31
|
</p>
|
|
32
32
|
|
|
33
|
-
backend が 1 つだけ有効な場合は、2 role の ensemble の代わりに 1 agent が `combined_reviewer`
|
|
33
|
+
backend が 1 つだけ有効な場合は、2 role の ensemble の代わりに 1 agent が `combined_reviewer` として実行されます([Single-backend mode](#single-backend-mode) を参照)。この図の Mermaid ソースは [docs/assets/](docs/assets/) にあります。
|
|
34
34
|
|
|
35
35
|
## Quick Start
|
|
36
36
|
|
|
37
|
-
グローバルインストールは不要です。Kyoso は `npx` または `bunx`
|
|
37
|
+
グローバルインストールは不要です。Kyoso は `npx` または `bunx` で実行します。パッケージ化された CLI を実行するには Node.js 20 以降が必要です。
|
|
38
38
|
|
|
39
39
|
### 導入モード
|
|
40
40
|
|
|
41
41
|
| モード | 導入物 | MCP | 対象 |
|
|
42
42
|
| ------------------ | ------------------------ | ---: | ------------------ |
|
|
43
|
-
| Marketplace Plugin | Skill+ローカルstdio MCP | あり | Codex
|
|
43
|
+
| Marketplace Plugin | Skill+ローカルstdio MCP | あり | Codex/Claude Code |
|
|
44
44
|
| CLI+Skill-only | npm CLI+Skill | なし | Codex/Claude Code |
|
|
45
45
|
| 手動setup | 手動MCP登録+Skill | あり | Codex/Claude Code |
|
|
46
46
|
|
|
47
|
-
|
|
47
|
+
迷ったらMarketplace Pluginを選んでください。2コマンドでSkillとMCP serverをまとめて導入できます。手順は下の[Codex](#codex)/[Claude Code](#claude-code)節を参照してください。導入モードを後から切り替える場合は[移行](#移行)を参照してください。
|
|
48
48
|
|
|
49
|
-
|
|
50
|
-
codex plugin marketplace add hokupod/kyoso
|
|
51
|
-
codex plugin list --marketplace kyoso --available --json
|
|
52
|
-
codex plugin add kyoso@kyoso
|
|
53
|
-
codex plugin list --marketplace kyoso --json
|
|
54
|
-
```
|
|
55
|
-
|
|
56
|
-
Codex desktopのPlugins pageまたは`/plugins`からKyosoを選ぶこともできます。追加したMarketplaceが見えない場合はdesktop appをrefresh/restartしてください。削除は`codex plugin remove kyoso@kyoso`です。
|
|
49
|
+
#### Marketplace Plugin
|
|
57
50
|
|
|
58
51
|
PluginはSkillと公開済みのKyoso CLIの完全一致versionへpinしたMCP定義を同梱しますが、CLI本体は同梱しません。MCPの初回起動ではnpmへのnetwork accessが必要です。cache済みpackageでoffline起動できる場合はありますが、保証しません。manifestの`Read` capabilityは表示metadataであり、filesystem認可を追加するものではありません。
|
|
59
52
|
|
|
60
|
-
|
|
53
|
+
`kyoso setup ... --with-openrouter` の出力と手動セットアップ例は、利用者が管理するクライアント登録テンプレートであり、Marketplace Plugin の manifest を変更・定義するものではありません。Stage A では同 manifest の公開済み CLI pin と環境契約を固定し、変更は Stage B の promotion でのみ行います。
|
|
54
|
+
|
|
55
|
+
PluginのSkillは同梱の`kyoso` MCP serverをdependencyとして宣言するため、Kyoso reviewの明示的な実行はCLI fallbackではなくMCPへ誘導されます。同梱Plugin MCPを無効化した場合は、Plugin Skillを利用不可として扱います。MCPを再有効化するか、Pluginを削除してCLI+Skill-onlyへ移行してください。PluginはCLI fallback modeではありません。
|
|
61
56
|
|
|
62
|
-
|
|
57
|
+
次回のPlugin promotionまでは、公開済みMarketplace Pluginは`OPENROUTER_API_KEY`を転送しません。OpenRouterのproject opt-inには、manual MCP registrationを伴うCLI/source経路を使ってください。この制約はpromotion後に対応Plugin versionの記載へ置き換えます。
|
|
63
58
|
|
|
64
59
|
#### CLI+Skill-only
|
|
65
60
|
|
|
@@ -77,21 +72,6 @@ Claude Codeでは`codex`を`claude-code`へ置き換えます。既定はdry-run
|
|
|
77
72
|
|
|
78
73
|
Skill-onlyは意図的にMCP dependencyを宣言しません。`npx`または`bunx`のpackage-runner fallbackに到達すると、Codex Auto modeはsandbox network escalation approvalを要求することがあります。PATH上に`kyoso`を導入すると、このfallbackを避けられます。
|
|
79
74
|
|
|
80
|
-
#### 移行
|
|
81
|
-
|
|
82
|
-
- 手動MCPからCLI+Skill: CLIとSkillを先に導入し、`codex mcp remove kyoso`または`claude mcp remove kyoso --scope local|project|user`を実行します。
|
|
83
|
-
- CLI+SkillからPlugin: Pluginを追加してenabledを確認してから、手動MCP登録を削除します。手動コピーSkillは自動削除しません。
|
|
84
|
-
- PluginからCLI+Skill: CLIとSkillを先に導入し、`codex plugin remove kyoso@kyoso`を実行します。
|
|
85
|
-
- CLI+Skillから手動MCPへ戻す: `kyoso setup codex --write`または`kyoso setup claude-code --write`を実行します。
|
|
86
|
-
|
|
87
|
-
### Claude Only / Codex Only
|
|
88
|
-
|
|
89
|
-
Kyoso は Claude だけ、または Codex だけでも実行できます。利用できない backend は `kyoso.toml` で無効化してください。例は `examples/claude-only.toml` と `examples/codex-only.toml` にあります。
|
|
90
|
-
|
|
91
|
-
single-agent mode では、残った backend が `combined_reviewer` として 1 回だけ実行され、implementation と architecture/security の両方を確認します。JSON output には `reviewMode: "single_agent"` と `agentsUsed` が入り、Markdown output には cross-model verification が行われていないことと disagreements が N/A であることを表示します。
|
|
92
|
-
|
|
93
|
-
この mode では独立した cross-model validation はなく、自己レビュー bias が残ります。一方で、別プロセスの read-only review、temporary snapshots、adversarial review prompts、secret scanning、deterministic gates は利用できます。
|
|
94
|
-
|
|
95
75
|
### Claude Code
|
|
96
76
|
|
|
97
77
|
1. Claude 認証を準備します。
|
|
@@ -102,21 +82,32 @@ claude setup-token
|
|
|
102
82
|
|
|
103
83
|
このコマンドで得た `CLAUDE_CODE_OAUTH_TOKEN` を設定するか、直接 API 課金を使う場合は `ANTHROPIC_API_KEY` を設定します。
|
|
104
84
|
|
|
105
|
-
2.
|
|
85
|
+
2. Marketplace Plugin を導入します(推奨)。
|
|
86
|
+
|
|
87
|
+
```text
|
|
88
|
+
/plugin marketplace add hokupod/kyoso
|
|
89
|
+
/plugin install kyoso@kyoso
|
|
90
|
+
```
|
|
91
|
+
|
|
92
|
+
Plugin は Kyoso review Skill と、公開済み CLI version に pin したローカル stdio MCP server を導入します。Plugin で導入した場合、`kyoso setup claude-code` は不要です。
|
|
93
|
+
|
|
94
|
+
3. または、MCP を登録して review skill をインストールします。
|
|
106
95
|
|
|
107
96
|
```bash
|
|
108
97
|
npx @kyo-so/cli setup claude-code --write
|
|
109
98
|
bunx @kyo-so/cli setup claude-code --write
|
|
110
99
|
```
|
|
111
100
|
|
|
112
|
-
|
|
101
|
+
手動で MCP を登録する場合は、`examples/claude-code-mcp.json` を使用します。
|
|
102
|
+
|
|
103
|
+
4. セットアップを確認します。
|
|
113
104
|
|
|
114
105
|
```bash
|
|
115
106
|
npx @kyo-so/cli doctor
|
|
116
107
|
bunx @kyo-so/cli doctor
|
|
117
108
|
```
|
|
118
109
|
|
|
119
|
-
|
|
110
|
+
5. Claude Code からレビューを依頼します。
|
|
120
111
|
|
|
121
112
|
```text
|
|
122
113
|
Use Kyoso plan_review on this plan before implementation.
|
|
@@ -130,21 +121,32 @@ Use Kyoso plan_review on this plan before implementation.
|
|
|
130
121
|
codex login
|
|
131
122
|
```
|
|
132
123
|
|
|
133
|
-
2.
|
|
124
|
+
2. Marketplace Plugin を導入します(推奨)。
|
|
125
|
+
|
|
126
|
+
```bash
|
|
127
|
+
codex plugin marketplace add hokupod/kyoso
|
|
128
|
+
codex plugin add kyoso@kyoso
|
|
129
|
+
```
|
|
130
|
+
|
|
131
|
+
Codex desktopのPlugins pageまたは`/plugins`からKyosoを選ぶこともできます。追加したMarketplaceが見えない場合はdesktop appをrefresh/restartしてください。確認は`codex plugin list --marketplace kyoso --json`、削除は`codex plugin remove kyoso@kyoso`です。Plugin で導入した場合、`kyoso setup codex` は不要です。
|
|
132
|
+
|
|
133
|
+
Codex Auto modeでは、approvalが必要なKyoso toolの呼び出しが拒否されることがあります。個人設定で事前承認する方法は [Codex approval prompts](#codex-approval-prompts) を参照してください。
|
|
134
|
+
|
|
135
|
+
3. または、MCP を登録して review skill をインストールします。
|
|
134
136
|
|
|
135
137
|
```bash
|
|
136
138
|
npx @kyo-so/cli setup codex --write
|
|
137
139
|
bunx @kyo-so/cli setup codex --write
|
|
138
140
|
```
|
|
139
141
|
|
|
140
|
-
|
|
142
|
+
4. セットアップを確認します。
|
|
141
143
|
|
|
142
144
|
```bash
|
|
143
145
|
npx @kyo-so/cli doctor
|
|
144
146
|
bunx @kyo-so/cli doctor
|
|
145
147
|
```
|
|
146
148
|
|
|
147
|
-
|
|
149
|
+
5. Codex からレビューを依頼します。
|
|
148
150
|
|
|
149
151
|
```text
|
|
150
152
|
Use Kyoso diff_review on the current diff. I need a second opinion before merging.
|
|
@@ -152,34 +154,9 @@ Use Kyoso diff_review on the current diff. I need a second opinion before mergin
|
|
|
152
154
|
|
|
153
155
|
手動セットアップ用の例は `examples/codex-config.toml` と `examples/claude-code-mcp.json` にあります。
|
|
154
156
|
|
|
155
|
-
## Install / Run
|
|
156
|
-
|
|
157
|
-
```bash
|
|
158
|
-
npx @kyo-so/cli mcp
|
|
159
|
-
bunx @kyo-so/cli mcp
|
|
160
|
-
```
|
|
161
|
-
|
|
162
|
-
Naming note: npm パッケージは `@kyo-so/cli` (製品名 Kyo-so に対応) で、インストールされる CLI コマンドは短い `kyoso` です。
|
|
163
|
-
|
|
164
|
-
ローカル開発:
|
|
165
|
-
|
|
166
|
-
```bash
|
|
167
|
-
nix develop
|
|
168
|
-
safe-chain bun install
|
|
169
|
-
safe-chain bun run typecheck
|
|
170
|
-
safe-chain bun test
|
|
171
|
-
safe-chain bun run build
|
|
172
|
-
```
|
|
173
|
-
|
|
174
|
-
パッケージ化された CLI を実行するには Node.js 20 以降が必要です。
|
|
175
|
-
|
|
176
|
-
Nix dev shell は Node.js 24 と nixpkgs が提供する Bun version を固定します。`.envrc` を確認してから `direnv allow` を一度実行すると、自動で shell を読み込めます。CI は Bun 1.3.14 に pin したままです。現在の nixpkgs Bun version は少し異なる場合がありますが、`flake.lock` により local shell の再現性を保ちます。
|
|
177
|
-
|
|
178
|
-
既知の配布リスク: `@modelcontextprotocol/server` にはまだ stable release がありません。Kyoso は現在 prerelease API を pin しているため、MCP SDK API の変更に追従する follow-up release が必要になる場合があります。
|
|
179
|
-
|
|
180
157
|
## CLI
|
|
181
158
|
|
|
182
|
-
通常の実行経路は `npx @kyo-so/cli` と `bunx @kyo-so/cli` です。以下の例では、この prefix を `kyoso` と省略しています。
|
|
159
|
+
通常の実行経路は `npx @kyo-so/cli` と `bunx @kyo-so/cli` です。以下の例では、この prefix を `kyoso` と省略しています。Naming note: npm パッケージは `@kyo-so/cli` (製品名 Kyo-so に対応) で、インストールされる CLI コマンドは短い `kyoso` です。
|
|
183
160
|
|
|
184
161
|
```bash
|
|
185
162
|
kyoso plan --goal "Review this OAuth callback plan" --plan plan.md
|
|
@@ -261,45 +238,44 @@ Skillは利用可能な最初の経路を使います。順序はKyoso MCP tools
|
|
|
261
238
|
|
|
262
239
|
managed installはcanonical directoryのdigestとCLI versionを`.kyoso-install.json`へ記録します。現行または既知historical copyはadoptして自動更新します。変更済み/未知のcopyはconflictとして残し、上書きしません。`--force`はそのSkill directoryだけを置換し、MCP設定を削除・上書きしません。
|
|
263
240
|
|
|
264
|
-
##
|
|
241
|
+
## Configuration
|
|
265
242
|
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
Secret detection は best-effort です。Kyoso は request、selected files、diff 内で secret らしき値を検出すると、その値を redact し、既定では backend agents の実行前に block します。
|
|
243
|
+
### Files and precedence
|
|
269
244
|
|
|
270
|
-
Kyoso
|
|
271
|
-
|
|
272
|
-
Repository content、plans、diffs、selected files は backend prompts 内で untrusted data として扱われます。Kyoso はそれらを `<untrusted-content>` tags で包み、その中にある instructions に従わないよう agents に指示します。最終判断は schema-constrained findings から導出されます。agents は files の書き込みや commands の実行ができず、judge は deterministic decision を変更できません。
|
|
273
|
-
|
|
274
|
-
Finding title は aggregation のため簡潔な英語に正規化されます。evidence、recommendations、summaries はユーザーの言語のままで構いません。
|
|
275
|
-
|
|
276
|
-
Audit trace は workspace が制御するpathではなく、trusted user state root 配下へ書き込みます。対応するPOSIX runtimeでは、absoluteな`$XDG_STATE_HOME`が利用可能ならそれを、そうでなければ`$HOME/.local/state`を使用し、owner、permission、containment、symlinkを確認できた場合だけ書き込みます。検証またはsafe openに失敗した場合、別locationへ黙ってfallbackせず、そのreviewのAudit writeを無効化してsanitized warningを返し、review自体は継続します。
|
|
245
|
+
Kyoso は次の順に config を load します。
|
|
277
246
|
|
|
278
|
-
|
|
247
|
+
- built-in defaults
|
|
248
|
+
- user global TOML: `$XDG_CONFIG_HOME/kyoso/config.toml`、または `~/.config/kyoso/config.toml`
|
|
249
|
+
- project TOML: `<cwd>/kyoso.toml`
|
|
250
|
+
- `--network` などの CLI flags と `--set agents.claude.effort=high` などの反復可能な overrides
|
|
279
251
|
|
|
280
|
-
|
|
252
|
+
`plan`、`security`、`diff` は、反復可能な `--set <key>=<value>` overrides を受け付けます。CLI で指定した値は config files より優先され、`--ignore-config` との併用も可能です。
|
|
281
253
|
|
|
282
|
-
|
|
254
|
+
未知の key は拒否されます。boolean / numeric config keys は schema の型へ変換し、string keys は文字列のまま保持した後、config 全体を再検証します。
|
|
283
255
|
|
|
284
|
-
|
|
256
|
+
Project `kyoso.toml` は declarative で、trust approval は不要です。tools toggles、agent `enabled` / `model` / `effort` / `role` / `timeoutMs`、user global authorization後のCodex専用`provider`または継承したOpenRouterのmodel上書き、workspace byte limits と additive `workspace.deny`、verification settings、advisory judge settings、tightening-only security/network settings を設定できます。
|
|
285
257
|
|
|
286
|
-
|
|
287
|
-
- `CLAUDE_CODE_OAUTH_TOKEN`: `claude setup-token` から得る subscription auth
|
|
258
|
+
Global TOML は command 実行や env forwarding を含む user-owned settings 用です。
|
|
288
259
|
|
|
289
|
-
|
|
260
|
+
```toml
|
|
261
|
+
[agents.codex]
|
|
262
|
+
command = "bunx"
|
|
263
|
+
args = ["@agentclientprotocol/codex-acp"]
|
|
264
|
+
# この完全一致のproject directoryだけに`provider`選択、または継承した
|
|
265
|
+
# OpenRouterのmodel上書きを許可します。
|
|
266
|
+
allowProjectProvider = ["/absolute/path/to/project"]
|
|
290
267
|
|
|
291
|
-
|
|
268
|
+
[agents.codex.env]
|
|
269
|
+
CODEX_CONFIG = '{"model":"gpt-5.5"}'
|
|
270
|
+
```
|
|
292
271
|
|
|
293
|
-
|
|
294
|
-
| ------ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
295
|
-
| Codex | `CODEX_API_KEY`, `OPENAI_API_KEY`, `CODEX_HOME`, `CODEX_ACCESS_TOKEN` |
|
|
296
|
-
| Claude | `ANTHROPIC_API_KEY`, `CLAUDE_CODE_OAUTH_TOKEN`, `ANTHROPIC_MODEL`, `ANTHROPIC_BASE_URL`, `CLAUDE_CONFIG_DIR`, `CLAUDE_CODE_USE_BEDROCK`, `CLAUDE_CODE_USE_VERTEX`, `CLAUDE_CODE_USE_FOUNDRY` |
|
|
272
|
+
`kyoso.config.ts` は deprecated ですが、互換性のため引き続き supported です。trust-on-first-use approval の後にのみ load され、trusted hashes は `~/.kyoso/trusted-configs.json` に保存されます。`kyoso.toml` と `kyoso.config.ts` が両方ある場合、Kyoso は TOML を使用し TypeScript config を無視します。
|
|
297
273
|
|
|
298
|
-
|
|
274
|
+
### Agents
|
|
299
275
|
|
|
300
|
-
|
|
276
|
+
Agent keys: `agents.<codex|claude>.<enabled|model|effort|role|timeoutMs>`。Codexには`agents.codex.provider`もあり、`"openrouter"`はexternal providerを選択し、`"default"`は継承したOpenRouter選択を通常のCodex behaviorへ戻します。Claudeにprovider設定はありません。`agents.codex.allowProjectProvider`はglobal config専用のabsolute project directory allowlistです。完全一致のproject TOMLだけが`provider`を選択、または継承したOpenRouterの`model`を上書きでき、descendantやglobには一致しません。project configと`--set`では変更できず、legacy boolean値は拒否します。`command` / `args` / `env`もglobal config専用です([Files and precedence](#files-and-precedence) を参照)。
|
|
301
277
|
|
|
302
|
-
`agents.<name>.model` または `agents.<name>.effort` を省略すると、各 agent 独自の default を使用します。Codex は `~/.codex/config.toml
|
|
278
|
+
`agents.<name>.model` または `agents.<name>.effort` を省略すると、各 agent 独自の default を使用します。Codex は `~/.codex/config.toml`(`CODEX_HOME`を設定している場合は`$CODEX_HOME/config.toml`)などの local Codex config を使用し、Claude は adapter default を使用します。
|
|
303
279
|
|
|
304
280
|
指定できる model 名は [Claude models overview](https://platform.claude.com/docs/en/about-claude/models/overview) と [Codex models](https://developers.openai.com/codex/models) を参照してください。
|
|
305
281
|
|
|
@@ -320,53 +296,99 @@ Kyoso は model pins を adapter-supported configuration に mapping します
|
|
|
320
296
|
|
|
321
297
|
effort は仕組みが異なります。Kyoso は env var を設定せず、session ごとに最初の prompt の前に一度、backend agent へ ACP の `session/set_config_option` リクエストを送信します(Claude は `configId: "effort"`、Codex は `configId: "reasoning_effort"`)。有効な値は backend agent のバージョンと選択した model に依存します(例えば Claude は effort levels に対応した model でのみこの option を公開します)。Kyoso は `effort` の値自体を validate しません。backend agent がリクエストを reject した場合、または対応していない場合、Kyoso は stderr に log を出力してレビューを継続します。
|
|
322
298
|
|
|
323
|
-
|
|
299
|
+
### Codex の OpenRouter project opt-in
|
|
324
300
|
|
|
325
|
-
|
|
301
|
+
まずuser global configでproject-level OpenRouter routingを許可します。
|
|
326
302
|
|
|
327
|
-
```
|
|
328
|
-
|
|
303
|
+
```toml
|
|
304
|
+
# ~/.config/kyoso/config.toml
|
|
305
|
+
[agents.codex]
|
|
306
|
+
allowProjectProvider = ["/absolute/path/to/project"]
|
|
329
307
|
```
|
|
330
308
|
|
|
331
|
-
|
|
309
|
+
続けてOpenRouterが必要なprojectだけでopt-inします。
|
|
332
310
|
|
|
333
|
-
|
|
311
|
+
```toml
|
|
312
|
+
# <project>/kyoso.toml
|
|
313
|
+
[agents.codex]
|
|
314
|
+
provider = "openrouter"
|
|
315
|
+
model = "openai/o4-mini"
|
|
316
|
+
```
|
|
334
317
|
|
|
335
|
-
|
|
318
|
+
`provider = "openrouter"` の場合、`model`は空白でない値が必須です。これはOpenRouterのmodel IDです。Kyosoはcatalogやtool calling対応を検証しないため、利用するmodelのtool supportはproviderで確認してください。
|
|
336
319
|
|
|
337
|
-
|
|
320
|
+
`allowProjectProvider`はprojectの`provider`と、OpenRouterを継承中のproject `model`上書きに必要で、listには解決後のproject config fileを含むcanonical directoryのabsolute pathを完全一致で指定します。invocationのcwdやlexical pathではありません。trusted `kyoso.config.ts`を含むproject config fileとallowlist entryの両方をsymlink経由も含めて同じdirectoryのreal pathへ解決して比較するため、そのdirectoryへ解決されるentryは一致し、別の場所へ解決されるentryまたは解決できないpathはfail closedです。user globalの`provider = "openrouter"`にはallowlist entryは不要です。CLIで選択する場合は、同一 invocation に`--set agents.codex.provider=openrouter`と`--set agents.codex.model=<model>`の両方が必要であり、project modelで前者を補完することはできません。`allowProjectProvider`は`--set` pathではなく、legacy boolean値は拒否されます。
|
|
338
321
|
|
|
339
|
-
|
|
340
|
-
- user global TOML: `$XDG_CONFIG_HOME/kyoso/config.toml`、または `~/.config/kyoso/config.toml`
|
|
341
|
-
- project TOML: `<cwd>/kyoso.toml`
|
|
342
|
-
- `--network` などの CLI flags と `--set agents.claude.effort=high` などの反復可能な overrides
|
|
322
|
+
user global configがOpenRouterを選択している場合、projectは`provider = "default"`で明示的にopt-outできます。このresetにはmodelもauthorizationも不要で、同じlayerで通常のCodex modelを明示しない限り継承したOpenRouter modelも消去し、そのprojectではOpenRouter keyをforwardしません。
|
|
343
323
|
|
|
344
|
-
|
|
324
|
+
Kyosoを起動するCodexまたはClaude client processのenvironmentにkeyを設定します。直接のenvironment variableをprimary pathとし、1Passwordなどのsecret managerはoptionalでKyosoの依存ではありません。
|
|
345
325
|
|
|
346
|
-
|
|
347
|
-
|
|
348
|
-
|
|
326
|
+
```bash
|
|
327
|
+
export OPENROUTER_API_KEY="<secret>"
|
|
328
|
+
```
|
|
349
329
|
|
|
350
|
-
|
|
330
|
+
keyは`kyoso.toml`、Git管理するconfig、Audit trace、review outputへ保存しません。KyosoはKyoso processまたは明示した`agents.codex.env`のいずれのsourceであっても、このproviderを選択した場合だけCodex childへ転送します。`provider`を省略するか`provider = "default"`の場合は、両方のsourceを意図的に転送しません。空でない明示的な`agents.codex.env.OPENROUTER_API_KEY`は、転送しなかったことを示すsanitized warningも出します。選択されたCodex OpenRouter childだけがkeyを受け取れるため、`agents.claude.env`など別のchild configurationに空でないkeyがある場合も同じwarningを出します。`provider`を省略すると既存のCodex login、`OPENAI_API_KEY`、`CODEX_API_KEY`、`CODEX_CONFIG`の挙動を維持し、行を削除するとその挙動へ戻ります。
|
|
351
331
|
|
|
352
|
-
|
|
332
|
+
GUI clientはshell exportを継承しない場合があります。新規manual MCP registrationは`kyoso setup <client> --write --with-openrouter`で作成し、clientを再起動してから`kyoso doctor`でKyoso processがkeyを検出できるか確認してください。`kyoso setup`は既存のMCP entryを再書換えせずに保持するため、既存registrationでは[examples](examples/codex-config.toml)を参照してopt-in allowlistを手動更新する必要があります。
|
|
353
333
|
|
|
354
|
-
|
|
334
|
+
新規manual MCP registrationは既定で`OPENROUTER_API_KEY`を含めません。providerを意図して選択した後だけ`--with-openrouter`で追加し、既存registrationは書換えません。Claude Code registrationの`${OPENROUTER_API_KEY}`はclientが展開する必要があり、Kyosoは`${NAME}`、`$NAME`、`%NAME%`(前後の空白は許容)だけから成る未展開credential placeholderだけを無視し、変数名だけを含むsanitized warningを出します。ほかの文字列を含む値は維持します。custom credential-like nameの末尾が`_KEY`、`_TOKEN`、`_SECRET`、`_PASSWORD`である場合にも同じ規則を適用し、credentialではないtemplateは維持されます。
|
|
355
335
|
|
|
356
|
-
|
|
357
|
-
[agents.codex]
|
|
358
|
-
command = "bunx"
|
|
359
|
-
args = ["@agentclientprotocol/codex-acp"]
|
|
336
|
+
このuser-authorized project-scoped opt-inを推奨します。global `provider = "openrouter"`は、projectが`provider = "default"`を設定するまで継承されます。`provider`の省略だけでは解除されません。固定のOpenRouter Responses API presetはbetaです。custom endpoint、provider routing、fallback、judge integrationは公開しません。keyをこのpresetに束縛するため、OpenRouter modeではtop-levelの`profile`または`profiles`を含む`CODEX_CONFIG`と、objectではない`model_providers` valueをchild起動前に拒否します。objectの場合は`model_providers`を固定の`kyoso-openrouter` entryだけに置換し、破棄したentry数だけを含むsanitized warningを出します。provider IDやconfig valueは出力しません。拒否するfield以外では、`model`、`model_provider`、`model_providers`以外のunrelatedな`CODEX_CONFIG` fieldを維持するため、foreign provider configurationがkey付きのendpointを選択することはできません。Claudeは設定済みproviderのままで、judgeは`OPENROUTER_API_KEY`を使用しません。
|
|
360
337
|
|
|
361
|
-
|
|
362
|
-
|
|
338
|
+
user global authorization後、projectの`kyoso.toml`はexternal providerを選択、または継承したOpenRouter modelを上書きし、review contextをそこへ送ることがあります。untrusted repositoryでは`--ignore-config`を使用し、必要なCLI optionsだけを明示してください。
|
|
339
|
+
|
|
340
|
+
実際のCodex ACP/OpenRouter smokeはrelease-gatedであり、testでは実行しません。networkと課金が明示許可された後だけ、client environmentへkeyをexportして次を実行します。
|
|
341
|
+
|
|
342
|
+
```bash
|
|
343
|
+
KYOSO_OPENROUTER_ACP_SMOKE=release KYOSO_OPENROUTER_MODEL=<model> safe-chain bun run smoke:openrouter:codex-acp
|
|
363
344
|
```
|
|
364
345
|
|
|
365
|
-
|
|
346
|
+
このcommandはCLI argumentsを受け付けず、pinしたCodex ACP adapterを使います。呼び出し元のrepositoryやcached Codex loginを利用しないよう、空のtemporary workspace、`HOME`、`CODEX_HOME`を新規作成し、key/modelをconfig・temporary artifact・outputへ書かずに固定の成功または失敗メッセージだけを返します。
|
|
347
|
+
|
|
348
|
+
### Agent auth
|
|
349
|
+
|
|
350
|
+
Codex は利用可能な場合、local `codex` login を使用します。既定の subscription-backed path では API key は不要です。
|
|
351
|
+
|
|
352
|
+
Claude は 2 つの auth paths をサポートします。
|
|
366
353
|
|
|
367
|
-
|
|
354
|
+
- `ANTHROPIC_API_KEY`: direct Anthropic API billing
|
|
355
|
+
- `CLAUDE_CODE_OAUTH_TOKEN`: `claude setup-token` から得る subscription auth
|
|
356
|
+
|
|
357
|
+
Claude credentials が両方設定されている場合、Kyoso は既定で `CLAUDE_CODE_OAUTH_TOKEN` だけを Claude child agent に forward します。`ANTHROPIC_API_KEY` だけを forward するには、`agents.claude.auth.preferApiKey: true` を設定してください。
|
|
358
|
+
|
|
359
|
+
Default child-agent env allowlist:
|
|
360
|
+
|
|
361
|
+
| Agent | Provider env |
|
|
362
|
+
| ------ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
363
|
+
| Codex | `CODEX_API_KEY`, `OPENAI_API_KEY`, `CODEX_HOME`, `CODEX_ACCESS_TOKEN` |
|
|
364
|
+
| Claude | `ANTHROPIC_API_KEY`, `CLAUDE_CODE_OAUTH_TOKEN`, `ANTHROPIC_MODEL`, `ANTHROPIC_BASE_URL`, `CLAUDE_CONFIG_DIR`, `CLAUDE_CODE_USE_BEDROCK`, `CLAUDE_CODE_USE_VERTEX`, `CLAUDE_CODE_USE_FOUNDRY` |
|
|
368
365
|
|
|
369
|
-
|
|
366
|
+
`OPENROUTER_API_KEY`は通常のCodex allowlistには意図的に含めません。`agents.codex.provider = "openrouter"`の場合だけKyoso processからcopyし、keyがないか空の場合はCodex childを起動せず、構造化されたagent failureとして返します。別reviewerはdegraded modeで継続できます。
|
|
367
|
+
|
|
368
|
+
資格情報露出を最小化するため、OpenRouter modeでは`OPENAI_API_KEY`、`CODEX_API_KEY`、`CODEX_ACCESS_TOKEN`をCodex childから除外します。local adapter state用に`CODEX_HOME`は残ります。そのためadapterはlocal login cacheを読み取れ、これはcredential isolationではなくdefense in depthです。
|
|
369
|
+
|
|
370
|
+
Kyoso は subprocesses の起動に必要な最小限の runtime env も forward します: `PATH`, `HOME`, `TMPDIR`, `TEMP`, `TMP`, `LANG`, `LC_ALL`, `SHELL`, `USER`, `USERNAME`, `SystemRoot`。
|
|
371
|
+
|
|
372
|
+
Subscription-only setup:
|
|
373
|
+
|
|
374
|
+
- Codex: local `codex` login を使用
|
|
375
|
+
- Claude: `claude setup-token` を実行し、`CLAUDE_CODE_OAUTH_TOKEN` を設定
|
|
376
|
+
- Judge: API keys を設定しないことで、Kyoso は `deterministic_fallback` を使用([Judge](#judge) を参照)
|
|
377
|
+
- `OPENAI_API_KEY` が存在するときに OpenAI judge calls を避けるには、`judge.provider = "none"` を設定
|
|
378
|
+
|
|
379
|
+
Team admins は organization Usage credits も確認してください。Credits が有効な場合、subscription limits を超える billing behavior は Kyoso の外側で制御されます。
|
|
380
|
+
|
|
381
|
+
### Single-backend mode
|
|
382
|
+
|
|
383
|
+
Kyoso は Claude だけ、または Codex だけでも実行できます。利用できない backend は `kyoso.toml` で無効化してください。例は `examples/claude-only.toml` と `examples/codex-only.toml` にあります。
|
|
384
|
+
|
|
385
|
+
single-agent mode では、残った backend が `combined_reviewer` として 1 回だけ実行され、implementation と architecture/security の両方を確認します。JSON output には `reviewMode: "single_agent"` と `agentsUsed` が入り、Markdown output には cross-model verification が行われていないことと disagreements が N/A であることを表示します。
|
|
386
|
+
|
|
387
|
+
この mode では独立した cross-model validation はなく、自己レビュー bias が残ります。一方で、別プロセスの read-only review、temporary snapshots、adversarial review prompts、secret scanning、deterministic gates は利用できます。
|
|
388
|
+
|
|
389
|
+
### Verification
|
|
390
|
+
|
|
391
|
+
Verification keys: `verification.<enabled|maxFindings|timeoutMs>`。Optional finding verification は default で disabled です:
|
|
370
392
|
|
|
371
393
|
```toml
|
|
372
394
|
[verification]
|
|
@@ -379,7 +401,9 @@ allowDemotion = false
|
|
|
379
401
|
|
|
380
402
|
Enabled の場合、Kyoso は high/critical かつ single-source の各 finding について、その finding を報告していない agent に反証を試みさせます。Phase 1 は annotate-only です。verification は finding confidence と notes を更新できますが、severity や final decision は変更しません。`allowDemotion` は future opt-in phase 用に予約されており、現時点では no-op です。
|
|
381
403
|
|
|
382
|
-
Judge
|
|
404
|
+
### Judge
|
|
405
|
+
|
|
406
|
+
Judge keys: `judge.<mode|provider|timeoutMs>`。Judge LLMs は optional です。OpenAI judge を使うには `OPENAI_API_KEY` または `CODEX_API_KEY` を設定し、Anthropic judge を使うには `ANTHROPIC_API_KEY` を設定します。Optional overrides:
|
|
383
407
|
|
|
384
408
|
- `OPENAI_BASE_URL`: OpenAI-compatible API base URL
|
|
385
409
|
- `KYOSO_OPENAI_JUDGE_MODEL`: OpenAI judge model, default `gpt-5.4-mini`
|
|
@@ -387,23 +411,101 @@ Judge LLMs は optional です。OpenAI judge を使うには `OPENAI_API_KEY`
|
|
|
387
411
|
|
|
388
412
|
Judge defaults は意図的に lightweight models を使用します。より強い judge を使う場合は、`KYOSO_ANTHROPIC_JUDGE_MODEL` に `claude-sonnet-5` のような Sonnet-class model を設定してください。
|
|
389
413
|
|
|
390
|
-
|
|
414
|
+
### Timeouts
|
|
391
415
|
|
|
392
|
-
|
|
393
|
-
- Claude: `claude setup-token` を実行し、`CLAUDE_CODE_OAUTH_TOKEN` を設定
|
|
394
|
-
- Judge: API keys を設定しないことで、Kyoso は `deterministic_fallback` を使用
|
|
395
|
-
- `OPENAI_API_KEY` が存在するときに OpenAI judge calls を避けるには、`judge.provider = "none"` を設定
|
|
416
|
+
Default agent timeouts は Codex 120 秒、Claude 300 秒です。verification round の default は 90 秒です。MCP clients は tool calls に少なくとも 360 秒を許可してください。`verification.enabled` が true の場合、Kyoso は追加の cross-agent verification round を実行することがあるため、少なくとも 480 秒を許可してください。
|
|
396
417
|
|
|
397
|
-
|
|
418
|
+
### Audit
|
|
419
|
+
|
|
420
|
+
対応するPOSIX runtimeでは、Audit traces はuser state base(absoluteな`$XDG_STATE_HOME`、なければ`$HOME/.local/state`)配下の次の場所に書き込まれます。
|
|
421
|
+
|
|
422
|
+
```text
|
|
423
|
+
<state-base>/kyoso/workspaces/<sha256(realpath(cwd))>/<logical audit.directory>/<yyyy-mm-dd>/<traceId>.jsonl
|
|
424
|
+
```
|
|
425
|
+
|
|
426
|
+
`audit.directory`はlogicalなrelative directory(既定: `.kyoso/traces`)であり、workspace内のdirectoryではありません。既存のworkspace `.kyoso/traces`は自動で移行・削除されません。
|
|
427
|
+
|
|
428
|
+
Raw agent output と raw file contents は既定で無効です。`audit.includeRawAgentOutput`を有効にすると、traces に sensitive review output が残る場合があります。local retention policy に従って古い traces を削除してください。Windowsまたは安全なfilesystem capabilityを証明できない環境では、Audit trace writeは無効のままで、reviewはsanitized warningを返します([Safety Model](#safety-model) を参照)。
|
|
429
|
+
|
|
430
|
+
## Safety Model
|
|
431
|
+
|
|
432
|
+
Kyoso MVP は disposable temporary snapshot と policy-level write denial を使用します。完全な OS sandbox ではありません。リスクを理解していない場合、untrusted repositories に対して Kyoso を実行しないでください。
|
|
433
|
+
|
|
434
|
+
Secret detection は best-effort です。Kyoso は request、selected files、diff 内で secret らしき値を検出すると、その値を redact し、既定では backend agents の実行前に block します。
|
|
435
|
+
|
|
436
|
+
Kyoso は provider credentials を保存しません。Child agent environment variables は allowlist されます。
|
|
437
|
+
|
|
438
|
+
Repository content、plans、diffs、selected files は backend prompts 内で untrusted data として扱われます。Kyoso はそれらを `<untrusted-content>` tags で包み、その中にある instructions に従わないよう agents に指示します。最終判断は schema-constrained findings から導出されます。agents は files の書き込みや commands の実行ができず、judge は deterministic decision を変更できません。
|
|
439
|
+
|
|
440
|
+
Finding title は aggregation のため簡潔な英語に正規化されます。evidence、recommendations、summaries はユーザーの言語のままで構いません。
|
|
441
|
+
|
|
442
|
+
Audit trace は workspace が制御するpathではなく、trusted user state root 配下へ書き込みます。対応するPOSIX runtimeでは、absoluteな`$XDG_STATE_HOME`が利用可能ならそれを、そうでなければ`$HOME/.local/state`を使用し、owner、permission、containment、symlinkを確認できた場合だけ書き込みます。検証またはsafe openに失敗した場合、別locationへ黙ってfallbackせず、そのreviewのAudit writeを無効化してsanitized warningを返し、review自体は継続します。
|
|
443
|
+
|
|
444
|
+
Windows、および必要なfilesystem capabilityを証明できない環境では、Audit writeをfail-closeで無効化します。trusted state rootを変更できる、または検証済みinodeをrenameできるsame OS user権限のhostile processはこの保証の対象外です。この脅威にはOS sandboxまたはnative dirfd-based supportが必要です。
|
|
445
|
+
|
|
446
|
+
## 移行
|
|
447
|
+
|
|
448
|
+
- 手動MCPからCLI+Skill: CLIとSkillを先に導入し、`codex mcp remove kyoso`または`claude mcp remove kyoso --scope local|project|user`を実行します。
|
|
449
|
+
- CLI+SkillからPlugin: Pluginを追加してenabledを確認してから、手動MCP登録を削除します。手動コピーSkillは自動削除しません。
|
|
450
|
+
- PluginからCLI+Skill: CLIとSkillを先に導入し、`codex plugin remove kyoso@kyoso`を実行します。
|
|
451
|
+
- CLI+Skillから手動MCPへ戻す: `kyoso setup codex --write`または`kyoso setup claude-code --write`を実行します。
|
|
398
452
|
|
|
399
453
|
## Troubleshooting
|
|
400
454
|
|
|
401
|
-
- MCP timeout: client tool timeouts を少なくとも 360 秒、`verification.enabled` が true の場合は少なくとも 480 秒に設定してください。Kyoso defaults は
|
|
455
|
+
- MCP timeout: client tool timeouts を少なくとも 360 秒、`verification.enabled` が true の場合は少なくとも 480 秒に設定してください。Kyoso defaults は [Timeouts](#timeouts) を参照してください。
|
|
402
456
|
- Fresh npm release: safe-chain などの minimum-package-age protection により、publish 直後は `npx @kyo-so/cli` の解決が一時的に block される場合があります。
|
|
403
457
|
- Deprecated TypeScript config: `--trust-config` を渡さない限り、untrusted `kyoso.config.ts` は skip されます。新規設定は `kyoso.toml` を使ってください。
|
|
458
|
+
- OpenRouter key missing: 空でないCodex `model`、Kyoso processへ転送された`OPENROUTER_API_KEY`、clientの再起動を確認し、`kyoso doctor`を実行してください。公開済みMarketplace Pluginは次回promotionまでこのkeyを転送せず、既存MCP registrationはsetupで再書換えされません。
|
|
459
|
+
|
|
460
|
+
### Codex approval prompts
|
|
461
|
+
|
|
462
|
+
Codex Auto modeでは、approvalが必要なKyoso toolの呼び出しが拒否されることがあります。個人設定で事前承認するには、次を`~/.codex/config.toml`(`CODEX_HOME`を設定している場合は`$CODEX_HOME/config.toml`)へ追加します。**Kyosoを信頼し、選択したコードとレビュー用contextが設定済みの外部model providerへ送信されることを許容できる場合だけ設定してください。** Pluginの既定値では有効にしていません。
|
|
463
|
+
|
|
464
|
+
```toml
|
|
465
|
+
[plugins."kyoso@kyoso".mcp_servers.kyoso.tools.diff_review]
|
|
466
|
+
approval_mode = "approve"
|
|
467
|
+
|
|
468
|
+
[plugins."kyoso@kyoso".mcp_servers.kyoso.tools.plan_review]
|
|
469
|
+
approval_mode = "approve"
|
|
470
|
+
|
|
471
|
+
[plugins."kyoso@kyoso".mcp_servers.kyoso.tools.security_review]
|
|
472
|
+
approval_mode = "approve"
|
|
473
|
+
```
|
|
474
|
+
|
|
475
|
+
Pluginではなく、MCP serverとして直接登録している場合(`kyoso setup codex --write` または手動設定)は、`plugins."kyoso@kyoso".` プレフィックスなしの `mcp_servers.kyoso` キーを使用します。
|
|
476
|
+
|
|
477
|
+
```toml
|
|
478
|
+
[mcp_servers.kyoso.tools.diff_review]
|
|
479
|
+
approval_mode = "approve"
|
|
480
|
+
|
|
481
|
+
[mcp_servers.kyoso.tools.plan_review]
|
|
482
|
+
approval_mode = "approve"
|
|
483
|
+
|
|
484
|
+
[mcp_servers.kyoso.tools.security_review]
|
|
485
|
+
approval_mode = "approve"
|
|
486
|
+
```
|
|
404
487
|
|
|
405
488
|
## Development
|
|
406
489
|
|
|
490
|
+
ローカル開発:
|
|
491
|
+
|
|
492
|
+
```bash
|
|
493
|
+
nix develop
|
|
494
|
+
safe-chain bun install
|
|
495
|
+
safe-chain bun run typecheck
|
|
496
|
+
safe-chain bun test
|
|
497
|
+
safe-chain bun run build
|
|
498
|
+
safe-chain bun run pack:verify
|
|
499
|
+
```
|
|
500
|
+
|
|
501
|
+
Nix dev shell は Node.js 24 と nixpkgs が提供する Bun version を固定します。`.envrc` を確認してから `direnv allow` を一度実行すると、自動で shell を読み込めます。CI は Bun 1.3.14 に pin したままです。現在の nixpkgs Bun version は少し異なる場合がありますが、`flake.lock` により local shell の再現性を保ちます。
|
|
502
|
+
|
|
503
|
+
test suite は credential-free の MCP stdio と ACP subprocess の integration coverage を含みます。`pack:verify` はさらに、pack 済みの `dist/bin/kyoso.js` MCP server を起動し、published bundle の protocol handshake を確認します。
|
|
504
|
+
|
|
505
|
+
既知の配布リスク: `@modelcontextprotocol/server` にはまだ stable release がありません。Kyoso は現在 prerelease API を pin しているため、MCP SDK API の変更に追従する follow-up release が必要になる場合があります。`@modelcontextprotocol/server`、`@agentclientprotocol/sdk`、または pin 済み ACP adapters を bump する release の前には、手動での real-agent dogfooding を実行してください。
|
|
506
|
+
|
|
507
|
+
Debug 用の environment variables:
|
|
508
|
+
|
|
407
509
|
- `KYOSO_TEST_FAKE_AGENTS=1`: test-only fake ACP agents; production では設定しないでください。
|
|
408
510
|
- `KYOSO_KEEP_TEMP=1`: local debugging 用に temporary snapshots を保持します。
|
|
409
511
|
|