dsh-mem0:自托管 mem0 记忆读写插件

在 DeepSeek Harness (DSH) 的插件化架构中,Agent 的长期记忆往往需要独立于宿主进程管理。dsh-mem0 专注于解决这一场景:它允许宿主 Agent 通过 mem0_* 工具直接读写自部署的 mem0 REST 服务。

这是一个由 orangeshinee 维护的插件。它对接新版 OSS 构建(mem0/mem0-api-server),支持 Dashboard、X-API-Key 认证,且 REST 端点无 /v1 前缀。通过热插拔机制挂载,无需修改 DSH 源码。

核心工具能力

插件提供以下工具,覆盖记忆生命周期的读写操作:

  • mem0_add:写入记忆,支持字符串或消息数组,默认按 defaultUserId / defaultAgentId 归类。
  • mem0_search:语义搜索,返回结果带相关性分数。
  • mem0_get:读取记忆列表(按标识符过滤)或单条。
  • mem0_update:更新记忆文本、metadata 或过期时间。
  • mem0_delete:删除单条记忆;批量删除需确认 confirm: "DELETE ALL" 且用户为 admin。
  • mem0_history:查看单条记忆的变更历史。
  • mem0_reset:清空全部记忆,需确认 confirm: "RESET" 且用户为 admin。
  • mem0_status:健康检查、认证状态及配置状态(不输出 apiKey)。

安装与启用

安装过程通过 DSH CLI 完成,支持从 GitHub 仓库或本地目录挂载。

# 从 GitHub 安装
dsh plugin --profile web add github:orangeshinee/dsh-mem0

# 从本地目录安装(热插拔)
dsh plugin --profile web add link:$(pwd)

# 装完重启 dsh web 生效

配置方式

插件不提供侧边栏 UI,但内置了浏览器端配置卡片。用户需在设置面板 → 插件 → 插件配置中编辑 dsh-mem0 卡片。

关键配置项

键 默认值 说明
baseUrl http://127.0.0.1:8888 自部署 mem0 地址(无尾斜杠,无 /v1)
apiKey 空 dashboard「API Keys」创建的 m0sk_... 或 legacy ADMIN_API_KEY
authType apiKey 认证方式:apiKey / adminKey / jwt / none
defaultUserId HeTony 未指定 user_id 时的默认归属
defaultAgentId dsh-agent 未指定 agent_id 时的默认归属
timeoutMs 15000 单请求超时时间
announceToAgent true 是否向 Agent 宣告插件能力
enabled true 总开关

安全机制

配置经 dsh settings provider 持久化。插件配置卡片由浏览器端提供(client/client.cjs),通过插件自带的 /api/dsh-mem0/config 路由读写。由于 Harness 的 settings 线上通道只开放白名单命名空间,插件无法自行加入。apiKey 在 schema 上标记为 role('secret'):路由只下发“已配置/未配置”标记,密钥字面量不会进入浏览器。

运行时依赖

运行时依赖(@deepseek-ai/dsh-settings / @deepseek-ai/schemastery)已列为硬依赖。dsh plugin add 会随包安装(profile 默认 autoInstallPeers:false,peerDependencies 不会被装)。

适用场景

该插件适合需要长期存储 Agent 上下文、对话历史或业务数据的场景。由于以当前 dsh 进程权限运行,安装前应检查源码与许可证。

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

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

小夜