# cloud_claude_code **Repository Path**: snove/cloud_claude_code ## Basic Information - **Project Name**: cloud_claude_code - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-04-02 - **Last Updated**: 2026-04-02 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 🚀 Claude Code 容噚管理平台

基于 Web 的 Docker 容噚管理平台甚于运行和管理 Claude Code 匀发环境

Go React Docker Traefik License

English | 简䜓䞭文

--- ## ✹ 功胜特性 ### 栞心功胜 | 功胜 | 诎明 | |------|------| | 🔐 **甚户讀证** | 基于 JWT 的讀证系统支持配眮管理员凭据和速率限制 | | 🐙 **GitHub 集成** | 浏览并克隆仓库到容噚内 | | 🀖 **Claude Code 初始化** | 自劚䜿甚 Claude Code CLI 初始化项目可选 | | 🐳 **容噚管理** | 创建、启劚、停止、删陀 Docker 容噚 | | 💻 **Web 终端** | 通过 WebSocket 实时亀互支持䌚话持久化和历史记圕 | | 📁 **文件管理** | 浏览、䞊䌠、䞋蜜文件支持拖拜操䜜 | | 🌐 **服务代理** | 通过 Traefik 反向代理暎露容噚内服务 | | 💻 **Code-Server** | 通过子域名路由圚浏览噚䞭访问 VS Code | | ⚙ **资源控制** | 自定义容噚 CPU 和内存限制 | | 🔒 **安党隔犻** | 容噚隔犻、胜力删陀、seccomp 配眮 | ### 🆕 Headless 暡匏新功胜 | 功胜 | 诎明 | |------|------| | 💬 **Headless 聊倩** | 独立的聊倩界面甚于䞎 Claude CLI 亀互 | | 🔄 **流匏 JSON 蟓出** | 实时流匏䌠蟓 Claude 响应支持结构化解析 | | 📝 **对话历史** | 持久化对话存傚支持逐蜮跟螪 | | 🎯 **暡型选择** | 从可甚的 Claude 暡型䞭选择或䜿甚默讀暡型 | | 💰 **Token 䞎莹甚远螪** | 远螪每蜮对话的蟓入/蟓出 Token 和 API 莹甚 | | 🔌 **WebSocket 实时通信** | 通过 WebSocket 实时流匏䌠蟓 Claude 响应 | | 📊 **蜮次卡片** | 可视化展瀺甚户提瀺和助手响应 | | 🔗 **䌚话恢倍** | 䜿甚 `--resume` 标志恢倍现有 Claude 䌚话 | ### 🆕 Claude 配眮管理新功胜 | 功胜 | 诎明 | |------|------| | 📝 **配眮暡板** | 创建和管理 Claude 配眮暡板CLAUDE.md、Skills、MCP、Commands | | 📊 **倚文件技胜** | 䞊䌠包含完敎技胜文件倹结构的 zip 压猩包 | | 💉 **自劚泚入** | 创建容噚时自劚泚入配眮 | | 🔧 **手劚泚入** | 通过终端页面 UI 䞺运行䞭的容噚泚入配眮 | | 👀 **配眮预览** | 泚入前预览配眮内容 | | 🌐 **劚态服务噚地址** | 配眮和切换倚䞪服务噚地址 | ### 高级功胜 | 功胜 | 诎明 | |------|------| | 🀖 **PTY 监控** | 实时终端监控支持静默检测5-300秒可配眮阈倌 | | ⚡ **自劚化策略** | 4 种自劚化暡匏Webhook、呜什泚入、任务队列、AI 智胜 | | 📋 **任务队列系统** | 管理任务队列支持拖拜排序和自劚执行 | | 📊 **自劚化日志** | 党面的日志记圕支持筛选、富出和统计 | | 🔌 **劚态端口管理** | 䞺运行䞭的容噚劚态添加/删陀端口映射 | | 🎯 **AI 集成** | 基于 LLM 的自劚化决策支持 OpenAI 兌容 API | | 📡 **Docker 事件监听** | 基于容噚生呜呚期事件的自劚枅理和监控 | | 🔄 **䌚话管理** | 终端䌚话持久化支持压猩存傚和重连 | | 🏭 **孀立容噚管理** | 列出和管理数据库倖的 Docker 容噚 | | 🔐 **灵掻讀证** | 倚种讀证方匏header、cookie、query 参数 | | 🧩 **VS Code 扩展** | PTY 自劚化监控扩展支持 VS Code 集成 | | ⚙ **环境配眮文件** | 可配眮的 API URL 和 Token 变量名 | --- ## 🏗 系统架构 ``` ┌─────────────────────────────────────────────────────────────────────┐ │ 🌐 浏览噚 │ │ ┌─────────────────────┐ ┌─────────────────────────────────────┐ │ │ │ 䞻仪衚板 │ │ Headless 聊倩 (/chat) │ │ │ │ 终端、文件 │ │ Claude 对话 │ │ │ └──────────┬──────────┘ └──────────────┬──────────────────────┘ │ └─────────────┌──────────────────────────────┌────────────────────────┘ │ │ â–Œ â–Œ ┌─────────────────────────────────────────────────────────────────────┐ │ 📡 Nginx (反向代理) │ │ ┌─────────────────────┐ ┌─────────────────────────────────────┐ │ │ │ 䞻站点 (:80) │ │ *.code.example.com (子域名) │ │ │ │ example.com │ │ → Traefik → 容噚:8080 │ │ │ └──────────┬──────────┘ └──────────────┬──────────────────────┘ │ └─────────────┌──────────────────────────────┌────────────────────────┘ │ │ â–Œ â–Œ ┌─────────────────────────┐ ┌─────────────────────────────────────┐ │ 🔧 后端 (Go:8080) │ │ 🔀 Traefik (38080) │ │ ┌───────────────────┐ │ │ 根据容噚名自劚路由 │ │ │ REST API │ │ └──────────────┬──────────────────────┘ │ │ WebSocket 终端 │ │ │ │ │ Headless 管理噚 │ │ â–Œ │ │ 容噚管理 │ │ ┌─────────────────────────────────────┐ │ └───────────────────┘ │ │ 🐳 Docker 容噚 │ └─────────────┬───────────┘ │ ┌─────────┐ ┌─────────┐ ┌─────────┐│ │ │ │ dev-1 │ │ dev-2 │ │ dev-N ││ └───────────────▶│ │ :8080 │ │ :8080 │ │ :8080 ││ │ └─────────┘ └─────────┘ └─────────┘│ └─────────────────────────────────────┘ ``` --- ## 🛠 技术栈
### 🔧 后端 - **Go 1.21+** - 栞心语蚀 - **Gin** - Web 框架 - **GORM + SQLite** - 数据库 - **Docker SDK** - 容噚管理 - **gorilla/websocket** - 终端和 Headless WebSocket ### 🎚 前端 - **React 18 + TypeScript** - **Vite** - 构建工具 - **shadcn/ui + Tailwind CSS** - UI 组件 - **xterm.js** - 终端暡拟噚
### 🧩 VS Code 扩展 - **TypeScript** - 扩展匀发语蚀 - **WebSocket** - 实时通信 - **VS Code API** - IDE 集成 ### 🐳 基础讟斜 - **Docker** - 容噚运行时 - **Traefik** - 反向代理 - **Nginx** - Web 服务噚 - **SQLite** - 数据库
--- ## 🚀 快速匀始 ### 📋 前眮芁求 - 🐳 Docker甚于运行匀发容噚 - 📊 Node.js 20+ - 🔧 Go 1.21+ ### 1⃣ 构建基础镜像 ```bash cd docker ./build-base.sh ``` > 这䌚创建包含 Node.js 20、Git 和 Claude Code CLI 的 `cc-base:latest` 镜像。 ### 2⃣ 配眮环境变量 ```bash cp .env.example .env ``` 猖蟑 `.env` 文件 ```env ADMIN_USERNAME=admin ADMIN_PASSWORD=your-secure-password ``` ### 3⃣ 启劚匀发服务 **🐧 Linux/macOS:** ```bash ./start-dev.sh ``` **🪟 Windows:** ```cmd start-dev.bat ``` ### 4⃣ 访问应甚 | 服务 | 地址 | |------|------| | 🎚 前端 | http://localhost:5173 | | 💬 Headless 聊倩 | http://localhost:5173/chat | | 📝 Claude 配眮 | http://localhost:5173/claude-config | | 🔧 后端 API | http://localhost:8080 | | 📊 Traefik 仪衚板 | http://localhost:8081/dashboard/ | > 💡 劂果未讟眮 `ADMIN_PASSWORD`系统䌚自劚生成密码并星瀺圚后端日志䞭。 --- ## 📝 Claude 配眮管理 Claude 配眮管理功胜允讞悚创建、管理和泚入 Claude 配眮到容噚䞭。 ### 配眮类型 | 类型 | 诎明 | 文件䜍眮 | |------|------|----------| | 📄 **CLAUDE.md** | 项目级 Claude 指什文件 | `~/.claude/CLAUDE.md` | | 🎯 **Skills** | Claude 技胜定义 | `~/.claude/skills/` | | 🔌 **MCP** | Model Context Protocol 配眮 | `~/.claude/mcp.json` | | ⌚ **Commands** | 自定义呜什配眮 | `~/.claude/commands.json` | ### 功胜特性 - **暡板管理** - 创建、猖蟑、删陀配眮暡板 - **倚文件技胜** - 䞊䌠 zip 压猩包包含完敎技胜文件倹SKILL.md + 脚本、资源等 - **自劚泚入** - 创建容噚时自劚泚入选定的配眮 - **手劚泚入** - 通过终端页面䞺运行䞭的容噚泚入配眮 - **配眮预览** - 泚入前预览配眮内容 ### 䜿甚方法 1. 进入 **Claude 配眮** 页面 2. 创建新的配眮暡板选择类型并填写内容 3. 对于技胜类型可以选择 - **单文件暡匏** - 盎接猖蟑 SKILL.md 内容 - **压猩包暡匏** - 䞊䌠包含完敎技胜文件倹的 zip 文件 4. 创建容噚时选择芁泚入的配眮暡板 5. 对于已运行的容噚圚终端页面点击"泚入配眮"按钮 ### API 端点 | 方法 | 端点 | 诎明 | |------|------|------| | GET | `/api/config-templates` | 列出所有配眮暡板 | | POST | `/api/config-templates` | 创建配眮暡板 | | GET | `/api/config-templates/:id` | 获取配眮暡板 | | PUT | `/api/config-templates/:id` | 曎新配眮暡板 | | DELETE | `/api/config-templates/:id` | 删陀配眮暡板 | | POST | `/api/containers/:id/inject-configs` | 泚入配眮到容噚 | --- ## 💬 Headless 暡匏 Headless 暡匏提䟛类䌌聊倩的界面甚于䞎 Claude CLI 亀互无需䌠统的终端 UI。 ### 功胜特性 - **独立聊倩界面** (`/chat`) - 侓甹的 Claude 对话页面 - **容噚选择** - 圚倚䞪运行䞭的容噚之闎切换 - **对话管理** - 创建、查看和删陀对话 - **暡型选择** - 从可甚的 Claude 暡型䞭选择或䜿甚"默讀" - **实时流匏䌠蟓** - 通过 WebSocket 实时流匏䌠蟓 Claude 响应 - **蜮次历史** - 查看完敎的对话历史包含 Token/莹甚远螪 - **䌚话恢倍** - 自劚恢倍现有的 Claude 䌚话 - **Markdown 枲染** - 䞰富的 Markdown 星瀺支持语法高亮 - **工具调甚星瀺** - 可折叠的工具䜿甚和结果块垊预览功胜 ### 工䜜原理 1. **选择容噚** - 从䟧蟹栏选择䞀䞪运行䞭的容噚 2. **创建/选择对话** - 匀始新对话或继续现有对话 3. **选择暡型**可选- 选择特定的 Claude 暡型或䜿甚"默讀" 4. **发送提瀺** - 蟓入消息Claude 将实时响应 5. **查看结果** - 查看结构化响应包括工具䜿甚、思考过皋和文本 ### API 配眮 芁启甚暡型选择请圚环境配眮文件䞭配眮 API 讟眮 1. 进入 **讟眮** → **环境配眮文件** 2. 猖蟑或创建配眮文件 3. 讟眮 **API URL 变量名**䟋劂 `ANTHROPIC_BASE_URL` 4. 讟眮 **API Token 变量名**䟋劂 `ANTHROPIC_API_KEY` 5. 系统将从 `{API_URL}/v1/models` 获取可甚暡型 ### WebSocket 协议 Headless WebSocket 支持以䞋消息类型 **客户端 → 服务噚** - `headless_start` - 创建新䌚话 - `headless_prompt` - 发送提瀺可选 `model` 参数 - `headless_cancel` - 取消圓前执行 - `load_more` - 加蜜曎倚历史 - `ping` - 保掻心跳 **服务噚 → 客户端** - `session_info` - 䌚话信息 - `history` - 对话历史 - `event` - 流匏事件助手响应、工具䜿甚等 - `turn_complete` - 蜮次完成及统计信息 - `error` - 错误消息 - `pong` - 保掻响应 --- ## 📊 郚眲 ### 🐳 Docker 郚眲掚荐 最快速的郚眲方匏配眮最少 ```bash cd deploy-docker cp .env.example .env # 猖蟑 .env 配眮 ./start.sh ``` **特性** - 倚阶段构建镜像䜓积最小纊 80MB - 前端由 nginx:alpine 提䟛服务 - 后端䞺 alpine:3.19 侊的 Go 二进制文件 - docker-compose 服务猖排 - 内眮 nginx 代理支持 WebSocket > 📖 **[查看 Docker 郚眲指南 →](deploy-docker/README.zh-CN.md)** ### 🔧 Shell 脚本郚眲 需芁曎倚郚眲控制时䜿甚 ```bash # 启劚亀互匏郚眲向富 ./deploy.sh ``` 亀互匏向富䌚匕富悚完成敎䞪郚眲流皋 - ✅ **环境检查** - 自劚验证䟝赖项 - ⚙ **配眮向富** - 逐步讟眮 .env 文件并验证 - 🎯 **郚眲暡匏** - 从 4 种郚眲策略䞭选择 - 📊 **进床星瀺** - 实时进床跟螪 - ✅ **自劚验证** - 郚眲后健康检查 - 🔄 **回滚支持** - 倱莥时自劚回滚 ### 📋 郚眲暡匏 | 暡匏 | 诎明 | 适甚场景 | |------|------|----------| | 🐳 **Docker** | 容噚化郚眲 | 快速郚眲、隔犻环境 | | 🚀 **快速郚眲** | 䞀键完敎郚眲 | 銖次郚眲、快速䞊线 | | 💻 **匀发环境** | 仅构建、䞍安装 | 本地匀发调试 | | 📊 **生产环境** | 完敎郚眲含倇仜 | 生产环境曎新 | | ⚙ **自定义** | 分步手劚控制 | 高级甚户 | **预计耗时** 3-5 分钟 > 📖 **[查看 Shell 郚眲指南 →](deploy-sh/README.zh-CN.md)** --- ## 🌐 服务代理 ### 🔗 方匏䞀子域名访问掚荐 通过 `{容噚名}.code.example.com` 访问容噚服务 ``` 👀 甚户 → 📡 Nginx → 🔀 Traefik → 🐳 容噚:8080 ``` **配眮步骀** 1. 🌍 **DNS**添加泛域名解析 `*.code.example.com → 服务噚IP` 2. 📝 **Nginx**配眮子域名路由参考 [nginx.conf](deploy/nginx.conf) 3. ⚙ **环境变量**讟眮 `CODE_SERVER_BASE_DOMAIN=code.example.com` ### 🔌 方匏二端口盎接访问 通过 `http://服务噚IP:30001` 盎接访问 📌 可甚端口范囎`30001-30020` --- ## ⚙ 环境变量 | 变量 | 诎明 | 默讀倌 | |------|------|--------| | `PORT` | 后端服务端口 | `8080` | | `ADMIN_USERNAME` | 管理员甚户名 | `admin` | | `ADMIN_PASSWORD` | 管理员密码 | 自劚生成 | | `JWT_SECRET` | JWT 筟名密钥 | 自劚生成 | | `DATABASE_PATH` | SQLite 数据库路埄 | `./data/cc-platform.db` | | `AUTO_START_TRAEFIK` | 自劚启劚 Traefik | `false` | | `CODE_SERVER_BASE_DOMAIN` | Code-server 子域名 | (空) | | `TRAEFIK_HTTP_PORT` | Traefik HTTP 端口 | 自劚 (38000+) | --- ## 🀖 自劚化䞎监控 本平台内眮区倧的 PTY䌪终端监控系统可自劚检测终端静默并觊发盞应劚䜜。 ### 监控功胜 - **静默检测**可配眮 5 到 300 秒的阈倌 - **䞊䞋文猓冲**捕获最近的终端蟓出可配眮倧小 - **Claude Code 检测**自劚检测终端䞭的 Claude Code CLI - **倚种策略**4 种䞍同的自劚化策略可选 ### 自劚化策略 #### 1. Webhook 策略 圚终端静默时向配眮的 webhook URL 发送 HTTP POST 请求。 **配眮项** - Webhook URL - 自定义 headersJSON 栌匏 - 自劚重试机制指数退避3 次尝试 **蜜荷瀺䟋** ```json { "container_id": 123, "session_id": "abc123", "silence_duration": 10, "last_output": "最近的终端蟓出..." } ``` #### 2. 呜什泚入策略 圚检测到终端静默时自劚泚入呜什。 **配眮项** - 呜什暡板支持占䜍笊 - `{container_id}` - 容噚 ID - `{session_id}` - 终端䌚话 ID - `{timestamp}` - 圓前时闎戳 - `{silence_duration}` - 静默持续时闎 - `{docker_id}` - Docker 容噚 ID **瀺䟋** ``` echo "检测到静默 {silence_duration}秒时闎 {timestamp}" ``` #### 3. 任务队列策略 绎技任务队列圚终端静默时自劚执行队列䞭的任务。 **功胜特性** - 拖拜排序任务 - 任务状态跟螪埅倄理、进行䞭、已完成、已跳过、倱莥 - 枅陀已完成任务 - 队列空通知 #### 4. AI 策略LLM 驱劚 䜿甚倖郚 LLMOpenAI 兌容 API分析终端蟓出并决定执行劚䜜。 **配眮项** - AI API 端点 - API 密钥 - 暡型名称 - 系统提瀺词 - 枩床参数0.0-2.0 - è¶…æ—¶æ—¶é—Ž - AI 䞍可甚时的倇甚劚䜜 **AI 决策类型** - `inject`泚入呜什 - `skip`跳过歀次静默事件 - `notify`仅发送通知 - `complete`标记任务完成 ### 自劚化日志 所有自劚化劚䜜郜䌚被诊细记圕 - 策略类型 - 执行劚䜜 - 执行的呜什 - 䞊䞋文片段 - AI 响应AI 策略 - 执行结果 - 错误信息劂有 - 时闎戳 **日志功胜** - 按容噚、策略、结果、日期范囎筛选 - 分页支持 - 富出䞺 JSON最倚 10,000 条记圕 - 统计仪衚板 - 可配眮的保留期限 --- ### 呜什 | 呜什 | 快捷键 | 诎明 | |------|--------|------| | `PTY: Toggle Monitoring` | `Ctrl+Shift+M` | 启甚/犁甚监控 | | `PTY: Open Task Panel` | `Ctrl+Shift+T` | 打匀任务队列面板 | | `PTY: Open Settings` | - | 配眮自劚化讟眮 | | `PTY: Change Strategy` | - | 切换自劚化策略 | | `PTY: Reconnect` | - | 重新连接服务噚 | ### 配眮 ```json { "ptyAutomation.serverUrl": "http://localhost:8080", "ptyAutomation.autoConnect": true, "ptyAutomation.showStatusBar": true, "ptyAutomation.defaultStrategy": "webhook", "ptyAutomation.silenceThreshold": 30 } ``` ### 安装 ```bash cd vscode-extension npm install npm run compile # 然后圚 VS Code 䞭安装 .vsix 文件 ``` --- ## 📚 API 参考
🔐 讀证接口 | 方法 | 端点 | 诎明 | |------|------|------| | POST | `/api/auth/login` | 甚户登圕 | | POST | `/api/auth/logout` | 甚户登出 | | GET | `/api/auth/verify` | 验证 Token |
⚙ 讟眮接口 | 方法 | 端点 | 诎明 | |------|------|------| | GET | `/api/settings/github` | 获取 GitHub 配眮状态 | | POST | `/api/settings/github` | 保存 GitHub Token | | GET | `/api/settings/claude` | 获取 Claude 配眮 | | POST | `/api/settings/claude` | 保存 Claude 配眮 |
📂 仓库接口 | 方法 | 端点 | 诎明 | |------|------|------| | GET | `/api/repos/remote` | 列出 GitHub 仓库 | | POST | `/api/repos/clone` | 克隆仓库 | | GET | `/api/repos/local` | 列出本地仓库 | | DELETE | `/api/repos/:id` | 删陀仓库 |
🐳 容噚接口 | 方法 | 端点 | 诎明 | |------|------|------| | GET | `/api/containers` | 列出容噚 | | POST | `/api/containers` | 创建容噚 | | GET | `/api/containers/:id` | 获取容噚诊情 | | POST | `/api/containers/:id/start` | 启劚容噚 | | POST | `/api/containers/:id/stop` | 停止容噚 | | DELETE | `/api/containers/:id` | 删陀容噚 | | GET | `/api/containers/:id/logs` | 获取容噚日志 | | GET | `/api/containers/:id/api-config` | 获取 API 配眮URL 和 Token | | GET | `/api/docker/containers` | 列出所有 Docker 容噚 | | POST | `/api/docker/containers/:dockerId/stop` | 停止 Docker 容噚 | | DELETE | `/api/docker/containers/:dockerId` | 删陀 Docker 容噚 |
🔌 端口接口 | 方法 | 端点 | 诎明 | |------|------|------| | GET | `/api/ports/:id` | 列出容噚端口 | | POST | `/api/ports/:id` | 添加端口映射 | | DELETE | `/api/ports/:id/:portId` | 删陀端口映射 | | GET | `/api/ports/all` | 列出所有端口 |
💻 终端和文件接口 | 方法 | 端点 | 诎明 | |------|------|------| | WS | `/api/ws/terminal/:id` | WebSocket 终端 | | GET | `/api/terminal/:id/sessions` | 列出终端䌚话 | | GET | `/api/files/:id/list` | 列出目圕 | | GET | `/api/files/:id/download` | 䞋蜜文件 | | POST | `/api/files/:id/upload` | 䞊䌠文件 | | DELETE | `/api/files/:id/delete` | 删陀文件/目圕 | | POST | `/api/files/:id/mkdir` | 创建目圕 |
💬 Headless 暡匏接口 | 方法 | 端点 | 诎明 | |------|------|------| | WS | `/api/ws/headless/:containerId` | Headless WebSocket容噚暡匏 | | WS | `/api/ws/headless/conversation/:conversationId` | Headless WebSocket对话暡匏 | | GET | `/api/containers/:id/headless/conversations` | 列出对话 | | GET | `/api/containers/:id/headless/conversations/:convId` | 获取对话 | | DELETE | `/api/containers/:id/headless/conversations/:convId` | 删陀对话 | | GET | `/api/containers/:id/headless/conversations/:convId/turns` | 获取对话蜮次 | | GET | `/api/containers/:id/headless/conversations/:convId/status` | 获取对话状态 |
🀖 监控䞎自劚化接口 | 方法 | 端点 | 诎明 | |------|------|------| | GET | `/api/monitoring/:id/status` | 获取监控状态 | | POST | `/api/monitoring/:id/config` | 曎新监控配眮 | | GET | `/api/monitoring/:id/config` | 获取监控配眮 | | GET | `/api/monitoring/:id/context` | 获取䞊䞋文猓冲 | | GET | `/api/monitoring/strategies` | 列出可甚策略 |
📋 任务队列接口 | 方法 | 端点 | 诎明 | |------|------|------| | GET | `/api/tasks/:id` | 列出容噚任务 | | POST | `/api/tasks/:id` | 添加新任务 | | PUT | `/api/tasks/:id/:taskId` | 曎新任务 | | DELETE | `/api/tasks/:id/:taskId` | 删陀任务 | | POST | `/api/tasks/:id/reorder` | 重排任务 | | GET | `/api/tasks/:id/count` | 获取任务数量 | | DELETE | `/api/tasks/:id/clear` | 枅陀所有任务 | | DELETE | `/api/tasks/:id/clear-completed` | 枅陀已完成任务 |
📊 自劚化日志接口 | 方法 | 端点 | 诎明 | |------|------|------| | GET | `/api/automation-logs` | 列出自劚化日志 | | GET | `/api/automation-logs/stats` | 获取日志统计 | | POST | `/api/automation-logs/export` | 富出日志䞺 JSON | | DELETE | `/api/automation-logs/cleanup` | 枅理旧日志 |
📝 配眮暡板接口 | 方法 | 端点 | 诎明 | |------|------|------| | GET | `/api/config-templates` | 列出所有配眮暡板 | | POST | `/api/config-templates` | 创建配眮暡板 | | GET | `/api/config-templates/:id` | 获取配眮暡板 | | PUT | `/api/config-templates/:id` | 曎新配眮暡板 | | DELETE | `/api/config-templates/:id` | 删陀配眮暡板 | | POST | `/api/containers/:id/inject-configs` | 泚入配眮到容噚 |
⚙ 配眮文件接口 | 方法 | 端点 | 诎明 | |------|------|------| | GET | `/api/config-profiles` | 列出所有配眮文件 | | POST | `/api/config-profiles` | 创建配眮文件 | | GET | `/api/config-profiles/:id` | 获取配眮文件 | | PUT | `/api/config-profiles/:id` | 曎新配眮文件 | | DELETE | `/api/config-profiles/:id` | 删陀配眮文件 | | GET | `/api/config-profiles/:id/env` | 获取环境配眮 | | POST | `/api/config-profiles/:id/env` | 创建/曎新环境配眮 |
--- ## 📁 项目结构 ``` . ├── 🔧 backend/ # Go 后端 │ ├── cmd/server/ # 入口点 │ ├── internal/ # 内郚包 │ │ ├── config/ # 配眮 │ │ ├── handlers/ # HTTP 倄理噚 │ │ │ └── config_template.go # 配眮暡板 API │ │ ├── services/ # 䞚务逻蟑 │ │ │ ├── config_template_service.go # 暡板管理 │ │ │ └── config_injection_service.go # 配眮泚入 │ │ ├── terminal/ # 终端管理 │ │ ├── headless/ # Headless 暡匏Claude CLI │ │ ├── monitoring/ # PTY 监控䞎自劚化 │ │ ├── mode/ # TUI/Headless 暡匏管理噚 │ │ ├── middleware/ # 讀证、CORS、速率限制 │ │ ├── docker/ # Docker 客户端䞎安党 │ │ ├── database/ # 数据库暡型 │ │ └── models/ # 数据暡型 │ │ └── claude_config_template.go # 配眮暡板暡型 │ └── pkg/ # 公共包 │ ├── crypto/ # 加密工具 │ ├── pathutil/ # 路埄验证 │ └── httputil/ # HTTP 工具 │ ├── 🎚 frontend/ # React 前端 │ └── src/ │ ├── components/ # UI 组件 │ │ ├── Automation/ # 自劚化 UI 组件 │ │ ├── Headless/ # Headless 暡匏组件 │ │ │ ├── MarkdownRenderer.tsx # Markdown 语法高亮 │ │ │ └── TurnCard.tsx # 对话蜮次星瀺 │ │ ├── FileManager/ # 文件管理组件 │ │ ├── layout/ # 垃局组件 │ │ ├── ui/ # shadcn/ui 组件 │ │ ├── ConfigPreview.tsx # 配眮预览组件 │ │ ├── ConfigTemplateEditor.tsx # 暡板猖蟑噚 │ │ ├── ConfigInjectionDialog.tsx # 泚入对话框 │ │ └── ServerAddressInput.tsx # 服务噚地址蟓入 │ ├── pages/ # 页面 │ │ ├── Dashboard.tsx │ │ ├── HeadlessChat.tsx # 独立聊倩 UI │ │ ├── HeadlessTerminal.tsx │ │ ├── ContainerTerminal.tsx │ │ ├── ClaudeConfig.tsx # 配眮管理页面 │ │ ├── Settings.tsx │ │ └── ... │ ├── hooks/ # React hooks │ │ ├── useAuth.ts │ │ └── useHeadlessSession.ts │ ├── services/ # API 服务 │ │ ├── api.ts │ │ ├── headlessApi.ts │ │ ├── headlessWebsocket.ts │ │ ├── claudeConfigApi.ts # 配眮 API 服务 │ │ ├── serverAddressManager.ts # 服务噚地址管理 │ │ └── ... │ └── types/ # TypeScript 类型 │ └── claudeConfig.ts # 配眮类型 │ ├── 🧩 vscode-extension/ # VS Code 扩展 │ └── src/ │ ├── extension.ts # 扩展入口 │ ├── statusBar.ts # 状态栏集成 │ ├── commands/ # VS Code 呜什 │ ├── services/ # WebSocket 客户端 │ ├── webview/ # Webview 面板 │ └── utils/ # 工具凜数 │ ├── 🐳 docker/ # Docker 配眮匀发容噚 │ ├── Dockerfile.base # 基础镜像 │ ├── extensions/ # VS Code 扩展 │ └── traefik/ # Traefik 代理配眮 │ ├── 🐳 deploy-docker/ # Docker 郚眲 │ ├── Dockerfile.backend # 后端镜像 │ ├── Dockerfile.frontend # 前端镜像 │ ├── docker-compose.yml # 服务猖排 │ ├── nginx.conf # Nginx 配眮 │ ├── start.sh # 快速启劚脚本 │ └── README.md # Docker 郚眲指南 │ ├── 📊 deploy-sh/ # Shell 脚本郚眲 │ ├── README.md # 郚眲指南 (英文) │ ├── README.zh-CN.md # 郚眲指南 (äž­æ–‡) │ ├── flows/ # 郚眲流皋 │ ├── lib/ # 郚眲库 │ └── nginx.conf # Nginx 配眮 │ ├── .env.example # 环境变量暡板 ├── start-dev.sh # 匀发启劚脚本 (Linux/Mac) ├── start-dev.bat # 匀发启劚脚本 (Windows) └── deploy.sh # 郚眲脚本 ``` --- ## 🔒 安党特性 | 特性 | 诎明 | |------|------| | 👀 非 root 运行 | 容噚以非 root 甚户运行 | | 🔐 胜力删陀 | 删陀所有䞍必芁的 Linux 胜力 | | 🛡 Seccomp | 应甚安党配眮文件 | | 📊 资源限制 | 区制执行 CPU 和内存限制 | | 🚫 Docker Socket | 容噚内犁止访问 | | 🛀 路埄保技 | 启甚路埄遍历防技 | | 🔒 加密存傚 | 敏感数据䜿甚 AES-256-GCM 加密 | | ⏱ 速率限制 | 登圕尝试限制5次/分钟突发 10 次 | | 🍪 安党 Cookie | HTTP-only cookie 管理䌚话 | | 🔑 灵掻讀证 | 支持倚种讀证方匏 | --- ## 🙏 鞣谢 本项目基于以䞋䌘秀的匀源项目构建 ### 后端 - [Go](https://github.com/golang/go) - Go 猖皋语蚀 - [Gin](https://github.com/gin-gonic/gin) - HTTP Web 框架 - [GORM](https://github.com/go-gorm/gorm) - Go 语蚀 ORM 库 - [gorilla/websocket](https://github.com/gorilla/websocket) - WebSocket 实现 - [Docker Engine API](https://github.com/moby/moby) - 容噚管理 ### 前端 - [React](https://github.com/facebook/react) - UI 库 - [Vite](https://github.com/vitejs/vite) - 䞋䞀代前端构建工具 - [Tailwind CSS](https://github.com/tailwindlabs/tailwindcss) - 原子化 CSS 框架 - [shadcn/ui](https://github.com/shadcn-ui/ui) - 可倍甚 UI 组件 - [xterm.js](https://github.com/xtermjs/xterm.js) - 终端暡拟噚 ### 基础讟斜 - [Traefik](https://github.com/traefik/traefik) - 云原生反向代理 - [code-server](https://github.com/coder/code-server) - 浏览噚䞭的 VS Code - [SQLite](https://sqlite.org/) - 嵌入匏数据库匕擎 --- ## 📄 讞可证 MIT License ---

甹 ❀ 䞺 Claude Code 匀发者打é€