mcpField
D
dingtalk-tag

dingtalk-tag

github.com/dingtalk-real-aiAgent 工作流3.8k80 次安装今天更新
代码仓库

关于 dingtalk-tag

dingtalk-tag 是通过 `dws` 命令行操作钉钉数字员工的 Skill。它将请求路由到员工生命周期管理、本地或 DSH 接入、能力资源和执行轨迹,并为变更规定确认与安全流程。

主要功能

  1. 01将任务路由至生命周期命令
  2. 02管理本地及 DSH 连接
  3. 03管理 Skill 和 MCP 资源
  4. 04查看执行状态与轨迹
  5. 05变更前要求确认

适用场景

  1. 01创建或发布数字员工
  2. 02将员工接入 DSH
  3. 03管理 Skill 或 MCP 配置
  4. 04查看执行状态或完整轨迹

MCP 相关

该 Skill 支持通过 `dws dingtalk-tag capability mcp` 创建、更新、删除、列出和查询数字员工的 MCP 资源,并规定 MCP 配置须包含传输类型和 URL。

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/dingtalk-real-ai/dingtalk-workspace-cli --skill dingtalk-tag

安装后在 Claude Code 中输入/dingtalk-tag确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

references/
capability.md
dingtalk-tag-index.md
manage-and-connect.md
manage.md
run.md

详细介绍

来自项目 README

数字员工 Skill

执行任何 dws 操作前,先完整读取 dingtalk-shared。先用 dingtalk-tag-index.md 路由;生命周期读取 manage.md,自然语言创建/恢复/DSH 接入再读 manage-and-connect.md;能力资源读取 capability.md;执行排障读取 run.md。

自行管理任务执行与回复的接入方,可按 回复占位与流式 实现启动钩子和卡片更新。使用该流程需已安装 dingtalk-chat;按需安装时请同时选择该 Skill。DWS 直接托管本地 Agent 时,对已适配公开进度的 Agent,新连接默认发送 A2UI 占位并更新同一卡片,由运行时负责投递,模型不重复发卡;连接时指定 --reply-mode text 可只发最终文本。适配范围和首卡策略见 接入说明。

路由

