dsh-meeting-DD:钉钉版多智能体协商插件

前言

DeepSeek Harness(DSH)支持通过插件扩展能力,但现有插件难以解决跨组织、跨网络的协作问题。约会议、排时间、团建投票这类场景,需要多人共享日程和偏好,又不能把数据集中到一个服务器。dsh-meeting-DD 是一个 DeepSeek Harness 插件,把协调工作交给每个人的 AI 助理。助理之间通过钉钉单聊协商,对外只透露忙闲状态,本人需要时再确认。

这是什么

dsh-meeting-DD 是一个 DSH 插件,维护者是 maximehu97。它基于钉钉实现多智能体协商:每人在自己的电脑上跑一个助理,助理以本人的钉钉身份在钉钉里和同事的助理互发协商报文,替各自的主人谈时间、谈口味。插件在 profile 里加入本机节点 meeting-dd 和助理 preset meeting-dd,不改动模型和会话设置。

解决什么问题

约一个三个人的会,常见的过程是:在群里问「周四谁有空」,等每个人翻日历回复,发现没有交集,再私聊某个人「你那个会能不能挪一下」,最后有人去订会议室、发邀请。更难的是「日历上根本没有空档」的时候:共享日历只认「忙 / 闲」,把能让的忙和不能让的忙都当成忙,找不到空档就只能放弃;人工协调又要说清原因(在去机场的车上、要接孩子),谁让步还要看面子。

dsh-meeting-DD 把这些来回沟通交给每个人的 AI 助理。助理只代表一个人,只读写本机主人的日程、偏好和原始记录(聊天记录、外卖记录之类)。助理之间在钉钉里直接谈,每一步都是一条真实的钉钉消息,本人在钉钉里能看到全过程。

核心功能

冲突协商

对自己的助理说一句「约刘经理、赵经理开个双十一联合方案会,周四,一小时,越早越好」,助理会:

  1. 通过钉钉向对方助理发 SYN(请求可用时段);
  2. 收到各自的 SYN-ACK,在本机算交集。对方只回「空闲 / 勉强 / 需本人点头」,不说原因;
  3. 交集为空时,找代价最小的松绑:能线上接入的、能缩短的、能顺延的都算有代价的让步,排除任何碰到「不可动」安排的方案,向需要让步的人发 RELAX(松绑请求),对方本人在页面上点头;
  4. 定下时段后发 PROPOSE,对方 ACK,助理订会议室、发 CONFIRM,各方日程同时写入。

上级插会时(NOTICE),下属的助理按主人的偏好处理冲突,比如把 1on1 顺延;被挤掉的会由发起人的助理自动重约。

约周末团建、投票点奶茶

发起人说「这周末约大家出去玩半天,顺便团一波奶茶」,助理把请求同时发给同事的助理:

  • 每个人都有自己的隐藏日程。助理第一次被问到时,先读本人的原始记录(家庭群、备忘录、预约、体检备注……),自己整理出「走不开 / 勉强 / 本人点头可让」的时段和口味忌口,存进「🧠 记住的」。
  • 对外只给忙闲,不给原因,助理自动求交,必要时只问需要让步的那个人。
  • 时间定下以后,发起方的助理发 VOTE,每个助理按主人的口味和忌口回 BALLOT(两家店各打 0–3 分,有忌口可以一票否决,并选好自己那杯),平票交给发起人拍板,最后下团单。

消息和 @ 提及

  • 在助理页里「@某人 …」,是交给你的助理去找他的助理办这件事。
  • 想直接给某人发一句话(不经过助理),在「💭 消息」里私聊或建群,对方在钉钉里直接能看到,在钉钉里直接回的文字也会显示回来。
  • 也可以让助理代劳,比如「帮我跟刘经理说一声我晚到十分钟」。

自动发现同事

  • 扫码后身份直接来自钉钉,不需要选演示人物。可以在「🧠 记住的」里改职位、部门和层级(层级决定谁对谁是上级通知、谁和谁是同级握手)。
  • 登录后自动给本组织同事打招呼,装了插件的同事几秒内出现在「👥 同事」里。新同事入职后可以点「重新发现」,也可以按姓名搜索添加。
  • 不在通讯录里的人,助理会先用 find_colleague 在钉钉里找;同名的会先问你选谁。

安装与启用

前提:已经装好 DeepSeek Harness 网页版,并且这个 profile 的默认模型可用(已经登录 DeepSeek 账号,或者配好了 API Key),以及一个加入了公司钉钉组织的钉钉账号。不需要钉钉开放平台应用,也不需要填任何密钥。

  1. 在终端运行一条命令:
curl -fsSL https://raw.githubusercontent.com/maximehu97/dsh-meeting-dd/main/install.sh | bash

它会从 GitHub 最新发布版下载安装包,装进 DSH 网页版(profile web),并顺带装好钉钉 CLI(DingTalk Workspace CLI)以及缺的 pnpm、dsh。

  1. 重启 dsh web。左侧栏会出现「📅 约会议·钉钉」,点开就是本机的助理页。也可以在浏览器里直接打开 http://127.0.0.1:4600/。

  2. 页面会直接请你扫码登录钉钉:点「登录钉钉(扫码)」,浏览器打开钉钉授权页,用手机钉钉扫码、选公司、点「同意」。第一次用时钉钉可能提示「暂无 CLI 数据访问权限」,选公司管理员提交申请,管理员在钉钉里批准后自动完成登录。

  3. 登录后不用选身份,下面这些都会自动完成:
    - 身份直接用你的钉钉姓名、部门、职位和主管;
    - 按你的钉钉账号生成一套示例日程(未来一周)、偏好和原始记录(周末安排、奶茶口味、体检备注等),每人不同,可以改成自己的真实安排;
    - 给本组织每位同事打一次招呼,装了插件的同事会自动出现在「👥 同事」里,没装的只会收到一条可以忽略的说明。

更新:再运行一次上面的命令,然后重启。会先卸掉旧版再装新版,钉钉不用重新扫码。本人数据保存在 ~/.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
羽毛球分组比赛记分
小程序二维码

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

Xiaoye