dsh-focal:DeepSeek Harness 的隐私优先任务记忆插件

DeepSeek Harness (DSH) 目前处于开发者预览阶段,其“一切皆插件”的架构让开发者可以灵活扩展功能。在实际开发中,Agent 需要记忆上下文以完成多轮任务,但传统的日志记录会泄露敏感信息,如密码或原始工具调用参数。dsh-focal 是一个插件,旨在解决这一矛盾:它提供任务隔离的本地记忆,并仅将活跃任务的上下文注入模型请求,同时确保所有存储的数据经过隐私过滤。

插件定位

这是一个隐私优先的任务记忆和自适应本地桌面观察插件,由 Haoran2099 维护。它基于论文 FOCAL 实现,将 Agent 会话过滤为任务隔离的记忆,并仅在需要时提供有限的上下文快照。

核心功能

dsh-focal 在本地对会话记录进行过滤和整理,主要包含以下能力:

  1. 会话观察与过滤:插件观察已提交的会话/事件记录。它使用一个小的、确定性的相似性过滤器,将直接用户消息路由到任务隔离的记忆中。
  2. 选择性记录:只记录工具名称、成功/失败状态以及路径参数,从不记录助手 token 流、原始工具参数或原始工具结果内容。
  3. 隐私保护:存储的文本经过去标记,常见凭据和电子邮件地址会被撤销。绝对路径会被处理(仅保留文件名,不写入工作区绝对路径),且绝对路径外的路径也会被缩减为 basename。
  4. 上下文注入:当启用 injectContext 时,插件会提供一个活跃任务的运行时上下文快照和反注入策略部分,并将其加入下一次模型请求。
  5. 数据存储:每个会话在 $DSH_HOME/focal-dsh/v1 下存储一个有界的 JSON 文档。
  6. 命令与工具:
    • 人类命令:/focal status、/focal tasks、/focal forget task-1、/focal forget all。
    • 模型工具:focal_status、focal_recall。

安装与启用

安装前请确保已安装 DeepSeek Harness v0.1.0-rc.6,并确保环境满足 Node.js 版本要求(^22.19.0 || >=24.0.0)。

使用官方命令添加插件:

dsh plugin --profile web add github:Haoran2099/focal-dsh#v0.1.1
dsh --profile web --dump-config
dsh --profile web

如果需要在无头 CLI 运行中使用,请使用 --profile headless。

安装后,可以通过覆盖插件配置文件中的 cordis.patch.yml 行来调整行为。该配置支持以下项:

- id: focal-memory
  config:
    captureUserText: false
    captureToolPaths: true
    injectContext: true
    maxTasks: 32
    maxObservationsPerTask: 40
    maxContextObservations: 8
    maxContextChars: 4000
  • captureUserText: false:将存储的请求文本替换为通用标记。
  • injectContext: false:保持收集和显式回忆可用,但不再自动添加到模型请求中。

典型用法

安装并运行 DSH 后,可以通过以下命令与记忆系统交互:

  • 查看当前状态:/focal status
  • 列出所有任务记忆:/focal tasks
  • 删除特定任务记忆:/focal forget task-1
  • 清空所有任务记忆:/focal forget all

模型可以通过调用只读工具 focal_status 和 focal_recall 来读取记忆,但删除操作必须通过人类命令执行。

适用场景与注意

该插件适合需要在 DeepSeek Harness 中实现持久化任务记忆,且对数据隐私有严格要求的开发者。

注意事项:
1. 不可信数据:记忆数据被显式标记为不可信数据,不应将其视为指令。
2. 防御深度:过滤是防御深度措施,不能保证识别所有敏感值。请勿在提示词或工具参数中放置凭据。
3. 本地运行:插件无网络请求,无遥测,所有存储均本地化。
4. 兼容性:DeepSeek Harness 目前处于开发者预览阶段,存在破坏性变更的可能。该插件目前仅支持 Host 模式,暂无 Web UI 扩展。

短结尾

dsh-focal 通过在本地对 Agent 会话进行隐私过滤和任务隔离,为 DeepSeek Harness 提供了可控的记忆能力。它不记录敏感的原始数据,仅将必要的上下文注入模型,适合追求数据安全的开发者使用。

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