@@ -14,16 +14,18 @@ ISOS 是一套基于 Claude Code 的多人 Agent 协作开发框架:
|
||||
|
||||
所有角色在 tmux 面板中并行运行,通过共享任务列表和消息系统协调。
|
||||
|
||||

|
||||
|
||||
## 技术栈
|
||||
|
||||
| 组件 | 技术 | 说明 |
|
||||
|------|------|------|
|
||||
| 语言 | Python 3.12+ / TypeScript | 后端 Python,前端 TypeScript |
|
||||
| 包管理 | uv / npm | Python 用 uv,前端用 nvm + npm |
|
||||
| 服务端 | FastAPI + SQLite | REST API、数据存储 |
|
||||
| 桌面端 | PyWebView + Svelte 5 | 本地 UI、SQLite |
|
||||
| 版本控制 | Jujutsu (jj) | 与 git 并存,主分支 `trunk` |
|
||||
| 协作工具 | tmux + Claude Code | 多面板并行 Agent |
|
||||
| 组件 | 技术 | 说明 |
|
||||
| -------- | ------------------------- | ------------------------------ |
|
||||
| 语言 | Python 3.12+ / TypeScript | 后端 Python,前端 TypeScript |
|
||||
| 包管理 | uv / npm | Python 用 uv,前端用 nvm + npm |
|
||||
| 服务端 | FastAPI + SQLite | REST API、数据存储 |
|
||||
| 桌面端 | PyWebView + Svelte 5 | 本地 UI、SQLite |
|
||||
| 版本控制 | Jujutsu (jj) | 与 git 并存,主分支 `trunk` |
|
||||
| 协作工具 | tmux + Claude Code | 多面板并行 Agent |
|
||||
|
||||
## 目录结构
|
||||
|
||||
@@ -78,16 +80,16 @@ bash download-resources.sh --cleanup-only # 仅清理旧版本包
|
||||
|
||||
预下载的资源包括:
|
||||
|
||||
| 资源 | 用途 |
|
||||
|------|------|
|
||||
| uv + Python 3.12 | Python 包管理器和运行时 |
|
||||
| nvm + Node.js 22 | 前端运行时和包管理 |
|
||||
| npm 全局包 | Claude Code、Playwright MCP、TypeScript 等 |
|
||||
| Google Chrome | Playwright headed 模式和 chrome-devtools-mcp |
|
||||
| jj (Jujutsu) | 版本控制工具 |
|
||||
| VSCode 扩展 (.vsix) | 20+ 开发扩展离线包 |
|
||||
| spec-kit | speckit 规格工具 |
|
||||
| Claude 插件市场 | claude-plugins-official、Svelte、superpowers 等 |
|
||||
| 资源 | 用途 |
|
||||
| ------------------- | ----------------------------------------------- |
|
||||
| uv + Python 3.12 | Python 包管理器和运行时 |
|
||||
| nvm + Node.js 22 | 前端运行时和包管理 |
|
||||
| npm 全局包 | Claude Code、Playwright MCP、TypeScript 等 |
|
||||
| Google Chrome | Playwright headed 模式和 chrome-devtools-mcp |
|
||||
| jj (Jujutsu) | 版本控制工具 |
|
||||
| VSCode 扩展 (.vsix) | 20+ 开发扩展离线包 |
|
||||
| spec-kit | speckit 规格工具 |
|
||||
| Claude 插件市场 | claude-plugins-official、Svelte、superpowers 等 |
|
||||
|
||||
所有资源版本在 `.env` 中配置(`UV_VERSION`、`NODE_VERSION`、`CHROME_VERSION` 等),更新版本后重新运行脚本即可。
|
||||
|
||||
@@ -95,18 +97,18 @@ bash download-resources.sh --cleanup-only # 仅清理旧版本包
|
||||
|
||||
完整配置见 [`.devcontainer/.env.example`](.devcontainer/.env.example),常用项:
|
||||
|
||||
| 配置项 | 默认值 | 说明 |
|
||||
|--------|--------|------|
|
||||
| `GIT_USER_NAME` | `arno` | Git 用户名 |
|
||||
| `GIT_USER_EMAIL` | — | Git 邮箱 |
|
||||
| `API_KEY` | 空 | 智谱 GLM API 密钥 |
|
||||
| `DOCKER_ENABLED` | `false` | 是否启用容器内 Docker |
|
||||
| `DOCKER_GID` | `984` | 宿主机 docker 组 GID |
|
||||
| `CONTAINER_USER_UID` | `1000` | 容器用户 UID |
|
||||
| `CONTAINER_USER_GID` | `1000` | 容器用户 GID |
|
||||
| `DISPLAY_ON_HOST` | `false` | GUI 输出到宿主机(仅 Linux) |
|
||||
| `CONTAINER_CPUS` | `6` | CPU 核心数限制 |
|
||||
| `CONTAINER_MEMORY` | `16G` | 内存限制 |
|
||||
| 配置项 | 默认值 | 说明 |
|
||||
| -------------------- | ------- | ---------------------------- |
|
||||
| `GIT_USER_NAME` | `arno` | Git 用户名 |
|
||||
| `GIT_USER_EMAIL` | — | Git 邮箱 |
|
||||
| `API_KEY` | 空 | 智谱 GLM API 密钥 |
|
||||
| `DOCKER_ENABLED` | `false` | 是否启用容器内 Docker |
|
||||
| `DOCKER_GID` | `984` | 宿主机 docker 组 GID |
|
||||
| `CONTAINER_USER_UID` | `1000` | 容器用户 UID |
|
||||
| `CONTAINER_USER_GID` | `1000` | 容器用户 GID |
|
||||
| `DISPLAY_ON_HOST` | `false` | GUI 输出到宿主机(仅 Linux) |
|
||||
| `CONTAINER_CPUS` | `6` | CPU 核心数限制 |
|
||||
| `CONTAINER_MEMORY` | `16G` | 内存限制 |
|
||||
|
||||
### 2. 启动开发环境
|
||||
|
||||
@@ -121,12 +123,12 @@ bash download-resources.sh --cleanup-only # 仅清理旧版本包
|
||||
|
||||
`devcontainer.json` 核心配置:
|
||||
|
||||
| 配置 | 说明 |
|
||||
|------|------|
|
||||
| `dockerComposeFile` | 组合 `docker-compose.yml` + `docker-compose.display.yml`(X11 转发) |
|
||||
| `service: app` | 使用 `app` 服务 |
|
||||
| `postCreateCommand` | 容器创建后自动执行 `.devcontainer/post-create.sh`(配置 Git、jj、Claude Code、MCP、插件等) |
|
||||
| `customizations.vscode.extensions` | 预装 Claude Code、Ruff、Playwright、Mermaid 等 20+ 扩展 |
|
||||
| 配置 | 说明 |
|
||||
| ---------------------------------- | ------------------------------------------------------------------------------------------- |
|
||||
| `dockerComposeFile` | 组合 `docker-compose.yml` + `docker-compose.display.yml`(X11 转发) |
|
||||
| `service: app` | 使用 `app` 服务 |
|
||||
| `postCreateCommand` | 容器创建后自动执行 `.devcontainer/post-create.sh`(配置 Git、jj、Claude Code、MCP、插件等) |
|
||||
| `customizations.vscode.extensions` | 预装 Claude Code、Ruff、Playwright、Mermaid 等 20+ 扩展 |
|
||||
|
||||
#### 方式 B: docker-compose 命令行
|
||||
|
||||
@@ -152,12 +154,12 @@ nvm install --lts
|
||||
|
||||
`.devcontainer/.volumes/` 目录映射以下数据,容器重建不丢失:
|
||||
|
||||
| 目录 | 用途 |
|
||||
|------|------|
|
||||
| `.volumes/ssh/` | SSH 密钥和配置 |
|
||||
| 目录 | 用途 |
|
||||
| ------------------ | --------------------------------- |
|
||||
| `.volumes/ssh/` | SSH 密钥和配置 |
|
||||
| `.volumes/claude/` | Claude Code 配置(settings.json) |
|
||||
| `.volumes/jj/` | jj 版本控制配置 |
|
||||
| `.volumes/bin/` | 运行时脚本(runcc.sh) |
|
||||
| `.volumes/jj/` | jj 版本控制配置 |
|
||||
| `.volumes/bin/` | 运行时脚本(runcc.sh) |
|
||||
|
||||
### 3. 启动 Agent 团队
|
||||
|
||||
|
||||
Binary file not shown.
|
After Width: | Height: | Size: 259 KiB |
Reference in New Issue
Block a user