# ArmorClaw
**Repository Path**: aiteck/ArmorClaw
## Basic Information
- **Project Name**: ArmorClaw
- **Description**: ArmorClaw致力于打造安全可控的openclaw服务,采用容器运行openclaw,为openclaw提供一键部署安装、api key安全管理等功能。
- **Primary Language**: Unknown
- **License**: AGPL-3.0
- **Default Branch**: main
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 0
- **Created**: 2026-03-08
- **Last Updated**: 2026-04-10
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
# ArmorClaw
**v1.1.0**
**安全运行 OpenClaw 的跨平台桌面客户端 -- 容器沙箱 + 代理注入,密钥不泄漏,宿主机不受损**
[English](./README-en.md) | **中文**
**[ArmorClaw](https://www.armorclaw.cn)** 是一个开源的跨平台桌面应用,为 [OpenClaw](https://gitee.com/nicepkg/openclaw) 提供图形化管理界面。它在本地通过 Docker 容器运行 OpenClaw,实现宿主机安全隔离、API Key 加密存储,让你轻松管理 AI 大模型、IM 通信渠道、技能插件和会话,真正实现 **AI 能力本地化、数据安全可控**。
> **核心价值**:OpenClaw 的第三方 Skill 插件可以读取你的 API Key、访问你的文件系统。ArmorClaw 通过**容器沙箱 + 代理注入**架构,让恶意插件无法窃取密钥、无法破坏宿主机。
## 产品截图
| 主界面 | 智能体 | Skill管理 |
|:------:|:----------:|:----------:|
|  |  |  |
| 内置模型 | 自有模型 | 资源监控 |
|:----------:|:-------:|:-------:|
|  |  |  |
## 核心特性
- **跨平台支持**:macOS(Intel / Apple Silicon)、Windows(x64)、Linux(x64)
- **Docker 自动化管理**:自动检测并引导安装 Docker 运行环境(Colima / Docker Desktop / WSL2)
- **多模型接入**:支持火山引擎、智谱、阿里云百炼、腾讯云、Kimi、Minimax、DeepSeek 等主流 AI 服务
- **Ollama 本地模型**:接入本地 Ollama 服务,使用 Llama、Qwen、DeepSeek 等开源模型,数据完全不出本机
- **三模式 Key 管理**:平台 Key(ArmorClaw内置的Key)、BYOK(自带 Key)和 Ollama 本地模型三种接入方式
- **IM 通道集成**:已适配飞书、QQ 机器人、微信,底层 OpenClaw 引擎支持 20+ 消息通道(持续接入中)
- **Skill 技能商店**:在线浏览、搜索、一键安装 AI 技能插件,支持 npm / Go / Python / apt / 二进制等多种安装方式
- **193 个 AI 智能体**:内置覆盖 18 个行业的专业 AI Agent 角色库,即插即用
- **内嵌终端**:直接在客户端内访问 OpenClaw 容器 Shell 终端
- **资源监控**:实时查看容器 CPU、内存、磁盘、进程等资源使用情况
- **本地代理**:内置代理服务器(:19090),安全转发 AI 请求,杜绝 API Key 泄漏
- **容器内浏览器**:支持有头 Chromium 浏览器环境(Xvfb + VNC + noVNC),供 Skill 执行浏览器任务
- **中英双语**:界面支持中文和英文切换
## 下载安装
### 方式一:官网下载(推荐)
前往 **[ArmorClaw 官网](https://www.armorclaw.cn)** 下载对应平台的安装包,双击即可使用:
| 平台 | 架构 |
|------|------|
| macOS | Apple Silicon (M1/M2/M3/M4) |
| macOS | Intel |
| Windows | x64 |
### 方式二:从源码构建
详见下方 [开发指南](#开发指南)。
## 安全架构
ArmorClaw 的核心使命是解决 OpenClaw 开放 Skill 生态隐藏的安全风险。OpenClaw 允许安装第三方 Skill 插件来扩展功能,但这些插件运行在应用进程内部,具有与应用本身相同的权限,存在两大安全威胁:
1. **API 密钥泄露**:恶意 Skill 可读取配置文件中明文存储的 API Key,窃取后在黑市出售或盗刷用户余额
2. **宿主机破坏**:恶意 Skill 可访问宿主机文件系统、执行破坏性操作、发起资源耗尽攻击
ArmorClaw 通过 **容器沙箱 + 代理注入** 的双核心架构,构建多层纵深防御体系:
```
┌──────────────────────────────────────────────────┐
│ ArmorClaw 客户端 (宿主机) │
│ │
│ ┌──────────────────────────────────────────┐ │
│ │ 密钥加密存储 (OS Keychain/DPAPI/libsecret)│ │
│ │ 真实 API Key 加密存于此,不进入容器 │ │
│ └──────────────────────────────────────────┘ │
│ │
│ ┌──────────────────────────────────────────┐ │
│ │ 本地代理服务 (:19090) │ │
│ │ 拦截容器请求 → 解密注入真实密钥 → 转发 │ │
│ │ 三类路由: │ │
│ │ /api/v1/proxy/** → 平台 Key 请求 │ │
│ │ /byok/** → 自带 Key 请求 │ │
│ │ /ollama/** → 本地 Ollama 请求 │ │
│ └──────────────────────────────────────────┘ │
│ │
│ ─ ─ ─ ─ ─ ─ Docker 隔离层 ─ ─ ─ ─ ─ ─ ─ ─ │
│ │
│ ┌──────────────────────────────────────────┐ │
│ │ OpenClaw 容器 (沙箱) │ │
│ │ • apiKey = "byok-placeholder" (占位符) │ │
│ │ • 恶意 Skill 只能读到占位符 │ │
│ │ • 无法访问宿主机文件系统 │ │
│ │ • 权限被严格限制,无法提权逃逸 │ │
│ │ • CPU/内存/进程数/文件描述符全部受限 │ │
│ └──────────────────────────────────────────┘ │
└──────────────────────────────────────────────────┘
```
### 防护一:API 密钥安全(代理注入机制)
OpenClaw 原生将 API Key 明文存储在配置文件中,恶意 Skill 可直接读取并外传。ArmorClaw 通过 **"密钥不进入容器,由宿主机代理注入"** 的策略彻底解决这一问题:
| 防护层 | 机制 | 效果 |
|-------|------|------|
| **加密存储** | 调用 OS 原生密钥服务(macOS Keychain / Windows DPAPI / Linux libsecret)加密存储 | 即使磁盘被读取也无法解密 |
| **配置分离** | 敏感密钥(`byok-keys.enc`)与非敏感配置(`byok-config.json`)分文件存储 | 降低暴露面 |
| **占位符替换** | 容器内配置文件的 apiKey 字段写入 `byok-placeholder` | 恶意 Skill 只能读到无意义占位符 |
| **代理注入** | 本地代理拦截容器 AI 请求,动态解密并注入真实密钥后转发 | 密钥全程不进入容器 |
| **请求签名** | HMAC-SHA256 签名验证,基于客户端独立生成的 32 字节随机密钥 | 防止请求伪造 |
| **UI 脱敏** | 界面显示密钥时自动掩码(`sk-****xxxx`) | 防止肩窥和截屏泄露 |
**请求流程**:容器发起 AI 请求 → 携带占位符密钥发送到宿主机代理 → 代理解密注入真实密钥 → 转发至 AI 服务商 API
### 防护二:宿主机安全(容器沙箱隔离)
OpenClaw 直接运行在宿主机上时,恶意 Skill 可以删除文件、窃取数据、发起网络攻击。ArmorClaw 通过 Docker 容器沙箱将其完全隔离:
| 防护层 | 配置 | 防护目标 |
|-------|------|---------|
| **非 root 运行** | 容器内以 `node` 普通用户运行 | 即使存在内核漏洞,非 root 用户也无法利用大多数逃逸路径 |
| **权限控制** | `--cap-drop ALL` + `--cap-add NET_BIND_SERVICE` | 移除所有特权能力,仅保留端口绑定 |
| **提权防护** | `--security-opt no-new-privileges` | 禁止 setuid/setgid 提权,防止容器逃逸 |
| **资源限制** | CPU 0.5 核 / 内存 2GB / 进程数 50 / 文件描述符 256 / 磁盘 5GB | 防止 fork 炸弹、内存耗尽等资源攻击 |
| **网络隔离** | bridge 网络模式,仅暴露服务端口 | 无法扫描宿主机端口或访问本地服务 |
| **文件隔离** | 仅挂载 OpenClaw 数据目录(`~/.openclaw`) | 无法访问 `~/.armorclaw`、系统目录或用户文档 |
| **sudo 白名单** | sudo 仅限 `safe-apt` 白名单脚本 | 受控提权,防止任意命令执行 |
| **日志控制** | 日志大小和数量限制 | 防止日志撑满磁盘 |
### 安全对比
| 风险场景 | 原生 OpenClaw | ArmorClaw |
|---------|-------------|-----------|
| 恶意 Skill 读取 API Key | 明文可读,直接泄露 | 只能读到 `byok-placeholder` |
| 恶意 Skill 删除宿主机文件 | 与应用同权限,可任意操作 | 容器隔离,无法访问宿主机 |
| 恶意 Skill 发起 fork 炸弹 | 直接耗尽系统资源 | 进程数限制(50),攻击无效 |
| 恶意 Skill 扫描内网服务 | 可扫描所有端口 | bridge 网络隔离 |
| 恶意 Skill 提权获取 root | 可能利用漏洞提权 | `no-new-privileges` 阻止提权 |
| 利用内核漏洞容器逃逸 | 以 root 运行,逃逸面大 | 以 `node` 用户运行 + 权限全丢弃,极大缩小攻击面 |
| API Key 被截屏泄露 | 界面显示完整密钥 | UI 脱敏显示 `sk-****xxxx` |
## 功能模块
| 模块 | 说明 |
|------|------|
| **环境安装引导** | 首次启动自动检测系统环境,引导安装 Docker(Colima / Docker Desktop / WSL2) |
| **内置模型管理** | 配置平台 Key,管理 Token 套餐、订单历史和消费记录 |
| **自有模型管理** | BYOK(自带 Key)接入 7 家 AI 服务商,Ollama 接入本地开源模型 |
| **IM 通道管理** | 添加和管理 OpenClaw 连接的 IM 消息通道(飞书 / QQ 机器人 / 微信) |
| **AI 智能体** | 浏览 193 个覆盖 18 个行业的专业 AI Agent 角色,支持分类筛选和搜索 |
| **Skill 技能商店** | 在线搜索、浏览、一键安装 AI 技能插件,支持自定义 Skill 导入 |
| **会话管理** | 查看和管理 AI 对话历史 |
| **AI 聊天** | 内置聊天界面,直接与 AI 模型对话 |
| **容器终端** | 内嵌 xterm.js 终端,直接操作 OpenClaw 容器 Shell |
| **容器管理** | 容器状态监控、启动/停止/重启、资源配置、服务状态查看 |
| **文件管理** | 浏览和管理容器内 workspace、media、sandboxes 目录文件 |
## 支持的 AI 服务
### 云端 AI 服务商
通过平台 Key 或 BYOK(自带 Key)接入:
| 服务商 | 接入方式 | 状态 |
|-------|---------|------|
| 火山引擎(豆包) | 平台 Key / BYOK | 已支持 |
| 智谱 AI(GLM) | 平台 Key / BYOK | 已支持 |
| 阿里云百炼 | 平台 Key / BYOK | 已支持 |
| 腾讯云 | 平台 Key / BYOK | 已支持 |
| Kimi(Moonshot) | 平台 Key / BYOK | 已支持 |
| Minimax | 平台 Key / BYOK | 已支持 |
| DeepSeek | BYOK | 已支持 |
| 腾讯云 DeepSeek | BYOK | 已支持 |
| *更多服务商* | | 持续接入中 |
### 本地模型(Ollama)
支持接入本地运行的 [Ollama](https://ollama.com) 服务,使用开源模型:
- 配置 Ollama 服务器地址(默认 `localhost:11434`)
- 自动发现已下载模型列表
- 连接测试与模型启用/禁用管理
- 数据完全本地化,不经过任何外部服务器
## IM 通道
### 已适配通道
| 通道 | 接入方式 | 状态 |
|------|---------|------|
| 飞书(Feishu) | App ID + App Secret | 已支持 |
| QQ 机器人(QQBot) | App ID + Client Secret | 已支持 |
| 微信(WeChat) | 扫码登录 | 已支持 |
| 企业微信(WeCom) | | 计划中 |
| 钉钉(DingTalk) | | 计划中 |
### OpenClaw 底层支持
底层 OpenClaw 引擎支持 20+ 消息通道,包括 WhatsApp、Telegram、Slack、Discord、Signal、Microsoft Teams、Google Chat、LINE、iMessage 等,客户端 UI 将逐步适配。
## 支持平台
| 平台 | 架构 | 安装包格式 | Docker 方案 |
|------|------|-----------|------------|
| macOS | x64 / arm64 | DMG | Colima 或 Docker Desktop |
| Windows | x64 | NSIS 安装包 | WSL2 Docker 或 Docker Desktop |
| Linux | x64 | AppImage / DEB | 原生 Docker |
## Roadmap
- [x] 跨平台桌面客户端(macOS / Windows / Linux)
- [x] 容器沙箱 + 代理注入安全架构
- [x] 多 AI 服务商接入(火山引擎、智谱、百炼、DeepSeek 等)
- [x] BYOK 自带 Key 管理(加密存储 + 代理注入)
- [x] Ollama 本地模型接入
- [x] Skill 技能商店(在线搜索、一键安装)
- [x] 193 个 AI 智能体角色库(18 个行业)
- [x] IM 通道适配(飞书 / QQ 机器人 / 微信)
- [x] 国内全自动镜像构建(7 层加速)
- [x] 容器内有头浏览器环境(Chromium + VNC + noVNC)
- [x] 中英双语界面
- [ ] 官网下载 & 自动更新
- [ ] 更多 IM 通道适配(企业微信、钉钉等)
- [ ] Web 版管理界面
- [ ] 一键部署到云服务器
- [ ] 更多 AI 服务商(OpenAI、Claude、Gemini 等)
---
## 开发指南
项目结构
```
ArmorClaw-Client/
├── client/ # Electron 桌面客户端
│ ├── electron/ # 主进程
│ │ ├── main.ts # 应用入口、IPC 通道注册、窗口管理
│ │ ├── preload.ts # 预加载脚本(安全隔离的 API 暴露)
│ │ ├── docker-manager.ts # Docker 容器生命周期管理
│ │ ├── proxy-server.ts # 本地代理服务(:19090)
│ │ ├── byok-manager.ts # BYOK 密钥加密存储与管理
│ │ ├── ollama-manager.ts # Ollama 本地模型配置
│ │ ├── config-manager.ts # 应用配置管理
│ │ ├── client-secret-manager.ts # 客户端密钥(HMAC 签名)
│ │ ├── skill-store.service.ts # Skill 商店 API 服务
│ │ ├── skill-store.handler.ts # Skill 商店 IPC 处理
│ │ ├── skill-install-manager.ts # Skill 安装(npm/go/uv/apt/download)
│ │ ├── custom-skill-manager.ts # 自定义 Skill 导入
│ │ ├── installed-tools.ts # 已安装工具持久化(容器重建自动恢复)
│ │ ├── file-manager.ts # 容器文件浏览管理
│ │ ├── terminal-manager.ts # 容器终端(node-pty)
│ │ ├── branding.ts # 品牌配置加载
│ │ ├── fix-openclaw-config.ts # OpenClaw 配置自动修复
│ │ ├── providers/ # Docker 运行时适配
│ │ │ ├── mac-colima.ts # macOS Colima
│ │ │ ├── mac-docker-desktop.ts # macOS Docker Desktop
│ │ │ ├── win-docker-desktop.ts # Windows Docker Desktop
│ │ │ └── win-wsl2-docker.ts # Windows WSL2
│ │ ├── skill-store/ # Skill 商店实现
│ │ └── utils/ # 平台检测等工具函数
│ ├── src/ # 渲染进程(React 前端)
│ │ ├── pages/ # 页面组件
│ │ │ ├── auth/ # 登录、注册、密码重置
│ │ │ ├── ai/ # 模型管理、BYOK、Ollama、计费
│ │ │ ├── im/ # IM 通道配置
│ │ │ ├── agents/ # AI 智能体列表
│ │ │ ├── skills/ # 技能商店
│ │ │ ├── sessions/ # 会话管理
│ │ │ ├── files/ # 文件浏览
│ │ │ ├── container/ # 容器管理
│ │ │ └── account/ # 账户信息
│ │ ├── stores/ # Zustand 状态管理
│ │ ├── components/ # 公共组件(侧边栏、认证守卫等)
│ │ ├── i18n/ # 国际化(中文 / 英文)
│ │ ├── api/ # API 调用层
│ │ ├── config/ # 前端配置(BYOK 提供商预设等)
│ │ └── App.tsx # 路由根组件
│ ├── resources/ # 应用资源(图标、品牌配置、Docker 镜像)
│ ├── scripts/ # 开发辅助脚本
│ ├── SoftwarePackage/ # 打包输出与打包脚本
│ └── default-config.json # 默认配置(API 地址、Skill 商店等)
├── openclaw/ # OpenClaw 开源项目源码(v2026.3.11)
├── agency-agents-zh/ # 193 个 AI 智能体角色库(18 个行业)
├── image-builder/ # Docker 镜像构建工具
│ ├── general/ # 通用配置与依赖清单
│ └── gitee-builder/ # 国内镜像加速构建(含离线二进制)
└── docs/ # 文档与产品截图
```
技术栈
| 类别 | 技术 |
|------|------|
| 桌面框架 | Electron 28 |
| 前端框架 | React 18 + TypeScript 5 |
| 构建工具 | Vite 5 |
| CSS 框架 | Tailwind CSS 3 |
| 状态管理 | Zustand 4 |
| 路由 | React Router 6 |
| 国际化 | i18next + react-i18next |
| 终端模拟 | xterm.js 6 + node-pty |
| HTTP 客户端 | Axios |
| 容器技术 | Docker(Colima / Docker Desktop / WSL2) |
| 打包工具 | electron-builder |
Electron 主进程架构
```
┌─────────────────────────────────────────────────┐
│ main.ts (应用入口) │
│ ├── 单实例锁(防多开) │
│ ├── 窗口管理(1000x700,平台特定标题栏) │
│ └── IPC 通道注册 │
│ │ │
│ ├── docker-manager ─── 容器创建/启动/停止 │
│ │ ├── providers/ ── 平台适配 │
│ │ │ ├── mac-colima │
│ │ │ ├── mac-docker-desktop │
│ │ │ ├── win-docker-desktop │
│ │ │ └── win-wsl2-docker │
│ │ └── 镜像加载(resources/*.tar.gz) │
│ │ │
│ ├── proxy-server ──── 本地代理(:19090) │
│ │ ├── /api/v1/proxy/** → 平台 Key │
│ │ ├── /byok/** → BYOK 自带 Key │
│ │ └── /ollama/** → Ollama 本地模型 │
│ │ │
│ ├── byok-manager ──── 密钥加密存储 │
│ │ └── Electron safeStorage 加密 │
│ │ │
│ ├── ollama-manager ── 本地模型管理 │
│ ├── skill-store ───── Skill 搜索/安装 │
│ ├── file-manager ──── 容器文件浏览 │
│ └── terminal-manager ─ 容器终端 │
└─────────────────────────────────────────────────┘
```
### 环境要求
- **Node.js** >= 18
- **npm** 或 **pnpm**
- **Docker**(首次启动时客户端会自动引导安装)
### 开发模式
```bash
cd client
npm install
npm run dev
```
开发时如需独立运行代理服务器:
```bash
# 仅启动代理服务
npm run dev:proxy
# 代理 + 前端同时启动
npm run dev:all
```
### 构建客户端
```bash
cd client
# 构建当前平台
npm run build
# 指定平台构建
npm run build:mac # macOS (Intel + Apple Silicon)
npm run build:win # Windows (x64)
npm run build:linux # Linux (x64)
```
### 打包安装包
```bash
cd client/SoftwarePackage
# 当前平台当前架构
./install_package.sh
# macOS 全架构(x64 + arm64)
./install_package.sh mac all
# 全平台全架构(正式发布)
./install_package.sh all all
```
### 代码检查
```bash
cd client
# ESLint 检查
npm run lint
# TypeScript 类型检查
npm run typecheck
```
## AI 智能体角色库
`agency-agents-zh/` 目录包含 **193 个即插即用的 AI 专家角色**,覆盖 18 个行业:
| 行业 | 角色示例 |
|------|---------|
| 工程 | 全栈工程师、前端/后端/DevOps 工程师、安全工程师、架构师 |
| 营销 | 小红书运营、抖音策略、B站内容规划、跨境电商运营 |
| 设计 | UI/UX 设计、平面设计、工业设计 |
| 产品 | 产品经理、PRD 撰写 |
| 金融 | 财务分析、投资顾问、税务规划 |
| 法务 | 合规审查、合同审核 |
| 游戏开发 | 游戏策划、关卡设计 |
| *更多* | 学术研究、HR、项目管理、销售... |
支持 14 种 AI 工具集成(OpenClaw、Claude Code、Cursor、Copilot、Aider 等)。
## Docker 镜像构建
ArmorClaw 需要将 OpenClaw 构建为 Docker 镜像,在容器中运行 AI 网关。
### 国内环境构建(推荐)
使用 `gitee-builder`,已全面配置国内加速源,解决 Docker Hub 不可达、GitHub 访问慢等问题:
```bash
cd image-builder/gitee-builder
# 构建完整版镜像(预装所有 Skill 工具)
bash build.sh
# 构建轻量版镜像
bash build-lite.sh
# 构建并打包为 tar.gz(用于离线分发)
bash build-and-package.sh
```
构建全流程与国内加速(7 层自动适配详情)
Docker 镜像构建从头到尾涉及 **7 个网络请求环节**,每一个在国内都可能受阻。`gitee-builder` 构建脚本对所有环节做了自动化的国内适配,开发者无需手动操作:
| # | 环节 | 原始请求目标 | 国内加速方案 | 自动/手动 |
|---|------|------------|------------|----------|
| 1 | **BuildKit 语法前端** | 上游 Dockerfile 首行 `# syntax=docker/dockerfile:1.7` 会触发 BuildKit 从 Docker Hub 拉取语法解析器镜像 | 构建脚本自动删除 `# syntax=...` 声明,使用 Docker 内置解析器 | 自动 |
| 2 | **基础镜像拉取** | `docker pull node:22-bookworm` 从 Docker Hub 拉取(上游 Dockerfile 还带 `@sha256:` digest 锁定,镜像站不支持;且使用 `FROM ${VAR}` 变量引用,BuildKit 会强制联网 resolve metadata) | **三级处理**:自动去掉 `@sha256:` digest;将 `FROM ${VAR}` 变量引用替换为硬编码镜像名,避免 BuildKit metadata resolve 联网;预拉取时走 registry-mirrors,失败则逐个尝试镜像站前缀拉取后 `docker tag` 回原名;构建时使用 `--pull=false` 跳过 registry 检查 | 自动 |
| 3 | **DNS 解析** | BuildKit daemon 和容器内网络请求依赖 DNS,Colima VM 默认 DNS 可能不通 | **三层 DNS 保障**:自动向 Docker daemon.json 注入国内公共 DNS(阿里 `223.5.5.5` + 腾讯 `119.29.29.29`);检测并注入国内 DNS 到 Colima VM 系统 `/etc/resolv.conf`;在 Dockerfile 每条 RUN 前注入 `nameserver` 配置作为容器内双保险 | 自动 |
| 4 | **OpenClaw 源码** | `git clone https://github.com/openclaw/openclaw` | 优先从 Gitee 克隆,GitHub 作为 fallback | 自动 |
| 5 | **npm / pnpm 包安装** | Dockerfile 内 `pnpm install` 默认走 `registry.npmjs.org` | 在 `pnpm install` 前注入淘宝源;使用多源 fallback 脚本(淘宝 > 华为 > 腾讯 > 官方) | 自动 |
| 6 | **corepack / pnpm 运行时** | 上游 Dockerfile 用 `corepack prepare pnpm` 从 npm registry 在线下载 pnpm 二进制,有 10s 超时问题 | 替换为 `npm install -g pnpm@版本号`,从已配置的淘宝源安装,绕过 corepack 超时 | 自动 |
| 7 | **Skill CLI 工具** | bun(`bun.sh`)、uv(`astral.sh`)、himalaya / openhue(GitHub Releases)等均无国内镜像 | **三级 fallback**:本地 `offline-bins/` 预编译包 COPY 进镜像;从自建 OSS 源站下载;回退到原始地址 | 自动 |
> **补充说明**:Go 模块下载(走七牛 `goproxy.cn` 多源 fallback)、Python 包安装(走清华 `pypi.tuna.tsinghua.edu.cn` 多源 fallback)、Debian APT(替换为阿里云 `mirrors.aliyun.com`),均已在构建脚本中自动处理。
Docker Hub 镜像加速器配置
上述环节 2 依赖 Docker Hub 镜像加速器(registry-mirrors)。构建脚本会自动检测并尝试注入:
| Docker 运行环境 | 自动配置 | 手动配置方式 |
|---------------|---------|------------|
| **Colima (macOS)** | SSH 进 VM 自动注入 daemon.json | 也可编辑 `~/.colima/default/colima.yaml` |
| **Docker Desktop** | 需手动 | Settings > Docker Engine > 添加 `"registry-mirrors"` |
| **Linux 原生** | 自动注入 `/etc/docker/daemon.json` | 也可手动编辑 |
推荐加速地址(在 `config.env` 的 `DOCKER_HUB_MIRRORS` 中配置,逗号分隔):
```
https://docker.1panel.live # 1Panel / Cloudflare
https://hub.rat.dev
https://docker.m.daocloud.io # DaoCloud
https://docker.xuanyuan.me # 轩辕镜像
https://docker.1ms.run
```
### 镜像版本
| 镜像 | 说明 |
|------|------|
| `armorclaw:latest` | 基础运行环境 + sudo 受控提权,工具按需安装 |
支持 **amd64** 和 **arm64** 双架构。
### 为什么安装包这么大?
ArmorClaw 客户端安装包约 **700MB ~ 1GB**,这是因为安装包内嵌了完整的 Docker 镜像(`armorclaw-*.tar.gz`),用户安装后无需联网下载即可直接使用。
内嵌镜像内容结构
```
armorclaw-{arch}.tar.gz (Docker 镜像)
│
├── 基础系统层
│ ├── Debian 12 (bookworm)
│ ├── Node.js 22
│ └── 系统工具: procps, hostname, curl, git, openssl
│
├── 运行时环境
│ ├── pnpm (包管理器)
│ ├── uv (Python 包管理器)
│ ├── Go (可选)
│ └── Python3 + pip3
│
├── OpenClaw 核心
│ ├── /app/dist/ # 编译后的代码
│ ├── /app/node_modules/ # 依赖包
│ ├── /app/openclaw.mjs # 入口文件
│ ├── /app/extensions/ # 扩展模块
│ ├── /app/skills/ # Skill 定义
│ └── /app/docs/ # 文档模板
│
└── 可选组件 (--browser 参数)
├── Chromium 浏览器
├── Playwright
└── Xvfb (虚拟显示器)
```
| 镜像类型 | 大小 | 说明 |
|---------|------|------|
| **Lite 版** | ~500MB (压缩后 ~150MB) | 基础环境 + OpenClaw 核心 + sudo 受控提权 |
| **+Browser** | +300MB | 预装 Chromium + Playwright + noVNC |
**镜像的作用**:客户端启动时,会自动加载内嵌的 Docker 镜像,在容器中运行 OpenClaw AI 网关(端口 18789),执行 Skill 任务。
> **轻量包模式**:如果不需要离线使用,可以删除 `client/resources/armorclaw-*.tar.gz` 后再打包,客户端首次启动时会提示用户从远程拉取镜像,安装包体积可降至 ~100MB。
## 许可证
ArmorClaw Client 采用双许可模式:
- **开源许可**:[AGPL-3.0](LICENSE) -- 个人使用、学术研究、开源项目免费使用。任何修改或衍生作品(包括 SaaS 部署)必须同样以 AGPL-3.0 开源。
- **商业许可**:如需闭源使用、商业集成或 SaaS 部署且不希望开源,请联系我们获取商业许可。
**OpenClaw**:[MIT License](openclaw/LICENSE)
> 商业授权咨询请通过 [Issues](https://gitee.com/aiteck/ArmorClaw/issues) 联系我们。
## 参与贡献
欢迎提交 Issue 和 Pull Request!
1. Fork 本仓库
2. 创建你的特性分支:`git checkout -b feature/amazing-feature`
3. 提交改动:`git commit -m 'feat: add amazing feature'`
4. 推送分支:`git push origin feature/amazing-feature`
5. 提交 Pull Request
## 社区
[](https://discord.gg/GgqyQWPe6K)
[](https://t.me/ArmorClaw_AI)
[](https://t.me/ArmorClaw)
- [Discord 服务器](https://discord.gg/GgqyQWPe6K) -- 社区交流中心
- [Telegram 频道](https://t.me/ArmorClaw_AI) -- 项目公告 & 版本更新
- [Telegram 群组](https://t.me/ArmorClaw) -- 问题求助 & 交流讨论
## 联系我们
如有问题或建议,欢迎通过 [Issues](https://gitee.com/aiteck/ArmorClaw/issues) 反馈。