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行(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
链接
同类插件
bowenliang123/dsh-context★ 4797
DSH 上下文洞察面板:Context 仪表盘 + /context命令 + Context 浏览器,查看 Context的分类组成、内容详情、演进趋势、压缩/注入事件、统计等一站式 Context 全生命周期管理。
Han-1413141/dsh-cost-meter★ 661
会话与当日 API 费用统计、预算图框(已用%)、官方余额、历史看板,支持峰谷计价与官方价格一键同步。
wssfk12138/dsh-damage-pulse★ 289
在 DSH Web 界面追踪 DeepSeek Token 用量、单次与会话费用及账户余额,并显示缓存感知的扣费动画。
zh667/TokenLedger★ 203
侧边栏用量面板:把 Token 归属到实际服务该请求的中转站,站点从已有的 provider 配置中读出,无需额外配置;含今日/本月/累计三窗口、按站点与模型下钻、一年活跃度热力图,以及 New API / Sub2API / DeepSeek 余额。
Ychris12138/dsh-usage-stats★ 188
多供应商用量看板:按供应商/模型统计 Token 与日期下钻,统一展示账户余额,并追踪 OpenCode Go / Z.ai 订阅额度。
PolinniZhong/dsh-personal-center★ 115
DeepSeek Harness 个人中心:跨会话用量统计(按供应商/模型分别统计,自动读取已配置模型)、按模型成本估算、全局自定义指令、数据驱动的桌面宠物(位图/矢量皮肤)与会话状态概览,纯本地离线运行。
社区评论
评论公开保存在 GitHub Discussions。加载评论会连接 GitHub 和 Giscus;发表内容需要 GitHub 账号。