前言¶
在 DeepSeek Harness(DSH)里做智能体,常见需求之一是:把对话里出现的订阅页、用量页、待办和借贷信息结构化落地,而不是散落在聊天记录里。手工记表格或外挂独立记账应用,往往和当前对话脱节,提醒也要另配。
dsh-personal-butler(仓库名 lybxkl/dsh-personal-butler,包名 @local/butler)是社区维护者 lybxkl 发布的 DSH 插件,分类为模型推理。它不单独配置模型、也不索取 Harness 的 API key,识别与记账走宿主内置 AI;本地侧栏提供「管家」面板,统一查看资产、额度、待办、借贷与收纳,并与宿主调度联动做到期与阈值提醒。
这是什么¶
一句话:把截图或自然语言交给对话中的管家,经确认后写入本地账本,并在面板中按业务类型管理与提醒。
| 你提供的内容 | 管家归类 | 后续行为 |
|---|---|---|
| 软件订阅页(名称 / 金额 / 到期) | 资产 | 按到期排序,到期前提醒 |
| Token 套餐用量页 | 额度计划 | 默认 30 秒轮询余量,超阈值提醒 |
| QQ / 微信里的待办表述 | 待办 | 提前提醒 + 到点须确认 |
| 借钱 / 还钱聊天 | 借贷 | 到约定日提醒;结清后不计入合计 |
| 物品位置照片或文字 | 物品收纳 | 位置、数量、时间;图片存本地 |
维护者与链接:lybxkl;目录页 skillhub.cn/plugins/lybxkl/dsh-personal-butler;源码 github.com/lybxkl/dsh-personal-butler。许可证 MIT;package.json 版本 0.1.0。社区目录为独立站点,与 DeepSeek / 幻方无官方从属关系。
核心功能¶
对话侧:认意图、可改、再落库¶
典型流程为:查重 → 认意图抽字段 → 确认卡 → 写入。确认前可改金额、周期、提前提醒时间;不确定字段会追问,不编造。也可不用截图,直接口述订阅、额度监控、待办、借贷或收纳位置。
确认交互刻意使用带编号的正文(例如回 1 表示确认),而非仅依赖 DSH 桌面提问卡片,以便 QQ、微信、手机端在同一时效内完成确认;pending 存在管家账本,换会话回答仍有效。
同一款软件旧记录已过期时,再发新一期订阅截图会做续期而非重复建档;多账号需说明「另一个账号」以并存。
面板:五个页签与汇总¶
侧栏「管家」打开面板:顶部四张卡(本月订阅支出、最近到期、待处理条数、净债权),下接资产、待办、账本、收纳、提醒等页签;支持搜索、筛选、就地改字段。额度类展示 5 小时 / 周 / 月等进度条;缺凭证可在卡片中填入(与 Harness 模型 key 无关,走宿主 credentials)。
额度监控¶
内置源包括 claude-usage、deepseek、openai、generic、manual 等(见 README 表格)。凭证自备,存 credentials,不进配置与会话。未覆盖的平台可对管家说「盯着 XX 额度」,由模型编写查询逻辑,经 butler_source_test 试跑通过后保存,再进入轮询。查询代码在独立 worker 中执行,网络经注入的 http 桥且限定登记域名;维护者说明 vm 非强隔离沙箱,只保存你审过的代码。
提醒¶
依赖宿主 dsh-schedule(未挂载时仍可记账,面板高级项 scheduleAvailable: false)。有明确时间会建提前提醒(默认提前 30 分钟,可配置)与到点加强提醒(须编号回复表态)。可在设置中配置 reminderTarget(如 origin 投回记录时的会话)。
安装与启用¶
官方 README 为本地目录安装,共三步。
- 将仓库放到本机目录,例如
~/plugins/dsh-personal-butler。 - 在 DSH 对话中发送(由 Agent 调用宿主
plugin_manager install_bundle,或使用「设置 → 插件」本地安装;不要手改 profile 的package.json/cordis.patch.yml):
把 ~/plugins/dsh-personal-butler 装成插件
- 侧栏出现管家图标,点开即面板;装完无需重启宿主。安装的是目录链接,后续更新后刷新面板即可。
依赖:宿主需已挂载 dsh-tools、dsh-host-webserver、dsh-client-ui-slots(桌面版默认具备)。提醒额外需要 dsh-schedule。
典型用法¶
截图记账:
- 将订阅或用量截图拖入对话,附一句「记一下」。
- 按编号回复确认卡(如
1)。 - 刷新面板查看记录与已排提醒。
口述示例(README 原文场景):
- 「帮我记一下这个订阅,每月 20 美元,12 月 10 号到期」
- 「这个 Claude 套餐帮我盯着余量」
- 「张三让我周五前把合同发他,提醒我周四晚上看一眼」
- 「我借给李四 500,说好下个月 1 号还」
- 「这箱东西放阳台柜上层了,帮我记一下」
- 「我的充电器放哪了?」
开发自检(需 Node ≥ 20):
node --check client.js
npm test
配置要点¶
运行期可在面板「设置 → 管家」改轮询、提前量、币种等;持久化写在 profile 的 cordis.patch.yml 里 butler 的 config,升级不覆盖该行。常见键:pollSeconds(默认 30)、advanceMinutes(默认 30)、currency(默认 CNY)、reminderTarget(默认 new_once)、dataDir(空则依次尝试 $DSH_PROFILE_DIR/butler 等)、apiToken(面板 HTTP 额外令牌)。完整表见仓库 README 第 7 节。
数据默认落在 profile 下 butler/butler.json 与同目录 photos/;面板仅监听 loopback 并校验同源,可加固 apiToken。
适用场景与注意¶
适合谁: 已在 DSH 桌面(或经 QQ 等通道)日常使用对话、希望订阅/额度/待办/借贷/收纳一体化本地管理,并愿意在确认环节核对字段的用户。
权限与安全: 插件以当前 DSH 进程权限运行;安装前应阅读源码与 MIT 许可证。额度查询凭证与模型 API key 分离;自定义额度源代码视同自写脚本。收纳图片存本地,总量上限为 300 张 / 1GB(README 说明)。
结尾¶
dsh-personal-butler 把「截图或一句话 → 确认 → 结构化账本 → 面板与调度提醒」收进 DSH 插件形态,减少在多应用间来回抄录。进一步了解可看 SkillHub 目录页 与 GitHub 仓库 README。