Skip to content

Commit 17657fc

Browse files
committed
Add GitHub Pages deployment support
1 parent e33b17f commit 17657fc

12 files changed

Lines changed: 393 additions & 196 deletions

File tree

.github/workflows/deploy-pages.yml

Lines changed: 54 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,54 @@
1+
name: Deploy GitHub Pages
2+
3+
on:
4+
push:
5+
branches:
6+
- main
7+
workflow_dispatch:
8+
9+
permissions:
10+
contents: read
11+
pages: write
12+
id-token: write
13+
14+
concurrency:
15+
group: pages
16+
cancel-in-progress: true
17+
18+
jobs:
19+
build:
20+
runs-on: ubuntu-latest
21+
environment:
22+
name: github-pages
23+
url: ${{ steps.deployment.outputs.page_url }}
24+
25+
steps:
26+
- name: Checkout
27+
uses: actions/checkout@v4
28+
29+
- name: Setup Node
30+
uses: actions/setup-node@v4
31+
with:
32+
node-version: 20
33+
cache: npm
34+
35+
- name: Configure Pages
36+
uses: actions/configure-pages@v5
37+
38+
- name: Install Dependencies
39+
run: npm ci
40+
41+
- name: Build Pages Bundle
42+
run: npm run build:pages
43+
44+
- name: Disable Jekyll
45+
run: touch dist/public/.nojekyll
46+
47+
- name: Upload Pages Artifact
48+
uses: actions/upload-pages-artifact@v3
49+
with:
50+
path: dist/public
51+
52+
- name: Deploy to GitHub Pages
53+
id: deployment
54+
uses: actions/deploy-pages@v4

README.md

Lines changed: 122 additions & 90 deletions
Original file line numberDiff line numberDiff line change
@@ -5,113 +5,110 @@
55
<h1 align="center">Cube Pets Office</h1>
66

77
<p align="center">
8-
一个把“单条自然语言指令”编排成 18 个智能体协同工作的 3D 多智能体系统原型
8+
把一条自然语言指令编排成 18 个 Agent 协同工作的 3D 多智能体办公原型
99
</p>
1010

1111
<p align="center">
12-
<img alt="status" src="https://img.shields.io/badge/status-活跃原型-0ea5e9" />
12+
<img alt="status" src="https://img.shields.io/badge/status-active%20prototype-0ea5e9" />
1313
<img alt="agents" src="https://img.shields.io/badge/agents-18-22c55e" />
14-
<img alt="workflow" src="https://img.shields.io/badge/workflow-10%20阶段-f97316" />
14+
<img alt="workflow" src="https://img.shields.io/badge/workflow-10%20stages-f97316" />
1515
<img alt="license" src="https://img.shields.io/badge/license-MIT-111827" />
1616
</p>
1717

1818
## 项目概览
1919

