Yida Dingtalk Openapi logo

Yida Dingtalk Openapi

Organization
openyida
yida-dingtalk-openapi

将钉钉开放平台官方服务端 API 转成宜搭 HTTP 连接器动作,并供表单、集成自动化或 YidaCodeCanvas 自定义页面安全调用。负责官方文档核对、DingAuth 账号配置暂停与确定性回读。触发词:钉钉开放平台接口、api.dingtalk.com、x-acs-dingtalk-access-token。

Overview

Publisheropenyida
Repositoryopenyida
Skill nameyida-dingtalk-openapi
Stars
228
Forks
50
Bundled files
2
LicenseMIT
Links
  • Markdown instructions

    A SKILL.md file the model loads on demand, so it only costs tokens when a request actually matches.

  • Works with any LLM

    AI skills are plain Markdown, not provider-specific code, so this works with GPT, Claude, Gemini, Grok, or a local model.

  • 2 bundled files

    Scripts, templates, and references the model can read while it works. Files are read-only and never executed.

  • Open source

    Published by openyida on GitHub. Read the source before you install it.

Installation

Install the Yida Dingtalk Openapi AI skill in TypingMind to use it with any LLM, or drop it into another agent that reads SKILL.md.

1

Install in TypingMind

TypingMind installs a skill straight from its GitHub folder — it reads SKILL.md, bundles the resource files, and stores the result locally.

  1. Open the app and go to Plugins → Skills.
  2. Choose "Install from GitHub".
  3. Paste the skill folder URL below and confirm.
    https://github.com/openyida/openyida/tree/main/yida-skills/skills/yida-dingtalk-openapi
  4. Enable the skill in any chat where you want it available.
Plugins → Skills → Add skill → From GitHub URL, then paste the folder URL and press Continue.
2

Install in another agent

Any agent that reads the Agent Skills format can use this skill — copy the folder into that agent's skills directory.

Claude Code — .claude/skills
git clone --depth 1 https://github.com/openyida/openyida.git /tmp/openyida
mkdir -p .claude/skills
cp -r /tmp/openyida/yida-skills/skills/yida-dingtalk-openapi .claude/skills/yida-dingtalk-openapi
Restart Claude Code after copying so it picks up the new skill.

Use it in TypingMind

Enable Yida Dingtalk Openapi in any TypingMind chat and the model takes it from there. Its name and description sit in the system prompt, and the moment a request matches, the model loads the full instructions itself — you never invoke it by hand, and it costs no tokens until it is actually used.

The model loads Yida Dingtalk Openapi on its own as soon as a request matches it.

Works with any AI model

AI skills are plain Markdown instructions rather than provider-specific code, so Yida Dingtalk Openapi is not tied to the model it was written for. Install it once in TypingMind and use it with GPT-5, Claude, Gemini, Grok, DeepSeek, Mistral, Llama, or a local model you run yourself — all on your own API keys.

  • Loaded only when it is needed

    The system prompt carries just the name and description. The instructions are fetched on the first matching request, so an idle skill costs nothing.

  • Switch models mid-chat

    Because the skill is instructions rather than code, changing model does not break it — the next model reads the same SKILL.md.

Skill instructions

This is the SKILL.md content the model loads. Read it before installing — a skill is instructions your model will follow.

钉钉开放平台连接器

触发条件

  • 用户给出钉钉开放平台官方接口文档,要求接入宜搭连接器、表单、自动化或 Canvas 页面。
  • 需求包含 api.dingtalk.com、DingAuth 或 x-acs-dingtalk-access-token。

WHEN NOT

  • 普通第三方或自建 HTTP API 使用 yida-connector。
  • 已有连接器且只需从前后端代码提取动作时使用 yida-connector-safe-actions。
  • 只在历史平台 JSX 页面绑定已有连接器数据源时使用 yida-data-source-connectors。

核心原则

  • 只以用户指定的钉钉官方文档为接口契约;页面较多时按本次业务所需接口逐项读取,不复制整站目录。
  • OpenYida 不支持钉钉事件订阅、Stream/WebSocket 或 HTTP 回调接收;遇到此类需求时直接说明不支持并停止,不生成连接器动作。
  • App Key、App Secret、access token 永远不进入聊天、源码、JSON、命令参数或日志。
  • AI 创建连接器和动作;鉴权账号由用户打开 accountManageUrl,在宜搭页面自行配置。
  • 不需要 systemToken 的 Action 可由 Canvas 通过 window.__OPENYIDA_CONNECTOR_API__ 调用。需要 systemToken 的宜搭 OpenAPI 必须改用 yida-integration,由 CLI 在服务端安全绑定;页面源码和 Action 默认值都不保存该凭据。

