playmaker-cli 0.10.0__tar.gz → 0.12.0__tar.gz
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.
- {playmaker_cli-0.10.0 → playmaker_cli-0.12.0}/CHANGELOG.md +20 -0
- {playmaker_cli-0.10.0 → playmaker_cli-0.12.0}/PKG-INFO +19 -8
- {playmaker_cli-0.10.0 → playmaker_cli-0.12.0}/README.md +16 -5
- {playmaker_cli-0.10.0 → playmaker_cli-0.12.0}/pyproject.toml +4 -2
- {playmaker_cli-0.10.0 → playmaker_cli-0.12.0}/skills/playmaker-coach/references/agent-gotchas.md +16 -0
- {playmaker_cli-0.10.0 → playmaker_cli-0.12.0}/skills/playmaker-coach/references/lanes.md +5 -2
- {playmaker_cli-0.10.0 → playmaker_cli-0.12.0}/skills/playmaker-coach/references/quotas.md +3 -0
- playmaker_cli-0.12.0/src/playmaker/agents/kimi.py +459 -0
- {playmaker_cli-0.10.0 → playmaker_cli-0.12.0}/src/playmaker/cli.py +3 -1
- {playmaker_cli-0.10.0 → playmaker_cli-0.12.0}/src/playmaker/quotas.py +302 -0
- {playmaker_cli-0.10.0 → playmaker_cli-0.12.0}/src/playmaker/registry.py +2 -0
- playmaker_cli-0.12.0/tests/fixtures/kimi_wire.jsonl +5 -0
- playmaker_cli-0.12.0/tests/test_kimi.py +333 -0
- playmaker_cli-0.12.0/tests/test_quotas_kimi.py +220 -0
- {playmaker_cli-0.10.0 → playmaker_cli-0.12.0}/.gitignore +0 -0
- {playmaker_cli-0.10.0 → playmaker_cli-0.12.0}/LICENSE +0 -0
- {playmaker_cli-0.10.0 → playmaker_cli-0.12.0}/skills/playmaker-coach/SKILL.md +0 -0
- {playmaker_cli-0.10.0 → playmaker_cli-0.12.0}/skills/playmaker-coach/references/commands.md +0 -0
- {playmaker_cli-0.10.0 → playmaker_cli-0.12.0}/skills/playmaker-coach/references/prompt-templates.md +0 -0
- {playmaker_cli-0.10.0 → playmaker_cli-0.12.0}/skills/playmaker-coach/references/review-board.md +0 -0
- {playmaker_cli-0.10.0 → playmaker_cli-0.12.0}/skills/playmaker-coach/scripts/review-board.sh +0 -0
- {playmaker_cli-0.10.0 → playmaker_cli-0.12.0}/src/playmaker/__init__.py +0 -0
- {playmaker_cli-0.10.0 → playmaker_cli-0.12.0}/src/playmaker/__main__.py +0 -0
- {playmaker_cli-0.10.0 → playmaker_cli-0.12.0}/src/playmaker/agents/__init__.py +0 -0
- {playmaker_cli-0.10.0 → playmaker_cli-0.12.0}/src/playmaker/agents/agy.py +0 -0
- {playmaker_cli-0.10.0 → playmaker_cli-0.12.0}/src/playmaker/agents/base.py +0 -0
- {playmaker_cli-0.10.0 → playmaker_cli-0.12.0}/src/playmaker/agents/claude.py +0 -0
- {playmaker_cli-0.10.0 → playmaker_cli-0.12.0}/src/playmaker/agents/codex.py +0 -0
- {playmaker_cli-0.10.0 → playmaker_cli-0.12.0}/src/playmaker/agents/gemini.py +0 -0
- {playmaker_cli-0.10.0 → playmaker_cli-0.12.0}/src/playmaker/agents/opencode.py +0 -0
- {playmaker_cli-0.10.0 → playmaker_cli-0.12.0}/src/playmaker/config.py +0 -0
- {playmaker_cli-0.10.0 → playmaker_cli-0.12.0}/src/playmaker/notify.py +0 -0
- {playmaker_cli-0.10.0 → playmaker_cli-0.12.0}/src/playmaker/state.py +0 -0
- {playmaker_cli-0.10.0 → playmaker_cli-0.12.0}/src/playmaker/watcher.py +0 -0
- {playmaker_cli-0.10.0 → playmaker_cli-0.12.0}/tests/__init__.py +0 -0
- {playmaker_cli-0.10.0 → playmaker_cli-0.12.0}/tests/test_agy.py +0 -0
- {playmaker_cli-0.10.0 → playmaker_cli-0.12.0}/tests/test_batch.py +0 -0
- {playmaker_cli-0.10.0 → playmaker_cli-0.12.0}/tests/test_binary.py +0 -0
- {playmaker_cli-0.10.0 → playmaker_cli-0.12.0}/tests/test_claude.py +0 -0
- {playmaker_cli-0.10.0 → playmaker_cli-0.12.0}/tests/test_codex.py +0 -0
- {playmaker_cli-0.10.0 → playmaker_cli-0.12.0}/tests/test_no_changes.py +0 -0
- {playmaker_cli-0.10.0 → playmaker_cli-0.12.0}/tests/test_opencode.py +0 -0
- {playmaker_cli-0.10.0 → playmaker_cli-0.12.0}/tests/test_permissions.py +0 -0
- {playmaker_cli-0.10.0 → playmaker_cli-0.12.0}/tests/test_quotas_antigravity.py +0 -0
- {playmaker_cli-0.10.0 → playmaker_cli-0.12.0}/tests/test_quotas_claude.py +0 -0
- {playmaker_cli-0.10.0 → playmaker_cli-0.12.0}/tests/test_quotas_codex.py +0 -0
- {playmaker_cli-0.10.0 → playmaker_cli-0.12.0}/tests/test_quotas_freshness.py +0 -0
- {playmaker_cli-0.10.0 → playmaker_cli-0.12.0}/tests/test_quotas_zai.py +0 -0
- {playmaker_cli-0.10.0 → playmaker_cli-0.12.0}/tests/test_registry.py +0 -0
- {playmaker_cli-0.10.0 → playmaker_cli-0.12.0}/tests/test_skill.py +0 -0
- {playmaker_cli-0.10.0 → playmaker_cli-0.12.0}/tests/test_state.py +0 -0
|
@@ -5,6 +5,26 @@ All notable changes to this project will be documented in this file.
|
|
|
5
5
|
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
|
|
6
6
|
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
7
7
|
|
|
8
|
+
## [0.12.0] - 2026-09-04
|
|
9
|
+
|
|
10
|
+
### Added
|
|
11
|
+
|
|
12
|
+
- **Kimi Code usage in `playmaker quotas`.** The table reads Kimi Code's
|
|
13
|
+
managed OAuth usage endpoint and shows its rolling 5-hour Session and weekly
|
|
14
|
+
buckets beside the other provider pools.
|
|
15
|
+
|
|
16
|
+
## [0.11.0] - 2026-09-04
|
|
17
|
+
|
|
18
|
+
### Added
|
|
19
|
+
|
|
20
|
+
- **`kimi` lane — the Kimi Code CLI as a first-class agent.**
|
|
21
|
+
`playmaker dispatch kimi -m kimi-code/k3-256k` runs `kimi -p …
|
|
22
|
+
--output-format stream-json`, tracks the session, resumes with `-S`, and
|
|
23
|
+
reads the per-cwd `wire.jsonl` for `summary`. K3 is a senior-tier model on a
|
|
24
|
+
subscription nobody else on the machine draws from, and routing it through
|
|
25
|
+
opencode would have needed a second credential; the native CLI reuses its
|
|
26
|
+
own OAuth login.
|
|
27
|
+
|
|
8
28
|
## [0.10.0] - 2026-09-04
|
|
9
29
|
|
|
10
30
|
### Added
|
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
Metadata-Version: 2.5
|
|
2
2
|
Name: playmaker-cli
|
|
3
|
-
Version: 0.
|
|
4
|
-
Summary: Playing-coach CLI for orchestrating Claude Code, Codex, Antigravity and opencode sub-agents in parallel.
|
|
3
|
+
Version: 0.12.0
|
|
4
|
+
Summary: Playing-coach CLI for orchestrating Claude Code, Codex, Antigravity, Kimi Code and opencode sub-agents in parallel.
|
|
5
5
|
Project-URL: Homepage, https://github.com/vladsafedev/playmaker
|
|
6
6
|
Project-URL: Repository, https://github.com/vladsafedev/playmaker
|
|
7
7
|
Project-URL: Issues, https://github.com/vladsafedev/playmaker/issues
|
|
8
8
|
Author-email: Vladislav Shulyugin <vladislav.shulyugin@gmail.com>
|
|
9
9
|
License-Expression: MIT
|
|
10
10
|
License-File: LICENSE
|
|
11
|
-
Keywords: agents,ai,antigravity,claude,claude-code,cli,codex,gemini,glm,opencode,orchestration,subagents
|
|
11
|
+
Keywords: agents,ai,antigravity,claude,claude-code,cli,codex,gemini,glm,kimi,kimi-code,opencode,orchestration,subagents
|
|
12
12
|
Classifier: Development Status :: 3 - Alpha
|
|
13
13
|
Classifier: Environment :: Console
|
|
14
14
|
Classifier: Intended Audience :: Developers
|
|
@@ -32,7 +32,7 @@ Description-Content-Type: text/markdown
|
|
|
32
32
|
[](https://pypi.org/project/playmaker-cli/)
|
|
33
33
|
[](LICENSE)
|
|
34
34
|
|
|
35
|
-
**Run Claude Code, Codex, Antigravity and opencode as parallel sub-agents from one terminal — and spend separate quotas instead of one.**
|
|
35
|
+
**Run Claude Code, Codex, Antigravity, Kimi Code and opencode as parallel sub-agents from one terminal — and spend separate quotas instead of one.**
|
|
36
36
|
|
|
37
37
|
You stay in your Claude Code session doing the part only you can do. `playmaker`
|
|
38
38
|
fans the rest out to other agent CLIs as detached processes, tracks them,
|
|
@@ -74,10 +74,11 @@ in one serial session:
|
|
|
74
74
|
1. **Wall-clock speed.** A task that decomposes into 3–5 independent
|
|
75
75
|
work-streams (schema, backend, frontend, tests, docs) finishes 2–4× faster
|
|
76
76
|
when each stream runs as its own parallel agent.
|
|
77
|
-
2. **Provider arbitrage.** Codex, Antigravity and opencode quotas
|
|
78
|
-
separate pools from your Anthropic plan. Every slice you hand
|
|
79
|
-
capacity your main session never spends — and Antigravity's roster
|
|
80
|
-
Claude Sonnet/Opus, so even Claude-quality work can run on Google's
|
|
77
|
+
2. **Provider arbitrage.** Codex, Antigravity, Kimi Code and opencode quotas
|
|
78
|
+
are entirely separate pools from your Anthropic plan. Every slice you hand
|
|
79
|
+
them is capacity your main session never spends — and Antigravity's roster
|
|
80
|
+
includes Claude Sonnet/Opus, so even Claude-quality work can run on Google's
|
|
81
|
+
pool. Kimi Code brings its own subscription with the senior-tier K3.
|
|
81
82
|
`opencode` widens this the most: one CLI fronting ~75 providers, from a z.ai
|
|
82
83
|
GLM coding plan to models running locally on your own machine.
|
|
83
84
|
3. **Bucket arbitrage inside one plan.** Headless `claude -p` draws on the same
|
|
@@ -146,6 +147,10 @@ The other agents differ, because their CLIs do:
|
|
|
146
147
|
{ "permission": { "edit": "allow", "bash": "allow", "webfetch": "deny" } }
|
|
147
148
|
```
|
|
148
149
|
|
|
150
|
+
- **kimi** has no permission flags at all in headless mode — `kimi -p` refuses
|
|
151
|
+
`--auto`, `--yolo` and `--plan`, and already runs with auto-approval, so
|
|
152
|
+
there is no read-only mode below the prompt.
|
|
153
|
+
|
|
149
154
|
- **gemini** (legacy) runs with `--yolo`.
|
|
150
155
|
|
|
151
156
|
## Install
|
|
@@ -183,6 +188,7 @@ playmaker agents # which agent CLIs are reachable
|
|
|
183
188
|
| **Codex CLI** | `npm i -g @openai/codex` | the model roster depends on your plan; omit `--model` to use the account default |
|
|
184
189
|
| **Antigravity (`agy`)** | bundled with [Antigravity](https://antigravity.google) | `--model claude-opus-4-6-thinking` — the roster moves, so read it from `agy models` |
|
|
185
190
|
| **opencode** | `brew install sst/tap/opencode` (or see [opencode.ai](https://opencode.ai)) | `--model provider/model`, e.g. `zai-coding-plan/glm-5.2`; roster from `opencode models`, providers from `opencode auth login` |
|
|
191
|
+
| **Kimi Code CLI** | `npm i -g @moonshot-ai/kimi-code` | needs Node ≥ 22.19 (a wrapper that pins a newer Node is fine — point `[agents.kimi] binary` at it); `--model kimi-code/k3-256k` — 256k window at half the quota cost of `k3`; log in once with `kimi login --region global`; model ids from `~/.kimi-code/config.toml` |
|
|
186
192
|
| **Gemini CLI** (legacy) | `npm i -g @google/gemini-cli` | still supported, superseded by `agy` |
|
|
187
193
|
|
|
188
194
|
At least one is required; `playmaker agents` tells you which it can see.
|
|
@@ -317,6 +323,7 @@ and locates the session file the tool writes locally. Empirically:
|
|
|
317
323
|
| Codex | `~/.codex/sessions/<YYYY>/<MM>/<DD>/rollout-<ts>-<thread_id>.jsonl` |
|
|
318
324
|
| Antigravity | `~/.gemini/antigravity-cli/brain/<conversation-id>/.system_generated/logs/transcript_full.jsonl` |
|
|
319
325
|
| opencode | SQLite — `~/.local/share/opencode/opencode.db` (`session` / `message` / `part`); playmaker keeps a pointer at `~/.playmaker/opencode/<id>.session` |
|
|
326
|
+
| kimi | `~/.kimi-code/sessions/wd_<cwd-basename>_<hash>/session_<id>/agents/main/wire.jsonl` (per-cwd; `KIMI_CODE_HOME` overrides the root) |
|
|
320
327
|
| Gemini | `~/.gemini/tmp/<cwd-basename>/chats/session-<ts>-<short_id>.{json,jsonl}` |
|
|
321
328
|
|
|
322
329
|
`thread` and `summary` normalize all of them into the same turn list, so every
|
|
@@ -439,6 +446,10 @@ whole Z.ai block. Routing a subtask is choosing which of them to spend.
|
|
|
439
446
|
lane pointed at a local model spends nothing here. Shows *unsupported* rather
|
|
440
447
|
than an error when no Z.ai credential exists. `MCP tools` is the monthly
|
|
441
448
|
web-search/reader pool, not inference.
|
|
449
|
+
- **Kimi Code** — managed usage API; OAuth token from
|
|
450
|
+
`~/.kimi-code/credentials/kimi-code-env-*.json` (`$KIMI_CODE_HOME` overrides
|
|
451
|
+
the root). Its 5-hour `Session` and weekly rows are separate percentage
|
|
452
|
+
buckets; no credential reads as *unsupported* rather than a failed probe.
|
|
442
453
|
|
|
443
454
|
Reading these at *model* granularity is the point: they are the load-balancing
|
|
444
455
|
input the coach skill uses to route each subtask.
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
[](https://pypi.org/project/playmaker-cli/)
|
|
6
6
|
[](LICENSE)
|
|
7
7
|
|
|
8
|
-
**Run Claude Code, Codex, Antigravity and opencode as parallel sub-agents from one terminal — and spend separate quotas instead of one.**
|
|
8
|
+
**Run Claude Code, Codex, Antigravity, Kimi Code and opencode as parallel sub-agents from one terminal — and spend separate quotas instead of one.**
|
|
9
9
|
|
|
10
10
|
You stay in your Claude Code session doing the part only you can do. `playmaker`
|
|
11
11
|
fans the rest out to other agent CLIs as detached processes, tracks them,
|
|
@@ -47,10 +47,11 @@ in one serial session:
|
|
|
47
47
|
1. **Wall-clock speed.** A task that decomposes into 3–5 independent
|
|
48
48
|
work-streams (schema, backend, frontend, tests, docs) finishes 2–4× faster
|
|
49
49
|
when each stream runs as its own parallel agent.
|
|
50
|
-
2. **Provider arbitrage.** Codex, Antigravity and opencode quotas
|
|
51
|
-
separate pools from your Anthropic plan. Every slice you hand
|
|
52
|
-
capacity your main session never spends — and Antigravity's roster
|
|
53
|
-
Claude Sonnet/Opus, so even Claude-quality work can run on Google's
|
|
50
|
+
2. **Provider arbitrage.** Codex, Antigravity, Kimi Code and opencode quotas
|
|
51
|
+
are entirely separate pools from your Anthropic plan. Every slice you hand
|
|
52
|
+
them is capacity your main session never spends — and Antigravity's roster
|
|
53
|
+
includes Claude Sonnet/Opus, so even Claude-quality work can run on Google's
|
|
54
|
+
pool. Kimi Code brings its own subscription with the senior-tier K3.
|
|
54
55
|
`opencode` widens this the most: one CLI fronting ~75 providers, from a z.ai
|
|
55
56
|
GLM coding plan to models running locally on your own machine.
|
|
56
57
|
3. **Bucket arbitrage inside one plan.** Headless `claude -p` draws on the same
|
|
@@ -119,6 +120,10 @@ The other agents differ, because their CLIs do:
|
|
|
119
120
|
{ "permission": { "edit": "allow", "bash": "allow", "webfetch": "deny" } }
|
|
120
121
|
```
|
|
121
122
|
|
|
123
|
+
- **kimi** has no permission flags at all in headless mode — `kimi -p` refuses
|
|
124
|
+
`--auto`, `--yolo` and `--plan`, and already runs with auto-approval, so
|
|
125
|
+
there is no read-only mode below the prompt.
|
|
126
|
+
|
|
122
127
|
- **gemini** (legacy) runs with `--yolo`.
|
|
123
128
|
|
|
124
129
|
## Install
|
|
@@ -156,6 +161,7 @@ playmaker agents # which agent CLIs are reachable
|
|
|
156
161
|
| **Codex CLI** | `npm i -g @openai/codex` | the model roster depends on your plan; omit `--model` to use the account default |
|
|
157
162
|
| **Antigravity (`agy`)** | bundled with [Antigravity](https://antigravity.google) | `--model claude-opus-4-6-thinking` — the roster moves, so read it from `agy models` |
|
|
158
163
|
| **opencode** | `brew install sst/tap/opencode` (or see [opencode.ai](https://opencode.ai)) | `--model provider/model`, e.g. `zai-coding-plan/glm-5.2`; roster from `opencode models`, providers from `opencode auth login` |
|
|
164
|
+
| **Kimi Code CLI** | `npm i -g @moonshot-ai/kimi-code` | needs Node ≥ 22.19 (a wrapper that pins a newer Node is fine — point `[agents.kimi] binary` at it); `--model kimi-code/k3-256k` — 256k window at half the quota cost of `k3`; log in once with `kimi login --region global`; model ids from `~/.kimi-code/config.toml` |
|
|
159
165
|
| **Gemini CLI** (legacy) | `npm i -g @google/gemini-cli` | still supported, superseded by `agy` |
|
|
160
166
|
|
|
161
167
|
At least one is required; `playmaker agents` tells you which it can see.
|
|
@@ -290,6 +296,7 @@ and locates the session file the tool writes locally. Empirically:
|
|
|
290
296
|
| Codex | `~/.codex/sessions/<YYYY>/<MM>/<DD>/rollout-<ts>-<thread_id>.jsonl` |
|
|
291
297
|
| Antigravity | `~/.gemini/antigravity-cli/brain/<conversation-id>/.system_generated/logs/transcript_full.jsonl` |
|
|
292
298
|
| opencode | SQLite — `~/.local/share/opencode/opencode.db` (`session` / `message` / `part`); playmaker keeps a pointer at `~/.playmaker/opencode/<id>.session` |
|
|
299
|
+
| kimi | `~/.kimi-code/sessions/wd_<cwd-basename>_<hash>/session_<id>/agents/main/wire.jsonl` (per-cwd; `KIMI_CODE_HOME` overrides the root) |
|
|
293
300
|
| Gemini | `~/.gemini/tmp/<cwd-basename>/chats/session-<ts>-<short_id>.{json,jsonl}` |
|
|
294
301
|
|
|
295
302
|
`thread` and `summary` normalize all of them into the same turn list, so every
|
|
@@ -412,6 +419,10 @@ whole Z.ai block. Routing a subtask is choosing which of them to spend.
|
|
|
412
419
|
lane pointed at a local model spends nothing here. Shows *unsupported* rather
|
|
413
420
|
than an error when no Z.ai credential exists. `MCP tools` is the monthly
|
|
414
421
|
web-search/reader pool, not inference.
|
|
422
|
+
- **Kimi Code** — managed usage API; OAuth token from
|
|
423
|
+
`~/.kimi-code/credentials/kimi-code-env-*.json` (`$KIMI_CODE_HOME` overrides
|
|
424
|
+
the root). Its 5-hour `Session` and weekly rows are separate percentage
|
|
425
|
+
buckets; no credential reads as *unsupported* rather than a failed probe.
|
|
415
426
|
|
|
416
427
|
Reading these at *model* granularity is the point: they are the load-balancing
|
|
417
428
|
input the coach skill uses to route each subtask.
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
[project]
|
|
2
2
|
name = "playmaker-cli"
|
|
3
|
-
version = "0.
|
|
4
|
-
description = "Playing-coach CLI for orchestrating Claude Code, Codex, Antigravity and opencode sub-agents in parallel."
|
|
3
|
+
version = "0.12.0"
|
|
4
|
+
description = "Playing-coach CLI for orchestrating Claude Code, Codex, Antigravity, Kimi Code and opencode sub-agents in parallel."
|
|
5
5
|
readme = "README.md"
|
|
6
6
|
requires-python = ">=3.11"
|
|
7
7
|
license = "MIT"
|
|
@@ -19,6 +19,8 @@ keywords = [
|
|
|
19
19
|
"codex",
|
|
20
20
|
"antigravity",
|
|
21
21
|
"gemini",
|
|
22
|
+
"kimi",
|
|
23
|
+
"kimi-code",
|
|
22
24
|
"opencode",
|
|
23
25
|
"glm",
|
|
24
26
|
"subagents",
|
{playmaker_cli-0.10.0 → playmaker_cli-0.12.0}/skills/playmaker-coach/references/agent-gotchas.md
RENAMED
|
@@ -65,6 +65,22 @@ line from `agy models` / `opencode models` rather than typing it.
|
|
|
65
65
|
- Neither trap applies to **review** dispatches, which write nothing — which makes opencode a
|
|
66
66
|
perfectly good reviewer even where it is a shaky implementer.
|
|
67
67
|
|
|
68
|
+
## kimi (Kimi Code CLI)
|
|
69
|
+
|
|
70
|
+
- There is **no read-only mode below the prompt**: `-p` refuses `--auto`, `--yolo` and `--plan`
|
|
71
|
+
(exit 1) and already runs with auto-approval. Only dispatch work you would run unattended anyway.
|
|
72
|
+
- The session id arrives **only in the trailing `session.resume_hint` line**, so `playmaker list`
|
|
73
|
+
shows the agent session late — do not conclude a dispatch failed just because the id has not
|
|
74
|
+
appeared yet.
|
|
75
|
+
- Sessions are **per-cwd**: `kimi session list` from another directory shows nothing. Track the
|
|
76
|
+
session through playmaker, not through the CLI.
|
|
77
|
+
- The stream carries **no token/cost fields** — there is nothing to budget against mid-run.
|
|
78
|
+
- Exit codes: **exit 1 is non-retryable** (auth, quota, unknown model — "is not configured in
|
|
79
|
+
config.toml"); **exit 75 is retryable**. Fix the cause on 1, re-dispatch on 75.
|
|
80
|
+
- K3 is **slow on real tickets** — never `--sync` a big WP; dispatch detached and poll.
|
|
81
|
+
- Needs **Node ≥ 22.19** — hence the wrapper binary; point `[agents.kimi] binary` at it.
|
|
82
|
+
- **Always pass `-m kimi-code/k3-256k`** — the CLI default is the weaker K2.7 `kimi-for-coding`.
|
|
83
|
+
|
|
68
84
|
## Worktrees
|
|
69
85
|
|
|
70
86
|
Parallel WPs that touch the same files collide. Give each its own git worktree and dispatch with
|
|
@@ -18,8 +18,9 @@ pays. Four lanes:
|
|
|
18
18
|
(`haiku` for trivial mechanical work). playmaker runs it in `acceptEdits`: it writes freely
|
|
19
19
|
inside `--cwd` and is refused outside it, so keep every path in the prompt inside `--cwd`.
|
|
20
20
|
|
|
21
|
-
4. **External dispatch — `codex` / `agy` / `opencode`.** Each on its own subscription or
|
|
22
|
-
home for write-heavy parallel implementation that can leave the Anthropic
|
|
21
|
+
4. **External dispatch — `codex` / `agy` / `opencode` / `kimi`.** Each on its own subscription or
|
|
22
|
+
plan — the home for write-heavy parallel implementation that can leave the Anthropic
|
|
23
|
+
subscription.
|
|
23
24
|
- **`agy` (Antigravity)** carries more than Google models: alongside Gemini Flash and Pro tiers it
|
|
24
25
|
serves **Claude Sonnet/Opus (Thinking)** and a GPT-OSS tier. Its Claude runs on *Google's*
|
|
25
26
|
pool and spends none of the Anthropic bucket — but that roster has trailed Anthropic's own
|
|
@@ -29,6 +30,8 @@ pays. Four lanes:
|
|
|
29
30
|
- **`opencode`** is the widest lane: one CLI over ~75 providers addressed as `provider/model` — a
|
|
30
31
|
GLM coding plan, or a model running locally on this machine, which spends no subscription quota
|
|
31
32
|
at all.
|
|
33
|
+
- **`kimi`** runs the Kimi Code CLI on its own subscription: senior tier (K3), native login, no
|
|
34
|
+
opencode.
|
|
32
35
|
|
|
33
36
|
**Never write an agy or opencode model name from memory** — run `agy models` / `opencode models` and
|
|
34
37
|
copy a line. Both rosters and their spelling move with releases, and playmaker validates `--model`
|
|
@@ -24,6 +24,9 @@ several tiers with independent buckets, and the whole point of pulling quotas is
|
|
|
24
24
|
- **Codex:** the main block is the primary Codex window; `Codex — Spark` is a separate block with
|
|
25
25
|
its own `Session` / `Weekly` rows for the Spark model, the junior Codex lane — route Spark work
|
|
26
26
|
off that block, not off the main one.
|
|
27
|
+
- **Kimi Code:** `Session` is its rolling 5-hour bucket and `Weekly` is the subscription's weekly
|
|
28
|
+
percentage bucket. They are independent of Claude, Codex and the opencode-backed plans, so Kimi
|
|
29
|
+
is a useful alternate lane when either of those two rows still has headroom.
|
|
27
30
|
- **opencode:** the quota belongs to the *plan behind the provider*, not to the CLI — it appears
|
|
28
31
|
under that provider (e.g. a GLM coding plan's session and weekly credit windows) and reads
|
|
29
32
|
unsupported without a credential. A dispatch pointed at a **local** model spends nothing and never
|