# StoryForge StoryForge 现在拆成独立项目目录,和 `AI-glasses` 分开维护。 ## 目录 - `android-app/`:StoryForge Android 客户端 - `collector-service/`:FastAPI 后端,负责用户体系、项目、Agent、任务、内容分析和对外能力接入 - `n8n/`:工作流导出文件,作为流程编排中枢 - `docker-compose.yml`:本地 `collector + n8n + cli-proxy-api` 编排 - `Common/`:项目约束和架构说明 - `data/collector/`:SQLite、任务文件、下载产物 - `docs/`:审计、实施计划、联调说明、当前 MVP 状态 ## 产品手册 - [新媒体运营中台产品逻辑手册](./docs/PRODUCT_LOGIC_NEW_MEDIA_OPERATING_SYSTEM_2026-03-22.md) - [新媒体运营平台 UI 参考包](./output/ui/new-media-ops-reference-2026-03-22/README.md) - [Web V4 UI 原型](./output/ui/storyforge-web-v4-html-prototype-2026-03-22/README.md) - [Web V4 前端骨架](./web/storyforge-web-v4/README.md)(国内平台 UI 承载,当前工作台仅 `douyin` 完整实现) - [Mobile V4 UI 原型](./output/ui/storyforge-mobile-v4-html-prototype-2026-03-22/README.md) ## Android ```bash cd /Users/kris/code/StoryForge-gitea/android-app ./gradlew assembleDebug ``` ## Douyin Browser Capture ```bash cd /Users/kris/code/StoryForge-gitea ./scripts/start_douyin_workbench.sh ``` 业务页: ```text http://127.0.0.1:3618/workbench ``` 完整采集控制台: ```text http://127.0.0.1:3618 ``` 常用脚本: ```bash ./scripts/start_douyin_workbench.sh ./scripts/status_douyin_workbench.sh ./scripts/stop_douyin_workbench.sh ./scripts/cleanup_debug_ui.sh ``` 如果第一次使用,还需要先安装浏览器依赖: ```bash cd /Users/kris/code/StoryForge-gitea/scripts/douyin-browser-capture npm install npx playwright install chromium ``` 当前本地页面已经拆成两个入口: - `/workbench`:业务优先的 `Douyin Workbench`,可直接查看账号列表、商业化账号分析、快照详情、相似账号和对标关系 - `/`:完整浏览器辅助采集控制台,同时保留工作台能力 - 作品工作台支持按 `高分作品 / 最新作品 / 全部作品` 切换,并可按综合分、受欢迎程度、商业价值、发布时间、播放、点赞、分享、评论排序 - 作品列表支持 `视频 / 图文` 类型筛选,并可直接打开原作品链接 - 高分作品支持自动化分析,每条作品卡片下都会展示商业判断、复刻计划、运营动作和风险提醒 或者继续用命令行: ```bash cd /Users/kris/code/StoryForge-gitea/scripts/douyin-browser-capture npm run capture -- \ --profile-url https://www.douyin.com/user/your_account \ --storyforge-username kris \ --storyforge-password 'Asd123456.' ``` 说明: - 这是“真实浏览器 + 人工登录/过挑战 + 自动提取 + 回写 StoryForge”的辅助采集工具 - 默认输出到 `output/playwright/douyin/` - 本地控制台模式会把每次运行保存到 `output/playwright/douyin/control-panel/` - 控制台支持“开始采集 -> 浏览器登录 -> 网页点继续 -> 自动同步”的点击式流程 - 详细说明见 `scripts/douyin-browser-capture/README.md` ## Collector Service ```bash cd /Users/kris/code/StoryForge-gitea/collector-service python3 -m venv .venv source .venv/bin/activate pip install -r requirements.txt uvicorn app.main:app --host 0.0.0.0 --port 8081 --reload ``` ## Docker Compose ```bash cd /Users/kris/code/StoryForge-gitea cp .env.example .env docker compose up -d --build ``` 如果要让本机模型网关 `cli-proxy-api` 自动提供 `GLM-5`,建议在启动前确保本机环境里存在: ```bash export DASHSCOPE_API_KEY=your_dashscope_key ``` 或者把它写进本地 `.env`。`./scripts/start_business.sh` 会自动生成 `data/cliproxyapi/config.yaml` 并把 `glm-5 -> GLM-5` 映射到本机网关。 如果 `collector` 跑在 Docker 里,建议保留: ```bash COLLECTOR_N8N_BASE_URL=http://n8n:5678 ``` 如果你单独在宿主机启动 `collector-service`,它读取的仍然是: ```bash N8N_BASE_URL=http://127.0.0.1:5670 ``` 默认会启动: - `collector-service`:`http://127.0.0.1:8081` - `n8n`:`http://127.0.0.1:5670` - `cli-proxy-api`:`http://127.0.0.1:8317` - 公网入口:`https://storyforge.hyzq.net/` 默认会创建最高权限账号: - `kris` - `Asd123456.` ## 当前架构 - `collector-service` 负责: - 用户账号、多项目、多 Agent、多任务、多内容源数据边界 - 调用下载器、本地 ASR、本机 OpenAI 兼容模型 - 调用 Windows `cutvideo` 和 `huobao-drama` - 持久化任务、分镜、分析结果、事件日志 - `n8n` 负责: - 触发 `analysis_pipeline` - 触发 `content_source_sync_pipeline` - 触发 `real_cut_pipeline` - 触发 `ai_video_pipeline` - 历史旧运行链已完成移除,当前运行时只保留 StoryForge 自身服务与外部执行引擎 - 当前公网接入采用“云服务器 HTTPS 入口 + 本机桥接隧道 + 本机现网执行链”模式: - `https://storyforge.hyzq.net/` 由云服务器 `nginx` 提供 HTTPS 入口 - `/` 静态页由云服务器本地 `StoryForge Web V4` 直出 - `/v2/*`、`/openapi.json`、`/healthz` 反向代理到本机 `collector-service` - `cutvideo / huobao / 本机模型 / NAS 录制` 继续由本机和局域网执行链提供 ## 说明 - 新注册账号默认 `pending` - 主管理员审批后才可使用核心业务接口 - 支持 `user -> project -> knowledge base / assistant(agent) / job / content source` 的多租户边界 - 素材入口支持文字、视频链接、视频上传;内容源账号通过 `content_sources` 建模持久化,并可派生父子分析任务 - `cutvideo` 继续运行在 Windows 机器,本系统通过 API 调度 - `huobao-drama` 继续作为 AI 生成视频主链的核心引擎 - 详细审计、阶段计划和联调步骤见 `docs/`