工作流

  1. 按 官方文档入口 定位目标接口页;用户给了精确官方 URL 时直接使用。
  2. 从目标接口页提取 method、host、path、path/query/header/body、响应、权限和幂等字段,按 API 契约 生成无密钥契约文件;每个 Action 保存自己的 sourceUrl。
  3. 按 入参依赖 检查每个必填参数的真实语义、固定值和“调用其他接口获取”链接。所有前置接口也必须生成宜搭自定义连接器 Action,通过连接器调用;不得改用 curl、临时脚本或页面直连。依赖值未解析时不得创建或调用主 Action。
  4. 若文档属于事件订阅、Stream/WebSocket 或 HTTP 回调接收,直接说明 OpenYida 不支持并停止。
  5. 创建 DingAuth 连接器;不得传 --app-key / --app-secret。
  6. 创建结果必须满足 readbackVerified=true;CONNECTOR_READBACK_MISMATCH 是阻断错误,即使 list-actions 能看到动作也不得继续。记录数字管理 ID connectorId 和页面运行时内部名 connectorName(必须以 Http_ 开头)。
  7. 执行 list-actions 回读稳定 operationId。
  8. 执行一次 list-connections --json,记录 beforeConnectionIds。
  9. 若没有可确定复用的 ACTIVE 账号,返回授权账号地址 accountManageUrl、连接器详情地址 detailUrl 和建议账号名后暂停;用户打开 accountManageUrl,在宜搭中自行添加授权账号。
  10. 用户只需回复“已配置”,不要回复密钥或账号 ID。再次执行 list-connections --json:
  • 恰好新增一个且名称符合预期:使用该账号;
  • 没有新增,但存在唯一同名 ACTIVE 账号:复用;
  • 多个新增、同名不唯一、名称不符或状态非 ACTIVE:停止,展示低敏候选信息,不猜测。
  1. 读接口用 connector test --account-id 做真实探针;写接口先展示目标与副作用,用户确认后只调用一次。宜搭 OpenAPI 额外传 --system-token-app <appType>,CLI 只在内存中注入 body.systemToken。HTTP 200 只表示请求到达;CLI 还必须确认响应契约和钉钉 errcode。
  2. 不需要 systemToken 的页面调用加载 yida-canvas-data-binding,页面 binding 写 connectorName: "Http_*",Body 传对象。需要 systemToken 时加载 yida-integration,创建服务端自动化;嵌套 assignment 使用 Body.userid 等完整路径。发布回读只证明控制面配置,真实触发与业务读回成功后才能报告业务完成。

创建命令

bash
openyida connector create "<名称>" "api.dingtalk.com" \
  --auth "钉钉开放平台验证" \
  --operations .cache/openyida/<任务>/connector/operations.json \
  --json

openyida connector list-actions <connector-id> --json
openyida connector list-connections <connector-id> --json

connector create --json 返回 accountManageUrl 和 detailUrl。添加授权账号时优先把 accountManageUrl 交给用户;detailUrl 用于查看连接器定义。不得要求用户把配置后的 ID 发给 AI;CLI 通过前后两次列表差异自行发现。

完成标准

  • 每个 Action 都有精确官方 sourceUrl,契约字段可追溯且无任何凭据值。
  • 每个必填入参都已解析为用户输入、固定值、页面运行态值或前置 Action 输出;不能只按字段名猜语义。
  • 连接器返回 readbackVerified=true,数字 connectorId 与 Http_* connectorName 均已记录;页面只使用 connectorName。
  • Action Header 均为 required=false,固定 Content-Type 有非空默认值,可选 Header 不保存空默认项。
  • 连接器及动作已回读,账号归属和 ACTIVE 状态已确定。
  • 只读测试返回业务可识别结果;不能仅凭 HTTP 200 宣称完成。
  • 集成自动化发布返回 controlPlaneVerified=true;runtimeVerified=false 时继续执行真实触发与业务读回,不宣称钉钉动作已经完成。
  • Canvas 场景已通过固定平台代理调用,刷新后仍可读取真实数据。
  • 若停在鉴权阶段,明确报告 connectorId、accountManageUrl、detailUrl、建议账号名和暂停原因,不宣称集成完成。

参考

Bundled files

The model reads these on demand while the skill is loaded. They are exposed as readable files and are never executed.

Frequently asked questions

What does the Yida Dingtalk Openapi AI skill do?

将钉钉开放平台官方服务端 API 转成宜搭 HTTP 连接器动作,并供表单、集成自动化或 YidaCodeCanvas 自定义页面安全调用。负责官方文档核对、DingAuth 账号配置暂停与确定性回读。触发词:钉钉开放平台接口、api.dingtalk.com、x-acs-dingtalk-access-token。

Why use Yida Dingtalk Openapi on TypingMind?

Because you install it once and use it with any model. Yida Dingtalk Openapi is plain Markdown rather than provider-specific code, so the same skill runs on GPT-5, Claude, Gemini, Grok, or a local model — and you can switch model mid-chat without it breaking. TypingMind runs on your own API keys, so you pay providers directly instead of a per-seat subscription, and your skills and chats stay in your own storage.

How do I install Yida Dingtalk Openapi in TypingMind?

Open Plugins → Skills → Install from GitHub in TypingMind and paste https://github.com/openyida/openyida/tree/main/yida-skills/skills/yida-dingtalk-openapi. TypingMind reads its SKILL.md and bundles its files and installs it as a skill you can enable per chat.

Which AI models can use Yida Dingtalk Openapi?

Any model you connect in TypingMind. AI skills are plain Markdown instructions rather than provider-specific code, so GPT, Claude, Gemini, Grok, and local models can all load this skill when a request matches it.

How many AI models can I use with Yida Dingtalk Openapi?

As many as you like. As long as a model supports skills, you can use Yida Dingtalk Openapi with it — GPT, Claude, Gemini, Grok, DeepSeek, Mistral, Llama and more — all on TypingMind with your own API keys.

Is the Yida Dingtalk Openapi AI skill free?

Yes. It is published on GitHub by openyida under the MIT license. You only pay your own AI provider for the tokens you use.

What are AI skills?

An AI skill is a reusable instruction bundle that teaches an AI model how to do one specific task. It follows the open Agent Skills format: a SKILL.md file with a name and description, plus any scripts, templates or reference files the model may need. The model reads the instructions only when your request matches the skill, so an installed skill costs nothing until it is used.

How are AI skills different from plugins or MCP servers?

A plugin or MCP server gives a model new tools to call — code that runs somewhere and returns a result. An AI skill gives the model knowledge and process instead: how to approach a task, which steps to follow, what good output looks like. Skills are plain Markdown, so they need no server, no API key and no runtime, and they work with any model.

View all

Set up your own AI workspace now

Get notified about new features and future giveaways by subscribing to our newsletter 👇