deepseek-harness/examples
Tianyi Cui ca2207e26c Fix doc cross-links for the hierarchy; add package-path + shape gates
Merge brought in the RFC-classification reorg and two new doc gates;
rewrite every drifted packages/<name> cross-link (Markdown link targets,
moved-README relative depths, and .ts comment paths) to the grouped paths.

Add two doc-sync/hygiene gates so the manual checks this restructure
needed become automated:
- verify-package-paths.ts: flags a packages/<path> reference (in Markdown
  or a .ts comment/string) that does not resolve AND names a real package
  in a segment — i.e. a stale path to a MOVED package. A path naming a
  non-existent package (a forward-looking proposal) is left alone, so it
  applies uniformly across proposed/implemented/rejected.
- check-workspace-constraints: assert the packages/<group>/<pkg> depth-2
  shape (group dirs carry no package.json; no flat or over-nested
  packages). Group names stay open; only the shape is fixed.
2026-06-20 23:12:14 +08:00
..
acp-agent Fix doc cross-links for the hierarchy; add package-path + shape gates 2026-06-20 23:12:14 +08:00
coding-agent feat(acp): dispose each session's agent on disconnect/teardown 2026-06-20 06:44:58 +08:00
echo-agent refactor(examples): extract reusable logic into tested packages 2026-06-19 12:42:28 +08:00
AGENTS.md refactor(examples): extract reusable logic into tested packages 2026-06-19 12:42:28 +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
CLAUDE.md refactor(examples): extract reusable logic into tested packages 2026-06-19 12:42:28 +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.