DeepSeek Harness Hub
← 返回列表

lemoncat7/dsh-partner

DeepSeek Harnessspec-screened在 GitHub 查看 ↗
未验证

面向 DeepSeek Harness 的长期 AI 伙伴与多渠道插件。

尚未跑自动兼容性验证,可查看页面内的依赖与入口分析。 · 最近上游提交 2026/9/18 · 已提供中文文档

# 面向 DeepSeek Harness 的长期 AI 伴侣,支持微信渠道路由

综合分
29.8
GitHub 分
29.8
用户评分
★ Stars
0
周下载量
安装插件(需先安装 dsh CLI 引擎:npm install -g @deepseek-ai/dsh)
dsh plugin --profile web add lemoncat7/dsh-partner
该插件未发布到 npm,走 GitHub 源安装(pnpm 若拦截 prepare 脚本,按其提示在 pnpm-workspace.yaml 的 allowBuilds 中放行后重跑)
数据截至 2026/9/20(元数据每日更新 · 实装验证按队列轮转,单条结论的验证时间见上方)
依赖的 DSH / Cordis 模块
@deepseek-ai/schemastery@deepseek-ai/cordis@deepseek-ai/dsh-agent@deepseek-ai/dsh-agent-default-model@deepseek-ai/dsh-agent-presets@deepseek-ai/dsh-api-remotes@deepseek-ai/dsh-api-session-controller@deepseek-ai/dsh-attachment@deepseek-ai/dsh-client-ui-conversation@deepseek-ai/dsh-client-ui-layout@deepseek-ai/dsh-client-ui-primitives@deepseek-ai/dsh-client-ui-renderer
用户评分
还没有人投票,来当第一个
订阅周报,不错过优质插件更新
每周一封 · 高评分插件 + 新用户活动

README

DSH 伙伴

面向 DeepSeek Harness 的长期 AI 伙伴与多渠道插件。

伙伴不是一次会话中的临时提示词。每个伙伴拥有独立身份、Agent Preset、模型路由、能力声明。同一伙伴的本地、微信、Matrix、Mattermost 共用主对话;所有已授权联系人共享对话上下文,不适合作为多人隐私隔离的公共机器人。微信使用腾讯微信 iLink Bot API,不模拟个人微信网页版协议。

交互提问按实际消息来源返回,不按会话绑定猜测渠道。伙伴默认可修改自身 Matrix / Mattermost 渠道账号头像,无需单独开启能力,详见 提问来源与渠道头像。

Matrix / Mattermost 私聊支持图片、文件、音频和视频收发;单条入站消息最多 8 个附件、合计 64 MB。音视频先作为文件保存或交付,不自动转写;Matrix 加密房间仍不支持。详见 渠道说明。

2.3.0:统一记忆、用户概述与 Matrix 恢复

正式版,已验证宿主 DSH 0.1.5-rc.1。统一记忆列表与可纠正的用户概述,修复共享会话记忆和弹窗定位;Matrix 消息缺口支持分页补拉及网络自动重连。详见 2.3.0 发布说明。

2.2.0:渠道附件与合并接收

正式版,已验证宿主 DSH 0.1.5-rc.1。Matrix / Mattermost 支持附件收发,并合并紧邻的文字和附件,下载完成后再交给伙伴。详见 2.2.0 发布说明。

2.1.0:提问来源与渠道头像

正式版,已验证宿主 DSH 0.1.5-rc.1。提问按实际发起端返回;伙伴默认可修改自身 Matrix / Mattermost 渠道账号头像,无需能力开关。详见 2.1.0 发布说明。

2.0.0 大版本:规范存储与安全迁移

正式版,已验证宿主 DSH 0.1.5-rc.1;要求 Node.js ^22.19.0 或 >=24.0.0。
旧宿主兼容分支保留,但未重新完成旧宿主端到端验证。

- 导航分为「功能 / 设置」,卡片设置归入设置。
- 伙伴私有配置、记忆、关注、通知与交付记录统一进入各自 .partner/;公共数据独立整理。
- 设置 → 基本设置 → 升级迁移:按存储版本顺序执行,先完整备份、校验,再切换版本并清理已核验的旧路径。
- 历史 memory-backup-*、memory_back 等原样归档;清理失败保留原文件,可单独重试。
- 卡片提示待迁移版本,点击进入设置;迁移期间断连自动重查状态,不重复提交。

安装不会自动迁移。迁移后不可直接降级到不支持新版存储的插件,恢复前需备份新旧数据。
429 项自动化测试通过;已完成浏览器恢复检查及生产迁移数据核验。
详见 2.0.0 发布说明 与 存储迁移说明。

1.16.2 更新:渠道回复进度与卡片 Markdown

正式版,已验证宿主 DSH 0.1.5-rc.1;要求 Node.js ^22.19.0 或 >=24.0.0。

