流水线skill
语言: English | 中文
一个集成 HTML 可视化编辑器、多模型 AI 助手、项目管理、产品设计能力的 AI 驱动设计-编程一体化平台。基于 OpenCode Serve 进行 LLM 编排。
┌──────────────┐ ┌──────────────┐ ┌──────────────────┐ ┌───────────────┐ │ 浏览器 │───▶│ 前端 │───▶│ 后端 │───▶│ OpenCode Serve│ │ (React SPA) │ │ (Nginx/Vite)│ │ (FastAPI) │ │ (Docker) │ └──────────────┘ └──────────────┘ └────────┬─────────┘ └───────┬───────┘ │ │ ▼ ▼ ┌──────────────┐ ┌───────────────┐ │ PMS 系统 │ │ LLM 提供商 │ │ (项目管理) │ │ (自建端点) │ └──────────────┘ └───────────────┘
核心定位:后端作为中间层,管理用户认证、会话路由、工作区隔离,将请求透明转发到 OpenCode Serve(Docker 容器化部署)。所有容器通过共享 Docker 网络 superds-net 使用容器名互相通信。
superds-net
opencode.json
superDS/ ├── backend/ # 后端 API 服务(FastAPI) │ ├── src/ │ │ ├── api/ # API 路由层(10 个模块) │ │ │ ├── main.py # FastAPI 应用入口 & 路由注册 │ │ │ ├── session_routes.py # 会话管理(核心) │ │ │ ├── auth_routes.py # 认证(注册/登录) │ │ │ ├── workspace_routes.py # 工作区(克隆/删除/文件浏览) │ │ │ ├── event_routes.py # SSE 事件流转发 │ │ │ ├── websocket_routes.py # WebSocket │ │ │ ├── config_routes.py # 配置文件 CRUD(管理员) │ │ │ ├── model_routes.py # 模型列表查询 │ │ │ ├── pms_routes.py # PMS 项目初始化 │ │ │ ├── file_routes.py # 文件读取 │ │ │ └── conversion_routes.py # 文件转换 │ │ ├── services/ # 业务逻辑层 │ │ ├── models/ # 数据模型(LLM 工厂、OpenCode 客户端) │ │ ├── session/ # 会话管理 │ │ ├── schemas/ # 请求/响应 Schema │ │ ├── configs/ # 配置管理 & 数据库 │ │ └── middleware/ # 认证 & 异常中间件 │ ├── deploy/ # 部署配置(Docker + K8s) │ │ ├── docker/ # Docker Compose、Dockerfile、deploy.sh │ │ └── k8s/ # Kubernetes 清单 │ ├── skills/ # OpenCode 技能(SKILL.md,LLM 按需加载) │ ├── knowledge/ # 项目知识库(参考文档) │ ├── opencode_workspace/ # 工作区初始化模板(生产环境只读) │ ├── updates/ # 更新日志 & 变更记录 │ ├── AGENTS.md # AI 编码助手规则 │ ├── MEMORY.md # 项目知识沉淀 & 踩坑经验 │ └── requirements.txt ├── frontend/ # 主前端应用(React + TS) │ ├── src/ │ │ ├── components/ # UI 组件(ai/、layout/、ui/) │ │ ├── pages/ # 页面组件 │ │ │ ├── auth/ # 落地页 │ │ │ ├── projects/ # 项目列表 │ │ │ ├── design/ # 设计工作台(核心:iframe 编辑器) │ │ │ ├── product/ # 产品设计(思维导图/流程/线框图) │ │ │ ├── admins/ # 后台管理(Agent/Skill/Command 编辑器) │ │ │ ├── settings/ # 用户设置 │ │ │ └── icons/ # 图标库 │ │ ├── services/api/ # API 服务层(Axios) │ │ ├── stores/ # Zustand 状态管理(模块化) │ │ ├── i18n/ # 国际化(中/英) │ │ ├── hooks/ # 自定义 Hooks │ │ └── router.tsx # 路由配置(懒加载 + AuthGuard) │ ├── public/assets/iframe/ # iframe 注入脚本(原生 JS) │ ├── doc/ # 前端文档 │ ├── e2e/ # Playwright E2E 测试 │ ├── nginx.conf # 生产环境 Nginx 配置 │ ├── Dockerfile # 多阶段构建 │ ├── docker-compose.yml # 前端容器编排 │ └── AGENTS.md # 前端 AI 编码规则 ├── deploy/ # 统一部署 │ ├── deploy.sh # 一键部署脚本(前端 + 后端) │ └── .env.example # 统一配置源 ├── doc/ # 项目级文档 │ ├── ai-chat-research/ # AI 聊天实现调研 │ ├── docker-network-setting/# Docker 网络配置 │ └── front-fix/ # 前端 Bug 修复记录 ├── .gitea/workflows/ # CI/CD(Gitea Actions) └── README.md
注意:backend/frontend/ 是历史遗留的 AI 生成测试前端,不是生产前端。生产前端是根目录下的 frontend/ 目录。
backend/frontend/
frontend/
# 1. 配置环境变量(唯一配置源) cd deploy cp .env.example .env # 编辑 .env:填入 OPENSANDBOX_API_KEY、PMS_BASE_URL 等 # 2. 一键部署(前端 + 后端 + opencode-serve) ./deploy.sh --build # 3. 验证 ./deploy.sh # 重新运行检查健康状态
服务访问地址:
http://localhost:8800
http://localhost:8000
http://localhost:4096
后端:
cd backend python3 -m venv venv && source venv/bin/activate pip install -r requirements.txt cp .env.example .env # 配置 OPENSANDBOX_API_KEY 等 # 启动 OpenCode Serve(Docker) cd deploy/docker && docker compose up -d opencode-serve # 启动后端 uvicorn src.api.main:app --host 0.0.0.0 --port 8000 --reload
前端:
cd frontend npm install npm run dev # 启动于 http://localhost:4173
cd deploy ./deploy.sh # 默认部署(使用已有镜像) ./deploy.sh --build # 部署并重新构建镜像 ./deploy.sh --backend-only # 仅部署后端 ./deploy.sh --frontend-only # 仅部署前端 ./deploy.sh --stop # 停止并移除容器(保留网络) ./deploy.sh --stop --backend-only # 仅停止后端 ./deploy.sh --no-start # 仅生成配置,不启动服务
所有容器通过共享外部网络 superds-net 通信:
frontend
backend
http://backend:8000
opencode-serve
http://opencode-serve:4096
网络由 deploy.sh 自动创建(幂等)。详见 doc/docker-network-setting/spec.md。
deploy.sh
/api/v1/auth
/api/v1/sessions
/api/v1/models
/api/v1/workspace
/api/v1/workspace/config
/api/v1/pms
/api/events
/health
详见 backend/README.md。
LLM 提供商为环境自建模型端点,由 opencode.json 配置 (模板:backend/deploy/docker/opencode.json.template)。当前集合:
backend/deploy/docker/opencode.json.template
模型列表经 GET /api/v1/models 动态下发。
GET /api/v1/models
OPENCODE_DISABLE_PROJECT_CONFIG=true
生产环境部署使用 Gitea Actions(.gitea/workflows/deploy-production.yml):
.gitea/workflows/deploy-production.yml
master
git archive
.gitignore
所有配置通过唯一配置源 deploy/.env 管理。部署脚本会自动同步到 backend/.env 和 frontend/.env。关键配置项:
deploy/.env
backend/.env
frontend/.env
OPENSANDBOX_API_KEY
PMS_BASE_URL
OPENCODE_SERVE_PASSWORD
JWT_SECRET_KEY
WORKSPACE_ROOT
/app/opencode_workspace
NETWORK_NAME
完整配置参考 deploy/.env.example。
本项目仅供内部开发使用。
版权所有:中国计算机学会技术支持:开源发展技术委员会 京ICP备13000930号-9 京公网安备 11010802047560号
superDS - AI 驱动的设计开发一体化平台
一个集成 HTML 可视化编辑器、多模型 AI 助手、项目管理、产品设计能力的 AI 驱动设计-编程一体化平台。基于 OpenCode Serve 进行 LLM 编排。
架构概览
核心定位:后端作为中间层,管理用户认证、会话路由、工作区隔离,将请求透明转发到 OpenCode Serve(Docker 容器化部署)。所有容器通过共享 Docker 网络
superds-net使用容器名互相通信。技术栈
opencode.json配置)项目结构
快速开始
前置条件
方式一:统一 Docker 部署(推荐)
服务访问地址:
http://localhost:8800http://localhost:8000http://localhost:4096方式二:本地开发
后端:
前端:
部署命令
Docker 网络
所有容器通过共享外部网络
superds-net通信:frontend→backend:http://backend:8000backend→opencode-serve:http://opencode-serve:4096网络由
deploy.sh自动创建(幂等)。详见 doc/docker-network-setting/spec.md。API 概览
/api/v1/auth/api/v1/sessions/api/v1/models/api/v1/workspace/api/v1/workspace/config/api/v1/pms/api/events/health详见 backend/README.md。
支持的模型
LLM 提供商为环境自建模型端点,由
opencode.json配置 (模板:backend/deploy/docker/opencode.json.template)。当前集合:模型列表经
GET /api/v1/models动态下发。核心功能
前端
后端
OPENCODE_DISABLE_PROJECT_CONFIG=trueCI/CD
生产环境部署使用 Gitea Actions(
.gitea/workflows/deploy-production.yml):master分支git archive仅导出 git 跟踪文件(机密由.gitignore边界保证)文档导航
配置说明
所有配置通过唯一配置源
deploy/.env管理。部署脚本会自动同步到backend/.env和frontend/.env。关键配置项:OPENSANDBOX_API_KEYPMS_BASE_URLOPENCODE_SERVE_PASSWORDJWT_SECRET_KEYWORKSPACE_ROOT/app/opencode_workspaceNETWORK_NAMEsuperds-net完整配置参考 deploy/.env.example。
许可证
本项目仅供内部开发使用。