Files
TrueGrowth/README.md

126 lines
5.6 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<div align="center">
<h1>TrueGrowth (TrueGrowth.ai)</h1>
<h3>桌面 AI 创作工作台 · 应用中心、素材、任务、模型与无限画布</h3>
<p>连接 OpenTu 创作前端与 AIGCPanel 本地 Runtime让图片、视频、数字人、语音、素材和任务在同一工作区持续执行。</p>
</div>
[English README](./README_en.md)
## 产品展示
| 拆分图片 | 流程图 | 思维导图 |
| --- | --- | --- |
| ![](./apps/web/public/product_showcase/九宫格拆图.gif) | ![](./apps/web/public/product_showcase/流程图.gif) | ![](./apps/web/public/product_showcase/思维导图.gif) |
| 语义理解 - 拆分图片 | 语义理解 - 流程图 | 语义理解 - 思维导图 |
## 平台能力
- **AI 生成与模型路由**:统一调度图片、视频、音频、数字人、文本与 Agent 流程。
- **桌面工作台**:左侧应用导航、顶部项目与任务状态、应用中心和专业工具页。
- **画布工作区**:保留 OpenTu Drawnix 无限画布,承载 AI 任务、素材、Frame、工具窗口与知识库内容。
- **任务与素材管理**:通过任务队列、素材库、统一缓存和历史记录复用生成结果。
- **数字人与声音 Runtime**:以 AIGCPanel 的 `soundTts``soundClone``videoGen``asr` 契约承接数字人口播、音色克隆、长文本 TTS、字幕和视频换声。
- **AI 智能剪辑**vendor 进 FunClip预留 ASR、文本选段、LLM 高光剪辑、SRT 输出和素材回写。
- **本地 Runtime 桥接**:提供 TrueGrowth Local API Gateway统一暴露 AIGCPanel、FunClip、工作流和模型状态。
- **工具箱与扩展**:支持内部 React 工具、iframe 工具、Skill/Agent 和插件化运行时。
- **PPT 与内容工作流**:支持 Frame 幻灯片、PPT 导出、Markdown/Mermaid 转换和多媒体编辑。
## 本地开发
### 环境要求
- Node.js 20+
- pnpm 10.21.0(推荐通过 Corepack 启用)
### 安装与启动
```bash
corepack enable pnpm
pnpm install
pnpm start
```
启动后访问 `http://localhost:7200`
### 常用命令
```bash
pnpm start # 启动 Web 开发服务
pnpm web:dev # 在 127.0.0.1:7200 启动 Web Renderer
pnpm runtime:dev # 启动 TrueGrowth 本地 API Gateway 占位服务
pnpm funclip:dev # 启动 FunClip 本地 Gradio Runtime需先安装 Python 依赖)
pnpm electron:dev # 启动 Electron 桌面壳,加载 127.0.0.1:7200
pnpm desktop:dev # 启动桌面调试Web + Electron本地 API 由桌面壳内置)
pnpm desktop:dev:full # 启动完整调试(额外预启动 FunClip资源占用更高
pnpm desktop:build:mac # 构建 macOS 桌面端安装包
pnpm desktop:build:win # 构建 Windows 桌面端安装包(建议在 Windows/CI 上执行)
pnpm build:web # 构建 Web 应用
pnpm build # 构建工作区
pnpm check # typecheck + lint
pnpm test # 运行单元测试
pnpm e2e:smoke # 运行冒烟测试
pnpm check:cycles # 检查循环依赖
pnpm manual:build # 生成用户手册
```
### Local API Gateway
`pnpm runtime:dev` 默认监听 `http://127.0.0.1:48177`,用于工作台探测本地能力、提交本地任务,并桥接 AIGCPanel / FunClip Runtime
- `/local-api/health`
- `/local-api/assets`
- `/local-api/tasks`
- `POST /local-api/tasks`
- `GET /local-api/tasks/:id`
- `/local-api/providers`
- `/local-api/runtime`
- `/local-api/aigcpanel`
- `POST /local-api/aigcpanel/tasks`
- `/local-api/funclip`
- `POST /local-api/funclip/tasks`
- `POST /local-api/runtime/funclip/start`
- `POST /local-api/runtime/funclip/stop`
- `/local-api/workflows`
- `POST /local-api/workflows/run`
AIGCPanel 桥接会优先读取 `AIGCPANEL_HTTP_PORT` + `AIGCPANEL_HTTP_TOKEN`,否则读取 AIGCPanel Electron 写入的 `cli-auth.json`。当请求携带真实 `model/version/function``workflowName/workflowData`Local API 会代理到 AIGCPanel 的 `/api/model/*``/api/workflow/*`;未连接时保持工作台 mock 任务闭环可用。
FunClip 可通过 `pnpm funclip:dev` 独立启动,也可由 `POST /local-api/runtime/funclip/start` 懒启动。默认 `pnpm desktop:dev` 不预启动 FunClip避免桌面调试和本地生图同时占用过多 CPU、内存或 GPU只有需要同时调试智能剪辑运行时时再使用 `pnpm desktop:dev:full`。可用 `TRUEGROWTH_FUNCLIP_PORT``TRUEGROWTH_FUNCLIP_LANG``TRUEGROWTH_FUNCLIP_URL` 覆盖默认配置。
## 部署
项目保留多条部署链路:
- Vercel / Netlify使用自己的仓库配置。
- Docker使用仓库根目录的 `Dockerfile` 构建静态站点镜像。
- Hybrid CDN + 自托管:见 [NPM CDN 部署](./docs/NPM_CDN_DEPLOY.md) 与 [CDN 部署](./docs/CDN_DEPLOYMENT.md)。
- 桌面端商业打包:见 [桌面端打包流程](./docs/DESKTOP_PACKAGING.md)。
## 仓库结构
```text
TrueGrowth/
├── apps/
│ ├── web/ # TrueGrowth Web 应用与 Service Worker
│ └── web-e2e/ # Playwright E2E 与手册生成脚本
├── packages/
│ ├── drawnix/ # 画布工作区核心库
│ ├── react-board/ # Plait React 画布适配层
│ ├── react-text/ # 文本渲染组件
│ └── utils/ # 共享工具与工作流解析
├── docs/ # 当前开发文档入口
├── openspec/ # 需求规格与变更提案
└── scripts/ # 构建、发布、手册与部署脚本
```
## 文档入口
- [开发文档索引](./docs/README.md)
- [二开指南](./docs/SECONDARY_DEVELOPMENT_GUIDE.md)
- [贡献指南](./CONTRIBUTING.md)
- [OpenSpec 说明](./openspec/AGENTS.md)
## License
MIT