dingtalk-tag
钉钉数字员工的自然语言创建、查询、修改、发布、删除、能力资源、执行状态、本地 Profile 落盘与 DSH 接入。Use when 用户说创建或管理数字员工、改人设/岗位/响应模式、发布或询问下线能力、查执行状态或 trace、管理数字员工 Skill/MCP、把已有数字员工转换为本地 Profile,或接入本地 DSH。命令前缀:dws dingtalk-tag。
How do I install this agent skill?
npx skills add https://github.com/dingtalk-real-ai/dingtalk-workspace-cli --skill dingtalk-tagIs this agent skill safe to install?
- Gen Agent Trust Hubpass
The dingtalk-tag skill is designed to manage DingTalk digital employees and their associated capabilities, such as Skills and MCP servers. It incorporates several security best practices, including mandatory user confirmation for high-impact actions and clear warnings against exposing authentication tokens. While the skill possesses an attack surface for indirect prompt injection by processing IM messages, it includes specific instructions to treat forwarded history and message quotes as untrusted, which mitigates potential risks.
- Socketpass
No alerts
- Snykpass
Risk: LOW · No issues
What does this agent skill do?
数字员工 Skill
执行任何 dws 操作前,先完整读取 dingtalk-shared。先用 dingtalk-tag-index.md 路由;生命周期读取 manage.md,自然语言创建/恢复/DSH 接入再读 manage-and-connect.md;能力资源读取 capability.md;执行排障读取 run.md。
自行管理任务执行与回复的接入方,可按 回复占位与流式 实现启动钩子和卡片更新。使用该流程需已安装 dingtalk-chat;按需安装时请同时选择该 Skill。DWS 直接托管本地 Agent 时,默认发送 A2UI 占位并在同一卡片更新最终答案,已适配的 Agent 同时显示公开进度;历史配置缺少回复模式时升级并重启后也启用 A2UI,显式 text 保持不变。运行时负责投递,模型不重复发卡;连接时指定 --reply-mode text 可只发最终文本。适配范围和首卡策略见 接入说明。
路由
| 用户意图 | 命令 |
|---|---|
| 创建草稿 / 创建并发布 / 查询 / 修改 / 上线 / 删除 | dws dingtalk-tag manage ... |
| 下线 | 当前版本无独立下线命令;明确说明限制,不得用 delete 冒充下线 |
| A2A 或其他仅登录场景 | dws dingtalk-tag manage login --agent-uuid ... |
| 只登录数字员工并保存本地 Profile | dws dingtalk-tag manage login --agent-uuid ... |
| 把已有、已发布的本地数字员工接入 DSH | dws dingtalk-tag connect --agent-uuid ... --channel dsh |
| 把数字员工接入当前本地 Agent | dws 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 ... |
| 解除本机连接,但保留员工和 Profile | dws dingtalk-tag connect unbind --agent-uuid ... |
| 将已有连接换为其他本地 Agent 或 DSH | 先 connect unbind --agent-uuid ...,再 connect --agent-uuid ... --channel ... |
| 创建、更新、删除或查询 Skill / MCP 资源 | `dws dingtalk-tag capability skill |
| 查一次执行的状态或完整 trace | dws dingtalk-tag run ... |
自然语言编排硬约束
- 创建/更新的 MCP 主程序类型字段为
digitalTagEmployeeProfile.type,列表过滤使用顶层type,仅支持qwenwork、local_agent,a2a暂不支持。CLI 参数为--type;创建时必须显式传--type qwenwork|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:userIdProfile;不得输出或转存 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。
How can the creator link this skill?
Add the canonical catalog link to the repository README so users can inspect current installs and available audits. The publishing guide covers the complete discovery path.
<a href="https://skillzs.dev/skills/dingtalk-real-ai/dingtalk-workspace-cli/dingtalk-tag">View dingtalk-tag on skillZs</a>