# 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管理 | |:------:|:----------:|:----------:| | ![主界面](docs/images/screenshot-home.png) | ![智能体](docs/images/screenshot-agent.png) | ![Skill管理](docs/images/screenshot-skills.png) | | 内置模型 | 自有模型 | 资源监控 | |:----------:|:-------:|:-------:| | ![内置模型](docs/images/buildin-models.png) | ![自有模型](docs/images/byok-models.png) | ![资源监控](docs/images/screenshot-monitor.png) | ## 核心特性 - **跨平台支持**: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 ## 社区 [![Discord](https://img.shields.io/badge/Discord-社区交流-5865F2?logo=discord&logoColor=white)](https://discord.gg/GgqyQWPe6K) [![Telegram Channel](https://img.shields.io/badge/Telegram-公告频道-blue?logo=telegram)](https://t.me/ArmorClaw_AI) [![Telegram Group](https://img.shields.io/badge/Telegram-交流群组-blue?logo=telegram)](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) 反馈。