文档站维护
给 FluxToken 维护者看的:这套文档怎么改、怎么发布、为什么这么设计。
这一节不面向普通用户
如果你是来找「怎么用 FluxToken」的,请回到快速开始。
这套文档的基本设计
三个决定,值得先明白:
一、价格数据不手写,构建时自动抓。 所有分组、模型名、倍率和价格,都来自 scripts/build-facts.mjs 在构建时对线上接口的抓取。 正文里不出现硬编码的价格数字,需要展示价格的地方挂组件(<ModelExplorer /> 等)。 这样线上改价后,重新构建即可同步,不会出现「文档写 $5、实际扣 $10」的静默失真。
二、构建在本地或 CI,绝不在生产服务器。 香港服务器是 2 vCPU / 4GB,Node 构建会打挂它(2026-10-02 已发生过一次)。 本地构建后只上传 dist/ 静态产物。
三、FAQ 按报错原文组织。 用户搜的是 模型不存在,不是「Gemini 常见问题」。新增报错时先加进 报错原文索引,再决定是否单独成页。
目录结构
fluxtoken-docs/
├── docs/ ← 站点内容
│ ├── index.md 首页
│ ├── guide/ 快速开始(9 页)
│ ├── groups/ 分组与模型(8 页)
│ ├── cli/ CLI 配置(6 页)
│ ├── clients/ 客户端接入(8 页)
│ ├── api/ 接口与数据(6 页)
│ ├── faq/ 常见问题(10 页)
│ ├── legal/ 条款与政策(5 页)
│ ├── ops/ 维护者专区(本页 + 3 页)
│ ├── public/ 静态资源与对外 JSON
│ │ ├── data/groups.json ← 构建时生成,对外公开
│ │ └── logo.svg / favicon.svg
│ └── .vitepress/
│ ├── config.mjs 站点配置、侧边栏
│ ├── data/groups.json ← 构建时生成,供组件 import
│ └── theme/ 主题与组件
├── scripts/
│ ├── build-facts.mjs 抓取线上事实
│ └── gen-legal.mjs 生成法律原文页
├── _facts/ 事实库(写作依据,不参与构建)
│ ├── BRIEF.md 共同事实简报
│ ├── fact-sheet.md 分组/模型/价格明细
│ └── legal/ 条款原文
├── deploy/ Nginx 与发布脚本
└── WRITING-GUIDE.md 写作与维护规范改内容的三种情况
情况一:改文案、改说明
直接编辑 docs/ 下的 Markdown。写完本地起服务预览:
本地预览
export PATH="$HOME/.local/node/bin:$PATH"cd fluxtoken-docsnpm run dev改 Markdown 会即时热更新。
情况二:线上加了新分组、新模型、改了价
不需要手改文档。 跑一次构建,数据会自动刷新:
只刷新数据
node scripts/build-facts.mjs然后确认 _facts/fact-sheet.md 与 docs/.vitepress/data/groups.json 的变化。 如果有新分组,可能需要补一句人工说明(比如「什么时候该选它」), 但分组名和价格永远是自动的。
情况三:平台更新了条款
重新抓取条款原文到 _facts/legal/,再生成页面:
重新抓取条款原文
node scripts/refresh-legal.mjs重新生成条款页
node scripts/gen-legal.mjs法律页只做结构处理,不改写原文。如果你觉得某段需要「解释一下」, 写在页首的提示框里,或写在条款与政策总览的常见疑问里——不要动正文。
写作规范
动笔前读 WRITING-GUIDE.md。 三条最容易踩的:
- 分组名逐字照抄,包括全角
【】、中点·和组名内部的空格 (【Grok】Heavy· 福利里Heavy与·之间有一个空格)。写错一个字用户在控制台就找不到。 - 不写死价格,交给组件。
- 币种写美元。上游价格接口的
currency字段声明为CNY,但数值语义实际是美元—— 这是已知的上游字段瑕疵,不要因此在文档里写人民币。