Files
deepseek-harness/packages/interaction/README.md
Tianyi Cui aa0ca6c836 docs: anchor each subsystem page to its package group; make group READMEs thin tables
core.md read as a type grab-bag: LLM wire vocabulary up front, the agent/loop story buried, and no correspondence to packages/core. It now opens on the packages/core control spine — the package-by-package loop map with a Page column into session/system-prompt/tools/scope — and keeps only what the spine group declares plus the repo-wide patterns: the Agent handle with its delivery/cancellation/interception contracts, the SessionEvent envelope, branded ids, the …Map pattern. The conversation vocabulary (Message/ContentBlock, the model request, adapters — 17 type-equiv blocks) moves to llm-streaming.md, which now declares packages/llm end-to-end; the duplicate ContentBlockMap paste near its seam section folds into the moved section, and the manifest, LINK_MAP, README table rows, website label (Core data structures → Core), and inbound anchors follow.

Every packages/<group>/README pair is now a thin front door in one shape: a why-first intro (bash's seam-pattern-first paragraph rewritten as 'shell execution for the agent'), the package table, and a closing pointer to the owning docs/subsystems page — the bash-style table stays the load-bearing middle. Load-bearing trailing paragraphs relocate rather than vanish: the fs no-timeout rationale becomes a filesystem.md section (both languages), session's four sectioned tables merge into one 12-row table, examples' legacy-bin H2 collapses to a pointer at jsonrpc-demo's README, and design rationale that already lives in an Agent Note or subsystem page is now linked instead of restated. All 40 pair records re-recorded.
2026-08-09 01:32:39 +08:00

1.8 KiB

interaction/ — the human-collaboration plane

English | 中文

The seams through which a human collaborates with a running agent — questions, approvals, permission presets, commands. These are product packages: real interfaces a person drives.

Package Role ctx key
commands/ Registers and dispatches human commands for interactive adapters. ctx.commands
user-approval/ Coordinates one-shot approval decisions. ctx.approval
permission/ Presents and persists user-facing permission presets. ctx.permission
user-interaction/ Defines the provider-neutral human question/answer seam. ctx.userInteraction
tool-ask-user/ Exposes human questions to the model. (registers on ctx.tools)

These packages integrate through existing agent and session contracts rather than changing the loop. Interactive applications provide the concrete command, approval, and question adapters; automation uses acp/, and runnable demo bundles live under examples/. The product dsh CLI composes these packages directly.

The subsystem references: approval.md, permission.md, user-interaction.md, commands.md, and tui.md. The automation-only ACP transport is acp/, the SDK's JSON-RPC server half scaffold/server, and the shared bin boot glue boot/.