Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

2233admin/AI-NativeServerOS

Open more actions menu

Repository files navigation

A2Alaw

AI-Native Server Governance Kernel for A2A Claw OS

自然语言即系统调用


Python 3.11+ License: MIT A2A Claw OS OpenClaw


概述

A2Alaw(Agent-to-Action Law)是 A2A Claw OS 的服务器治理内核。

一句话说完它做的事:你说中文,它改系统。 你说「装个 nginx」,它会自动完成包管理器选择、依赖检查、安装执行、配置验证、结果审计——整个过程对你透明,但每一步都有策略引擎把关。

$ a2alawctl run! "给三台服务器都装上 nginx,配好反向代理"

它不是 ChatOps 机器人,也不是又一个 Ansible wrapper。A2Alaw 是操作系统内核层的一部分:接收自然语言,输出真实的 subprocess 系统调用,中间经过七阶段流水线(解析 → 规划 → 审批 → 编译 → 执行 → 自愈 → 审计),所有操作自动生成 Git commit 记录。

三节点对等 Mesh 架构,节点之间通过 WireGuard 互联、心跳监控、环形互修。一台挂了,另外两台自动诊断修复。关键操作需要 2/3 议会投票通过。

「博士,只需要一句话,剩下的交给我来处理。」


设计理念

A2Alaw 的核心假设是:服务器运维本质上是一个"意图→执行"的翻译问题。管理员心里想的是"我要装 nginx",但实际操作涉及包管理器选择、依赖检查、配置文件编辑、服务重启、验证——这些中间步骤完全可以由 AI 推导完成。

基于这个假设,A2Alaw 采用三层架构:

层级 组件 职责
App OpenClaw Skills · a2alawctl · Rich TUI 用户交互,自然语言输入
Kernel a2alawd · NL Parser · DAG · OPA · CodeGen 意图理解、规划、审批、执行
Hardware OS syscalls · systemd · WireGuard Mesh 系统调用、进程管理、网络互联

这一架构参考了 AIOS 论文提出的 LLM-as-OS 范式,但做了关键调整:A2Alaw 不是在操作系统之上模拟一个 AI 操作系统,而是直接作为现有 Linux 系统的治理层,通过 subprocess 执行真实系统调用。


七阶段执行流水线

NL Input → P1 意图解析 → P2 执行图规划 → P3 策略审批 → P4 脚本编译 → P5 主机执行 → P6 自愈重试 → P7 审计记录 → Result

P1 — 自然语言解析:三级 LLM 路由。优先使用 Doubao(免费),复杂指令升级到 Claude,兜底使用规则引擎。输出结构化 Intent。

P2 — DAG 执行图:将 Intent 拆解为有向无环图,拓扑排序确定执行顺序。复杂多步指令通过 smolagents CodeAgent 自动编排。

P3 — OPA 策略审批:Rego 规则引擎评估风险等级。封锁名单(如 rm -rf /)直接拦截,高风险操作需要议会 2/3 多数批准。

P4 — 脚本编译:Jinja2 模板生成 Bash 脚本。每个模板遵循 Arch Linux PKGBUILD 的三阶段设计——pre_check(幂等检查,已完成则跳过)→ execute(执行核心指令)→ post_verify(验证结果)。

P5 — 主机执行:通过 subprocess 直接在主机上执行,不是 Docker 沙箱模拟。dry-run 模式仅输出预览不执行。

P6 — 自愈重试:执行失败时自动诊断错误类型,最多重试 3 次。

P7 — 审计记录:每次操作生成 Git commit(包含执行脚本、输出、耗时),同时写入 Redis Streams 事件流。


核心能力

实弹执行 vs 预览模式

a2alawctl run  "安装 nginx"    # dry-run: 仅输出将要执行的脚本
a2alawctl run! "安装 nginx"    # 真实执行: 实际变更系统状态

OPA 策略护盾

高危操作自动拦截,无需人工介入:

$ a2alawctl run! "rm -rf /"
# → BLOCKED: Blocked pattern: rm -rf /
# → Risk Level: CRITICAL — 需要议会 2/3 多数批准

smolagents 多步编排

复杂指令自动拆解为 DAG,逐步执行:

$ a2alawctl agent! "安装 Redis,配置密码,设置开机自启"
# → DAG: install_package:redis → edit_file:redis.conf → restart_service:redis

三节点对等 Mesh

环形互修拓扑,每 30 秒心跳检测,3 次失败判定宕机,自动 SSH 诊断修复:

central (10.10.0.1) → sv (10.10.0.2) → tokyo (10.10.0.3) → central

自动修复项:daemon 宕机、WireGuard 断开、Redis 挂掉、磁盘满、内存不足。关键操作需 2/3 议会投票通过。

系统级 OpenClaw 集成