20-
Cube Pets Office 最初是一个 3D 展示型页面,现在已经演进成一个可运行的多智能体编排系统:
21-
22-
- 前端用 3D 办公室场景展示 18 个智能体的实时状态
23-
- 后端实现了 10 阶段 workflow 编排管道
24-
- WebSocket 会实时推送 Agent 状态和消息流
25-
- 支持记忆、评审、修订、验证和演化闭环
26-
- 聊天面板和 workflow 共用同一套服务端 AI 配置
27-
- AI 配置以 `.env` 为唯一真源
28-
29-
整个系统的主链路可以概括为:
30-
31-
> 用户输入一条指令 -> CEO 分解方向 -> 部门经理规划 -> Worker 执行 -> 评审 -> 审计 -> 修订 -> 验证 -> 汇总 -> 反馈 -> 演化
32-
33-
## 当前已实现
34-
35-
- 18 个智能体已经完成注册与加载
36-
- 18 个智能体已经在 3D 场景中完成布局
37-
- 工作流已经支持完整 10 阶段运行:
38-
`direction -> planning -> execution -> review -> meta_audit -> revision -> verify -> summary -> feedback -> evolution`
39-
- 前端已经提供以下视图:
40-
- 指令视图
41-
- 组织视图
42-
- 进度视图
43-
- 评审视图
44-
- 记忆视图
45-
- 历史视图
46-
- 已实现消息流粒子动画和阶段联动动画
47-
- 已实现短期记忆注入
48-
- 已实现历史工作流摘要检索
49-
- 已实现基于 `soul_md` 的 persona 演化
50-
- 已实现统一的服务端聊天入口 `/api/chat`
51-
- 已实现基于 `.env` 的统一模型配置链路
52-
53-
## 当前仍未完成
54-
55-
这个仓库现在是“可运行原型”,不是“完整框架”。
56-
57-
- 严格的文件系统隔离还没有落地,当前更接近约定式隔离
58-
- 中期记忆还不是向量检索,当前是摘要加关键词检索
59-
- 长期记忆目前落在存储层的 `soul_md` 字段,不是文件版 `SOUL.md` 自动更新
60-
- heartbeat / 定时自主搜索 / 自主报告机制尚未实现
61-
- 历史文档里仍有一部分旧内容和待清理段落
20+
Cube Pets Office 是一个把 3D 场景展示、Agent 组织结构、工作流编排和聊天交互放在同一界面的实验性产品原型。
21+
22+
当前仓库已经包含:
23+
24+
- 18 个 Agent 的 3D 办公室场景
25+
- 完整的 10 阶段 workflow 编排链路
26+
- 工作流、组织、评审、记忆、历史等前端面板
27+
- 基于 Express 和 Socket.IO 的服务端运行时
28+
- 统一的服务端聊天入口 `/api/chat`
29+
- 本地前端预览模式与完整服务端模式双入口
30+
- 面向 GitHub Pages 的纯静态演示构建
31+
32+
工作流主链路如下:
33+
34+
> 用户指令 -> CEO 拆解方向 -> Manager 规划任务 -> Worker 执行 -> Review -> Meta Audit -> Revision -> Verify -> Summary -> Feedback -> Evolution
35+
36+
## 当前运行模式
37+
38+
仓库现在有 3 种清晰分离的运行方式:
39+
40+
### 1. Frontend Mode
41+
42+
默认入口,适合本地体验和演示:
43+
44+
- 不依赖服务端即可启动界面
45+
- 可浏览 3D 场景、组织结构、论文内容和本地演示聊天
46+
- 适合做 UI 验证、交互走查和纯前端分享
47+
48+
### 2. Advanced Mode
49+
50+
完整链路模式,保留现有服务端实现:
51+
52+
- 连接 `/api` 与 Socket.IO
53+
- 执行真实工作流、报告、记忆和服务端模型调用
54+
- 需要 `.env` 中的模型配置
55+
56+
### 3. GitHub Pages Static Demo
57+
58+
专门用于 GitHub Pages 的静态构建:
59+
60+
- 只影响 Pages 构建,不影响本地和服务端版本
61+
- 强制停留在前端静态演示路径
62+
- 不连接服务端,不触发真实多 Agent 工作流
63+
- 仍可展示 3D 场景、界面流程、本地演示聊天和工作流结构
6264

6365
## 技术栈
6466

6567
- 前端:React 19、Vite、TypeScript、Zustand
6668
- 3D:Three.js、React Three Fiber、Drei
6769
- 后端:Express、Socket.IO、TypeScript
68-
- AI:OpenAI 兼容接口
69-
- 存储:本地 JSON 数据库 + Agent runtime 工作空间文件
70+
- AI 接入:OpenAI 兼容接口
71+
- 本地存储:JSON 数据文件
7072

7173
## 项目结构
7274

7375
```text
7476
client/ 前端应用、3D 场景、工作流面板、聊天面板
75-
server/ API 路由、Workflow Engine、Agent Registry、Memory、Socket
77+
server/ API、Socket、Workflow Engine、Agent Registry、Memory
7678
shared/ 共享类型与工具
77-
data/ 本地运行时状态和 Agent 工作空间产物
78-
scripts/ 本地开发辅助脚本
79+
data/ 本地运行期数据和 Agent 产物
80+
scripts/ 启动、停止、构建辅助脚本
7981
```
8082

81-
## 运行模式
82-
83-
当前仓库默认采用“纯前端模式优先,高级模式可选”的产品化入口:
84-
85-
- `纯前端模式`:默认启动路径,适合首次打开、分享演示、浏览 3D 场景、阅读论文和体验本地聊天;不要求服务端和 `.env`
86-
- `高级模式`:保留现有服务端实现,启用 `/api`、Socket.IO、真实工作流、heartbeat 报告和服务端模型调用
87-
88-
现有服务端链路仍然保留,在确认纯前端链路稳定前不会删除。
89-
9083
## 快速开始
9184

9285
### 1. 安装依赖
9386

9487
```bash
95-
corepack pnpm install
88+
pnpm install
9689
```
9790

98-
### 2. 默认先启动纯前端模式
91+
### 2. 启动前端预览模式
9992

10093
```bash
101-
corepack pnpm run dev:frontend
94+
pnpm run dev:frontend
10295
```
10396

104-
默认本地地址
97+
默认地址
10598

10699
- 前端:`http://localhost:3000`
107100

108-
这一模式不要求 `.env`适合先体验界面与组织结构
101+
这个模式不要求 `.env`适合先看界面、场景和交互
109102

110-
### 3. 需要真实工作流时再切到高级模式
103+
### 3. 启动完整服务端链路
111104

112-
先复制 `.env.example``.env`,并填入你自己的模型服务配置。
105+
先复制环境变量模板:
113106

114-
一个最小示例:
107+
```bash
108+
cp .env.example .env
109+
```
110+
111+
然后在 `.env` 中填入模型配置。最小示例:
115112

