Tianyi Cui 440384fdb4 Merge remote-tracking branch 'origin/master' into worktree/acp-automation-protocol il y a 1 mois
..
tests 440384fdb4 Merge remote-tracking branch 'origin/master' into worktree/acp-automation-protocol il y a 1 mois
README.md 1b04e8eb2b Merge branch 'codex/goal-commands' into codex/ralph-tool il y a 1 mois
advanced.cordis.snapshot.yml 7eec0d81ec test(snapshot): reconcile replay overlays with the merged configs and fixtures il y a 1 mois
advanced.cordis.yml 0e06d0691d feat(examples): default agent configs to DeepSeek Pro Max Thinking il y a 1 mois
composition.md b6f6c58435 Merge remote-tracking branch 'origin/master' into worktree/routed-model-compaction-policy il y a 1 mois
cordis.yml 7eec0d81ec test(snapshot): reconcile replay overlays with the merged configs and fixtures il y a 1 mois
goal.cordis.snapshot.yml 77ab5516a9 Merge goal tool fixes and align same-session blockers il y a 1 mois
goal.cordis.yml 77ab5516a9 Merge goal tool fixes and align same-session blockers il y a 1 mois
package.json 8d35092e26 fix(examples): isolate headless agent example il y a 1 mois
pty.cordis.snapshot.yml 57a47b1fb3 fix(pty): close review lifecycle gaps il y a 1 mois
ralph.cordis.snapshot.yml 9f6f87cf69 test(ralph): snapshot fresh-agent rounds in headless app il y a 1 mois
semantic-checkpoint.cordis.snapshot.yml e819a586b0 refactor(acp): reduce bridge to automation protocol il y a 1 mois

README.md

headless-agent

Headless one-shot agent wiring: DeepSeek V4 + local bash and filesystem tools + subagent delegation + workflows and fresh-agent Ralph iteration + todo_write + JSONL persistence, with @deepseek-ai/dsh-cli-demo as the app front door.

Run it

# repo root .env (gitignored) or exported env:
#   DEEPSEEK_API_KEY=sk-…
#   DEEPSEEK_BASE_URL=https://…   # optional; defaults to the public API
pnpm run demo:headless "fix the failing test in this workspace"
pnpm run demo:headless --output-format json -- "summarize the implementation"
pnpm run demo:headless --output-format stream-json -- "run the focused tests"

Exactly one nonblank positional task is required; quote tasks containing spaces. There is no -p flag. text prints the last text-bearing assistant message, json prints one DSH-native result record, and stream-json emits the top-level session's canonical task-turn events before that record. Child sessions surface only through parent tool events and results.

Each invocation creates and persists a fresh session, runs all model and tool steps in one turn, flushes, disposes, and exits. This is non-interactive automation: there is no prompt, approval, resume, second turn, or stdin context. The configured tools can mutate the launch workspace, run commands, spawn child agents, and consume provider tokens.

Advanced and snapshot wiring

advanced.cordis.yml adds Code Mode and the Cordis tools to the shipped leaf. advanced.cordis.snapshot.yml replaces only the live LLM with replay. The tests under tests/ own the keyless real-Loader smoke, key-gated world-verified smoke, and the stream-json replay snapshot with its parent and child session fixtures.

The package-level CLI contract documents output records, exit status, cancellation, persistence, and model/token effects.