没有第二份业务实现
No duplicate implementation
按钮、命令和工具都调用同一个 Action Core;修一次,所有入口一起生效。
Buttons, commands, and tools invoke the same Action Core. Fix it once, and every interface changes together.
One action. Every interface.
影核(ActionParity)是面向 AI 时代的动作同源开放标准。让 GUI、CLI、MCP、API 与测试共同调用一个无界面的 Action Core。
ActionParity is an open standard for the AI era. GUI, CLI, MCP, API, automation, and tests all invoke the same headless Action Core.
当业务逻辑分别写进按钮、命令和 API,多一个界面就多一份实现;当软件只能通过屏幕操作,Agent 就只能猜坐标、读截图,并把业务正确性寄托在像素上。
When business logic is repeated in buttons, commands, and APIs, every new interface creates another implementation. When software can only be driven through a screen, agents must guess coordinates and place correctness in pixels.
符合与不符合是二元判断。分数可以帮助审计,但不能替代架构事实。
Conformance is binary. Scores may support an audit, but they cannot replace an architectural fact.
按钮、命令和工具都调用同一个 Action Core;修一次,所有入口一起生效。
Buttons, commands, and tools invoke the same Action Core. Fix it once, and every interface changes together.
确认、权限与风险控制必须在动作核心强制,不能只靠前端弹窗。
Confirmation, authorization, and risk controls are enforced below every interface, not only in a dialog.
界面可以缓存状态,但不能拥有状态;所有入口最终观察同一份事实。
A shadow may cache state, but it cannot own it. Every interface ultimately observes the same facts.
每个有意义的 GUI 动作都保留一条非视觉机器入口,让 Agent 不必猜像素。
Every meaningful GUI action has a non-visual machine path, so agents never have to guess at pixels.
GUI 不需要每次启动 CLI 子进程。不同界面可以直接引用同一个动作库,也可以通过本地 IPC 调用同一个常驻运行时。关键不是传输方式,而是所有入口抵达同一个规范实现。
A GUI does not need to spawn a CLI process. Interfaces may share a library or call one runtime over local IPC. The transport is not the invariant; reaching the same canonical implementation is.
{
"id": "gateway.start",
"input_schema": { "type": "object" },
"effects": {
"class": "write",
"risk": "medium",
"confirmation": "conditional"
},
"execution": {
"headless": true,
"timeout_ms": 30000
},
"bindings": [
{ "surface": "desktop" },
{ "surface": "cli" },
{ "surface": "mcp" }
]
}规范、Schema、验证器与示例全部开放,任何团队都能免费自测。
The specification, schema, validator, and examples are open for every team to use.
定义 Action、Core、Shadow、Binding、状态、事件、安全与一致性要求。
Defines actions, cores, shadows, bindings, state, events, safety, and conformance.
↗SCHEMA用 JSON Schema 描述应用、动作、界面、风险、证据和外部状态资源。
Describes applications, actions, surfaces, risks, evidence, and external state resources in JSON Schema.
↗VALIDATOR定位架构违规、未证明声明、缺失机器入口和不安全的确认策略。
Finds architectural violations, unproven claims, missing machine paths, and unsafe confirmation policies.
↗PILOT从 U-King 的六个低风险动作开始,验证渐进式改造与跨界面同步。
Starts with six low-risk U-King actions to prove incremental adoption and cross-interface parity.
↗node bin/action-parity.mjs validate action-parity.json过去几十年,应用默认所有有意义的操作都会经过屏幕、鼠标和人的手。AI 改变了这个前提,但大多数软件仍把能力锁在像素后面。
For decades, applications assumed that every meaningful action would pass through a screen, a pointer, and a human hand. AI agents changed that assumption, but most software still hides its capabilities behind pixels.
一核多影。行为只有一个落脚处,GUI、CLI、TUI、MCP、API 都是它投在各平台上的影子——影子有各自的形状,但没有自己的行为。
There is one place where a behavior lives. GUI, CLI, TUI, MCP, API, and automation are shadows it casts on different platforms — each shaped by its platform's conventions, none of them holding a behavior of its own.
一个行为写一遍,多一个平台只多一个影子。不是每个平台把每个行为重写一遍。AI 让「复制一份实现」变得极便宜,也让「三份已经跑偏」变得看不见。
A feature duplicated across interfaces will drift, and AI-assisted development makes duplication cheap while making drift invisible. Adding a behavior should cost one implementation; adding a platform should cost one shadow, not one reimplementation per behavior.
人和 Agent 都应该获得语义级访问能力。
Humans need understandable interfaces. Agents need discoverable actions, typed inputs, structured results, and stable state. Neither should receive a weaker version of the product.
Computer Use 是兼容层,不应是新软件的地基。
Screenshots, coordinates, and input injection remain valuable for old software and final visual verification. New software should expose meaning directly.
符合与否是能与不能,不是百分比。有分子的数字就会被优化——把错在哪、在哪一行写出来,比给一个分数有用。
Claims such as “AI-ready” are not enough, so applications publish manifests, mappings, exceptions, and tests. But a shadow either holds behavior of its own or it does not, and that question has no score. A number with a numerator will be optimized; write down what is wrong and where.
权限、确认、审计和回滚必须位于界面之下。
Permissions, confirmation, risk, audit, cancellation, and rollback cannot live only in a prompt or dialog.
动作核心正确,不能代替真实 GUI 测试。
A correct Action Core does not prove that a button is reachable, a label is readable, or a layout works. Semantic and visual interface tests remain part of conformance.
开放标准会创造更大的商业市场。
The specification should be freely implementable. Companies should compete on tools, reliability, integration, support, and trust—not private access to the definition of compatibility.
无论一个人点击、一个脚本调用、一个 Agent 执行,还是一个测试验证,他们操作的都应该是同一个软件。
When a person clicks, a script calls, an agent invokes, or a test verifies, they should be operating the same application.
GitHub 原文 / Source manifesto ↗选择一个低风险、可观察结果的动作,把它从界面事件中抽出来,再让 GUI 与机器入口共同调用。第一条证据链跑通后,再扩展到更多动作和平台。
Choose one low-risk action with an observable result, extract it from the interface event, and let both GUI and machine paths invoke it. Expand only after the first evidence chain works.
采用指南 / Adoption guide区分业务动作与纯界面交互。Separate business behavior from presentation.
建立稳定 ID、Schema 与无界面实现。Create stable IDs, schemas, and a headless implementation.
让 GUI、CLI、MCP 走同一个注册点。Connect every interface to one registry.
验证绑定、状态、安全与真实界面。Test bindings, state, safety, and the real GUI.