Files
deepseek-harness/examples
ZiyaZhang 767d65465d fix(desktop): visual consistency sweep — plan-signal teal + rubric hint compact + token cleanup
Batch fix for review-visual-flow's two P0 + five P1 findings across the
Chat / Rubrics / Growth surfaces. Everything routes through tokens — no
new hex family, no gradient hero, no violet competing with --accent.

P0-1 blue collision — plan-signal chip shared the exact --accent hue
with --turn-action-edge, so a .sig-plan chip inside an action turn fused
visually with the turn's left rail. Introduces --signal-plan-fg / -bg /
-border (+ restart variants) on a teal axis (light #0f766e, dark
#5eead4), rewires .turn-signal-chip.sig-plan, .sig-plan-restart, their
dark override, and the .trace-timeline-signal-badge / .trace-graph-
signal-ring SVG variants to the tokens. Now the four signal families
(error red / loop red / redundant amber / plan teal) all sit off the
blue axis so the turn-edge blue keeps its exclusive whole-turn-action
semantic.

P0-2 rubric-hint-card hero — was a full-width purple gradient banner
(12px radius, 20px icon, primary CTA) violating spec §2 'L1 material
styled as L0 hero'. Repainted as a 28px compact row: single hairline on
--surface, 4px radius, downgraded icon to '·', inlined title+subtitle,
CTA to ghost small. Reads as a Fields-tree-grade nudge, not page chrome.

P1 batch (5 CSS token conversions):
  1. .rubric-tile-stats-rate/-dot .pass/.fail: raw #79d17b/#f96e6e →
     --status-ok-fg / --status-err-fg.
  2. .rubrics-empty-illust svg [fill]: raw #a89a83 → --icon-mute.
  3. .growth-filter-chip.active: raw --accent-* → --nav-item-active-*.
  4. .kb-tabs .active hue: raw --accent-fg → --text.
  5. .rubric-grid-name size: 15px → 14px (three-size rule).

7 renderer test file (visual-consistency-polish.test.js) locks all the
above via style.css AST assertions. 3 shots + 3 before shots under
docs/qa-visual-fix/ document the delta on chat / rubrics / growth.

10 files, +400/-49. Visual-only, no behavioral changes.
2026-07-19 05:23:41 -07:00
..

Examples

Runnable demos (not workspaces) that showcase how the harness is wired. Each example is a thin leaf: a cordis.yml that picks the swappable backends (an LLM adapter, a bash executor), loads one app package, and may add optional product tools or demo-only mocks. The composition — the spine, the front-door cluster, and the boot glue — lives in the app packages (@deepseek-ai/dsh-stdio-demo, @deepseek-ai/dsh-acp-demo) and the @deepseek-ai/dsh-agent-spine-demo bundle they share. There is no start.ts; the demo:* scripts invoke each app package's bin.

echo-agent

A mock model + echo tool on the stdio chat app — the all-mock skeleton. The leaf swaps dsh-stdio-demo's LLM backend to a local mock-echo adapter and adds a local echo tool. Demonstrates:

  • A thin leaf cordis.yml loading the @deepseek-ai/dsh-stdio-demo app
  • Registering a mock LlmAdapter (streaming scripted responses)
  • Registering a tool via ctx.tools.register()
  • "Swap the backend, keep the app" — the only difference from coding-agent is the adapter

Run with: pnpm run demo:echo. When prompted, type "echo " to trigger a tool call round-trip.

coding-agent

A REPL agent demo: DeepSeek V4 + the read/write/edit filesystem tools + the bash tool suite, subagent delegation, and the todo_write task tracker on the same @deepseek-ai/dsh-stdio-demo app. The UI is a terminal readline REPL.

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

Run the Code Mode overlay with pnpm run demo:code-mode, or pass acp for the ACP example. See the Code Mode example for its composition and a sample task.

cordis-agent

The self-referential demo: the coding spine plus @deepseek-ai/dsh-tool-cordis, whose three tools (cordis_inspect / cordis_mount / cordis_unmount) let the agent inspect the live cordis runtime it runs inside, mount model-written plugins into it (an event listener, a brand-new tool for itself, or a service another mount injects), and dispose them again — all dynamic mounts grouped under one cordis-dynamic fiber subtree. The ctx.fs/ctx.web services ride along provider-only, as the capabilities those plugins build on.

Run with: pnpm run demo:cordis (needs DEEPSEEK_API_KEY). See cordis-agent/README.md for the staged demo script and the toolset RFC for the design and sandbox caveats.

acp-agent

An agent demo exposed as an Agent Client Protocol (ACP) server over JSON-RPC stdio, via the @deepseek-ai/dsh-acp-demo app — drive it from Zed or any other ACP client. Also the home of the keyless snapshot tests.

Run with: pnpm run demo:acp (needs DEEPSEEK_API_KEY); pnpm run demo:code-mode acp boots the same server in Code Mode via the code-mode.cordis.yml overlay. See acp-agent/README.md for the Zed setup and the snapshot-test design.

The default cordis.yml composes @deepseek-ai/dsh-sandbox-local, @deepseek-ai/dsh-bash-sandbox, @deepseek-ai/dsh-user-approval, and @deepseek-ai/dsh-permission. A capable client gets one Permissions select: workspace-write confines bash to the configured workspace and asks before a wider retry, while danger-full-access removes file confinement and disables approval prompts. A denied command can therefore surface a one-shot session/request_permission prompt in the editor; "Allow once" runs exactly that retry under the requested wider mode.