DAG总览 / 组目录 / G08 上下文注入

dsh-time-context · @deepseek-ai/dsh-time-context

Layer 5G08L2 web-app
目录:ACP 协议API 网关与控制器附件启动与插件管理客户端运行时客户端 UI 包上下文压缩上下文注入核心运行时凭据与授权交付物文档处理实验特性宿主扩展反馈通道文件系统目标与计划工具守卫Hooks 扩展宿主服务交互命令作业调度LLM 适配LSP 集成MCP 协议规划模式Agent 预设代码执行运行时运行时诊断沙箱定时调度SDK 与协议会话核心会话检索设置Shell 执行技能溢出存储SSH 远程执行存储子代理子进程终端待办类型契约框架 vendorWeb 访问Webhook工作流工作区
依赖链 · 上游(该插件依赖的前驱):
依赖链 · 下游(依赖该插件的节点):
无下游(叶子/被消费端)
同一拓扑层(Layer 5,层次遍历层序):
↑ Layer 4(13 插件)Layer 5↓ Layer 6(18 插件)

插件信息

包名@deepseek-ai/dsh-time-context
分组G08 · 上下文注入
拓扑层Layer 5(层次遍历:被依赖方先于依赖方)
源码路径packages/context/time-context
来源层L2 web-app bundle(base 之上装配)

① 实现逻辑

可选的请求时钟上下文:在 agent/pre-step 前置监听中按刷新间隔节流,向请求历史追加一条持久、来源归属的时间读数(turn/step、浏览器时区、格式化的时间戳与距上次的耗时)(src/index.ts:185-225、src/index.ts:100-115)。浏览器时区从本回合用户消息的 clientTimeZone 派生,唯一时区时用于渲染时间戳,混合/缺失时渲染澄清策略行(src/request-zone.ts:48-80、src/index.ts:203-214)。注册 sessionProjections 的 timeContext 投影折叠最近消息时刻与注入时刻,用于节流判定(src/index.ts:157-183)。另附 invariant companion 校验时间读数与回合位置/时间戳一致(src/invariant.ts:77-159)。

内部结构动态 DAG(深色主题:橙色=上游依赖 · 绿色=下游依赖 · 棕色=外部seam · 蓝=本插件)
本插件 上游依赖 下游依赖 外部 seam

② 注册/提供(provides)

③ 依赖(depends_on · 上游前驱)

dsh-agentE1+E2
在 agent 步前注入时间上下文读数,并读取 turn/step 位置
src/index.ts:11 import type Agent/PreStepDecision + src/index.ts:185 ctx.on('agent/pre-step', {prepend:true})
dsh-invariantsE1+E2
注册包级不变量,校验时间读数格式、位置与时间戳在加载与派发时可重放一致
src/invariant.ts:5 import type InvariantFailure/InvariantInstaller + src/invariant.ts:25 inject ['invariants'] + src/invariant.ts:194 ctx.invariants.register
dsh-llmE1
构造带来源标记的时间快照 user 消息,并复用消息来源合并类型
src/index.ts:12 import createUserMessage + src/index.ts:13 import type ContextFormed + src/index.ts:20 import type UserMessage + src/request-zone.ts:3 import type UserMessage
dsh-sessionE1+E2
倒序读取会话历史以收集本回合已进入的用户消息并定位回合起点
src/index.ts:21 import SessionSeq + src/invariant.ts:4 import type Session/SessionEvent + src/index.ts:89 agent.session.eventAt(SessionSeq(seq))
dsh-session-projectionE1+E2
注册并读取 timeContext 投影以驱动注入节流,且向 SessionProjectionStateMap 做类型合并
src/index.ts:22 type-only import + src/index.ts:53 inject ['agents','sessionProjections'] + src/index.ts:157 ctx.sessionProjections.register + src/index.ts:192 ctx.sessionProjections.stateOf

④ 被依赖(dependents · 下游消费者)

无下游(叶子/被消费端)