Yida Custom Button logo

Yida Custom Button

Organization
openyida
yida-custom-button

配置已有普通表单或流程表单的原生自定义按钮。用于客户跟进、线索分配、审批后发起订单、触发自动化或打开业务页面;不用于自定义页面内的 React 按钮。

Overview

Publisheropenyida
Repositoryopenyida
Skill nameyida-custom-button
Stars
228
Forks
50
Bundled files
Instructions only
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.

  • Self-contained

    Everything the model needs lives in the instructions — no extra files to sync.

  • Open source

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

Installation

Install the Yida Custom Button 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-custom-button
  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-custom-button .claude/skills/yida-custom-button
Restart Claude Code after copying so it picks up the new skill.

Use it in TypingMind

Enable Yida Custom Button 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 Custom Button 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 Custom Button 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.

表单自定义按钮

使用 openyida custom-button 管理「页面设置 > 自定义按钮」中的按钮定义及显示位置。

业务场景动作
分配客户跟进人、员工转正、补充当前记录fillInForm / fillCurrentForm,选择可修改字段
从客户填写跟进记录、采购审批后发起订单fillInForm / fillLinkageForm,选择平台返回的被关联表单
手动执行复杂业务处理invokeFlow,绑定当前表单已发布的自定义按钮手动触发流(type 6)
查看业务说明、进入应用页面或外部系统linkToPage,应用内页面或 HTTP(S) 链接

先查目标表单的按钮和可选资源,按业务意图编写配置。不要仅凭表单名猜字段或资源 ID。

bash
openyida custom-button list <appType> <formUuid> --json
openyida custom-button options <appType> <formUuid> --json
openyida custom-button inspect <appType> <formUuid> <buttonUuid> --json
openyida custom-button create <appType> <formUuid> --config button.json --json
openyida custom-button update <appType> <formUuid> <buttonUuid> --config patch.json --expected-hash <configHash> --json

options 返回字段、筛选变量、被关联表单、页面、type 6 自动化流、表格视图和自定义详情页。没有符合条件的流时,用 yida-integration 配置按钮手动触发的自动化;本命令不会创建或执行自动化。

按钮名称的每种语言文案最长 10 个字符。平台会自动补齐备用翻译与空元数据;CLI 回读会核对显式设置和原有翻译,接受这些平台补充项。

可用条件会补齐原生字段类型、规则类型、ruleValue 和组/条目 ID;只保存 id/op/value 可能在编辑器中可见却无法执行。真实测试应分别验证符合与不符合条件的记录。创建手动触发流当前需在平台设计器完成,再从 options 返回的已发布流中绑定。

修改当前记录示例(用查询得到的 ID 替换占位符):

json
{
  "name": {"type":"i18n","zh_CN":"分配","en_US":"Assign"},
  "actionType":"fillInForm",
  "actionConfig": {"fillType":"fillCurrentForm","fieldsSelected":["实际字段ID"]},
  "tableViewUuids":["实际表格视图ID"],
  "detailId":[]
}

关联表单的 actionConfig 使用 fillType: fillLinkageForm、linkageFormId。CLI 根据关联列表补齐 linkageFormAppType 和 linkageFormType;自动填充取决于目标表单已有的关联填充配置。

自动化使用 actionType: invokeFlow、actionConfig: {"processCode":"实际流程编码","needSecondCheck":["y"]}。二次确认默认开启,显式 [] 才关闭。这是成员点击按钮时的提示。

页面跳转使用 actionType: linkToPage,actionConfig 中:

  • 应用内:urlType: inner、urlFormUuid,CLI 补齐 urlFormType。
  • 外部:urlType: outer、url: https://...。
  • openWith 为 new 或 slide。可选 paramInfo 是 {paramName,paramType,paramValue} 数组,类型为 constant、variable、formula;字段或公式从实际元数据生成。

可用条件使用 permissionConfig 的平台规则树,null 表示全部数据。条件按完整树替换,格式为 {"condition":"AND","rules":[{"id":"实际字段ID","op":"eq","value":"目标值"}]}。id 和 op 从 options.variables[].operatorMap 取得;CLI 根据该字段支持的操作符解析 SQL 键、原生标签或标准码,补齐 conditionCode、opCode 和默认 valueType: literal。已有树可保留有效的 opCode 与 valueType,不匹配的操作码会被拒绝。不要将数据查询条件或权限组规则直接传入。公式只使用已有有效平台表达式。隐藏/提示属性受平台能力约束,不绕过灰度或版本限制。

更新时多语言文案与同类动作属性合并,数组及条件整体替换。切换 actionType、fillType 或 urlType 时提供完整新 actionConfig。保留未修改的翻译、条件和显示位置;tableViewUuids: [] / detailId: [] 清空对应显示引用。旧版详情页和自定义详情布局还可能需要在对应设计器中添加引用与排序,本命令不重写详情布局或系统按钮顺序。

删除定义需要用户明确要求,先 inspect 确认目标,再使用真实 hash:

bash
openyida custom-button delete <appType> <formUuid> <buttonUuid> --expected-hash <configHash> --yes --json

删除定义与移除显示引用不同。备份包含原定义,但重建会得到新 UUID,不能自动恢复其他地方的旧引用。仅要求隐藏某处按钮时,调整对应引用。

写入前自动备份,成功需返回 readbackVerified: true。超时、认证失败或回读不一致时,保留 backupPath 并只读检查,不直接重复创建/删除。hash 能检测读取后的变化,平台没有原子比较写入能力。

验收按本轮授权范围,在详情页/数据管理页核对名称、位置、条件和动作配置。执行按钮可能改业务记录或触发外部操作,只有用户授权相应测试时才执行。保存回读不能证明移动端展示、关联填充或自动化执行成功。

平台边界见官方说明:每表最多 10 个;流程数据结束后才展示;编辑受字段权限约束;自动化按钮不另按字段权限控制触发,应结合页面访问与流程设计确定范围;未开启的流不会生效。版本/权限拒绝如实报告,不修改组织版本、授权或灰度开关。

Frequently asked questions

What does the Yida Custom Button AI skill do?

配置已有普通表单或流程表单的原生自定义按钮。用于客户跟进、线索分配、审批后发起订单、触发自动化或打开业务页面;不用于自定义页面内的 React 按钮。

Why use Yida Custom Button on TypingMind?

Because you install it once and use it with any model. Yida Custom Button 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 Custom Button in TypingMind?

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

Which AI models can use Yida Custom Button?

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 Custom Button?

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

Is the Yida Custom Button 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 👇