Skip to content

Releases: vimalinx/universal-linux-port

Universal Linux Port v0.1.2

Choose a tag to compare

@vimalinx vimalinx released this 30 Aug 12:11

Universal Linux Port Skill v0.1.2 发布说明

原 GUI 封存,Agent 全部旁路化

这一版把边界进一步钉死:原程序给人使用的 GUI 默认保持不变,Agent 的控制、审查、审批、诊断和日志界面全部放在 GUI 之外。

所谓 AI-native,不再允许被解释成给原软件加聊天框、提示词输入框、侧栏、浮窗、菜单项、Review 按钮、Agent 状态标记或新的活动面板。人仍然使用原来的程序界面;AI 通过同一 Domain Core 的 MCP、CLI、D-Bus、本地服务或库接口工作。AI 导致的数据变化会自然反映在原 GUI 中,但详细 actor、receipt、trace 和审查信息保存在外部。

新增 surfaceSeparation

HAI-App 0.1 现在要求 GUI 项目声明 Agent Surface 的放置边界:

surfaceSeparation:
  mode: out-of-band
  agentSurfaceIds: [surface.cli, surface.mcp]
  humanGuiAdditions: []
  controlLocations: [cli, agent-host]
  reviewLocations: [artifacts, agent-host]
  approvalLocations: [agent-host]
  activation: on-demand
  idlePolicy: dormant
  networkExposure: none
  authorization:
    status: not-required

默认 out-of-band 表示:

  • 人类 GUI 不增加任何 Agent 专属控件;
  • MCP/CLI 由 Agent Host 按需启动;
  • 截图、Accessibility Tree、语义快照、Receipt、Trace、性能报告和审查包通过 CLI、Agent Host、测试工具或文件生成;
  • 风险操作的审批由 Agent Host、CLI 或单独的 Inspector 完成,不往原 GUI 塞一套审批界面;
  • 默认不开放网络端口;
  • 普通人使用 GUI 时,Agent 集成处于 dormant 或 minimal 状态,不应明显增加启动时间和空闲内存。

可以提供单独的 Agent Inspector,但它必须是另一个程序或独立窗口,默认关闭、绝不自动覆盖原程序,也不能成为人类正常使用的前置依赖。

严格验收新增的拒绝条件

验证器现在会拒绝:

  • GUI 项目没有 surfaceSeparation
  • out-of-band 模式下新增 Agent 菜单、按钮、面板、状态标记、对话框或通知;
  • Agent 控制、审查或审批位置包含 human-gui
  • 某个 MCP/CLI Agent Surface 没有被隔离声明覆盖;
  • 迁移已有 GUI 时,用 new-application-integrated 绕过保真;
  • 未经明确授权,把 Agent UI 集成进原 GUI;
  • interfaceContinuity 没有保护 agent-ui-absence
  • GUI 对照仍为 pending 或已经 fail

参考应用也已修正

上一版 HAI Notes GUI 里还有一个 Review Snapshot 按钮,并且状态栏会显示 receipt/transaction ID。这虽然只是示例,但和新的边界不一致。v0.1.2 已经将这些全部移出 GUI:

  • 人类 GUI 只保留 Notes、New、Delete、Undo、Title、正文、Save、Refresh 和普通状态;
  • Review Snapshot、Capability Catalog、Receipt、Event、Screenshot、Audit Bundle 全部继续通过 CLI/MCP/测试工具提供;
  • 新增测试,保证 GUI 源码不包含 Review Snapshot 或 MCP/Agent 控制面;
  • MCP 仍然与 GUI 操作同一份 revisioned Domain Core。

设计结论

最终结构固定为:

原 GUI ───────────────> 人类正常使用
   │
   └── Domain Core <── MCP / CLI / local adapter <── Agent
                          │
                          └── snapshots / screenshots / receipts / audit

原 GUI 是封存的人类产品表面;Agent Surface 是有文档、有权限、有审计,但不占用人类界面的旁路接口。这样既能保持原软件的熟悉感,也能让 Agent 获得完整语义能力,同时避免 Agent 集成拖慢或污染普通使用体验。