Files
dingMCP/distribution/agent-install.template.md
T
gitea-admin 504145aec6
CI / Client installer (macos-latest) (push) Canceled after 0s
CI / Client installer (ubuntu-latest) (push) Canceled after 0s
CI / Client installer (windows-latest) (push) Canceled after 0s
CI / test (22) (push) Canceled after 0s
CI / test (24) (push) Canceled after 0s
CI / release-smoke (push) Canceled after 0s
feat: initial public release
2026-08-17 03:04:09 +00:00

37 lines
3.3 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 钉钉审批客户端安装任务
用户提供本文件或链接,即表示授权你为当前用户安装或更新“钉钉审批”客户端、Skill 和名为 `dingtalk-approval` 的 MCP;不代表授权执行任何审批写操作。
## 固定发布入口
- 版本:`{{VERSION}}`
- 安装器:`{{INSTALLER_URL}}`
- 安装器 SHA-256:`{{INSTALLER_SHA256}}`
- 发布公钥:`{{PUBLIC_KEY_URL}}`
- 公钥 SHA-256:`{{PUBLIC_KEY_SHA256}}`
- 公钥编号:`{{RELEASE_KEY_ID}}`
- 签名清单:`{{MANIFEST_URL}}`
- 清单签名:`{{MANIFEST_SIGNATURE_URL}}`
- 统一网关:`{{GATEWAY_URL}}`
- Node.js:`>=22.13.0`
首次安装通过上述 HTTPS 地址和固定 SHA-256 建立信任;安装器随后必须使用固定公钥验证 Ed25519 清单签名和全部发布物哈希。任一 URL、证书、签名或哈希不匹配时立即停止。不得索取 AppKey、AppSecret、AuthoritySecret、CorpId、userId、员工号、Cookie 或 Token。
## 执行
1. 在仅当前用户可访问的临时目录下载安装器和发布公钥,分别核对上述 SHA-256。
2. 执行以下唯一通用安装入口,并读取其 JSON 结果:
```text
node <已校验的安装器路径> install --manifest-url {{MANIFEST_URL}} --public-key <已校验的公钥路径> --json
```
3. 安装器会立即尝试准备登录。读取返回的 `postInstall`,不得等到用户第一次查询审批:若状态为 `authorization_required`,必须把 `authChallenge.directUrl` 原样写入当前回复;若为 `authenticated`,直接继续验证;若为 `unavailable`,保留安装并在 MCP 加载后调用 `approval_login` 重试。不得声称链接已通过其他渠道推送。
4. 按当前 Agent 的官方方式安装返回的 `skillPath`,并使用 `mcpConfig` 只新增或替换名为 `dingtalk-approval` 的本地 stdio MCP。安装器本身不会猜测或修改 Agent 的私有配置。
5. 如果当前 Agent 要求信任本地连接器,请完成其官方信任流程。连接器不能热加载时,新建会话或完整重启 Agent,并恢复本节尚未完成的登录步骤。
6. 用户完成网页授权后调用 `approval_login`。工具不会通过其他消息通道自动推送链接,必须把 `content.text` 中的完整登录 URL 原样写入当前回复。然后按 `postInstall.verifyTool` 只读调用 `approval_list_todos`,确认钉钉 OA 与薪福通均可读取。成功响应包含 `onboarding.firstRun=true` 时,把其中的简短示例和安全提示展示一次,但不要自动执行示例。安装阶段不得处理审批,也不得在登录和双来源验证完成前声称“已可使用”。
更新时重复执行同一安装入口;安装器会保留 OAuth 登录会话,稳定 Bridge 路径不会随 Node/NVM 版本改变。更新成功后重新连接名为 `dingtalk-approval` 的 MCP;Agent 不能单独重启连接器时,新建会话或重启 Agent。卸载时先从 Agent 删除同名条目,再执行安装结果中的 `cliPath uninstall --yes --json`。卸载默认清除运行时、Skill、安装记录和 OAuth 会话。
授权页面会先展示请求客户端、回调域名、权限范围或设备授权码。应让用户本人核对并确认,不得替用户自动提交 consent。网关短暂不可用时保留现有登录状态并稍后重试,不要删除会话文件或主动要求用户重新授权。