前言¶
DeepSeek Harness(DSH)支持通过插件扩展能力,但现有插件难以解决跨组织、跨网络的协作问题。约会议、排时间、团建投票这类场景,需要多人共享日程和偏好,又不能把数据集中到一个服务器。dsh-meeting-DD 是一个 DeepSeek Harness 插件,把协调工作交给每个人的 AI 助理。助理之间通过钉钉单聊协商,对外只透露忙闲状态,本人需要时再确认。
这是什么¶
dsh-meeting-DD 是一个 DSH 插件,维护者是 maximehu97。它基于钉钉实现多智能体协商:每人在自己的电脑上跑一个助理,助理以本人的钉钉身份在钉钉里和同事的助理互发协商报文,替各自的主人谈时间、谈口味。插件在 profile 里加入本机节点 meeting-dd 和助理 preset meeting-dd,不改动模型和会话设置。
解决什么问题¶
约一个三个人的会,常见的过程是:在群里问「周四谁有空」,等每个人翻日历回复,发现没有交集,再私聊某个人「你那个会能不能挪一下」,最后有人去订会议室、发邀请。更难的是「日历上根本没有空档」的时候:共享日历只认「忙 / 闲」,把能让的忙和不能让的忙都当成忙,找不到空档就只能放弃;人工协调又要说清原因(在去机场的车上、要接孩子),谁让步还要看面子。
dsh-meeting-DD 把这些来回沟通交给每个人的 AI 助理。助理只代表一个人,只读写本机主人的日程、偏好和原始记录(聊天记录、外卖记录之类)。助理之间在钉钉里直接谈,每一步都是一条真实的钉钉消息,本人在钉钉里能看到全过程。
核心功能¶
冲突协商¶
对自己的助理说一句「约刘经理、赵经理开个双十一联合方案会,周四,一小时,越早越好」,助理会:
- 通过钉钉向对方助理发 SYN(请求可用时段);
- 收到各自的 SYN-ACK,在本机算交集。对方只回「空闲 / 勉强 / 需本人点头」,不说原因;
- 交集为空时,找代价最小的松绑:能线上接入的、能缩短的、能顺延的都算有代价的让步,排除任何碰到「不可动」安排的方案,向需要让步的人发 RELAX(松绑请求),对方本人在页面上点头;
- 定下时段后发 PROPOSE,对方 ACK,助理订会议室、发 CONFIRM,各方日程同时写入。
上级插会时(NOTICE),下属的助理按主人的偏好处理冲突,比如把 1on1 顺延;被挤掉的会由发起人的助理自动重约。
约周末团建、投票点奶茶¶
发起人说「这周末约大家出去玩半天,顺便团一波奶茶」,助理把请求同时发给同事的助理:
- 每个人都有自己的隐藏日程。助理第一次被问到时,先读本人的原始记录(家庭群、备忘录、预约、体检备注……),自己整理出「走不开 / 勉强 / 本人点头可让」的时段和口味忌口,存进「🧠 记住的」。
- 对外只给忙闲,不给原因,助理自动求交,必要时只问需要让步的那个人。
- 时间定下以后,发起方的助理发 VOTE,每个助理按主人的口味和忌口回 BALLOT(两家店各打 0–3 分,有忌口可以一票否决,并选好自己那杯),平票交给发起人拍板,最后下团单。
消息和 @ 提及¶
- 在助理页里「@某人 …」,是交给你的助理去找他的助理办这件事。
- 想直接给某人发一句话(不经过助理),在「💭 消息」里私聊或建群,对方在钉钉里直接能看到,在钉钉里直接回的文字也会显示回来。
- 也可以让助理代劳,比如「帮我跟刘经理说一声我晚到十分钟」。
自动发现同事¶
- 扫码后身份直接来自钉钉,不需要选演示人物。可以在「🧠 记住的」里改职位、部门和层级(层级决定谁对谁是上级通知、谁和谁是同级握手)。
- 登录后自动给本组织同事打招呼,装了插件的同事几秒内出现在「👥 同事」里。新同事入职后可以点「重新发现」,也可以按姓名搜索添加。
- 不在通讯录里的人,助理会先用
find_colleague在钉钉里找;同名的会先问你选谁。
安装与启用¶
前提:已经装好 DeepSeek Harness 网页版,并且这个 profile 的默认模型可用(已经登录 DeepSeek 账号,或者配好了 API Key),以及一个加入了公司钉钉组织的钉钉账号。不需要钉钉开放平台应用,也不需要填任何密钥。
- 在终端运行一条命令:
curl -fsSL https://raw.githubusercontent.com/maximehu97/dsh-meeting-dd/main/install.sh | bash
它会从 GitHub 最新发布版下载安装包,装进 DSH 网页版(profile web),并顺带装好钉钉 CLI(DingTalk Workspace CLI)以及缺的 pnpm、dsh。
-
重启 dsh web。左侧栏会出现「📅 约会议·钉钉」,点开就是本机的助理页。也可以在浏览器里直接打开
http://127.0.0.1:4600/。 -
页面会直接请你扫码登录钉钉:点「登录钉钉(扫码)」,浏览器打开钉钉授权页,用手机钉钉扫码、选公司、点「同意」。第一次用时钉钉可能提示「暂无 CLI 数据访问权限」,选公司管理员提交申请,管理员在钉钉里批准后自动完成登录。
-
登录后不用选身份,下面这些都会自动完成:
- 身份直接用你的钉钉姓名、部门、职位和主管;
- 按你的钉钉账号生成一套示例日程(未来一周)、偏好和原始记录(周末安排、奶茶口味、体检备注等),每人不同,可以改成自己的真实安排;
- 给本组织每位同事打一次招呼,装了插件的同事会自动出现在「👥 同事」里,没装的只会收到一条可以忽略的说明。
更新:再运行一次上面的命令,然后重启。会先卸掉旧版再装新版,钉钉不用重新扫码。本人数据保存在 ~/.dsh-meeting-dd,更新和卸载都不会删除它。
典型用法¶
两个人都装好、登录同一个钉钉组织,在「👥 同事」里互相显示「助理已接入」后:
| 剧本 | 发起人对助理说 | 看点 |
|---|---|---|
| 同级排会 | 「约 张三 明天下午开半小时会」 | SYN → SYN-ACK → PROPOSE → 本人确认 → CONFIRM,双方日程同时写入 |
| @ 某人 | 「@张三 @李四 周四下午开个一小时的方案会」 | @ 到的人就是协商对象,助理去找他们的助理谈,谈好再回复你 |
| 团建 + 奶茶 | 「这周末约大家出去玩半天,顺便团一波奶茶」 | 各自从原始记录里提取档案 → 求交 → 投票 → 下单 |
配置项¶
在 profile 的 cordis.patch.yml 里改 meeting-dd 条目:
| 配置 | 默认 | 说明 |
|---|---|---|
port / host |
4600 / 127.0.0.1 | 助理页和本机 MCP |
dataDir |
~/.dsh-meeting-dd |
本人数据 |
dwsPath / dwsProfile |
dws / 空 |
钉钉 CLI 路径;多组织时指定 corpId:userId |
aiTag |
true | 助理发出的钉钉消息带 AI 标识 |
replyTimeoutMin |
30 | 等对方助理回复的最长分钟数 |
autoDiscover |
true | 登录后自动给本组织同事打招呼 |
loopDir / simDir |
空 | 测试用:本机假信箱 / 单账号模拟(见下) |
适用场景与注意¶
适合需要多人协作排时间、定团单、投票的场景,特别是跨组织或不在同一个局域网的情况。插件以当前 dsh 进程权限运行,安装前应检查源码与许可证(MIT)。注意不要和别的钉钉自动回复插件(比如 dsh-dingtalk)装在同一个 DSH 里,两个插件会同时处理同一条钉钉消息。电脑要开着、DSH 要在运行,助理才能收发。电脑睡眠期间对方发来的报文不会补处理,对方助理等到超时会告诉对方本人。
短结尾¶
dsh-meeting-DD 通过钉钉实现多智能体协商,把日程和偏好交给助理,减少人工协调成本。适合需要多人协作排时间、定团单、投票的场景。
- 目录页:https://www.skillhub.cn/plugins/maximehu97/dsh-meeting-dd
- GitHub:https://github.com/maximehu97/dsh-meeting-dd