deepseek-harness/packages
Yif 20720ef238 fix(gui): polish sidebar layout, wordmark, tooltip, and fonts to figma
Fixed sidebar width (never concedes), figma session-row rail (16px twist +
status slots, triangle arrows, mount fade), exact brand wordmark svg with
tooltip'd rail controls, form controls inheriting the app font stack, and
inlined the twist button reset since the tsdown CSS pipeline drops composes.
2026-07-23 17:08:47 +08:00
..
bash Merge remote-tracking branch 'origin/master' into codex/session-scoped-sandbox-roots 2026-07-22 21:37:30 +08:00
client fix(gui): polish sidebar layout, wordmark, tooltip, and fonts to figma 2026-07-23 17:08:47 +08:00
code-runtime Merge branch 'codex/invariant-package-registration-gate' into codex/package-invariant-checks 2026-07-20 19:55:46 +08:00
compact Merge remote-tracking branch 'origin/master' into worktree/pr468-retarget-latest-master 2026-07-22 21:06:50 +08:00
context Merge remote-tracking branch 'origin/master' into worktree/pr468-retarget-latest-master 2026-07-22 21:27:18 +08:00
cordis Merge remote-tracking branch 'origin/master' into worktree/pr468-retarget-latest-master 2026-07-22 23:17:02 +08:00
core Merge remote-tracking branch 'origin/master' into worktree/pr468-retarget-latest-master 2026-07-22 23:17:02 +08:00
examples Merge remote-tracking branch 'origin/master' into worktree/pr468-retarget-latest-master 2026-07-22 23:00:05 +08:00
fs Merge remote-tracking branch 'origin/master' into codex/session-scoped-sandbox-roots 2026-07-22 21:37:30 +08:00
goal Merge master into codex/session-title 2026-07-21 22:59:41 +08:00
guard Merge commit 'refs/codex/unblock/master-current' into HEAD 2026-07-21 20:20:53 +08:00
hooks Merge remote-tracking branch 'origin/master' into codex/session-scoped-sandbox-roots 2026-07-22 21:37:30 +08:00
host test(web): add race-free loopback smoke 2026-07-22 21:35:32 +08:00
llm Merge remote-tracking branch 'origin/master' into worktree/pr504-retarget-latest-master 2026-07-22 20:55:12 +08:00
lsp Merge origin/master into worktree/ci-under-minute 2026-07-22 17:15:46 +08:00
mcp Merge commit 'refs/codex/unblock/master-current' into HEAD 2026-07-21 20:20:53 +08:00
plan refactor(plan): remove generic mode abstraction 2026-07-22 16:57:23 +08:00
pty Merge updated rfc/pty into feature/persistent-pty-sessions 2026-07-22 22:43:20 +08:00
sandbox Merge remote-tracking branch 'origin/master' into codex/session-scoped-sandbox-roots 2026-07-22 21:37:30 +08:00
sdk test(windows): make coverage fixtures portable 2026-07-22 13:10:48 +08:00
session-persistence Merge commit 'refs/codex-unblock/20260722-pr338-master' into HEAD 2026-07-22 22:37:16 +08:00
session-query Merge remote-tracking branch 'origin/master' into worktree/session-reference 2026-07-22 10:21:17 +08:00
session-title fix(session-reference): bind snapshots to prompts 2026-07-22 17:34:31 +08:00
skill Merge origin/master into worktree/ci-under-minute 2026-07-22 17:15:46 +08:00
spill Merge master into worktree-windows-runtime 2026-07-21 23:39:14 +08:00
subagent test(windows): make coverage fixtures portable 2026-07-22 13:10:48 +08:00
support Merge commit 'refs/codex-unblock/20260722-pr338-master' into HEAD 2026-07-22 22:37:16 +08:00
tasks Merge commit 'refs/codex/unblock/master-current' into HEAD 2026-07-21 20:20:53 +08:00
timeout Merge commit 'refs/codex/unblock/master-current' into HEAD 2026-07-21 20:20:53 +08:00
todo Merge commit 'refs/codex/unblock/master-current' into HEAD 2026-07-21 20:20:53 +08:00
ui test(tui): await catalog failure rendering 2026-07-22 22:45:46 +08:00
util Merge master into worktree-windows-runtime 2026-07-21 23:39:14 +08:00
web test(web): disable unreliable DeepSeek search smoke 2026-07-22 12:37:42 +08:00
workflow Merge commit 'refs/codex/unblock/master-current' into HEAD 2026-07-21 20:20:53 +08:00
AGENTS.md docs(ts): document the solution-root TypeScript project layout 2026-07-23 03:59:35 +08:00
CLAUDE.md Document the codebase thoroughly and tighten type safety 2026-06-11 13:01:00 +08:00
README.md Merge refreshed rfc/pty into feature/persistent-pty-sessions 2026-07-22 21:12:16 +08:00

