远程代理指南
远程代理是一个运行在远程机器上的 Python 守护进程,通过 Open ACE 平台提供 AI 编码工具访问。
架构
┌──────────┐ HTTP Polling ┌──────────────┐
│ Agent │ ◄──────────────► │ Flask API │
│ (daemon) │ 1s interval │ │
└────┬─────┘ └──────────────┘
│
├── subprocess ──► CLI Tool (claude/qwen/codex/openclaw)
│
└── WebSocket ──► Terminal Server (PTY)
│
Browser (xterm.js)
安装
Linux / macOS
curl -fsSL https://<server>/api/remote/agent/install.sh | bash -s -- \
--server https://your-server.com \
--token <agent-token> \
--name my-machine
参数说明:
--server— Open ACE 服务器 URL(必需)--token— 代理注册令牌(必需)--name— 机器显示名称--install-cli— 默认 CLI 工具(默认:qwen-code-cli)--dir— 安装目录(默认:~/.open-ace-agent)
Windows
.\install.ps1 -ServerUrl https://your-server.com -Token <agent-token>
系统要求
- Python 3.8+
- websocket-client、requests、websockets(自动安装)
配置
配置文件:~/.open-ace-agent/config.json
| 设置 | 默认值 | 说明 |
|---|---|---|
| server_url | http://localhost:5000 | Open ACE 服务器 |
| heartbeat_interval | 60s | 心跳频率 |
| reconnect_base_delay | 1s | 初始重连延迟 |
| reconnect_max_delay | 60s | 最大重连延迟(指数退避) |
| buffer_size | 4096 | 终端输出缓冲 |
| max_sessions | 5 | 并发会话数 |
| log_level | INFO | 日志级别 |
| skip_ssl_verify | true | 跳过 SSL 验证 |
环境变量覆盖:OPENACE_SERVER_URL、OPENACE_AGENT_TOKEN、OPENACE_MACHINE_ID、OPENACE_HEARTBEAT_INTERVAL、OPENACE_MAX_SESSIONS、OPENACE_LOG_LEVEL、OPENACE_SKIP_SSL_VERIFY
支持的 CLI 工具
| 工具 | 可执行文件 | NPM 包 | 配置位置 |
|---|---|---|---|
| Claude Code | claude | @anthropic-ai/claude-code | ~/.claude/ |
| Qwen Code | qwen | @qwen-code/qwen-code | ~/.qwen/ |
| Codex | codex | @openai/codex | ~/.codex/config.toml |
| OpenClaw | openclaw | N/A | — |
每个工具在 cli_adapters/ 中有专用适配器,处理启动参数、环境变量、权限模式和会话恢复。