将 OpenClaw 从用户态 npm 包提升为 FHS 标准系统基础设施。双槽原子热更新(slot-a / slot-b),30 秒内健康检查失败自动回滚。技能作为独立 systemd 子进程运行,资源隔离(CPU 10% / Mem 256M),不影响网关。不改一行 OpenClaw 源码,完全通过环境变量重定向。


项目结构

a2alaw/
├─ orchestrator/           意图解析与执行规划
│  ├─ nl_parser.py         三级 LLM 路由 (Doubao → Claude → MiniMax)
│  ├─ dag_parser.py        Intent → DAG 执行图 (拓扑排序)
│  ├─ agent.py             smolagents CodeAgent 多步编排
│  └─ risk_scorer.py       风险评估引擎
│
├─ executor/               执行层
│  ├─ host.py              主机直执行 (subprocess)
│  ├─ remote.py            SSH 远程执行 (WireGuard mesh)
│  ├─ code_gen.py          Jinja2 模板编译
│  ├─ self_heal.py         自愈重试 (最多 3 次)
│  └─ templates/           Arch PKGBUILD 风格脚本模板
│     ├─ install_package.sh.j2
│     ├─ edit_file.sh.j2
│     ├─ restart_service.sh.j2
│     ├─ run_command.sh.j2
│     └─ check_status.sh.j2
│
├─ safety/                 安全层
│  ├─ opa_client.py        OPA 策略引擎客户端
│  ├─ opa_policies/        Rego 规则 (base.rego)
│  ├─ git_audit.py         Git 审计记录
│  └─ seccomp.json         seccomp 系统调用封锁 (44 条)
│
├─ mesh/                   集群治理
│  ├─ peer.py              节点身份 + 环形拓扑
│  ├─ heartbeat.py         心跳监控 (HTTP + SSH fallback)
│  ├─ healer.py            自动诊断 + 5 种修复协议
│  └─ council.py           议会投票 + Redis Streams 共识
│
├─ hub/                    守护进程
│  ├─ daemon.py            FastAPI 服务 (port 8741)
│  └─ a2alawd.service      systemd 服务单元
│
├─ system/                 OpenClaw 系统级集成
│  ├─ openclaw-systemize.sh   FHS 目录迁移
│  ├─ openclaw.service        systemd 服务
│  ├─ openclaw-update.sh      双槽热更新
│  ├─ openclaw-rollback.sh    一键回滚
│  ├─ spawn-skill.sh          技能子进程隔离
│  └─ claw-skill.sh           技能包管理 CLI
│
├─ feedback/               事件回馈
│  ├─ redis_streams.py     7 通道事件总线
│  └─ nl_report.py         自然语言执行报告
│
├─ pipeline.py             七阶段流水线主控
└─ cli.py                  CLI 入口 (a2alawctl)

部署

前置要求:Debian 12+ / A2A Claw OS,Python 3.11+,Redis 7+,Node.js 22+(OpenClaw 集成)

git clone https://github.com/2233admin/a2alaw.git
cd a2alaw
pip3 install -r requirements.txt

# 部署守护进程
cp hub/a2alawd.service /etc/systemd/system/
systemctl enable --now a2alawd

# (可选) OpenClaw 系统级迁移
sudo bash system/openclaw-systemize.sh

CLI 用法

a2alawctl run  "查看磁盘使用率"                    # dry-run 预览
a2alawctl run! "安装 htop"                          # 真实执行
a2alawctl agent! "安装 nginx 并配置反向代理到 8080"  # 多步编排
a2alawctl interactive                                # 交互终端

API 用法

curl -X POST http://127.0.0.1:8741/v1/execute \
  -H "Content-Type: application/json" \
  -d '{"command": "查看磁盘使用率"}'

A2Alaw 与 OpenClaw

OpenClaw A2Alaw
角色 AI 聊天网关 服务器治理内核
技术栈 Node.js / TypeScript Python 3.11
职责 技能路由、对话管理 主机系统变更
关系 嘴——理解用户意图 手——执行系统操作

A2Alaw 将 OpenClaw 从用户态 npm 包提升为系统级基础设施,通过环境变量重定向(OPENCLAW_HOME / OPENCLAW_CONFIG_PATH / OPENCLAW_STATE_DIR)实现 FHS 标准目录布局,不改一行源码。


参考论文与技术

