一键导入
verify
Verify dianjiang CLI changes end-to-end by driving the real command surface against an isolated DIANJIANG_HOME, including minimal-cost live harness calls.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Verify dianjiang CLI changes end-to-end by driving the real command surface against an isolated DIANJIANG_HOME, including minimal-cost live harness calls.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
| name | verify |
| description | Verify dianjiang CLI changes end-to-end by driving the real command surface against an isolated DIANJIANG_HOME, including minimal-cost live harness calls. |
dianjiang is a CLI that dispatches real (paid) AI coding-agent CLIs. Verification must (a) isolate all state and (b) keep live AI calls minimal-cost.
No build step. Run the CLI directly:
bun run src/cli/index.ts <command>
DIANJIANG_HOME=$(mktemp -d)/home on every command — never touch ~/.dianjiang.setup writes to $HOME/.claude/CLAUDE.md, $HOME/.codex/AGENTS.md,
$HOME/.grok/AGENTS.md — only ever run it with HOME=<tempdir>.Prompt is always a single sentence like "Reply with exactly: OK". Cheapest
paths per harness:
run --harness grok -m grok-composer-2.5-fast "..." (no effort support)run --harness claude --model sonnet --effort low "..."run --harness codex --model gpt-5.4-mini "..."T=$(mktemp -d) && mkdir -p $T/home $T/work $T/fakehome
DJ="bun run src/cli/index.ts"
DIANJIANG_HOME=$T/home $DJ config init
DIANJIANG_HOME=$T/home $DJ config harnesses # 3x installed:true expected
DIANJIANG_HOME=$T/home $DJ run --harness grok -m grok-composer-2.5-fast "Reply with exactly: OK" --cwd $T/work
DIANJIANG_HOME=$T/home $DJ resume <runId> "What word did I ask for? Just that word."
DIANJIANG_HOME=$T/home $DJ run --harness grok -m grok-composer-2.5-fast "Reply with exactly: D-OK" --cwd $T/work --detach
DIANJIANG_HOME=$T/home $DJ status <runId> # poll until != running
DIANJIANG_HOME=$T/home $DJ result <runId>
DIANJIANG_DEPTH=2 DIANJIANG_HOME=$T/home $DJ run --harness grok -m grok-composer-2.5-fast "hi" # expect exit 2
HOME=$T/fakehome DIANJIANG_HOME=$T/home $DJ setup # run twice; diff = idempotent
pid is in sqlite: sqlite3 $T/home/runs.sqlite "select pid from runs where run_id='<id>'"), then status — must reconcile
to failed, not hang at running.dianjiang run CLI process mid-run — the job must survive
(every run executes in a detached worker) and result <runId> must recover
the completed outcome afterwards.resume of a failed/running run must fail fast (no silent fresh session).--harness / missing runId → JSON error, exit 1.-p is --single <PROMPT>: the prompt is the flag's VALUE. claude's
-p is a boolean with a positional prompt. Don't "fix" one to match the other.harnessSessionId ≠ runId (parsed from thread.started events);
claude/grok equal runId (pre-injected --session-id).$DIANJIANG_HOME/logs/<runId>.log
containing the full harness stdout/stderr stream — the run's artifact path.
The parsed result lives in sqlite, not the log.