Matrix / Mattermost 支持正在输入和可更新的回复进度消息,完成后更新为正式回复;悬浮卡片消息详情支持 Markdown,适配窄屏和深浅色。395 项自动化测试通过,并完成浏览器与部署检查。

详见 1.16.2 发布说明 与 回复进度设计。

1.16.1 更新:Matrix / Mattermost Markdown 适配

正式版,已验证宿主 DSH 0.1.5-rc.1;要求 Node.js ^22.19.0 或 >=24.0.0。

Matrix 增加安全 HTML 富文本与文本兜底;Mattermost 保留原生 Markdown。长消息按块分段,超长代码补齐围栏、表格重复表头,普通回复与主动通知复用同一适配器。385 项测试通过,已部署验证。

详见 1.16.1 发布说明 与 渠道消息格式。

1.16.0 更新:多目标通知与 Matrix 加密提示

插件正式版,已验证宿主为 DSH 0.1.5-rc.1,需要 Node.js ^22.19.0 或 >=24.0.0。

- 通知配置改为「通知 → 多选渠道 → 选择各渠道接收人」,可回到最近联系渠道与用户模式;普通回复仍回来源渠道。
- 多目标独立投递,重试跳过已确认成功的正文和附件部分,进度支持重启恢复。
- Matrix 检测到加密会话时直接在渠道卡片提示;仅未加密双人会话可配对,其他正常会话不受影响。
- 统一身份与渠道表单样式,改善手机布局和错误反馈。

详见 1.16.0 发布说明 与 通知投递说明。

1.15.0 更新:多渠道与共用主对话

插件正式版,运行验证环境为 DSH 0.1.5-rc.1,Node.js ^22.19.0 或 >=24.0.0。DSH 宿主自身仍是 RC;旧版兼容分支保留,未重新完成全部旧宿主端到端验证。

- Matrix / Mattermost 账号密码或 Token 登录,房间 ID 可选,通过私聊配对并审批。
- 同一伙伴本地与所有渠道复用主对话,通知可指定目标或跟随最近渠道。
- 连接状态、配对请求自动刷新;复用统一配置弹窗,修复重复登录触发限流及错误提示。
- 单项关注受阻不再阻塞其他关注。

升级前备份数据;共享上下文是本版行为变化。详见 1.15.0 发布说明 与 渠道使用说明。

1.14.2 更新:新版宿主适配与身份页统一

插件正式版,已在 DSH 0.1.5-rc.1 验证新版主面板导航,保留旧版回退。身份页采用伙伴统一卡片与限定作用域的表单样式;不修改记忆、持续关注或工具授权。详见 更新说明。

1.13.0 更新:Skill 包导入与看板分工
正式版,适配 DSH 0.1.2-rc.1,需要 Node.js ^22.19.0 或 >=24.0.0。

- Skill 市场支持 ZIP 和目录导入,保留 scripts、references、assets 等配套文件;使用已有弹窗与表单样式,安装后仍需单独为伙伴启用。
- 校验路径、文件数量、解压大小和 CRC,拒绝链接、损坏包及重复路径;不运行安装脚本,不覆盖已有技能。
- 修复可信 inline Skill 的 run 错误创建临时会话的问题,保留当前伙伴的工具上下文;fork Skill 继续隔离运行。
- 内置任务分解 Skill 升级为 1.6.0,明确临时子 Agent 不能替代看板委派,调研、验证和设计按实际交付进入原需求。不新增前置 Skill 或全局工具门禁。
- 314 项自动化测试及桌面、手机、平板导入验证通过;已有内置 Skill 在启动时升级,保留启用绑定,本地自定义 Skill 不被覆盖。

1.12.0 更新:记忆质量与工作区

正式版,适配 DSH 0.1.2-rc.1,需要 Node.js ^22.19.0 或 >=24.0.0。

- 「持续关注」成为独立标签页;记忆页按画像、记忆和回顾组织,设置使用统一弹窗,支持手机、平板与桌面。
- 记忆候选验证用户原话依据,区分明确事实、稳定偏好、一次性过程和持续关注,召回仅保留相关内容。
- 提炼任务持久化、后台执行、失败退避重试;已保存提炼结果复用,不因后续写入或通知失败重新调用模型。
- 提供场景摘要、对话历史、处理状态与经验审核;经验仅审核后导出,不自动安装 Skill 或扩大权限。
- 保留已有数据与权限,不自动清理旧记忆。当前仍按有效对话逐轮提炼,未增加 token 用量统计或短消息合批。

详见 发布说明 和 记忆设计与边界。

1.11.2 更新

适配 DSH 0.1.2-rc.1。

