Agent 接口与注册表实现:`AgentRegistry`(服务名 `agents`)用 `Map<SessionId, AgentEntry>` 维护存活 agent,并以 `AsyncLocalStorage` 承载进程内 initiator scope,提供 `create/resume`(委派给已注册的 `AgentFactory`)、`register/enter/announce/get/list/roots` 等生命周期方法 (src/index.ts:245-283,391-416,437-559)。构造时经 `ctx.inject(['typert'])` 注册 agent 的 typert lookup/host context,并安装 workspace 归档准入监听 (src/index.ts:257-270,282)。dispatch.ts 提供 `agentCarrier/agentEvents/emitAgentEvent/assembleContextFor`,把 agent 主体与其 scope carrier 融合,保证派发作用域键与 payload.agent 不漂移 (src/dispatch.ts:94-176)。model-selection.ts 把可变模型选择耦合到 `system-prompt/assemble` 与 `agent/request` 瀑布并在路由变化时追加持久化通知 (src/model-selection.ts:81-131);consumed-work.ts 单遍折叠会话日志判定已消费工作 (src/consumed-work.ts:69-108);invariant.ts 校验 `agent/status` 无空转 (src/invariant.ts:15-24)。
dsh-acp组合并驱动被代理 Agent,安装模型选择引用
src/session.ts:13 import + src/session.ts:128 ctx.agents.create
dsh-agent-default-model复用 Agent 侧的 ModelSelection 选择类型
package.json:34 peerDep + src/index.ts:12 import type ModelSelection
dsh-agent-instructions在 agent 步前把工作区指令上下文拼入请求消息序列,并读取 agent.session 的可见表面状态
src/index.ts:14 import type Agent/PreStepDecision + src/index.ts:315 ctx.on('agent/pre-step') + src/state.ts:7 import type Agent
dsh-agent-loop实现 AgentFactory 并经 ctx.agents 工厂/注册表发布与登记 agent
src/agent.ts:18 import + src/index.ts:24 + src/index.ts:331 inject(['agents'])
dsh-agent-preset-registry绑定并读取活动 Agent 的预设版次
src/index.ts:8 type import Agent + src/index.ts:325 agent.ctx、src/index.ts:326 agent.session
dsh-client-file-upload以接收 Agent 及其 session 作为上传暂存的作用域与生命周期主体
src/index.ts:5 + src/index.ts:58 static inject 'agents' + src/index.ts:199 ctx.agents.get
dsh-client-ui-chatagent 相关类型
src/client/chat/ChatView.tsx:8 import @deepseek-ai/dsh-agent/types
dsh-commands命令以 agent 及其 session 为作用域与日志目标
package.json:56 peerDep + src/index.ts:8 type import Agent
dsh-compaction-basic在 agent 的步边界与请求错误扩展点上挂自动压缩与溢出恢复,并借 agent.runMaintenance 预约空闲会话的手动压缩
src/index.ts:15 import type Agent/PreStepDecision + src/index.ts:158 ctx.on('agent/pre-step') + src/index.ts:178 ctx.on('agent/status') + src/index.ts:190 ctx.on('agent/request-error') + src/index.ts:390 agent.runMaintenance
dsh-compaction-image-offload在 agent 请求错误扩展点上拦截图像卸载失败并返回 retry 动作,发起一次表面修复后的重试
src/index.ts:13 import type RequestErrorAction + src/index.ts:19 inject 'agents' + src/index.ts:27 ctx.on('agent/request-error')
dsh-experimental-tool-agent-team枚举/跟踪 Agent 并在其 scope 内注册工具
src/index.ts:5 import type { Agent } + src/index.ts:14 inject 'agents' + src/index.ts:412 ctx.agents.list
dsh-file-reference-local按 agent 维护搜索索引与提示词 fiber 生命周期,并用 agent 的会话 cwd 作为搜索根
src/index.ts:9 import type Agent + src/index.ts:45 static inject ['agents'] + src/index.ts:91 ctx.agents.list + src/index.ts:92-93 ctx.on('agent/created'/'agent/disposed')
dsh-goal以 agent 为键持有运行时激活状态、校验 live 身份并订阅 agent/created
src/index.ts:12-13 import (agentEvents, Agent) + src/index.ts:241 inject ['agents','sessionProjections'] + src/index.ts:470 ctx.agents.get
dsh-goal-round-driver经 agent 生命周期/收件箱投递续轮消息并参与 pre-step 决策
src/index.ts:9 import (Agent, PreStepDecision) + src/index.ts:98 ctx.agents.get + src/index.ts:192 agent.followup
dsh-hooks-claude-code在 agent 生命周期与步进点注入上下文并映射 hook 决策
src/index.ts:14 import (Agent, PreStepDecision, TurnBoundaryProjection) + src/index.ts:209 ctx.on('agent/created') + src/index.ts:214 agent.inject
dsh-hooks-codex在 agent 生命周期与步进点注入上下文并映射 hook 决策
src/index.ts:17 import (Agent, PreStepDecision) + src/index.ts:191 ctx.on('agent/created') + src/index.ts:205 ctx.on('agent/pre-step')
dsh-jobs-local把作业 owner 会话解析为活 Agent 实例并挂接其 scope 清理,实现按 owner 归属与生命周期取消
src/index.ts:15 import type Agent + src/index.ts:359 ctx.get('agents')
dsh-llm-retry在 agent 请求错误恢复点上裁决是否重试,并把重试写入 agent.session
src/index.ts:12 import type Agent/RequestErrorAction + src/index.ts:22 inject agents
dsh-plan-mode阅读并驱动 Agent 的会话与预备步决策
src/index.ts:29 type import Agent/PreStepDecision + src/index.ts:202 agent.session
dsh-repeat-tool-reminder以 agent 为键维护重复链并在用户插话时重置
src/index.ts:11 import (Agent, PreStepDecision) + src/index.ts:236-237 ctx.on('agent/pre-step') + chains.delete(agent)
dsh-schedule把工具注册绑定到根 agent 的作用域与会话
src/tools.ts:7 import + src/index.ts:170 ctx.agents.roots
dsh-sdk-jsonrpc-server经 agent 工厂创建/管理 SDK 会话 agent
src/server.ts:11 import + src/index.ts:22 static inject (agents)
dsh-session-reference在 agent 步前把会话引用上下文拼入直接用户消息之后
src/index.ts:10 import type Agent/PreStepDecision + src/index.ts:135 ctx.on('agent/pre-step')
dsh-subagent创建与检索子 Agent、读取其会话与状态
src/index.ts:40 (import type Agent) + src/child-agent.ts:12 (import type Agent,AgentOptions,CreateAgentOptions) + src/index.ts:217 (ctx.inject(['agents'])) + src/continuation.ts:210 (ctx.agents.get)
dsh-terminal以精确 Agent 作为会话 owner,并绑定其生命周期做 cleanup
package.json:30 peerDep + src/index.ts:8 import Agent + src/index.ts:319 ctx.get('agents')
dsh-terminal-bash以会话 owner Agent 及其 session 做沙箱模式护栏
package.json:30 peerDep + src/index.ts:8 import Agent + src/index.ts:37 ensureSandboxModeFence(owner)
dsh-time-context在 agent 步前注入时间上下文读数,并读取 turn/step 位置
src/index.ts:11 import type Agent/PreStepDecision + src/index.ts:185 ctx.on('agent/pre-step', {prepend:true})
dsh-tmux-context在 agent 步前注入 tmux 位置上下文,并读取 turn/step 位置
src/index.ts:24 import type PreStepDecision + src/index.ts:246 ctx.on('agent/pre-step', {prepend:true})
dsh-tool-ask-user工具执行携带的 agent 身份
package.json:30 peerDep(execute 的 exec.agent 来自工具执行上下文,src/index.ts:88)
dsh-tool-bash读取调用者 Agent 会话以解析 workdir 与作业归属
src/index.ts:21 import type { Agent }; package.json:30 peerDep
dsh-tool-bash-persistent以 Agent 为 owner 隔离持久 shell 并读取其会话 cwd
src/index.ts:9 import type { Agent }; package.json:29 peerDep
dsh-tool-goal校验调用 agent 的 live 身份与 root 归属以判定人类权威
src/authority.ts:4 import Agent + src/authority.ts:53 ctx.agents.get + src/authority.ts:81 ctx.agents.roots
dsh-tool-jobs把完成通知投递到 owner Agent(inject/followup)并据其 input 重置唤醒预算
src/index.ts:20 import type Agent + src/index.ts:212 ctx.on('agent/inbox/claimed')
dsh-tool-present取得调用 Agent 及其 Session
src/index.ts:6 import type {} from '@deepseek-ai/dsh-agent' + src/index.ts:77 exec.agent
dsh-tool-pwsh读取调用者 Agent 会话以解析 workdir 与作业归属
src/index.ts:30 import type { Agent }; package.json:31 peerDep
dsh-tool-pwsh-persistent以 Agent 为 owner 隔离持久 shell 并读取其会话 cwd
src/index.ts:11 import type { Agent }; package.json:29 peerDep
dsh-tool-ralph声明式 peer 依赖(通过 exec.agent 取得调用方 Agent)
package.json:30 peerDep
dsh-tool-session-query读取调用者 Agent 会话的 header 与边界投影类型
src/workspace-access.ts:14 import type { TurnBoundaryProjection }
dsh-tool-skill订阅 agent/pre-step 注入技能正文与技能目录,并读取 agent.session 的 cwd 与事件序列
package.json:30 peerDep + src/index.ts:10 import type + src/index.ts:177,213 agent/pre-step
dsh-tool-subagent读取调用 Agent 与 reconciling 组合作用域
src/index.ts:15 (import type Agent, AgentOptions) + src/index.ts:658 (ctx.get('agents'))
dsh-tool-subagent-control读取活跃 Agent 状态用于发现结果
src/list-agents.ts:12 (import type Agent) + src/list-agents.ts:20 (inject ['tools','subagents','agents']) + src/list-agents.ts:163 (ctx.agents)
dsh-tool-terminal以执行 Agent 作为终端 owner
package.json:33 peerDep + src/index.ts:9 import Agent + src/index.ts:185 requireAgent(exec.agent)
dsh-tool-todotodo 列表挂在调用 Agent 的 session 上
package.json:44 peerDep + src/index.ts:199 exec.agent.session.append
dsh-tool-workflow取得调用方 Agent 以归属后台作业与工作流运行记录
package.json:41 peerDep + src/index.ts:19 import type { Agent } + src/index.ts:407 exec.agent + src/index.ts:442 parent.session
dsh-tools复用 Agent 类型以在调度中引用所属 agent
src/index.ts:13 import type Agent + package.json:41 peerDep
dsh-user-approval以 agent/session 为审批作用域与日志目标
package.json:40 peerDep + src/index.ts:10、src/types.ts:10 type import Agent
dsh-user-questions限定只有运行时根的存活 agent 可发起人类交互
package.json:35 peerDep + src/index.ts:11、src/types.ts:4 type import Agent; src/index.ts:95 ctx.get('agents') 校验存活 root
dsh-web-search-deepseek通过 ctx.get('agents') 找到当前发起方 Agent,以记录辅助搜索请求
package.json:32 peerDep + src/index.ts:11 import type {} from dsh-agent (声明合并) + src/index.ts:118 ctx.get('agents')?.currentInitiator()
dsh-workflow-ptc承载子代理的父 Agent 身份与归属
package.json:31 peerDep + src/host.ts:3 import type { Agent }
dsh-workspace-changes在 turn 停止时收口快照
src/index.ts:14 import type {} from '@deepseek-ai/dsh-agent' + src/index.ts:153 agent/turn-stopping