DeepSeek Harness 插件

milestone-17/dsh-bao

Star 数 ★ 1 分类 用量与计费 收录于 2026-11-10

DSH 宝 —— TRAE 宝式个人助理插件:跨会话长期记忆、自动候选记忆提取、首次启动引导、专属助理 Agent 预设、定时每日简报、桌面通知与实时工作状态面板。

安装

# Release 预构建包

dsh plugin --profile web add "https://github.com/milestone-17/dsh-bao/releases/download/v0.2.4/dsh-bao-0.2.4.tgz"

# GitHub 源码(首次需按提示配置 allowBuilds 构建授权后重试)

dsh plugin --profile web add github:milestone-17/dsh-bao

装任何插件都等于在你的机器上跑第三方代码,权限和你本人一样大——能读你的文件、用你的凭据、访问网络,工具审批管不到它。GitHub 来源的插件还会在安装时执行构建脚本——pnpm 默认拦截,所以安装可能停在 ERR_PNPM_GIT_DEP_PREPARE_NOT_ALLOWED 或 ERR_PNPM_IGNORED_BUILDS;dsh 会打印出需要添加的确切键名,把它加进该 profile 的 pnpm-workspace.yaml 的 allowBuilds 下,重跑一次即可装上。放行构建本身就是一次信任判断:请只安装可信来源,并尽量锁定 commit(github:owner/repo#sha)。

README

A TRAE-宝-style personal assistant for DeepSeek Harness (DSH), packaged as one installable plugin bundle.

TRAE 宝做了什么? 它长期跟着你的工作:跨项目理解你的任务、记住你的偏好、定时向你汇报、把需要你判断的事带回给你。dsh-bao 把同样的体验带进 DSH —— 但完全基于 Harness 的公开插件 API,不碰私有实现:

能力 说明
🧠 长期记忆 bao_remember / bao_recall / bao_forget 三个工具 + 每次请求自动注入的「主人的长期记忆」上下文,跨会话记住你的偏好、项目事实与决策
🤖 自动候选记忆 bao_extract_memory 工具:AI 自动从对话中提取值得保留的信息,推入「候选记忆」等你一键确认;确认后进入正式长期记忆
🚀 首次启动引导 安装后自动写入一条示例记忆并弹出欢迎通知,60 秒内让新用户感知价值
💬 专属助理预设 安装即上架「DSH 宝」Agent 预设(会话新建处可选):调度层人设——自己答问、记事、查状态,重活派 subagent;面板一键「和宝聊聊」直接开局
☕ 每日简报 每天固定本地时间(默认 09:00),把「活跃定时任务 + 最近推进的会话 + 候选记忆」汇总成一条桌面通知(默认可配)
🔔 助手主动通知 bao_notify 工具:模型可以以助理身份弹系统通知(定时汇总、发现候选记忆、需要你决策时)
📊 状态速览 bao_status 工具:模型一句话回答「最近在忙什么 / 有哪些提醒待办」
🗂 侧边栏面板 新增「DSH 宝」面板:长期记忆、定时任务、最近会话、简报开关一目了然,30 秒自动刷新

工作原理

  • 记忆存储:$DSH_HOME/bao/memory.json,原子写(临时文件 + rename),进程内写链串行化,零依赖、跨会话持久。
  • 记忆注入:注册为 system-prompt 的动态 runtime context(interpolate: false),每次模型请求前重新求值——刚记下的笔记下一步就生效;选用 context 而非 section,是为了与 complete: true 的预设人设共存(complete section 会替换全部 section,但 context 永远渲染)。
  • 助理预设:bundle 同时声明 @deepseek-ai/dsh-agent-preset 行(id aibao),插件清单对齐官方 standard 预设,人设来自 dsh-persona。

更新日志

  • 0.2.4 — 新增:首次启动引导(自动写入示例记忆 + 欢迎通知);新增 bao_extract_memory / bao_confirm_memory / bao_ignore_memory 工具,支持自动提取候选记忆并在面板中确认/忽略;候选记忆持久化到插件状态文件,重启不丢失。
  • 0.2.3 — 修复:collectOverview 无法访问 memory 导致的长期记忆卡片为空问题(修复 #1)。
  • 0.2.2 — 修复:aibao 预设 delegation 组缺 workflow-ptc(提供 workflowEngine 服务),tool-workflow 永久等待导致建会话失败(浏览器端 E2E 发现)。
  • 0.2.1 — 修复:aibao 预设缺 tool-fs-search 必填配置(sampleOverCapGlobResults),导致「和宝聊聊」建会话失败(浏览器端 E2E 发现)。
  • 0.2.0 — 首个公开版本:长期记忆、DSH 宝预设、面板、每日简报、桌面通知、状态速览。

安装

桌面端 / Web(推荐,插件市场命令)

dsh plugin --profile <name> add dsh-bao

从插件市场索引安装(Discover 页)

本仓库自带一份 插件市场索引(官方 format 1)。在 DSH 的插件市场索引设置里添加(任选其一):

https://raw.githubusercontent.com/milestone-17/dsh-bao/master/market-index.json
https://ghproxy.net/https://raw.githubusercontent.com/milestone-17/dsh-bao/master/market-index.json

第二个地址经 ghproxy.net 镜像,国内网络实测可达(已验证返回合法索引)。之后 Discover 页即可搜索「DSH 宝」并一键安装(安装走 GitHub,pin 到发布 commit;git 克隆通道可用 https://gitclone.com/github.com/milestone-17/dsh-bao 镜像加速)。

从源码(本目录)安装

在 DSH 会话里让助理执行 plugin_manager 的 install_bundle,target 填这个目录的绝对路径;或在 Plugins 设置页选择本地目录安装。

手动挂载(不用 bundle 通道)

把下面一行加进你的 profile cordis.patch.yml:

- insert:
    - id: aibao
      name: 'dsh-bao'
      config:
        digestTime: '09:30'

配置

配置写在插件行(Loader patch)的 config 里,升级不会丢:

键 默认 说明
enabled true 总开关;关闭后工具、路由、简报全部不注册
digestEnabled true 每日简报开关
digestTime "09:00" 简报触发的本地时间,HH:mm(进程时区)
notifyTool true 是否注册 bao_notify 工具
statusTool true 是否注册 bao_status 工具
memoryTools true 是否注册 bao_remember / bao_recall / bao_forget 记忆工具
autoExtractMemory true 是否启用自动候选记忆提取
onboardingEnabled true 是否启用首次启动引导
pendingMemoryMax 20 最多保留多少条候选记忆
memoryInject true 是否把长期记忆作为运行时上下文注入每次请求
memoryInjectLimit 30 注入上下文里最多引用几条笔记
memoryNoteMaxChars 200 注入时单条笔记的最大字符数
sessionWindowCount 5 速览里最多列出几个最近会话
sessionWindowMs 93600000 「最近」的时间窗(毫秒),默认 26 小时
maxLineLength 90 单行摘要的最大字符数
sound true 系统通知是否带声音
appUserModelId "com.deepseek.dsh" Windows toast 的应用身份
routePath "/bao/api" 面板数据路由前缀(loopback 围栏内)

通知通道

按顺序尝试,第一个成功者生效:

  1. Electron 原生通知 —— Desktop 壳内运行时,带应用自身身份与图标;
  2. Windows 原生 toast(toast.ps1,WinRT API,经 Windows PowerShell 5.1)—— 纯 Node Host(dsh CLI、远程 worker)也可用;
  3. 都不可用时静默返回 "none",绝不影响会话。

macOS / Linux 目前走 Electron 通道;纯 Node Host 上暂无额外通道(欢迎 PR)。

面板数据路由

路由前缀默认 /bao/api,带与官方插件一致的信任围栏:仅 loopback(localhost/[::1]/127/8)或 trustedHosts 命中的 Host、拒绝 cross-site 请求、Origin 必须是监听器自身。

端点 方法 说明
/bao/api/overview GET 返回速览 JSON(定时任务、最近会话、长期记忆、候选记忆)
/bao/api/pending-memories GET 返回候选记忆列表
/bao/api/confirm-pending POST 确认一条候选记忆,body: { id }
/bao/api/ignore-pending POST 忽略一条候选记忆,body: { id }

路由读取 schedule 服务目录与 sessionTitle 会话行,不写状态、不激活会话;确认/忽略候选记忆会更新插件状态文件。

与内置能力的分工

DSH 本身已有 schedule_create(定时提醒投递到原会话)、notify_user、goals、subagents 等原语。dsh-bao 不替代它们,而是把「定时 + 通知 + 状态」组合成产品化的助理层:

  • 内置 schedule_* 投递到会话 inbox;dsh-bao 读同一份目录做人看的简报与速览;
  • 内置 notify_user 是会话内工具;bao_notify 面向「助理主动汇报」的语义,通道实现相同;
  • 面板把散落的定时任务与最近会话聚合成一屏。

开发

无构建步骤、零运行时依赖:Host 半边是纯 ESM(index.js + memory.js + delivery.js + toast.ps1),Client 半边是单个 client.js(window.__ModuleLoader__.load 工厂,React 来自浏览器模块表)。语法检查:

node --check index.js && node --check memory.js && node --check delivery.js && node --check client.js

License

MIT

内容来自项目 README(GitHub)↗

链接

同类插件

查看整个分类 →

社区评论

评论公开保存在 GitHub Discussions。加载评论会连接 GitHub 和 Giscus;发表内容需要 GitHub 账号。