- 明确要求关注可直接保存到「在意的事」,返回保存结果及关注 ID;支持逐项提交多个事项,隐式关注继续使用筛选策略。
- 区分变化驱动的关注与按时执行、周期性交付的定时任务;记忆关闭时不以定时任务替代关注。
- 保留记忆权限和已有任务,不自动迁移或删除现有定时任务。

1.11.1 更新

适配 DSH 0.1.2-rc.1。修复自定义绳纹在拖动时滑动穿帮:采用固定分段的材质坐标,纹理跟随绳子移动、弯曲和拉伸;保留帧率上限与静止休眠。

1.11.0 更新:挂卡自定义

适配 DSH 0.1.2-rc.1。本版同时包含下述整份计划与逐项验收改进。

- 「卡片设置」支持绳长 60%–160%、自定义绳子纹理和正面图案;纹理附着在绳子上,随移动、弯曲和拉伸变化,保留边缘与编织细节。
- 图片在本机等比例处理,不上传服务器;支持最大 5 MB 的 PNG/JPEG/WebP。正面图片最长边保留至 1536 像素,绳纹至 256 像素;优先无损保存,复杂图片使用有大小上限的压缩。
- 清晰度滑块在 0%–100% 间调整卡片绘制精度,保留原有高光、帧率上限和静止休眠。旧版已压缩图片建议重新上传,高清不能恢复原图缺失的细节。
- 保存后生效,仅保存到当前浏览器;旧配置自动补全默认值。

1.11.0 更新:整份计划与逐项验收

分工策略仍由“任务拆解与看板推进” Skill 定义;没有额外前置 Skill,也不强制所有问题都拆解。

- partner_requirements · submit_plan 一次保存并提交整组任务:依赖、授权或参数任一不合法,整份不保存。网络重试使用同一 submissionKey 和同一载荷,不重复创建。
- 任务可选填写验收清单,执行者提供证据,验收者逐项核验;打回缺项进入下一次执行上下文。这里的“核验通过”是伙伴/人工判断,不是程序自动证明。
- 相同资源声明在看板内互斥,独立任务保持并发;列表显示具体等待原因,详情查看证据。旧任务和逐项创建方式继续兼容。

工具调用示例(伙伴 ID 替换为授权目录中的真实 ID):

{
"action": "submit_plan",
"submissionKey": "research-delivery-01",
"title": "整理调研并交付结论",
"autoRun": true,
"completeScope": true,
"tasks": [
{ "key": "research", "title": "整理来源", "assigneeCompanionId": "researcher-id", "acceptanceCriteria": ["文档保留原始来源链接"] },
{ "key": "summary", "title": "汇总结论", "assigneeCompanionId": "writer-id", "dependsOn": ["research"], "acceptanceCriteria": ["结论可追溯至已验收资料"] }
]
}

验收伙伴省略时默认创建伙伴。autoRun 默认 true;仅规划设 false。completeScope 默认 false,只在整个目标范围都已安排时设 true;阶段工作不等于整个需求完成。续做原需求使用 requirementId/expectedRevision,必要时先由负责人 reopen,不要另建同名需求。

回执返回 replayed=true、execution=unchanged 表示取回现有任务而非重启;removed 表示旧工作已删除。资源键如 repo:team/api 仅约束本看板内一致的声明,不是操作系统锁或额外权限。详见 架构说明。

兼容性

正式版 1.16.1 已在 DeepSeek Harness 0.1.5-rc.1 镜像验证,适配新版主面板导航,并保留 0.1.2-rc.1 接口回退。需要 Node.js ^22.19.0 或 >=24.0.0。插件的正式发布不表示 DSH 宿主已结束 RC 阶段。

1.10.6:明确附件交付与角度高光

- 新增 partner_send_attachment,伙伴明确指定图片或文档路径,会话提供原生图片内容/下载链接,绑定渠道时发送真实文件;失败按交付 ID 重试,已确认成功的不重复发送。
- 普通 Markdown 引用不再隐式发送附件;内部看板与验收不逐项通知渠道。仅支持当前会话目录内真实文件,远端文件需先下载,单件上限 64 MB。
- 挂卡高光跟随真实倾角,不再循环扫光;保留图片原色、图片自适应及静止休眠。

详见 1.10.6 发布说明。
1.10.3 修复:看板需求版本冲突

- 拆开需求范围/控制版本与完整进度版本,新增子任务、执行进度和评论不再使普通需求操作立即失效。
- 真正修改范围、分配或删除任务仍需核对新版本;最终归档和任务验收保持严格校验,过时汇总不会投递渠道。
- 冲突返回当前需求内容、状态、版本和处理建议;创建子任务同时返回所属需求版本,减少反复查询。
- 保持现有界面和数据,兼容旧记录及服务重启。构建及 241 项回归测试通过。

详见 1.10.3 发布说明。

1.10.0 更新:需求看板与统一交付

