前言¶
在 DeepSeek Harness(DSH)里跑智能体时,模型每一轮实际带了哪些上下文、各段来自哪个插件或入口、历史是原文还是压缩摘要,往往只能翻日志或猜。DSH 生态主张「一切皆插件」,社区插件在独立目录站点分发,与 DeepSeek / 幻方无官方从属关系。下面介绍社区维护的 dsh-context-lite:在不动注入、压缩与模型执行的前提下,用侧栏时间线和来源追溯回答上述问题;v0.3.0 起还复用宿主日志,为开发者提供结构化快照、差异与导出接口。
这是什么¶
dsh-context-lite(GitHub:hope586/dsh-context-lite)是面向 DSH 的非官方社区插件,分类为客户端。维护者为 hope586,许可证 MIT。定位是一句 README 里的概括:只读的上下文时间线与自动来源(provenance)侧栏——Read-only context timeline and automatic provenance sidebar for DeepSeek Harness。
它不控制注入、压缩、权限或模型执行,不额外调用模型,不提供独立统计圆环或 /context 技能;侧栏向当前 DSH 宿主发送已鉴权的读取请求,与其他插件同进程运行,「只读」描述实现行为,不代表安全隔离。
当前源码版本 0.3.1(package.json),要求 DSH 0.2.1-rc.5 或更高的兼容 0.2.x 版本(engines.dsh: >=0.2.1-rc.5 <0.3.0)。公开发布的安装包对应 v0.3.0;0.3.1 的修复尚未打新 Release,测试修复版需构建源码或使用已审阅提交中的 lib/。
核心功能¶
侧栏:时间线与来源¶
默认展示组成色带、来源、本轮新增和当前上下文大小;悬停可看含义,点击可追溯正文、工具结果与压缩来源。
- 一轮从用户请求开始,到最终回复或实际中断结束;不中断的中途引导仍算同一轮。
- 历史原文、历史压缩信息、用户输入、插件贡献、模型工作和最终汇报分块展示;同源、相邻、同阶段内容可合并。
- 自动观察来源,不要求其他插件填特殊字段或改代码;启动时轻量补查现存注册项,无法确认的调用方显示「来源方未确认」。
- 复用 DSH 的会话、主题、侧栏与固定估算器;界面随 DSH 中英文设置切换,用户原文、插件名、路径和标识符保持原样。细节见仓库 来源说明 与 兼容性。
开发者上下文审计(v0.3.0+)¶
复用 DSH 原生日志,只注册 GET,不增加模型工具或额外服务;所有接口需宿主鉴权,且每次查询都要带 sessionId。
| 接口 | 用途 |
|---|---|
/api/dsh-context-lite/v1/snapshot |
查询当前、指定日志位置、轮次或逻辑请求的上下文,保留来源与占用估算 |
/api/dsh-context-lite/v1/diff |
比较首尾净变化,列出期间上下文更新(含中途注入后又移除的内容) |
/api/dsh-context-lite/v1/export |
导出同一观察切片的 JSON/JSONL,附完成计数和校验值 |
默认导出不含正文、工具参数或原始事件;显式 includeContent=true 才含原始事件与导出时有效内容。默认上限 32 MiB(配置项 maxExportBytes),超限返回 413。边界与示例见 开发者 API 文档。
来源元数据与存储¶
来源主名为实际插件包或脚本入口,辅助显示进入方法与原标识符。运行时采集优先;数据在宿主 storageDomain 的 context_lite_origins,默认最多 64 个会话,每会话最多 2000 条最新归因及 2000 条证据观察。插件无独立云服务、API key 或遥测。
安装与启用¶
需要已安装的 DeepSeek Harness 和 pnpm。首发通过 GitHub 分发,尚未发布到 npm。
从 v0.3.0 Release 下载预构建的 dsh-context-lite-0.3.0.tgz,对照同页 SHA256SUMS 校验后安装:
dsh plugin --profile web add ./dsh-context-lite-0.3.0.tgz
也可以安装带预构建产物的 Git tag:
dsh plugin --profile web add github:hope586/dsh-context-lite#v0.3.0
按你管理 Web 的原有方式重启后端,然后打开会话标题栏的「上下文」图标,或右侧栏开始页的「上下文」。不要为重载再启动第二个 Web 服务。Desktop 请通过官方插件管理页添加本地解压目录并启用;不要从 CLI 绕过 Desktop 对 profile 的管理。
卸载 Web 端:
dsh plugin --profile web remove dsh-context-lite
卸载后重载;清理元数据应在所有使用该存储的 DSH 进程停止后,备份并移除 DSH_HOME 下 storages/context_lite_origins 目录。
典型用法¶
- 安装并重载后端后,在会话 UI 打开「上下文」侧栏,按轮次查看色带、新增块与估算大小。
- 对某段内容悬停看说明,点击进详情追溯正文、工具结果或压缩来源;来源未确认时会明确标注。
- 排查插件注入或压缩问题时,对已鉴权会话调用审计 API,例如先取 snapshot,再用 diff 看轮次间变化;需要离线分析时用 export(注意默认不含正文,分享导出前评估来源路径是否含私有信息)。
插件配置通过 DSH 插件配置编辑,无独立控制面板。常用项包括:collectOrigins(默认 true)、persistOrigins(默认 true)、maxVisibleRounds(默认 120)、previewCharacters(默认 12000)等,完整表见 README「设置与卸载」一节。
适用场景与注意¶
适合谁: 日常在 DSH Web 会话里想快速看清「这一轮上下文从哪来、占多少」的用户;编写或调试 DSH 插件、需要对照宿主日志做上下文审计的开发者。
使用前请知悉:
- 插件以当前 dsh 进程权限运行,安装前应自行查看源码与 MIT 许可证及
THIRD-PARTY-NOTICES。 - 快照按结算前日志重建,不是提供方适配后的完整抓包;缺少记录不能证明未发生注入;证据有延迟写入,崩溃可能丢尾部。
- 系统提示词、环境快照、工具定义仍整体计量,详情列贡献方,不虚构逐插件 token 分摊。
- 远程部署时侧栏读取请求经你的网络;导出即使不含正文,来源路径也可能是敏感信息。
结尾¶
dsh-context-lite 把「模型带了什么、来自哪里」做成只读侧栏与可选审计 API,与 DSH 原生 UI 和估算器对齐,适合作为客户端观测层而不是第二套上下文控制器。