deepseek-harness/examples
Tianyi Cui 6d02059f9f test(acp-example): snapshot the session/new workspace-scope rejection
Master's "fix(acp): align prompt and workspace contracts" made session/new
reject a non-empty additionalDirectories / mcpServers (widening the workspace
scope is unimplemented). Add a `reject-extra-dirs` scenario + a
`newSessionExpectError` input op that pins this editor-facing contract: the
bridge answers with `-32602 Invalid params: additionalDirectories is not
supported`. Keyless, deterministic, no model call.

(session/load replay — the other new master behavior — needs a two-phase
seed-then-load harness and is left for a focused follow-up.)
2026-06-19 10:10:32 +08:00
..
acp-agent test(acp-example): snapshot the session/new workspace-scope rejection 2026-06-19 10:10:32 +08:00
coding-agent Merge branch 'feat/acp-1-max-tokens-turn-end' into feat/acp-2-bridge 2026-06-16 23:40:23 +08:00
echo-agent fix(session): synthesize tool results for interrupted tool calls on crash recovery (review #33) 2026-06-16 23:50:52 +08:00
base-core.yml refactor(examples): DRY the acp-agent configs via base-core.yml + acp-tail.yml 2026-06-19 09:41:10 +08:00
base.yml refactor(examples): DRY the acp-agent configs via base-core.yml + acp-tail.yml 2026-06-19 09:41:10 +08:00
README.md feat: migrate to pnpm 2026-06-16 14:55:37 +08:00

Examples

Runnable demos (not workspaces) that showcase how the harness is wired.

echo-agent

A mock model + echo tool + stdio UI + JSONL persistence demo. Demonstrates:

  • Loading plugins from a cordis.yml via @cordisjs/plugin-loader + @cordisjs/plugin-include
  • Registering a mock LlmAdapter (streaming scripted responses)
  • Registering a tool via ctx.tools.register()
  • Persisting session events to JSONL via the session/event + session/flush pattern
  • A minimal stdio UI consuming agent/stream-chunk and session events

Run with: pnpm run demo:echo

When prompted, type "echo " to trigger a tool call round-trip.

coding-agent

The real thing: DeepSeek V4 + the bash tool suite + stdio chat + JSONL persistence, wired from cordis.yml. Where echo-agent proves the skeleton with mocks, this is a usable coding assistant.

Run with: pnpm run demo:coding (needs DEEPSEEK_API_KEY in the environment or a gitignored repo-root .env). See coding-agent/README.md for details.