- 看板以需求组织子任务,区分进行中和已归档;完成分工后提交规划,全部子任务验收通过后由负责人汇总、归档并向需求来源渠道统一通知,不逐任务播报。
- 需求详情集中展示目标、进度、最终结论和交付记录;支持人工收尾、调整负责人及重试。任务阶段按需展开,空阶段不占位,复用现有字体、材质与弹窗,适配手机及平板横屏。
- 删除任务幂等处理,取消关联执行并忽略迟到结果;依赖者暂停,重新确认需求范围。归档结果保留交付快照,旧任务不自动猜测归属或清空。
- 汇总及投递失败持久化退避重试,重启继续;通知失败不会重新生成已保存的总结。人工从看板创建的需求不误发到其他渠道。
- 内置任务规划 Skill 升级至 1.4.0,明确需求归属及整体收尾;强调专业分工,区分伙伴技能与原生技能加载,不增加前置 Skill 或执行路由门禁。
- 包含渠道只提取最终答复、生成文件真实路径解析及挂卡数字位置优化。220 项测试和 60 个任务的六组响应式/主题交互验证通过。

操作说明及兼容边界见 1.10.0 发布说明。

1.9.2 修复:中断后的待验收任务恢复

- 执行伙伴提前标记待验收、但尚未提交结果时,服务重启或暂时网络故障后可继续恢复交付,不再误取消执行。
- 对已被旧调度器误取消的记录,校验停止记录、负责人、当前授权和是否有更新的执行后定向恢复;有结果、已验收、正常取消或已结束的任务不会因此重跑。
- 启动时先注册结果通知再启动恢复队列,避免快速完成的恢复任务漏发通知;恢复前仍检查依赖和并发限制。
- 渠道只保留创建后的分工确认与验收通过后的最终交付;核验、重试、accept 等内部回调静默,自动目标续轮也不能绕过过滤。真正受阻时仍可请求用户介入,用户主动询问进度仍正常回答。
- 已保存的最终结果先投递渠道,再创建内部进度回调,二者错误独立记录。搭配知识库 2.6.0 的持久化回写队列,会话结束只等待快照入队,不等待知识提取或写入完成;回写失败在原回答下单独重试,不重发渠道消息。

1.9.1 更新:伙伴删除与目录清理

- 删除确认绑定当前伙伴,切换伙伴时重置;删除中防止重复操作,成功返回总览,不再把下一位伙伴置于删除确认状态。
- 页面明确确认后,移除伙伴专属 partners/ 目录及文件、工作区注册和关联配置;共享目录、链接根目录与挂载点拒绝自动清理,不扫描历史遗留目录。
- 删除期间阻止新会话、后台任务与执行队列重新占用目录;运行中的伙伴、已绑定渠道与最后一个伙伴受到保护,清理失败保留身份供重试。
- DSH 当前公开接口不支持永久清理全局原始会话日志,因此这些日志仍保留;目录删除不是跨存储事务,文件删除失败时可能已有部分文件被移除。
- 180 项自动化测试及手机、横屏、桌面深浅色共 6 组隔离交互验证通过。

1.9.0 更新:主动任务拆解与执行

- 匹配已启用的拆解 Skill 和授权伙伴专长时,主动拆分真实交付物、安排负责人及依赖,不要求用户反复说“使用 Skill”或逐个 @;简单问答和明确只规划的请求不自动执行。
- 工具创建任务并指定负责人后默认提交执行;前置任务验收通过后,后续任务自动接续。支持 autoRun=false 仅规划;已有历史任务不会因为升级突然启动。
- 执行队列持久化、重复提交去重、启动前复核授权,最多三个任务执行并发;提交后先返回分工摘要,不阻塞等待所有结果。
- 看板改为阶段内横向卡片排列、按需展开与整页滚动,移动端使用紧凑筛选栏,保留现有配色。
- 169 项自动化测试通过;60 条任务的隔离浏览器检查覆盖手机、横屏与桌面、深浅色共 6 组场景,包括筛选、展开、详情和提交模式。

1.8.3 更新

- 伙伴身份、能力、Skill 和协作配置保存后,在下一轮执行前统一注册到会话;覆盖已有浏览器会话和历史会话恢复,不在正在执行的轮次中重组工具,也不唤醒闲置会话。高权限管理工具继续在调用时检查当前授权。
- 「应用能力组合」增加保存中、成功和失败反馈,成功显示「已保存,下一轮生效」;防止重复提交,失败保留草稿,区分保存失败与保存后刷新失败。
- 新消息轻摆转向文字面,仅在文字面扫光两次;结束及阅读后不自动恢复图案面,不锁定用户手动翻面。
- 挂点旁增加小数字未读标记,超过 99 显示 99+,全部已读后隐藏;支持深浅色与减少动态效果,不增加常驻动画或渲染循环。
- 保留自定义图案、现有卡片材质、24/30/60 FPS 与休眠策略,不改 DSH 源码或伙伴数据。162 项自动化测试及隔离浏览器交互回归通过。

