mcpField
D
dingtalk-tag

dingtalk-tag

github.com/dingtalk-real-aiAgent workflows3.8k80 installsUpdated 1d ago
Repository

About dingtalk-tag

dingtalk-tag is a skill for operating DingTalk digital employees through the `dws` CLI. It routes requests across employee lifecycle management, local or DSH connections, capability resources, and execution traces, with confirmation and safety rules for changes.

Key features

  1. 01Route tasks to lifecycle commands
  2. 02Manage local and DSH connections
  3. 03Manage Skill and MCP resources
  4. 04Inspect execution status and traces
  5. 05Require confirmation for changes

Use cases

  1. 01Creating or publishing a digital employee
  2. 02Connecting an employee to DSH
  3. 03Managing Skill or MCP configurations
  4. 04Checking a run's status or trace

MCP support

The skill supports creating, updating, deleting, listing, and querying MCP resources for digital employees through `dws dingtalk-tag capability mcp`. It also specifies MCP configuration requirements, including transport type and URL.

Install

Copy the command and run it in a terminal.

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

After installing, type/dingtalk-tagin Claude Code to confirm it loaded.

Bundled files

References and scripts installed along with SKILL.md.

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

Details

From the project 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。

Comments

Markdown supported