v0.5 工作草案 · Apache-2.0

一个动作,所有界面。

影核(ActionParity)是面向 AI 时代的动作同源开放标准。让 GUI、CLI、MCP、API 与测试共同调用一个无界面的 Action Core

25/25验证器测试通过
6U-King 试点动作
4二元架构规则
ONE COREActionCore
GUI
CLI
MCP
API
Tests
HUMAN NATIVEAGENT NATIVE

行为不该长在界面里。

当业务逻辑分别写进按钮、命令和 API,多一个界面就多一份实现;当软件只能通过屏幕操作,Agent 就只能猜坐标、读截图,并把业务正确性寄托在像素上。

INTERFACE-BOUND

过去

  • GUI独立实现
  • CLI独立实现
  • API独立实现
行为漂移 · 重复修复 · 截图测试
ACTION-NATIVE

影核

GUICLIMCPONE ACTION CORE
一次实现 · 统一状态 · 可机器验证

影子里,不许有这四样东西。

符合与不符合是二元判断。分数可以帮助审计,但不能替代架构事实。

01

没有第二份业务实现

No duplicate implementation

按钮、命令和工具都调用同一个 Action Core;修一次,所有入口一起生效。

02

没有界面独占的策略

No interface-only policy

确认、权限与风险控制必须在动作核心强制,不能只靠前端弹窗。

03

没有独立的状态真相源

No shadow-owned truth

界面可以缓存状态,但不能拥有状态;所有入口最终观察同一份事实。

04

没有只能从界面到达的动作

No GUI-only business action

每个有意义的 GUI 动作都保留一条非视觉机器入口,让 Agent 不必猜像素。

界面仍然原生,行为只有一份。

GUI 不需要每次启动 CLI 子进程。不同界面可以直接引用同一个动作库,也可以通过本地 IPC 调用同一个常驻运行时。关键不是传输方式,而是所有入口抵达同一个规范实现。

  • 稳定 Action ID 与输入输出 Schema
  • 统一结果、状态、事件和执行 ID
  • 机器入口返回结构化数据
  • 危险操作在核心层确认与审计
action-parity.json
{
  "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" }
  ]
}
3 shadows → 1 canonical action

规范不是口号,它可以被检查。

规范、Schema、验证器与示例全部开放,任何团队都能免费自测。

$node bin/action-parity.mjs validate action-parity.json
VALIDViolations  0Unproven   0

不用推倒重写,从一个纵切动作开始。

选择一个低风险、可观察结果的动作,把它从界面事件中抽出来,再让 GUI 与机器入口共同调用。 第一条证据链跑通后,再扩展到更多动作和平台。

查看采用指南
  1. 01
    盘点动作

    区分业务动作与纯界面交互。

  2. 02
    抽出核心

    建立稳定 ID、Schema 与无界面实现。

  3. 03
    连接影子

    让 GUI、CLI、MCP 走同一个注册点。

  4. 04
    留下证据

    验证绑定、状态同步、安全与真实界面。

“GUI 不是软件本身,CLI 也不是软件本身。它们是同一套动作和状态模型的不同投影。”

影核宣言阅读全文 ↗