1.8.2 更新

- 修复保存伙伴权限后,已有会话未立即刷新管理工具的问题;仅重组已活动的空闲会话,执行中拒绝修改,不唤醒其他历史会话。
- 修复桌面覆盖层有偏移时挂点、SVG 绳子和 WebGL 卡片脱节:重新布局时测量固定定位层原点,统一坐标换算;挂点拖动和键盘移动使用容器本地坐标。
- 不改变绳子物理、卡片材质和帧率设置,不在逐帧渲染中测量布局。已覆盖偏移容器、拖拽、窗口尺寸变化、移动端与完整挂饰回归。
- 伙伴管理(高权限)仍默认关闭,仅用户可授予或撤回;知识库挂载管理需配合 dsh-knowledge 2.4.0+。

1.7.1 更新

- 减弱伙伴挂卡的照明与大面积泛白反射,保留清亮覆膜高光和图案对比度。
- 正反卡面共用材质配置;不改变自定义图片、拖拽回弹、翻面、消息提醒和帧率设置,不增加离屏折射渲染。

1.7.0 更新

- 主界面新增可拖拽、拉伸回弹和翻面的伙伴挂饰;拖动顶部挂点调整位置,适配窄屏并保留位置。
- 伙伴回复、看板与定时任务的终态消息汇入持久化消息收件箱。消息显示在卡片内侧,点击阅读并跳转来源;新消息轻摆转正、短暂闪光,不自动弹窗遮挡对话。
- 伙伴面板「定时任务」下方新增「卡片设置」:挂饰开关、三种绳子材质、自定义颜色、正面图片及 24/30/60 FPS(默认 30)。点击「保存设置」生效,仅保存在当前浏览器,不跨设备共享。
- 图片在本机裁切压缩,不上传服务器;支持 PNG/JPEG/WebP,最大 5 MB。绳子小样、预览和实际挂饰共用视觉逻辑。
- 绘制与固定步长物理计算分离;静止或拉住稳定后休眠,后台停止渲染和轮询,关闭时释放画布与物理场景。设备性能不足时实际帧率可能低于设定值;无 WebGL 时保留普通消息入口。
- 渲染依赖打包为独立同源资源,无需另行安装 Three.js 或 Rapier;第三方许可见 THIRD_PARTY_LICENSES.md。

1.6.1 更新

- 统一伙伴工作区的分层材质,保留透明工作区底层。
- 重新整理手机上栏:伙伴切换、新建和工作区导航采用紧凑的两排布局;修复重复箭头、横屏挤压及桌面误显示手机控件。
- 伙伴切换菜单使用插件自有样式和不透明底色,避免主题覆盖后正文透入;支持键盘导航、选中反馈、长列表滚动及退出焦点恢复。
- 通过 112 项测试,并覆盖深浅色、7 种宽度和实际 DSH 页面检查。

当前能力

