dsh-assist:为 Harness Desktop 加入可复用人设、记忆与可选的主动陪聊

前言

在 DeepSeek Harness(DSH)里做长期对话助手时,常见做法是每次新开会话、靠上下文窗口「临时记住」偏好。窗口一换或进程重启,人设和长期笔记往往带不走;若希望用户在离开键盘一段时间后仍收到一句轻量提醒,又需要额外调度逻辑,很难只靠单次 prompt 稳定实现。

下面介绍社区插件 dsh-assist(维护者 a740411040),它面向 Harness Desktop 0.2.1-rc.3,用版本化 JSON 人设包、本地 JSON 记忆存储,以及会话内 opt-in 的空闲触发,把「同伴感」拆成可检查、可导出、可关闭的几块能力。当前版本为 0.3.0 预发布(MIT 许可证);README 写明已通过离线验证与 Windows 桌面端安装、加载检查,真实模型下的主动聊天仍待社区实测,且本项目为独立社区作品,并非 DeepSeek 官方产品。

这是什么

dsh-assist 的定位是:把 Harness 里的一次对话扩展成可复用的 AI 同伴——选择人设、保留有用记忆,并在用户同意的前提下,在空闲一段时间后发起简短对话;v0.3.0 起支持在同一会话里开启一次后,重启 Desktop 并重新打开原会话时恢复已保存的主动聊天设置与连续无人回应计数(后端需保持运行)。新会话默认不启用;调用 assist_idle_stop 会停止后续触发并取消已保存的启用状态。

分类上在 SkillHub 目录中属于「记忆」;GitHub 仓库:a740411040/dsh-assist。目录页:skillhub.cn 插件页。

核心功能

资料中的能力表可概括为以下几点(行为以 README 为准):

能力 说明
可携带人设(Portable personas) 版本化 JSON 包,含身份、语气、问候与记忆指引
持久记忆 同一 persona 内共享长期笔记;短期 checkpoint 绑定到会话
主动聊天(Proactive chat) 用户 opt-in 的空闲触发,带冷却、静默时段、未回复次数上限
可分享包 公开导出会省略已存记忆字段;私有备份需显式选项
可 inspect 的数据 本地 JSON、dsh-assist CLI 与文档化格式

默认捆绑人设 爱吃白饭的大肥鱼女儿(Rice-Loving Chubby Fish Daughter),角色 ID 为 little-fish,定义见仓库 packs/fish.json。全新存储会自动选中该 persona;已有安装保留已保存角色与记忆。默认称呼你为「爸爸」,可随时改;默认中文语气,也可在对话中要求其他语言。

插件不连接 QQ、WeChat 或 X;在 TRAE 等环境阅读 SKILL.md 本身不会提供 Harness 侧的空闲计时器。

安装与启用

安装包从 v0.3.0 Release 获取:dsh-assist-0.3.0.tgz 为 Desktop 插件安装包(不要解压);另有源码 zip 与 SHA-256 manifest 供校验。

官方步骤使用 Windows PowerShell。Desktop 自带运行时,安装插件不依赖系统单独安装的 Node.js/npm。

  1. 先启动一次 Harness Desktop 以初始化 profile;在应用菜单用 Manage dsh Command… 安装或修复 dsh 命令。
  2. 完全退出 Desktop(仅关窗口可能仍在托盘运行)。
  3. 新开 PowerShell,确认 dsh 来自 Desktop 且版本为 0.2.1-rc.3,再安装下载好的 tgz:
Get-Command dsh
dsh --version

$package = Join-Path $env:USERPROFILE 'Downloads\dsh-assist-0.3.0.tgz'
dsh plugin --profile desktop add $package
dsh plugin --profile desktop list

若下载路径不同,请改 $package。任一步失败应停止排查;安装完成后重新打开 Desktop。README 强调:通过 npm 单独安装的 dsh 不能修改 Desktop 的 profile;源码目录安装与旧用户迁移见 docs/DESKTOP.md。

典型用法

选择人设并查看记忆

在目标会话中,可让模型按插件工具流程操作:assist_list 列出 persona,用 assist_use 选择 little-fish,再用 assist_memory_read 查看记忆内容(具体字段与 CLI 见 docs/CLI.md、docs/PACKS.md)。

开启主动陪聊

README 给出的示例请求如下(参数含义:空闲 15 分钟后可触发,两次触发至少间隔 30 分钟,连续两次无人回应后暂停,23:00–08:00 静默):

Use assist_list, select little-fish with assist_use, and read assist_memory_read. Then call assist_idle_start: chat after 15 idle minutes, wait at least 30 minutes between triggers, pause after two unanswered triggers, and stay quiet from 23:00 to 08:00.

是否真正启用以工具返回 enabled: true 为准,不能只看模型口头答应。

操作 工具
启用或改设置 assist_idle_start
查看本会话状态 assist_idle_status
停止后续触发 assist_idle_stop

静默时段按后端本地时区。后端需保持运行;保存的 opt-in 在原会话重新加载后,需再经历一轮空闲/冷却等待才会触发。每次触发使用当前所选模型,消耗正常配额;assist_idle_stop 不会撤回已提交的一轮回复。

快速自测可将 idleMinutes、cooldownMinutes、maxUnanswered 设为 1,quietStart 与 quietEnd 设为 0;模型回复结束后停止输入,约 60–75 秒内应出现一次触发,在你回复前不应有第二次触发,然后调用 assist_idle_stop。详见 docs/IDLE.md。

数据存放与开发

记忆目录优先级:DSH_ASSIST_HOME;否则 DSH_HOME/dsh-assist;再否则 ~/.dsh/dsh-assist。公开导出会过滤存储的记忆字段,但不会自动抹除写进 persona 定义本身的个人信息。

独立 CLI 与源码开发需要 Node.js 20.18+;核心与 CLI 无第三方运行时依赖。仓库内可执行:

node src/cli.js init --home "$PWD\.work\demo"
npm test
npm run check
npm run release

npm run release 仅在本地构建产物,不会发布到 GitHub 或 npm。

适用场景与注意

适合谁: 已在 Windows + Harness Desktop 0.2.1-rc.3 上使用 DSH、希望固定人设与跨会话记忆、并愿意在单会话内显式开启「空闲一句」的早期试用者。项目正在收集安装、首次开启、重启恢复、停止等步骤的可复现反馈(试用反馈 Issue 模板)。

务必注意:

  • DSH 插件以当前 dsh / Desktop 后端进程权限运行,安装前应自行审阅源码与 MIT 许可证,确认可接受本地读写记忆与人设数据的方式。
  • 预发布范围见 docs/VERIFICATION.md;不要把未验证能力当作生产保证。
  • SkillHub 等社区目录与 DeepSeek / 幻方无官方从属关系;DSH 生态强调「一切皆插件」,本文介绍的是社区目录中的一款记忆类插件,而非官方应用商店条目。

经过上面的步骤,你可以在 Desktop 里用本地 JSON 管理 persona 与记忆,并在可控条件下让默认的「白饭鱼女儿」或自定义 pack 在重启后继续同一套主动聊天设置——价值在于把同伴能力拆成工具化、可停止、可导出的模块,而不是绑定在单次对话上下文里。

  • 目录页:https://www.skillhub.cn/plugins/a740411040/dsh-assist
  • GitHub:https://github.com/a740411040/dsh-assist
  • 下载:https://github.com/a740411040/dsh-assist/releases/tag/v0.3.0
羽毛球分组比赛记分
小程序二维码

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

Xiaoye