Files
deepseek-harness/packages/core/README.md
T
Yichen Jiang f34eaf7601 feat(agent): admit Web prompts through the agent controller
Add @deepseek-ai/dsh-agent-controller, composed in the base bundle, as the
entry through which a sender delivers a message from outside an Agent into
its inbox. deliver() runs the sender's content preparation in the Agent's
delivery order, asks the agent-controller/admission waterfall for a
decision, rechecks cancellation and registration, and appends the message
with followup() or steer(). dsh-agent and agent-loop are unchanged.

The Web session/prompt Remote delivers through it: the image model check,
upload receipt resolution, and attachment storage run as prepare, the
receipt binding runs as beforeInsert, and refusals map to
session/prompt-rejected. The Web client keeps its existing echo.

This replaces the Host half of deepseek-harness/deepseek-harness#6178,
whose admission stage lived in dsh-agent.
2026-10-17 17:09:29 +08:00

3.8 KiB

description, kind
description kind
The core group map: the session log, system-prompt assembly, tool registry, agent vocabulary, and default loop that form the product API spine. package-group

packages/core

English | 中文

Summary

Use the core packages to build or extend an agent that records durable session history, assembles system prompts, exposes tools, selects a default model, and runs model turns. These packages define the shared APIs used by every composition, while executable product assemblies live under packages/bundle. Choose this group when developing agent behavior or replacing one of those capabilities; start with dsh-base when you need the default runnable composition.

Table of Contents


Packages

Package Role ctx key
scope/ Scoped registration and event routing that isolate one agent's contributions library — no ctx key
session/ The append-only session event log every agent's history derives from ctx.sessions
system-prompt/ System-prompt assembly from ordered sections, tool schemas, and variables ctx.systemPrompt
tools/ The tool registry and guarded execution pipeline the loop dispatches through ctx.tools
agent-tool-presentation/ Per-agent tool-presentation selector for presets no ctx key
agent/ The Agent handle plugins program against, plus its live registry and events ctx.agents
agent-controller/ Delivery of messages from outside an Agent into its inbox after the admission stage ctx.agentController
agent-default-model/ The deployment default model selection entry points apply to fresh agents ctx.agentDefaultModel
agent-loop/ The default agent driver: creates agents and runs the turn and step lifecycle ctx.agentLoop

scope supplies the shared scoping primitive; agent owns the public Agent contract, while agent-loop is its default implementation, so extension plugins depend on agent and the driver stays swappable. agent-controller owns how a sender's message enters an inbox, including the admission stage that plugins use to hold or refuse it. agent-default-model owns the deployment selection an entry point applies when a session has none of its own. Runnable compositions live under packages/bundle; this group owns only the swappable spine pieces.



Dev Note

Working context for maintainers — click to expand

None.