dsh-bao
milestone-17/dsh-bao
A TRAE-宝-style personal assistant plugin for DeepSeek Harness: cross-session long-term memory, auto-extracted candidate memories, first-time onboarding, a dedicated assistant agent preset, scheduled daily digest, desktop notifications, and a live overview panel.
Installation
dsh plugin --profile web add github:milestone-17/dsh-baoREADME
dsh-bao · DSH 宝
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行(idaibao),插件清单对齐官方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 围栏内) |
通知通道
按顺序尝试,第一个成功者生效:
- Electron 原生通知 —— Desktop 壳内运行时,带应用自身身份与图标;
- Windows 原生 toast(
toast.ps1,WinRT API,经 Windows PowerShell 5.1)—— 纯 Node Host(dshCLI、远程 worker)也可用; - 都不可用时静默返回
"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
Ähnliche Plugins
DeepSeek-Balance-Whale-Widget
meteornox/deepseek-balance-whale-widget
dsh-context
bowenliang123/dsh-context
dsh-cost-meter
han-1413141/dsh-cost-meter
dsh-damage-pulse
wssfk12138/dsh-damage-pulse