DAG总览 / 组目录 / G23 LLM 适配

dsh-token-meter · @deepseek-ai/dsh-token-meter

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

插件信息

包名@deepseek-ai/dsh-token-meter
分组G23 · LLM 适配
拓扑层Layer 4(层次遍历:被依赖方先于依赖方)
源码路径packages/llm/token-meter

① 实现逻辑

提供 ctx.tokenMeter 服务,以 replay-aware 方式从持久 session log 计算请求压力与 surface (src/index.ts:101-123, 146-191, 219-240)。注册三个 session projection:tokenUsage 累计 provider usage、contextPressure 以 provider 采样叠加 O(1) shadow-price surface fold 推算占用、contextBreakdown 启发式分解 system/tools/message (src/usage-projection.ts:117-150, 173-217, src/breakdown-projection.ts:48-81)。estimate.ts 以固定密度启发式统一给消息/工具定价 (src/estimate.ts:88-102),route-pricing.ts 按路由的图片/文件表示重定价 surface 并校验定价对齐 (src/route-pricing.ts:32-75),turn-usage.ts 折叠一个完整 Turn 的各次尝试得出精确 token 账目 (src/turn-usage.ts:178-273)。

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

② 注册/提供(provides)

③ 依赖(depends_on · 上游前驱)

dsh-compaction-image-offloadE1
激活 image/offload 事件投影声明以在折价时标记已卸载图像
src/index.ts:8 import from '@deepseek-ai/dsh-compaction-image-offload/projection'
dsh-llmE1+E2
读取路由图像定价与文件请求文本,并重组 assistant 流以估算 provider 输出
src/index.ts:10 import assembleAssistantStream + src/index.ts:11 import type TokenUsage + src/index.ts:197 ctx.get('llm')
dsh-llm-retryE1
识别 llm/retry-started 以正确区分一次 Turn 内的多次尝试
src/turn-usage.ts:3 import from '@deepseek-ai/dsh-llm-retry/types' + src/usage-projection.ts:7 import type {}
dsh-sessionE1
读取持久会话事件序列并做 surface 判定与表头规范化
src/types.ts:8 import type SessionEvent + src/index.ts:19 import canonicalHeader/isSurfaceEvent/SessionSeq
dsh-session-projectionE1+E2
注册三个投影单元并读取其在会话上的状态
src/index.ts:27 import type {} + src/index.ts:106 static inject sessionProjections + src/index.ts:114 ctx.sessionProjections.register

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

dsh-acp
向客户端上报上下文占用(usage_update)
src/updates.ts:6 import + src/updates.ts:95 ctx.get('tokenMeter')
dsh-client-ui-chat
token 计量显示
src/client/chat/StatsPills.tsx:14 + src/client/conversation-nodes/turn-tail.ts:7
dsh-client-ui-conversation
上下文占用计量显示
src/client/context-occupancy.ts:1 import @deepseek-ai/dsh-token-meter/client
dsh-client-ui-subagent
引入 token-meter 客户端类型合并(谱系行展示计量)
src/client/SubagentHeaderLineage.tsx:15 import type
dsh-compaction-basic
用统一 token 计量器测量表面压力、估算摘要替换体积,并驱动所有保留与收缩定价决策
src/index.ts:114 inject 'tokenMeter' + src/index.ts:277 ctx.tokenMeter.measure + src/region.ts:21 import type TokenMeasurement/TokenMeter + src/region.ts:417 meter.estimateMessage
dsh-compaction-tool-result-pruner
为每个被遮蔽节点计价以写入影子价格事件,使纯消费者无需保留逐节点状态即可扣减
src/index.ts:15 type-only import + src/index.ts:47 static inject ['tokenMeter'] + src/index.ts:163 this.ctx.tokenMeter.estimateMessage
dsh-spill-policy
用 estimateContent 估算文本/内容 token 以决定溢出并计算头尾保留预算
package.json:43 peerDep + src/index.ts:12 import