- 伙伴创建、编辑与删除
- 新伙伴只建立身份和本地会话;能力、长期记忆、每日回顾、心跳、渠道与伙伴间授权默认全部关闭
- Agent scoped 身份提示,仅影响该伙伴创建的 Agent
- 为伙伴选择 Agent Preset、提供方与模型
- 微信 iLink Bot 扫码连接
- bot_token 只保存到 DSH Credential Store,管理 API 和浏览器均不返回
- 微信渠道启用、停用、断线退避与运行状态
- 私聊首次联系配对审批
- 微信机器人 + 联系人 独立 Session 路由
- DSH Agent 完整回复后回发微信,并保留 iLink context_token
- 微信图片与文档双向收发:图片进入 DSH 原生附件上下文,文档安全保存到伙伴独立工作目录
- 伙伴可把工作目录内生成的图片、PDF、Office 文档及常用文本文件回发微信
- DSH 运行中发起选择题或自由提问时同步到微信;联系人回复序号、选项文字或自定义答案后,原 Agent 继续执行
- 微信在伙伴忙碌时遵循 DSH 全局 ui-conversation.busyEnter:steer 插入当前轮,queue 排入下一轮
- 按伙伴和微信联系人双重隔离的完整对话归档、每日回顾与结构化长期记忆
- 逐轮记忆提炼使用有界的专用上下文,只发送当前轮、相关记忆的精简视图与最近证据;每日终审保留当天每轮的双向代表片段,未进入提示的旧数据仍由存储层完整保留
- 从明确对话中形成可审计的联系人画像;可靠画像作为会话理解基线,偏好、任务、事件、关系与短期情绪信号继续按当前话题召回
- 人物画像按联系人隔离,使用固定长期槽位和证据阈值;用户可查看来源、手动修正或删除,已确认内容不会再被自动提炼覆盖
- 每日终审只保存有证据的记忆关系;强关系可把一跳关联记忆补入当前话题召回,并在关系审计中解释召回依据
- 冲突关系不会被合并成用户事实;仅在当前话题相关时提示伙伴指出差异并请求确认,所有关系仍严格按联系人隔离
- 对话提炼与每日终审会识别尚未闭环、反复不满意、采用临时方案或正在等待外部结果的「伙伴挂念」;长期记忆只提供理解背景,不直接生成巡检任务
- 伙伴会话额外提供一个紧凑的 partner_concern_suggest 候选工具;它只在伙伴自己的会话且长期记忆开启时可见,不会增加普通 DSH 会话的工具提示开销
- 工具候选和轮后提炼共用确定性准入策略:必须引用当前用户原话,满足优先级、置信度和综合分数门槛;每批最多新增两条,同主题只更新不重复创建
- 用户也可以自然地交代一件需要留意的事,并通过「继续留意、提高关注、已经解决、别管这个」控制它的生命周期;明确说出目标的“停止关注”会确定性更新状态,不依赖模型事后猜测
- 伙伴从记忆提炼或每日终审中自动新建关注后,会在当前伙伴会话中发出一次创建通知,并同步到对应的微信渠道,方便及时检查或移除
- 心跳只查询到期挂念,使用独立内存推理作用域观察上次检查后的变化;无到期事项时不会调用模型
- 心跳根据挂念选择当前可用的安全来源,并在来源内部逐层缩小范围:知识库按“找库→库内搜索→读取条目”,本地按“确定范围→定位文件/内容→读取证据”;发现阶段有独立软截止、单工具超时和整轮安全上限
- 关注可使用来源会话已有的 bash 工具完成文档要求的多步检查,保留 DSH 原有审批,不另行实现命令执行或自动授权。
- @文件 仅作为只读依据;记录写权限只覆盖用户在“需要记录的地方”手动选择的现存文件或笔记,不能创建其他文件或触碰伙伴私有存储
- 发现结果先保存为 Observation,经过去重、相关性、新鲜度、可行动性和近期打扰历史的确定性评分,再决定静默记下、下次顺手一提、进入伙伴动态或主动通知
- 心跳硬性排除伙伴记忆、挂念数据库、会话归档及其备份,不向无关主题扩散
- 未送达的重要提醒会保留并安全补发;普通对话开始时只召回与当前消息相关的延迟提及
- 每次实际巡察结束后在原伙伴会话写入一条可折叠的活动说明,便于核验工具、结果摘要、最终判断和通知状态,不生成伙伴回复气泡
- 可配置静默时段、检查间隔、每日通知上限、失败退避和手动检查;失败后不会早于正常检查间隔重试
- 修改伙伴身份或能力时清理该伙伴的渠道 Session,防止新旧人格串联
- Windows、macOS、Linux 兼容的原子状态写入
- 兼容 SKILL.md 的伙伴 Skill:安装与伙伴启用关系分离,支持在管理台创建本地 Skill、inline / fork 上下文、allowed-tools 权限收缩、校验和审计
- Skill 市场的“已安装 → 导入 Skill”支持本机 ZIP 和目录选择,完整保留脚本、参考资料与二进制资源。每次导入一个包含 SKILL.md 的技能,支持外层包装目录;最多 512 个文件、32 MiB 总量、单文件 8 MiB,SKILL.md 为 512 KiB。其他压缩格式请先解压。拒绝越界路径、链接、冲突文件及损坏压缩包;不会执行安装脚本或自动为伙伴启用,也不覆盖已有 Skill。
- 可信 inline Skill 的 run 会返回当前会话应应用的指令及资源目录,不再错误创建缺少伙伴工具的临时会话;只有 fork 使用隔离执行。内置分解 Skill 1.6.0 明确区分原生子 Agent 与持久化看板委派:重新设计、调研与可行性验证按真实产出进入同一需求,不能以临时并行研究替代看板分工。仍不新增前置 Skill 或全局工具门禁。
- 内置精选 Skill,以及与 nomifun 当前一致的 ClawHub、LoopHub、SkillHub 三个公开 Skill 榜单;支持统一 HTTP 代理、连接测试、受限 ZIP 安装与兼容 JSON 索引的团队源,非可信市场强制使用隔离临时会话
- 人与伙伴共享的任务看板:收集箱、待开始、进行中、待验收、受阻、已完成六个状态,带优先级、负责人、乐观并发 revision 与有界活动记录
- 有向伙伴授权和真实委派:在 A 的能力页勾选 B 后,A 才能查看 B 的公开能力并通过 @B 委派;用户本人可从全局看板直接指派任意伙伴,只共享任务信封、公开能力和结果摘要
- 伙伴会话内提供 partner_skill、partner_task_board、partner_collaborate、partner_schedule,以及按能力显式授权的 partner_companions 作用域工具,不污染普通 DSH 会话的工具表;“创建伙伴”工具只填写身份,新伙伴默认没有能力,后续由用户或已获高权限管理授权的伙伴配置
- 可单独授权 partner_companion_manage,管理其他伙伴的身份、能力、Agent Preset/模型、Skill、单向协作关系及知识库挂载;默认关闭,不能修改自己或转授本管理权限
- 伙伴定时任务支持间隔与每日时间、跳过或排队重叠、手动执行和重启恢复;每次使用新临时会话,完成后默认销毁,也可选择保留以便审计
- Skill fork、伙伴委派和定时任务共用同一个有界临时执行器,统一处理模型/预设组合、并发上限、超时、工具权限、运行记录与会话回收