Packages

Packages use the @deepseek-ai/dsh-* scope. Each is a Cordis Service subclass or function plugin; contributions use ctx.effect(), ctx.on(), or ctx.waterfall(). Authoring rules: package and root.

Hierarchy

Packages live at packages/<group>/<pkg>/; groups are containers, while names remain @deepseek-ai/dsh-<pkg>. Each group README is the canonical package/ctx-key map.

Group Role Release expectation
core/ Product API spine: sessions, prompts, tools, agent services, and the concrete loop Product — stable surface
goal/ Persisted same-session goal state and lifecycle Product — stable surface
llm/ LLM capability family: the abstract service + provider adapters Product — stable surface
bash/ Bash capability family: executor seam, local impl, model-facing tool Product — stable surface
pty/ Persistent PTY capability family: owner-scoped sessions, local implementation, and model-facing tools Product — stable surface
code-runtime/ Code-execution capability family: the runtime seam for model-written programs + a worker-thread backend Product — stable surface
sandbox/ Process-confinement seam; bwrap/Landlock/Seatbelt backends Product — stable surface
fs/ Filesystem capability family: seam, local impl, model-facing file tools, bash-backed discovery tools Product — stable surface
lsp/ LSP capability family: seam, generic stdio provider, and the lsp tool Product — stable surface
skill/ Skill capability family: the provider registry, local provider, and model-facing catalog/loader Product — stable surface
compact/ Compaction capability family: the abstract seam + a basic backend (tool deferred) Product — stable surface
context/ Model-visible request context, including workspace instructions and time context Product — stable surface
subagent/ Subagent capability family: the provider-registry seam and the model-facing delegation tool Product — stable surface
tasks/ Generic background-task runtime and model-facing task_* control tools Product — stable surface
workflow/ Workflow capability family: the script-engine seam, worker-thread engine, and model-facing workflow and fresh-agent ralph tools Product — stable surface
web/ Web capability family: seam, search/fetch provider impls, and the model-facing web tools Product — stable surface
spill/ Spill capability family: storage seam, local impl, tool-result spill policy Product — stable surface
todo/ Todo/planning family: the model-facing todo_write tool Product — stable surface
plan/ Plan collaboration state with a direct entry command and reviewed exit Product — stable surface
timeout/ Tool-call timeout policy: the tools/execute deadline enforcer Product — stable surface
guard/ Loop-hygiene guards: advisory repeat-call reminders Product — stable surface
cordis/ Self-referential runtime toolset: inspect the live runtime's plugins and services, mount/unmount model-written plugins (design) Product — stable surface
hooks/ Hook bridges + the shared Claude Code / Codex wire-protocol library Product — stable surface
session-persistence/ Persistence capability family: the seam + JSONL/SQLite backends Product — stable surface
session-query/ Session retrieval: logical corpus, bounded reads, lineage, and event relationships Product — stable surface
session-title/ Log-backed session titles: fallback service, shared LLM policy, and opt-in providers Product — stable surface
sdk/ Project SDK tooling Product — stable surface
ui/ Editor/client integration surfaces: ACP bridge, JSON-RPC SDK server, user-approval/user-interaction seams, ask-user tool Product — stable surface
examples/ Demo bundles (agent-spine + TUI/one-shot CLI/ACP/JSON-RPC bins) the leaves load Support — example infra
support/ Support infrastructure (testkits, invariants, replay, Loader smokes) Support — lower compatibility expectations
util/ Low-level zero-dependency utilities shared across groups (Branded<B>, Harness home/path helpers, timeout, retention) Support — small, stable, harness-dep-free

Groups distinguish product API from support infrastructure. New packages join an existing group; a new group updates its README and this table.

Dependencies

The dependency graph is generated: docs/module-graph.md (pnpm run gen-module-graph, freshness-gated in CI).

Extension plugins depend on interfaces, never the concrete loop. dsh-agent-loop is swappable; UI, hook, and tool plugins use dsh-agent. Composition bundles, including dsh-agent-spine-demo, may depend on spine plugins. Capabilities split into interface / implementation / consumer packages; see capability seams.

Package READMEs cover purpose, APIs, extension points, and Model Experience unless on the model-agnostic omission allowlist. They also carry ## Known Limitations and Deferred Work or use its allowlist.