这是一个适合小机器部署的小说工作台版本:
- 前端仍然是静态面板
- 后端还是单进程
Express - agent 精简为
outline / draft / review三个角色 qwen、OpenRouter、SiliconFlow统一走可配置执行层
cp .env.example .env
cd app
npm ci
npm start默认地址是 http://127.0.0.1:3800。
.env 里每个 agent 都能独立指定 provider:
command: 本地命令执行,prompt 会同时传到 stdin 和$PROMPT_FILEopenrouter: OpenRouter 的 OpenAI 兼容接口siliconflow: SiliconFlow 的 OpenAI 兼容接口
注意:
- 这台远程机我已经实测过
qwen -y -o text可用,可以直接作为OUTLINE_AGENT_COMMAND - OpenRouter 和 SiliconFlow 的免费模型 ID 可能变化,
DRAFT_AGENT_MODEL/REVIEW_AGENT_MODEL留给你自己填,不在代码里写死
任务文件现在用项目相对路径,可以直接打包参考文件内容给 API 模型:
cd app
node agent.js outline tasks/ch002-outline-task.md
node agent.js draft tasks/ch002-draft-task.md
node agent.js review tasks/custom-review-task.md --output output/audits/audit-ch-004.md如果只想看模型返回、不落盘:
node agent.js draft tasks/ch003-draft-task.md --print现在这套推荐分成三层:
源码仓:
ssh://root@120.26.32.59:33/root/git/novel-evolution.git
服务器源码 checkout:
/root/novel-evolution-src
线上运行目录:
/root/novel-evolution规则是:
- 本地和协作者都只改 git 仓库,不直接改
/root/novel-evolution - push 到
main后,服务器会把代码同步到/root/novel-evolution-src - 再由
scripts/deploy-runtime.sh覆盖更新线上运行目录并重启pm2 /root/novel-evolution/.env保留在服务器,不进 git
如果线上是通过网页直接写出来的新内容,需要回收到本地:
bash scripts/sync-remote-workspace.sh它会把远端这些目录拉回本地:
dynamic/output/tasks/short-story/dynamic/short-story/output/short-story/tasks/
如果只是首次手工部署,也还能继续用旧办法:
tar -cf - --exclude='.git' --exclude='app/node_modules' . \
| ssh -p 33 root@120.26.32.59 'cd /root/novel-evolution && tar -xf -'
ssh -p 33 root@120.26.32.59 'cd /root/novel-evolution/app && npm ci && pm2 start ecosystem.config.cjs && pm2 save'仓库里带了一套独立短篇工作区:
它和长篇数据完全隔离,适合拿来试写短篇。建议单独起一个实例,例如 3801。