dingtalk-tag

dingtalk-tag is a skill for Claude Code, Codex from DingTalk-Real-AI/dingtalk-workspace-cli. It costs 112 tokens per session (2,069 once invoked), scanned A, original, Apache-2.0.

A command-line tool for creating and managing DingTalk digital employees, which are configurable AI workers, and connecting them to local agents.

In plain words
What is it for?
It helps create, publish, update, delete, log in, connect, disconnect, and inspect traces for DingTalk digital employees and their skills or MCP resources.
Why use it?
It gives developers one documented route for changing their setup, capabilities, connections, and run status without confusing deletion with taking an employee offline.

Skill for Claude CodeCodex

Which agent this was written for is unclear — built for openclaw. Also seen: mentions Claude Code; mentions Codex; built for openclaw.

Good fit It helps create, publish, update, delete, log in, connect, disconnect, and inspect traces for DingTalk digital employees and their skills or MCP resources.

Compare 6 skills from other repositories ↓
Install with agentmods
npx agentmods add skills/dingtalk-real-ai/dingtalk-workspace-cli/dingtalk-tag
About the project

DingTalk Workspace CLI is a cross-platform command-line tool that brings DingTalk’s product capabilities into one interface. It serves human users and AI agents working with DingTalk enterprise data, with administrator authorization required. Its catalogue add-ons provide agent skills for using the CLI’s product areas.

DingTalk-Real-AI/dingtalk-workspace-cli · 3,788 stars · on GitHub

Install

Getting it into your agent

One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.

Any agent
npx skills add DingTalk-Real-AI/dingtalk-workspace-cli --skill dingtalk-tag
Clone the repo
git clone --depth 1 https://github.com/DingTalk-Real-AI/dingtalk-workspace-cli

Made for: Claude Code, Codex.

Wrote this? Show the measurements

A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.

agentmods badge for dingtalk-tag

README.md
[![agentmods](https://agentmods.dev/badge/skills/dingtalk-real-ai/dingtalk-workspace-cli/dingtalk-tag/github.svg)](https://agentmods.dev/skills/dingtalk-real-ai/dingtalk-workspace-cli/dingtalk-tag)
Your own site
<a href="https://agentmods.dev/skills/dingtalk-real-ai/dingtalk-workspace-cli/dingtalk-tag"><img src="https://agentmods.dev/badge/skills/dingtalk-real-ai/dingtalk-workspace-cli/dingtalk-tag/github.svg" alt="Measured on agentmods" height="20"></a>

Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.

agentmods 80×15 button for dingtalk-tag

Your own site · 80×15
<a href="https://agentmods.dev/skills/dingtalk-real-ai/dingtalk-workspace-cli/dingtalk-tag"><img src="https://agentmods.dev/badge/skills/dingtalk-real-ai/dingtalk-workspace-cli/dingtalk-tag.svg" alt="Reviewed on agentmods" width="80" height="20"></a>
Per session 112 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 2,069 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. A grade says what 26 rules found in the file — not that it is safe.
Origin original No closer match found in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5.1 $0.00112 $0.02069
Opus 5.5 $0.00045 $0.00828
Sonnet 5.5 $0.00022 $0.00414
Haiku 4.5 $0.00011 $0.00207

Measured 5d ago against content hash 3ad29123e7c7, method: parsed. Prices are Anthropic first-party input rates as of 2026-10-07, from the pricing page.

Security

Grade A, and why

dingtalk-tag scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 5d ago.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Nothing flagged

None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.

skills/multi/dingtalk-tag/SKILL.md · 58 lines

How it starts

The opening of the file, as written. The whole thing — 58 lines — stays where its author put it; the contents beside it link to each section on GitHub.

数字员工 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 ...
只登录数字员工并保存本地 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,仅支持 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。

Read the full file on GitHub · 58 lines

Files

What ships with it

5 files beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. 5d ago Changed · +2 lines 3ad29123e7c7
  2. 9d ago Changed 903689e186c1
  3. 1mo ago First seen · 56 lines · 112 tokens per session scan A 4aff148ff653

Subscribe to this mod's changes

dingtalk-tag is a skill published in the GitHub repository DingTalk-Real-AI/dingtalk-workspace-cli (3,788 stars, last pushed 2d ago), licensed Apache-2.0. It adds 112 tokens to every session and 2,069 once invoked, about $0.0004 per session on Opus 5.5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-09-23.