用户意图命令
创建草稿 / 创建并发布 / 查询 / 修改 / 上线 / 删除dws dingtalk-tag manage ...
下线当前版本无独立下线命令;明确说明限制,不得用 delete 冒充下线
A2A 或其他仅登录场景dws dingtalk-tag manage login --agent-uuid ...
只登录数字员工并保存本地 Profiledws dingtalk-tag manage login --agent-uuid ...
把已有、已发布的本地数字员工接入 DSHdws dingtalk-tag connect --agent-uuid ... --channel dsh
把数字员工接入当前本地 Agentdws dingtalk-tag connect --agent-uuid ... --channel auto --daemon --alwayson
查询、停止或重启数字员工本地连接dws dingtalk-tag connect list/status/stop/restart
在新机器接管(先在旧机器完成解绑)旧机器 connect unbind 成功后,新机器 dws dingtalk-tag connect --agent-uuid ... --channel ...
解除本机连接,但保留员工和 Profiledws dingtalk-tag connect unbind --agent-uuid ...
将已有连接换为其他本地 Agent 或 DSH先 connect unbind --agent-uuid ...,再 connect --agent-uuid ... --channel ...
创建、更新、删除或查询 Skill / MCP 资源`dws dingtalk-tag capability skill
查一次执行的状态或完整 tracedws dingtalk-tag run ...

自然语言编排硬约束

  • 创建/更新的 MCP 主程序类型字段为 digitalTagEmployeeProfile.type,列表过滤使用顶层 type,仅支持 open_code、local_agent,a2a 暂不支持。CLI 参数为 --type;创建时必须显式传 --type open_code|local_agent,缺失或空值由 DWS 本地拦截;应告知调用方选择主程序类型,不能省略或发送空值。更新时未传则保持原值;明确接入本地 Agent/DSH 时传 --type local_agent。注意 create/list/save-draft 的 --type 是主程序类型,而 detail 使用 --snapshot draft|published 选择配置来源,不要混淆。
  • 创建时未提供 --response-mode 或值为空,CLI 默认发送 mention_only,包括 local_agent。更新时不传就不更新该字段,显式值保持不变;最终有效配置由服务端按当前草稿校验。
  • 创建要求名称、描述和主程序类型;部门可不传,由服务端补操作人的主任职部门。不要向用户索要部门名称、岗位、工号或内部 uid。
  • save-draft 只更新用户明确修改的基础草稿字段,不接受 Skill/MCP 完整数组。Skill/MCP 生命周期统一使用 capability skill|mcp create|update|delete|list|query;不设计 attach/detach,check_mcp 只在 create 和带配置的 update 内部调用。
  • 创建或替换 MCP 配置时,须告知并显式填写 configString.mcpServers.<名称>.type(streamable-http 或 sse)以及对应 url;不能只填 URL,configType=JSON 也不能代替传输类型。仅更新 enabled 不重新提交配置。
  • 发布所需配置由服务端校验;创建时默认响应模式为 mention_only。历史草稿缺少响应模式时先通过 save-draft 补齐,不以发布命令隐式改写草稿。
  • 同一自然语言请求里的连续写操作只做一次汇总确认;确认后才加 --yes。先用 --dry-run --format json 展示计划。
  • 创建成功后若保存或发布失败,必须返回已创建的 agentUuid 和恢复命令;重试禁止再次执行 create。
  • “创建并落盘 Profile”可顺序执行创建/发布与 manage login;“创建并接入 DSH”则使用 connect --channel dsh。创建/发布与 connect 是独立事务,connect 绝不创建、修改或发布数字员工。
  • 用户可以只创建/管理数字员工、只把已有员工转换为本地 Profile,或继续接入 DSH;三种操作互不强绑定。
  • 数字员工 ID 统一使用 agentUuid / --agent-uuid;人员标识统一使用 userId,不得要求或展示 uid、robotUid、staffId。
  • 普通本地 Agent 接入使用 Event Consume,默认仅主管可触发;白名单中的用户必须先在员工身份下精确解析。支持 Codex、Qoder/QoderWork、Claude Code、CodeBuddy/WorkBuddy、Gemini、OpenCode 和 custom。OpenClaw/Hermes 暂未适配,不要回退到机器人创建流程。
  • 自然语言“创建发布并接入本机”在发布后显式使用 --daemon --alwayson;命令行默认前台。DSH 不加这两个参数,由运行中的宿主员工级启动;宿主不可用时按 restartRequired 提示启动宿主。connect 不提供开机自启,也不能在电脑休眠期间处理消息。
  • connect 失败后保留员工 ID 和已落盘 Profile,检查 connect status 再恢复;不要重复 create、不要清除事件重试预算、不要隐式覆盖另一个 Adapter 的绑定。
  • 服务端 identity 由主管登录态注入,禁止传入 userId/orgId;deviceId 是稳定设备标识,runtimeBindingId 是服务端绑定 ID,与本地 bindingRevision/runtimeInstanceId 不同。绑定回执不代表在线;响应未知的 bind 不得自动重试或通过删配置绕过。只保存 Profile 使用 manage login。
  • “暂停”使用 stop(保留绑定);“解绑”使用 unbind(保留 Profile);“换成本地另一个 Agent”先 unbind,成功后再 connect;两步先 dry-run 并汇总确认。换绑先确认旧实例释放,unknown 或超时不得手动删绑定来绕过。新绑定已提交但启动失败使用 restart;旧绑定仍在 unbinding 时重试原 unbind。

安全

  • manage login 在内部完成 AuthCode 换票、在线身份核验,并保存精确 corpId:userId Profile;不得输出或转存 AuthCode/Token。只登录或仅保存 Profile 使用 manage login;真正接入本地 Agent/DSH 使用 connect。
  • 删除不可逆;修改、发布、删除和 connect 按 Schema 的确认要求执行。
  • Channel 仅保留 capabilities / binding 用于能力发现和绑定、访问判定。数字员工发送使用 chat +messages-reply / chat +messages-send,必须指定员工 Profile,并以 --body-stdin --wait-delivery --employee-context 传入受限正文与绑定上下文。DSH 要求 chatDelivery=true,缺少时提示升级 DWS。

评论

支持 Markdown