心跳默认关闭,升级后不会突然主动发送消息。群聊策略和多渠道适配尚未开放。

伙伴管理(高权限)

在目标管理者的「能力 → 高权限管理」中开启「伙伴管理(高权限)」。仅授予可信伙伴;普通协作勾选不等于管理授权。本能力可以配置其他伙伴,但不开放其私有会话、记忆、渠道或凭据,也不能授予或撤回 administration 本身。

开启后可直接交代:“把研究员的身份改成资料核验助手,使用研究预设,启用研究 Skill,允许访问核验员,并挂载项目知识库。”模型通过作用域工具 partner_companion_manage 执行:

- catalog → inspect → update:选择现有预设、模型、已安装 Skill 和伙伴,先读取 revision,再提交所需字段。未提供的字段不变;能力、Skill 和协作数组会替换对应列表,空数组清空。工具组合沿用 DSH Agent Preset,不直接修改全局工具权限。
- knowledge_catalog → knowledge_inspect → knowledge_configure:一次配置一个库,覆盖该伙伴默认项目及已有会话,让默认目录中的新会话也能继承。挂载设置是完整配置,省略项默认为开启召回、审核回写、空标签和空提取规则;停用使用 enabled: false,不删除知识内容。

知识库挂载要求同时安装包含 dshKnowledgeMountManagement 接口的知识库插件;旧版或未安装时会明确提示,身份、能力等管理仍可用。挂载通过知识库当前选中的本地或远程后端执行,远程只读令牌不能修改挂载,不会绕过认证或退回本地写入。

目标伙伴执行中拒绝管理工具修改,配置过期须重新读取。配置保存成功后,身份、能力、Skill 与协作关系在下一轮执行前注册,无需为了注入工具重开会话;Preset 和模型作为会话默认配置,不覆盖已有会话的选择。此权限不自动开启任何伙伴的记忆、心跳或渠道。

安装

dsh plugin --profile web add @lemoncat7/dsh-partner

本地压缩包:

dsh plugin --profile web add ./lemoncat7-dsh-partner-.tgz

重启对应 DSH profile 后,左侧「空间」上方会出现「伙伴」。打开伙伴面板,创建或选择伙伴,再进入「微信」扫码。

默认配置

- insert:
- id: partner
name: '@lemoncat7/dsh-partner'
config:
statePath: !!js dshHomePath('partner/state.json')
exposeWeb: true
apiPrefix: /partner-local/v1
defaultCwd: ''
autoStartChannels: true

defaultCwd 为空时使用 DSH 进程当前工作目录,以兼容桌面端和 Docker。可按部署情况显式设为真实存在的绝对路径。

微信流程

1. 插件请求 /ilink/bot/get_bot_qrcode?bot_type=3。
2. 页面每两秒检查二维码状态,确认后凭据直接进入 Credential Store。
3. 后台通过 /ilink/bot/getupdates 长轮询接收消息。
4. 未授权联系人只会创建配对请求。
5. 批准后,为该联系人创建或恢复独立 DSH Agent。
6. 收到图片时,插件通过微信 CDN 下载并解密媒体,保存到伙伴工作目录,同时作为 DSH 原生图片附件交给 Agent;文档保存后以安全路径交给 Agent。
7. Agent 使用伙伴身份和所选 Preset 运行,最终文本通过 /ilink/bot/sendmessage 返回微信;回复中明确引用的工作目录文件会加密上传并作为微信附件发送。

渠道身份只决定消息归属,不授予任何工具权限。SSH、知识库和未来 Git 插件仍执行各自的挂载、授权和审批规则。

数据与安全

