fix: dingtalk-cli 上游迁移至 DingTalk-Real-AI/dingtalk-workspace-cli (#187)

## 概述
`skills/dingtalk-cli` 指向的上游 `open-dingtalk/dingtalk-workspace-cli` 已
404(`git ls-remote` 返回需要认证,仓库已删除或转为私有),客户端按该指针已无法获取内容。本 PR 将指针迁移到项目现在的地址
[DingTalk-Real-AI/dingtalk-workspace-cli](https://github.com/DingTalk-Real-AI/dingtalk-workspace-cli)。

## 为什么认定是同一项目
- 新仓库 README / README_zh、brew tap、Releases、SECURITY 链接全部指向
`DingTalk-Real-AI/dingtalk-workspace-cli`,产品名、`dws` 命令、Apache-2.0 许可一致。
- 新仓库最新提交 `7de51a8`(2026-09-23)是 `v1.0.63-beta.3` 的 formula 更新,与 npm
`dingtalk-workspace-cli` 当前 beta 版本号一致。
- 注意:npm 包元数据的 `repository` 仍写着旧地址,尚未随迁移更新。请 reviewer 确认是否认可新组织为官方来源。

## 变更
- `source.repoUrl`、sidecar `provenance.content.url` → 新地址;`maintainer` /
`upstreamMaintainer` → `DingTalk-Real-AI`(`url` 仍为 npm 包页)。
- 上游子技能目录已从 `multi/` 移到 `skills/multi/`,14 个 `children[].path`
同步修正(已逐一确认新地址下存在 `SKILL.md`)。
- 新增上游新子技能 `dingtalk-tag`(数字员工管理),`childCount` 14 → 15。
- 上游 `skills/mono`(frontmatter `metadata.internal: true` 的合并技能
`dws`)不作为子技能收录。
- 保持原有 `listing-only`、未锁定 `ref` 的状态不变,未改动人工撰写的子技能简介。
- `manifest.json`:version 1.5.2 → 1.5.4(1.5.3 已由 #186 使用;两者合并有先后时需解一次
version 行冲突),lastUpdated → 2026-09-25。

## 验证
```
uv run scripts/i18n/validate-i18n.py                                    # 0 error(s)
uv run scripts/catalog/validate_catalog_metadata.py --require-complete  # 0 error(s),dingtalk-cli 无警告
uv run scripts/gen-collection-children.py --check dingtalk-cli          # SKIP(未锁定 ref,与改动前一致)
```

🤖 Generated with [Claude Code](https://claude.com/claude-code)

https://claude.ai/code/session_0191D9g1FhRQzEGTefUn6mTb

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
Co-authored-by: Yige <a@wyr.me>
This commit is contained in:
mashagua
2026-09-26 18:08:57 +08:00
committed by GitHub
parent 6cd60a7141
commit 6fbd5590a7
3 changed files with 74 additions and 37 deletions

View File

@@ -1,6 +1,6 @@
{ {
"name": "DesireCore Official Market", "name": "DesireCore Official Market",
"version": "1.5.3", "version": "1.5.4",
"schemaVersion": "1.1.0", "schemaVersion": "1.1.0",
"supportedLocales": [ "supportedLocales": [
"zh-CN", "zh-CN",

View File

@@ -28,7 +28,7 @@
"timestamps": { "timestamps": {
"catalogUpdatedAt": { "catalogUpdatedAt": {
"state": "known", "state": "known",
"value": "2026-08-31T11:41:31Z", "value": "2026-09-25T07:48:53Z",
"precision": "second" "precision": "second"
}, },
"releasePublishedAt": { "releasePublishedAt": {
@@ -39,14 +39,14 @@
}, },
"upstreamObservedAt": { "upstreamObservedAt": {
"state": "known", "state": "known",
"value": "2026-08-31T11:41:31Z", "value": "2026-09-23T10:09:22Z",
"precision": "second" "precision": "second"
} }
}, },
"provenance": { "provenance": {
"content": { "content": {
"kind": "git", "kind": "git",
"url": "https://github.com/open-dingtalk/dingtalk-workspace-cli.git" "url": "https://github.com/DingTalk-Real-AI/dingtalk-workspace-cli.git"
} }
}, },
"governance": { "governance": {
@@ -63,7 +63,7 @@
"logoStatus": "not-used" "logoStatus": "not-used"
}, },
"upstreamMaintainer": { "upstreamMaintainer": {
"name": "open-dingtalk", "name": "DingTalk-Real-AI",
"url": "https://www.npmjs.com/package/dingtalk-workspace-cli", "url": "https://www.npmjs.com/package/dingtalk-workspace-cli",
"verified": false "verified": false
} }
@@ -101,7 +101,7 @@
"riskLevel": "high", "riskLevel": "high",
"collection": { "collection": {
"role": "parent", "role": "parent",
"childCount": 14, "childCount": 15,
"children": [ "children": [
{ {
"identity": { "identity": {
@@ -109,7 +109,7 @@
"id": "dingtalk-aisearch", "id": "dingtalk-aisearch",
"parentId": "dingtalk-cli" "parentId": "dingtalk-cli"
}, },
"path": "multi/dingtalk-aisearch", "path": "skills/multi/dingtalk-aisearch",
"presentation": { "presentation": {
"defaultLocale": "en-US", "defaultLocale": "en-US",
"i18n": { "i18n": {
@@ -134,7 +134,7 @@
"id": "dingtalk-aitable", "id": "dingtalk-aitable",
"parentId": "dingtalk-cli" "parentId": "dingtalk-cli"
}, },
"path": "multi/dingtalk-aitable", "path": "skills/multi/dingtalk-aitable",
"presentation": { "presentation": {
"defaultLocale": "en-US", "defaultLocale": "en-US",
"i18n": { "i18n": {
@@ -159,7 +159,7 @@
"id": "dingtalk-calendar", "id": "dingtalk-calendar",
"parentId": "dingtalk-cli" "parentId": "dingtalk-cli"
}, },
"path": "multi/dingtalk-calendar", "path": "skills/multi/dingtalk-calendar",
"presentation": { "presentation": {
"defaultLocale": "en-US", "defaultLocale": "en-US",
"i18n": { "i18n": {
@@ -184,7 +184,7 @@
"id": "dingtalk-chat", "id": "dingtalk-chat",
"parentId": "dingtalk-cli" "parentId": "dingtalk-cli"
}, },
"path": "multi/dingtalk-chat", "path": "skills/multi/dingtalk-chat",
"presentation": { "presentation": {
"defaultLocale": "en-US", "defaultLocale": "en-US",
"i18n": { "i18n": {
@@ -209,7 +209,7 @@
"id": "dingtalk-contact", "id": "dingtalk-contact",
"parentId": "dingtalk-cli" "parentId": "dingtalk-cli"
}, },
"path": "multi/dingtalk-contact", "path": "skills/multi/dingtalk-contact",
"presentation": { "presentation": {
"defaultLocale": "en-US", "defaultLocale": "en-US",
"i18n": { "i18n": {
@@ -234,7 +234,7 @@
"id": "dingtalk-doc", "id": "dingtalk-doc",
"parentId": "dingtalk-cli" "parentId": "dingtalk-cli"
}, },
"path": "multi/dingtalk-doc", "path": "skills/multi/dingtalk-doc",
"presentation": { "presentation": {
"defaultLocale": "en-US", "defaultLocale": "en-US",
"i18n": { "i18n": {
@@ -259,7 +259,7 @@
"id": "dingtalk-drive", "id": "dingtalk-drive",
"parentId": "dingtalk-cli" "parentId": "dingtalk-cli"
}, },
"path": "multi/dingtalk-drive", "path": "skills/multi/dingtalk-drive",
"presentation": { "presentation": {
"defaultLocale": "en-US", "defaultLocale": "en-US",
"i18n": { "i18n": {
@@ -284,7 +284,7 @@
"id": "dingtalk-event", "id": "dingtalk-event",
"parentId": "dingtalk-cli" "parentId": "dingtalk-cli"
}, },
"path": "multi/dingtalk-event", "path": "skills/multi/dingtalk-event",
"presentation": { "presentation": {
"defaultLocale": "en-US", "defaultLocale": "en-US",
"i18n": { "i18n": {
@@ -309,7 +309,7 @@
"id": "dingtalk-mail", "id": "dingtalk-mail",
"parentId": "dingtalk-cli" "parentId": "dingtalk-cli"
}, },
"path": "multi/dingtalk-mail", "path": "skills/multi/dingtalk-mail",
"presentation": { "presentation": {
"defaultLocale": "en-US", "defaultLocale": "en-US",
"i18n": { "i18n": {
@@ -334,7 +334,7 @@
"id": "dingtalk-minutes", "id": "dingtalk-minutes",
"parentId": "dingtalk-cli" "parentId": "dingtalk-cli"
}, },
"path": "multi/dingtalk-minutes", "path": "skills/multi/dingtalk-minutes",
"presentation": { "presentation": {
"defaultLocale": "en-US", "defaultLocale": "en-US",
"i18n": { "i18n": {
@@ -359,7 +359,7 @@
"id": "dingtalk-misc", "id": "dingtalk-misc",
"parentId": "dingtalk-cli" "parentId": "dingtalk-cli"
}, },
"path": "multi/dingtalk-misc", "path": "skills/multi/dingtalk-misc",
"presentation": { "presentation": {
"defaultLocale": "en-US", "defaultLocale": "en-US",
"i18n": { "i18n": {
@@ -384,7 +384,7 @@
"id": "dingtalk-shared", "id": "dingtalk-shared",
"parentId": "dingtalk-cli" "parentId": "dingtalk-cli"
}, },
"path": "multi/dingtalk-shared", "path": "skills/multi/dingtalk-shared",
"presentation": { "presentation": {
"defaultLocale": "en-US", "defaultLocale": "en-US",
"i18n": { "i18n": {
@@ -403,13 +403,38 @@
"state": "unknown" "state": "unknown"
} }
}, },
{
"identity": {
"kind": "skill",
"id": "dingtalk-tag",
"parentId": "dingtalk-cli"
},
"path": "skills/multi/dingtalk-tag",
"presentation": {
"defaultLocale": "en-US",
"i18n": {
"en-US": {
"name": "dingtalk-tag",
"summary": "Create, query, update, publish and delete DingTalk digital employees in natural language, manage their skills and MCP resources, check execution status, save local profiles and connect a local DSH. Command prefix: dws dingtalk-tag."
},
"zh-CN": {
"name": "dingtalk-tag",
"summary": "钉钉数字员工的自然语言创建、查询、修改、发布、删除、能力资源、执行状态、本地 Profile 落盘与 DSH 接入。命令前缀 dws dingtalk-tag。"
}
},
"tags": []
},
"release": {
"state": "unknown"
}
},
{ {
"identity": { "identity": {
"kind": "skill", "kind": "skill",
"id": "dingtalk-todo", "id": "dingtalk-todo",
"parentId": "dingtalk-cli" "parentId": "dingtalk-cli"
}, },
"path": "multi/dingtalk-todo", "path": "skills/multi/dingtalk-todo",
"presentation": { "presentation": {
"defaultLocale": "en-US", "defaultLocale": "en-US",
"i18n": { "i18n": {
@@ -434,7 +459,7 @@
"id": "dingtalk-wiki", "id": "dingtalk-wiki",
"parentId": "dingtalk-cli" "parentId": "dingtalk-cli"
}, },
"path": "multi/dingtalk-wiki", "path": "skills/multi/dingtalk-wiki",
"presentation": { "presentation": {
"defaultLocale": "en-US", "defaultLocale": "en-US",
"i18n": { "i18n": {

View File

@@ -17,9 +17,9 @@
} }
}, },
"maintainer": { "maintainer": {
"name": "open-dingtalk", "name": "DingTalk-Real-AI",
"verified": false, "verified": false,
"account": "open-dingtalk", "account": "DingTalk-Real-AI",
"url": "https://www.npmjs.com/package/dingtalk-workspace-cli" "url": "https://www.npmjs.com/package/dingtalk-workspace-cli"
}, },
"stewardship": "partner", "stewardship": "partner",
@@ -28,13 +28,13 @@
"riskLevel": "high", "riskLevel": "high",
"source": { "source": {
"kind": "git", "kind": "git",
"repoUrl": "https://github.com/open-dingtalk/dingtalk-workspace-cli.git", "repoUrl": "https://github.com/DingTalk-Real-AI/dingtalk-workspace-cli.git",
"repoBranch": "main" "repoBranch": "main"
}, },
"children": [ "children": [
{ {
"id": "dingtalk-aisearch", "id": "dingtalk-aisearch",
"path": "multi/dingtalk-aisearch", "path": "skills/multi/dingtalk-aisearch",
"i18n": { "i18n": {
"zh-CN": { "zh-CN": {
"shortDesc": "AI 搜问:按姓名、工号、部门、职责或上下级线索找人,并跨文档、消息、邮件与听记检索。命令前缀 dws aisearch。" "shortDesc": "AI 搜问:按姓名、工号、部门、职责或上下级线索找人,并跨文档、消息、邮件与听记检索。命令前缀 dws aisearch。"
@@ -46,7 +46,7 @@
}, },
{ {
"id": "dingtalk-aitable", "id": "dingtalk-aitable",
"path": "multi/dingtalk-aitable", "path": "skills/multi/dingtalk-aitable",
"i18n": { "i18n": {
"zh-CN": { "zh-CN": {
"shortDesc": "钉钉 AI 表格(多维表):建表、字段与记录增删改查、筛选排序、批量导入导出、仪表盘图表与数据源同步。命令前缀 dws aitable。" "shortDesc": "钉钉 AI 表格(多维表):建表、字段与记录增删改查、筛选排序、批量导入导出、仪表盘图表与数据源同步。命令前缀 dws aitable。"
@@ -58,7 +58,7 @@
}, },
{ {
"id": "dingtalk-calendar", "id": "dingtalk-calendar",
"path": "multi/dingtalk-calendar", "path": "skills/multi/dingtalk-calendar",
"i18n": { "i18n": {
"zh-CN": { "zh-CN": {
"shortDesc": "钉钉日历与会议室:查询日程、创建或改期会议、预订会议室、查闲忙与共同空闲、增删参会人。命令前缀 dws calendar。" "shortDesc": "钉钉日历与会议室:查询日程、创建或改期会议、预订会议室、查闲忙与共同空闲、增删参会人。命令前缀 dws calendar。"
@@ -70,7 +70,7 @@
}, },
{ {
"id": "dingtalk-chat", "id": "dingtalk-chat",
"path": "multi/dingtalk-chat", "path": "skills/multi/dingtalk-chat",
"i18n": { "i18n": {
"zh-CN": { "zh-CN": {
"shortDesc": "钉钉群聊与消息:收发、编辑与撤回消息,建群与群成员管理,话题回复,搜索聊天记录,机器人与 Webhook 通知。命令前缀 dws chat。" "shortDesc": "钉钉群聊与消息:收发、编辑与撤回消息,建群与群成员管理,话题回复,搜索聊天记录,机器人与 Webhook 通知。命令前缀 dws chat。"
@@ -82,7 +82,7 @@
}, },
{ {
"id": "dingtalk-contact", "id": "dingtalk-contact",
"path": "multi/dingtalk-contact", "path": "skills/multi/dingtalk-contact",
"i18n": { "i18n": {
"zh-CN": { "zh-CN": {
"shortDesc": "钉钉通讯录精确查询:按 userId 查用户详情、部门、职位与邮箱,按完整手机号反查用户,查询本人、部门成员与角色。命令前缀 dws contact。" "shortDesc": "钉钉通讯录精确查询:按 userId 查用户详情、部门、职位与邮箱,按完整手机号反查用户,查询本人、部门成员与角色。命令前缀 dws contact。"
@@ -94,7 +94,7 @@
}, },
{ {
"id": "dingtalk-doc", "id": "dingtalk-doc",
"path": "multi/dingtalk-doc", "path": "skills/multi/dingtalk-doc",
"i18n": { "i18n": {
"zh-CN": { "zh-CN": {
"shortDesc": "钉钉在线文档:查找、创建、读取与编辑正文和块,评论、附件、版本、模板、协作者权限与分享,以及 docx/markdown/pdf 导出。命令前缀 dws doc。" "shortDesc": "钉钉在线文档:查找、创建、读取与编辑正文和块,评论、附件、版本、模板、协作者权限与分享,以及 docx/markdown/pdf 导出。命令前缀 dws doc。"
@@ -106,7 +106,7 @@
}, },
{ {
"id": "dingtalk-drive", "id": "dingtalk-drive",
"path": "multi/dingtalk-drive", "path": "skills/multi/dingtalk-drive",
"i18n": { "i18n": {
"zh-CN": { "zh-CN": {
"shortDesc": "钉钉文件管理(钉盘与文档空间):查找、上传下载、复制移动、重命名删除、回收站、权限与评论,以及本地目录比较与同步。命令前缀 dws drive。" "shortDesc": "钉钉文件管理(钉盘与文档空间):查找、上传下载、复制移动、重命名删除、回收站、权限与评论,以及本地目录比较与同步。命令前缀 dws drive。"
@@ -118,7 +118,7 @@
}, },
{ {
"id": "dingtalk-event", "id": "dingtalk-event",
"path": "multi/dingtalk-event", "path": "skills/multi/dingtalk-event",
"i18n": { "i18n": {
"zh-CN": { "zh-CN": {
"shortDesc": "钉钉事件长连接监听:个人 IM 消息、已读与撤回、表情回应、群成员与群状态变化,以及 OA 审批任务与实例事件。命令前缀 dws event。" "shortDesc": "钉钉事件长连接监听:个人 IM 消息、已读与撤回、表情回应、群成员与群状态变化,以及 OA 审批任务与实例事件。命令前缀 dws event。"
@@ -130,7 +130,7 @@
}, },
{ {
"id": "dingtalk-mail", "id": "dingtalk-mail",
"path": "multi/dingtalk-mail", "path": "skills/multi/dingtalk-mail",
"i18n": { "i18n": {
"zh-CN": { "zh-CN": {
"shortDesc": "钉钉邮箱:撰写发送、查阅、搜索、回复与转发邮件,处理未读邮件与附件;收件人先由 dingtalk-contact 解析确认。命令前缀 dws mail。" "shortDesc": "钉钉邮箱:撰写发送、查阅、搜索、回复与转发邮件,处理未读邮件与附件;收件人先由 dingtalk-contact 解析确认。命令前缀 dws mail。"
@@ -142,7 +142,7 @@
}, },
{ {
"id": "dingtalk-minutes", "id": "dingtalk-minutes",
"path": "multi/dingtalk-minutes", "path": "skills/multi/dingtalk-minutes",
"i18n": { "i18n": {
"zh-CN": { "zh-CN": {
"shortDesc": "钉钉 AI 听记:查询或修改摘要、逐字稿、关键词、行动项与录音,上传音频、生成思维导图、查看发言人洞察与分享权限。命令前缀 dws minutes。" "shortDesc": "钉钉 AI 听记:查询或修改摘要、逐字稿、关键词、行动项与录音,上传音频、生成思维导图、查看发言人洞察与分享权限。命令前缀 dws minutes。"
@@ -154,7 +154,7 @@
}, },
{ {
"id": "dingtalk-misc", "id": "dingtalk-misc",
"path": "multi/dingtalk-misc", "path": "skills/multi/dingtalk-misc",
"i18n": { "i18n": {
"zh-CN": { "zh-CN": {
"shortDesc": "长尾产品集合:OA 审批、考勤、日志日报、DING 紧急消息、直播、招聘、目标管理、电子表格、白板、原生 Markdown 与 OpenAPI 逃生舱。命令前缀见技能内产品索引表。" "shortDesc": "长尾产品集合:OA 审批、考勤、日志日报、DING 紧急消息、直播、招聘、目标管理、电子表格、白板、原生 Markdown 与 OpenAPI 逃生舱。命令前缀见技能内产品索引表。"
@@ -166,7 +166,7 @@
}, },
{ {
"id": "dingtalk-shared", "id": "dingtalk-shared",
"path": "multi/dingtalk-shared", "path": "skills/multi/dingtalk-shared",
"i18n": { "i18n": {
"zh-CN": { "zh-CN": {
"shortDesc": "钉钉 MultiSkill 的轻量共享入口:提供全局执行契约、URL 类型预检与产品边界消歧,适用于泛称 DWS 操作或跨产品编排。" "shortDesc": "钉钉 MultiSkill 的轻量共享入口:提供全局执行契约、URL 类型预检与产品边界消歧,适用于泛称 DWS 操作或跨产品编排。"
@@ -176,9 +176,21 @@
} }
} }
}, },
{
"id": "dingtalk-tag",
"path": "skills/multi/dingtalk-tag",
"i18n": {
"zh-CN": {
"shortDesc": "钉钉数字员工的自然语言创建、查询、修改、发布、删除、能力资源、执行状态、本地 Profile 落盘与 DSH 接入。命令前缀 dws dingtalk-tag。"
},
"en-US": {
"shortDesc": "Create, query, update, publish and delete DingTalk digital employees in natural language, manage their skills and MCP resources, check execution status, save local profiles and connect a local DSH. Command prefix: dws dingtalk-tag."
}
}
},
{ {
"id": "dingtalk-todo", "id": "dingtalk-todo",
"path": "multi/dingtalk-todo", "path": "skills/multi/dingtalk-todo",
"i18n": { "i18n": {
"zh-CN": { "zh-CN": {
"shortDesc": "钉钉待办:创建、指派、批量新建与循环待办,标记完成,查询待办、紧急待办与逾期待办。命令前缀 dws todo。" "shortDesc": "钉钉待办:创建、指派、批量新建与循环待办,标记完成,查询待办、紧急待办与逾期待办。命令前缀 dws todo。"
@@ -190,7 +202,7 @@
}, },
{ {
"id": "dingtalk-wiki", "id": "dingtalk-wiki",
"path": "multi/dingtalk-wiki", "path": "skills/multi/dingtalk-wiki",
"i18n": { "i18n": {
"zh-CN": { "zh-CN": {
"shortDesc": "钉钉知识库与空间管理:创建与查找知识库、管理成员,以及库内节点的创建、列举、搜索、复制、移动、删除与动态查询。命令前缀 dws wiki。" "shortDesc": "钉钉知识库与空间管理:创建与查找知识库、管理成员,以及库内节点的创建、列举、搜索、复制、移动、删除与动态查询。命令前缀 dws wiki。"