116113
```dotenv
117114
PORT=3001
@@ -125,61 +122,96 @@ LLM_REASONING_EFFORT=high
125122
LLM_TIMEOUT_MS=45000
126123
```
127124

128-
然后启动完整链路
125+
启动完整链路
129126

130127
```bash
131-
corepack pnpm run dev:advanced
128+
pnpm run dev:advanced
132129
```
133130

134-
高级模式默认地址
131+
默认地址
135132

136133
- 前端:`http://localhost:3000`
137134
- 后端 API:`http://localhost:3001/api`
138135

139-
也可以分别启动
136+
也可以分开启动
140137

141138
```bash
142-
corepack pnpm run dev:frontend
143-
corepack pnpm run dev:server
139+
pnpm run dev:frontend
140+
pnpm run dev:server
144141
```
145142

146143
### 4. 类型检查
147144

148145
```bash
149-
corepack pnpm run check
146+
pnpm run check
150147
```
151148

152-
## 运行时数据
149+
## GitHub Pages 部署
150+
151+
仓库已经内置 GitHub Pages 专用构建和工作流:
152+
153+
- Pages 构建命令:`npm run build:pages`
154+
- 工作流文件:`.github/workflows/deploy-pages.yml`
155+
- 构建输出目录:`dist/public`
156+
157+
Pages 构建会自动做这些事情:
158+
159+
- 为仓库子路径设置正确的 `base`
160+
- 注入 `__GITHUB_PAGES__` 构建标记
161+
- 禁用仅开发期使用的 Manus debug collector
162+
- 隐藏或禁用需要服务端的高级模式入口
163+
164+
也就是说:
153165

154-
项目运行后会在 `data/` 下生成本地 runtime 数据,包括:
166+
- GitHub Pages 只提供纯静态演示版
167+
- 本地 `pnpm run dev:frontend``pnpm run dev:advanced` 的行为不变
168+
- 普通 `pnpm run build` 的服务端产物不变
169+
170+
如果要启用 Pages 部署,请确保仓库的 GitHub Pages 来源使用 GitHub Actions,然后推送到 `main` 分支即可触发 `.github/workflows/deploy-pages.yml`
171+
172+
## 本地运行数据
173+
174+
运行过程中会在 `data/` 下生成本地状态和产物,例如:
155175

156176
- `data/database.json`
157177
- `data/agents/*/sessions/`
158178
- `data/agents/*/memory/`
159179
- `data/agents/*/reports/`
160180

161-
这些文件属于本地运行状态,不属于源码本身,因此公开仓库默认会忽略它们
181+
这些文件属于运行期数据,不属于源码本身。
162182

163-
## 主要 API
183+
## 主要脚本
164184

165-
当前后端暴露的主要接口包括:
185+
- `pnpm run dev:frontend`:只启动前端预览
186+
- `pnpm run dev:server`:只启动服务端
187+
- `pnpm run dev:advanced`:同时启动前端与服务端
188+
- `pnpm run build`:构建正常生产版本和服务端产物
189+
- `npm run build:pages`:构建 GitHub Pages 静态产物
190+
- `pnpm run check`:TypeScript 类型检查
166191

167-
- `POST /api/workflows`:启动一条新的工作流
192+
## 主要 API
193+
194+
- `POST /api/workflows`:启动新工作流
168195
- `GET /api/workflows`:获取工作流列表
169-
- `GET /api/workflows/:id`获取某条工作流详情
196+
- `GET /api/workflows/:id`获取工作流详情
170197
- `GET /api/agents`:获取全部 Agent
171198
- `GET /api/agents/:id/memory/recent`:获取最近记忆
172-
- `GET /api/agents/:id/memory/search`搜索历史摘要
173-
- `GET /api/config/ai`:查看当前 AI 配置来源和运行参数
199+
- `GET /api/agents/:id/memory/search`搜索历史记忆
200+
- `GET /api/config/ai`:查看当前 AI 配置来源与运行参数
174201
- `POST /api/chat`:统一的服务端聊天入口
175202

176-
## 开源说明
203+
## 当前边界
204+
205+
当前仓库是“可运行原型”,不是最终产品形态。已知边界包括:
206+
207+
- 一些历史文档和实验性实现仍在整理
208+
- 长期记忆与演化机制仍有继续产品化空间
209+
- GitHub Pages 版本是静态演示版,不提供真实服务端执行
210+
211+
## Roadmap
177212

178-
- License:MIT
179-
- 当前公开的是项目的工作中版本
180-
- 公开仓库不包含本地 memory / session / local config 快照
181-
- 如果你 fork 本项目,建议自行配置并保管 `.env`
213+
更细的阶段规划与完成状态见 [ROADMAP.md](./ROADMAP.md)
182214

183-
## 路线图
215+
## License
184216

185-
更细的阶段规划,以及“哪些能力已经完成、哪些仍未完成”的拆分说明,见 `ROADMAP.md`
217+
MIT

0 commit comments

Comments
 (0)