论文 / 技术 应用位置 说明
AIOS: LLM Agent Operating System (arXiv:2403.16971) 整体架构 提出 LLM-as-OS 三层架构(App / Kernel / Hardware)。A2Alaw 采用该范式但不虚拟化 OS,而是直接作为 Linux 治理层
smolagents (HuggingFace) orchestrator/agent.py 轻量级 CodeAgent 框架,用于将复杂自然语言指令自动拆解为多步 DAG 执行图
Open Policy Agent (OPA) + Rego safety/opa_client.py 声明式策略引擎,用于实时风险评估和高危操作拦截。封锁名单 + 风险分级 + 议会投票三重防护
Arch Linux PKGBUILD executor/code_gen.py + templates/ 三阶段脚本设计(prepare → build → check)启发了 A2Alaw 的模板系统(pre_check → execute → post_verify),确保幂等性和可验证性
Jinja2 Template Engine executor/code_gen.py 声明式模板编译,将结构化 Intent 转化为可执行 Bash 脚本
Redis Streams feedback/redis_streams.py 7 通道事件总线(execute / audit / health / council 等),用于异步事件分发、Mesh 心跳和议会投票
systemd Transient Units system/spawn-skill.sh 利用 systemd-run 为每个 OpenClaw 技能创建独立 cgroup,实现 CPU/内存隔离(CPUQuota=10%, MemoryMax=256M)
WireGuard mesh/peer.py 三节点全互联 VPN,承载心跳监控和 SSH 远程执行的安全通道
LiteLLM orchestrator/agent.py 统一多 LLM 提供商接口,支持三级路由:Doubao(免费)→ Claude(复杂)→ MiniMax(兜底)

实验记录

以下是 A2Alaw 从概念到部署的完整开发时间线。所有实验均在中央节点(43.163.225.27, OpenCloudOS 2 核 / 2G)上完成。

Phase 1 — MVP 骨架 2026-03-05

时间 事件 结果
22:22 初始化项目骨架,建立 pyproject.toml、目录结构 5a34431
22:58 实现 NL Parser + Pipeline Runner + CLI 入口 基础流水线跑通,dry-run 可用
00:02 接入 FreeClaw 三级 LLM 路由 Doubao 作为默认解析模型
00:16 启用 Docker 沙箱执行 sandbox writable 模式可安装包

Phase 2 — 安全层 + 多步编排 2026-03-06 00:39–01:19

时间 事件 结果
00:39 集成 OPA Rego 策略引擎 + Redis Streams + Rich TUI 高危命令拦截验证通过
01:13 集成 smolagents CodeAgent 复杂指令自动拆解为 DAG
01:19 Jinja2 模板系统 (PKGBUILD 三阶段) 5 个模板:install_package / edit_file / restart_service / run_command / check_status

Phase 3 — 主机执行 + Mesh 自愈 2026-03-06 02:00–03:00

时间 事件 结果
~02:00 从 Docker 沙箱切换到主机直执行 executor/host.py subprocess 模式
~02:00 SSH 远程执行模块 executor/remote.py 三节点 WireGuard mesh
~02:30 环形互修拓扑 + 心跳监控 central→sv→tokyo→central,30s 间隔
~02:30 自动诊断 + 5 种修复协议 daemon / wireguard / redis / disk / memory
~02:45 议会投票共识机制 Redis Streams mesh:council,2/3 quorum
~02:48 端到端测试通过 "安装 cowsay" → 真实 apt install → Git audit commit

Phase 4 — 系统级 OpenClaw 部署 2026-03-06 05:00–05:38

时间 事件 结果
05:28 编写 6 个系统集成脚本 systemize / service / update / rollback / spawn-skill / claw-skill
05:34 OpenClaw 迁移到 /usr/lib/openclaw/slot-a/ 双槽目录结构就位
05:35 系统级 systemd 服务启动 openclaw.service active,端口 18789
05:35 遇到问题:配置路径不兼容 OPENCLAW_CONFIG_PATH 指向目录而非文件,qqbot channel 验证失败
05:38 解决方案:回退配置路径到 ~/.openclaw/ 服务运行正常,Dashboard 可访问。配置完全迁移留待后续

Phase 5 — 发布 2026-03-06 05:39–06:02

时间 事件 结果
05:41 推送至 GitHub https://github.com/2233admin/a2alaw
05:44 品牌修正:ClawDebian → A2A Claw OS 全文替换
06:02 README 设计迭代 从 ASCII art 过度装饰 → 简洁现代风格

已知问题与后续计划

  • OpenClaw 配置迁移未完成/etc/openclaw/openclaw.json 中 qqbot channel 验证失败,当前回退到原路径
  • 热更新未实测openclaw-update.sh 已编写但未在生产环境执行
  • 硅谷 / 东京节点未部署:Mesh 模块就绪,等待节点重装后部署
  • smolagents 多步编排缺少集成测试:单步执行已验证,多步 DAG 需要更多测试用例

License

MIT


この戦いに、言葉だけで十分だ。

这场战斗,只需一句话就够了。

About

AI-native server control layer for natural-language operations, governance, and cluster execution

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Morty Proxy This is a proxified and sanitized view of the page, visit original site.