| name | sf-run-and-operate |
| description | 运行/部署 StoryMoss 的命令解剖、运行时数据与产物落点。何时加载:要启动应用、要找日志、要找数据库/配置文件、要发布 tag、要看生成链路日志、或被问“日志在哪/数据在哪/怎么发布”时。 |
StoryMoss 运行与操作
启动命令解剖
cd src-tauri && cargo tauri dev
两个窗口(src-tauri/tauri.conf.json):
frontstage:草苔 - 幕前创作,frontstage.html,1400×900,启动可见。
backstage:草苔 - 幕后工作室,index.html,1200×800,启动隐藏(幕前点「草苔」按钮显示)。
仅前端(无后端,IPC 会挂起,仅用于 UI 调试):
cd src-frontend && npm run dev
运行时数据落点
| 内容 | 位置 | 说明 |
|---|
| 应用数据根 | <app_data_dir>/ | Tauri app_data_dir();macOS ~/Library/Application Support/com.storymoss.app/,Win %APPDATA%\com.storymoss.app\,Linux ~/.local/share/com.storymoss.app/ |
| SQLite 数据库 | <app_data_dir>/ 下 | 由 init_db 创建;删掉可重置 |
| 生成链路日志 | <app_data_dir>/logs/creative_workflow.log | WorkflowLogger(src-tauri/src/workflow_logger.rs);诊断卡片会显示路径与最近日志 |
| 全局配置 | <app_data_dir>/config.json 等 | AppConfig |
| 工作室配置 | <app_data_dir>/studios/{story_id}/ | studio.json、llm_config.json 等 |
| 体裁模板 | <app_data_dir>/templates/genres.json | 启动时优先读取,缺失回退内置 43 体裁 |
| 提示词覆盖 | SQLite(prompt_overrides 表) | PromptRegistry::resolve_prompt() 优先读 DB 覆盖 |
| 构建产物 | src-tauri/target/release/bundle/{dmg,deb,msi}/ | cargo tauri build 产出 |
发布流程(tag 驱动)
git add -A && git commit -m "fix: vX.Y.Z ..."
git push origin master
git tag -a vX.Y.Z -m "vX.Y.Z 简述"
git push origin vX.Y.Z
gh run list --limit 3
cd src-tauri && cargo tauri build
CI 在 tag push 时触发 tauri-build 的 stable 分支,发布 GitHub Release(含 .msi/.dmg/.deb/.AppImage 及 .sig / .app.tar.gz)并同步到 https://storymoss.top/releases/;应用内升级器优先读取 https://storymoss.top/releases/latest.json,GitHub Releases 作为回退源。前提:bundle.createUpdaterArtifacts=true + Secret TAURI_SIGNING_PRIVATE_KEY + Secrets FTP_HOST/FTP_USER/FTP_PASS;verify-updater-manifest job 会在 tag 构建后校验 GitHub 端清单存在。
生成链路观测
creative_workflow.log 记录 TriShot/LLM/ModelGateway 各阶段。诊断卡片(幕前/幕后设置页)显示:AI 生成模式、当前模型 ID/名/Provider/端点、最后调用模型、最后发给 LLM 的提示词全文、工作流日志路径与最近条目。后端 log_frontend_event 命令允许前端写入 WorkflowLogger。
关键诊断事件:genesis.first_chapter.generated、genesis.chapter_switch.sent、genesis.final_content、smart_execute.start、trishot.call3.done、trishot.bgp4.spawn/done、llm.record_call.spawn(候选实时探测走标准 [Gateway] 日志,不进 creative_workflow.log)。
何时 NOT 用本技能
- 怎么装环境/构建失败 →
sf-build-and-env。
- 测试命令 →
sf-validation-and-qa。
- CI 失败根因 →
sf-debugging-playbook。
- 发布门禁规则 →
sf-change-control。
出处与维护
- 重验证命令:
grep -n 'devUrl\|frontendDist\|productName\|version' src-tauri/tauri.conf.json
rg -n 'app_data_dir' src-tauri/src | head(数据根路径来源)
gh run list --limit 3(CI 状态)
- 易漂移项:
tauri.conf.json 窗口/版本、latest.json 端点、CI release body。
- 最后核对:2026-07-07,v0.26.23。