81 lines
2.6 KiB
Markdown
81 lines
2.6 KiB
Markdown
# Ubuntu AI CLI 工具箱
|
|
|
|
这套部署包在一台独立 Ubuntu 主机的 Docker 中统一运行以下工具:
|
|
|
|
- Codex CLI
|
|
- Claude Code
|
|
- Tencent CodeBuddy Code
|
|
- Kimi Code CLI
|
|
- OpenCode
|
|
- Qwen Code
|
|
- DeepSeek Harness (`dsh`)
|
|
- CC Switch CLI
|
|
- Multica 客户端 Runtime 与 daemon
|
|
|
|
OpenClaw 不在这个容器中安装,继续使用 Ubuntu 主机上现有的 OpenClaw。Cursor 桌面版继续运行在 Windows,通过 Remote SSH 编辑 Ubuntu 上的项目。
|
|
|
|
## AgentDock 网页控制台
|
|
|
|
本项目现在还提供一个仅限局域网使用的网页控制台:
|
|
|
|
- 保留 OpenDesign `agent-console-v4.html` 的视觉、布局和设计 Token
|
|
- 单管理员登录,无公开注册
|
|
- 浏览器内真实 PTY 终端,支持关闭浏览器后重新连接
|
|
- 实时显示 CLI 版本、运行实例、CPU、内存、会话日志和 Git Diff
|
|
- 在设置页管理加密 API Key、默认模型和 DeepSeek Harness profile
|
|
- 使用 CC Switch 管理 Claude、Codex、OpenCode 的 Provider、MCP 和 Skills
|
|
- 连接现有 Multica 自托管服务端,让 Runtime 调度容器内 CLI
|
|
- Runner 只允许 7 个登记过的 CLI,项目目录只能位于 `/workspace`
|
|
- 不挂载 Docker Socket
|
|
|
|
服务关系如下:
|
|
|
|
```text
|
|
浏览器 -> ai-proxy (HTTPS + LAN 限制) -> ai-console -> ai-tools (Runner + Multica daemon + CLI)
|
|
```
|
|
|
|
## 最终效果
|
|
|
|
Windows 上可以直接运行:
|
|
|
|
```powershell
|
|
.\scripts\remote-ai.ps1 -Server nas -Tool codex -Project my-project
|
|
```
|
|
|
|
AI CLI 实际在 Ubuntu 的 Docker 容器中运行,Windows Terminal 只负责显示和输入。项目文件位于 NAS 的 `/vol1/1000/docker/ai-toools/workspace`,在容器内对应 `/workspace`。
|
|
|
|
## 文档入口
|
|
|
|
1. [部署说明](docs/DEPLOYMENT.md)
|
|
2. [日常使用](docs/USAGE.md)
|
|
3. [升级和备份](docs/MAINTENANCE.md)
|
|
4. [常见故障](docs/TROUBLESHOOTING.md)
|
|
5. [官方资料来源](docs/SOURCES.md)
|
|
6. [192.168.200.36 实际部署记录](docs/SERVER-192.168.200.36.md)
|
|
|
|
## 最短部署步骤
|
|
|
|
在 Ubuntu 主机上进入本目录,然后执行:
|
|
|
|
```bash
|
|
cp .env.example .env
|
|
chmod +x scripts/ai
|
|
mkdir -p /vol1/1000/docker/ai-toools/workspace
|
|
docker compose build
|
|
docker compose up -d
|
|
docker compose exec ai-tools ai-tools-check
|
|
```
|
|
|
|
网页控制台还需要在 `.env` 设置 `ADMIN_PASSWORD`、`RUNNER_TOKEN` 和
|
|
`CONFIG_ENCRYPTION_KEY`。完整步骤见 [网页控制台部署说明](docs/CONSOLE-DEPLOYMENT.md)。
|
|
|
|
首次使用某个工具时,需要在容器内完成它自己的登录:
|
|
|
|
```bash
|
|
./scripts/ai codex .
|
|
./scripts/ai claude .
|
|
./scripts/ai kimi .
|
|
```
|
|
|
|
登录信息保存在部署目录的 `data` 中。重启或重建容器不会清除它,请不要把这个目录公开或提交到 Git。
|