- 普通状态:statePath 指向的 JSON 文件。
- 伙伴记忆:/partners//memory/,按联系人隔离保存每日完整对话归档、人物画像、每日回顾、结构化长期记忆和有证据的记忆关系;画像按版本进入联系人会话,其他记忆按当前话题与一跳强关系召回,默认永久保留。
- 伙伴挂念:/partners//concerns/concerns.sqlite,保存挂念生命周期、变化观察、去重指纹、候选审计和打扰决策;候选审计保留 90 天,SQLite 使用 WAL、索引和串行事务写入。
- Skill 内容:/partner-system/skills//SKILL.md;普通状态文件只保存来源、版本、路径、校验和及伙伴启用关系,不复制 Skill 正文。
- 看板、调度、委派和临时运行索引:保存在 statePath 的原子状态文件中,并对任务数、活动历史、计划数和运行记录设置硬上限,防止长期使用后无限膨胀。
- 敏感凭据:DSH Credential Store,scope 为 dsh-partner-weixin。
- 管理 API:默认 /partner-local/v1,仅接受同源请求;写操作还要求 X-DSH-Partner-Request: 1。
- 微信机器人只能绑定一个伙伴;联系人上下文不会跨机器人、伙伴或其他联系人共享。
- 入站附件上限为 64 MB,保存在 /inbound/,目录权限为 0700、文件权限为 0600。
- 出站附件最多 8 个,只允许伙伴工作目录内的真实文件;会解析真实路径并拒绝符号链接越界、未知格式和超限文件。

开发

npm install
npm test
npm pack --dry-run

要求 Node.js ^22.19.0 || >=24.0.0,与当前 DSH 运行时一致。

新模块的依赖方向、隐私边界和持久化约束见 docs/architecture.md。

Skill 市场索引

ClawHub、LoopHub、SkillHub 是内置公共来源,默认启用且不能删除。公共压缩包只会在内存中读取最浅层的 SKILL.md,不会把归档路径直接解压到磁盘;安装后按非可信 Skill 在隔离临时会话中运行。

自定义市场源返回 JSON 数组,或返回带 skills 数组的对象:

{
"skills": [
{
"id": "team-release-audit",
"name": "团队发布审计",
"description": "执行团队约定的发布前检查。",
"version": "1.0.0",
"tags": ["release", "audit"],
"skillUrl": "./team-release-audit/SKILL.md",
"checksum": "sha256:可选的64位十六进制摘要"
}
]
}

skillUrl 可相对索引 URL。市场索引上限 1 MiB、单个 SKILL.md 上限 512 KiB;未标记为可信的市场即使声明 context: inline,安装后也会强制改为 fork。

市场页面的“代理设置”接受不含账号、密码和路径的 http://host:port。配置仅保存在当前客户端的伙伴状态中,同时作用于市场索引、Markdown Skill 和 ZIP 安装包下载;测试连接不会先写入配置。需要鉴权的代理应在本地网关侧处理,不要把凭据写进代理 URL。

关注依据与记录位置

关注使用后台轻量模型循环,不创建临时 Agent 或向聊天写入过程消息。每条关注独立执行,最多 12 轮工具交互和一轮无工具收尾,不再共用整批总时限或工具调用次数。单次模型请求最多 180 秒,单次工具最多 60 秒(工具自身可有更短限制),收尾有独立请求时间。每条完成立即保存;失败只保留未完成关注等待重试。只提供关联依据与记录目标,按文档完成代理、登录和查询;工具走来源作用域的 DSH 执行和审批,不自动批准。输出截断需按需分页。依据只读,结果仅写指定目标;检查受阻不能当作无变化。工具审计不复制参数正文。任意命令的文件隔离仍依赖 DSH 沙箱,工具名限制不等同文件系统隔离。

“交代一件事”中的 @文件或 @知识文档是只读检查依据;“需要记录的地方”另选现存本地文件或可编辑笔记。没有记录位置时不写文档,旧关注不自动把依据迁移成输出位置。有依据按依据整理,没有依据自主记录核实的现状和进展;笔记使用稳定 ID 绑定,知识库插件需提供 dshKnowledgeNoteRecording 宿主接口。心跳的笔记工具只接收 concernId,不允许模型选择其他笔记 ID;本地文件写权限只覆盖用户选择的现存文件。该入口不包含创建、删除、移动或重命名记录目标。首次可初始化已核实现状,后续避免重复追加,写入与通知判断相互独立。

完整核验结果通过 heartbeat_record_checkpoint 持久暂存,后台独立同步到记录目标。失败15分钟后仅重试同步,不重新抓取或提醒;实际写入成功才清除任务。详见 1.14.0 发布说明。

上游仓库有新提交时邮件通知你(每天最多一封,无更新不打扰),随时一键退订。

💬 加入 DPharness 群聊

插件用法、部署报错、新插件第一时间同步——群里问,比一个人翻文档快。

点击加入 QQ 群
DPharness 群聊二维码,手机 QQ 扫码进群
扫码进群