Files
dingMCP/distribution/agent-install.template.md
T
gitea-admin b3fa2315ba
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: add standalone login renewal
2026-08-18 08:04:37 +00:00

3.7 KiB
Raw Blame History

钉钉审批客户端安装任务

用户提供本文件或链接,即表示授权你为当前用户安装或更新“钉钉审批”客户端、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 结果:
node <已校验的安装器路径> install --manifest-url {{MANIFEST_URL}} --public-key <已校验的公钥路径> --json
  1. 安装器会立即尝试准备登录。读取返回的 postInstall,不得等到用户第一次查询审批:若状态为 authorization_required,必须把 authChallenge.directUrl 原样写入当前回复;若为 authenticated,直接继续验证;若为 unavailable,保留安装并在 MCP 加载后调用 approval_login 重试。不得声称链接已通过其他渠道推送。保存返回的 loginCommand 供本次安装流程恢复使用。
  2. 按当前 Agent 的官方方式安装返回的 skillPath,并使用 mcpConfig 只新增或替换名为 dingtalk-approval 的本地 stdio MCP。安装器本身不会猜测或修改 Agent 的私有配置。
  3. 如果当前 Agent 要求信任本地连接器,请完成其官方信任流程。连接器不能热加载时,新建会话或完整重启 Agent,并恢复本节尚未完成的登录步骤。
  4. 用户完成网页授权后调用 approval_login。工具不会通过其他消息通道自动推送链接,必须把 content.text 中的完整登录 URL 原样写入当前回复。然后按 postInstall.verifyTool 只读调用 approval_list_todos,确认钉钉 OA 与薪福通均可读取。成功响应包含 onboarding.firstRun=true 时,把其中的简短示例和安全提示展示一次,但不要自动执行示例。安装阶段不得处理审批,也不得在登录和双来源验证完成前声称“已可使用”。

登录链接过期时绝不能重新安装:如果 MCP 已加载,重新调用一次 approval_login;如果连接器尚未信任、加载或重启完成,执行安装结果中的 loginCommand,读取新的 authChallenge.directUrl 并原样展示。该命令只检查登录或生成新链接,不下载发布物、不修改 Agent 配置。

更新时重复执行同一安装入口;安装器会保留 OAuth 登录会话,稳定 Bridge 路径不会随 Node/NVM 版本改变。更新成功后重新连接名为 dingtalk-approval 的 MCP;Agent 不能单独重启连接器时,新建会话或重启 Agent。卸载时先从 Agent 删除同名条目,再执行安装结果中的 cliPath uninstall --yes --json。卸载默认清除运行时、Skill、安装记录和 OAuth 会话。

授权页面会先展示请求客户端、回调域名、权限范围或设备授权码。应让用户本人核对并确认,不得替用户自动提交 consent。网关短暂不可用时保留现有登录状态并稍后重试,不要删除会话文件或主动要求用户重新授权。