外观
在线批阅与自动改稿
能源知识库采用“公开阅读、登录批阅”的方式。任何人都可以阅读文章、搜索知识点和运行交互动画;只有授权维护者登录后,页面才会显示划线批阅入口。
使用流程
- 点击导航中的“登录批阅”,完成 GitHub 身份验证。
- 在文章正文中划选需要修改的文字。
- 填写修改要求并加入批阅清单,然后继续在当前或其他文章中添加批注。
- 打开批阅清单检查或删除项目,最后一次提交;每批最多 20 条,只生成一个 Cloud Codex 任务。
- n8n 将整批页面、选区、上下文和要求转交给 Cloud Codex 统一修改。
- Cloud Codex 修改 Markdown 或动画代码、运行构建,并生成可审查的任务差异。
molt上的受限发布器应用差异,并用仅绑定本仓库的 Deploy Key 推送一个codex/review-*临时分支。- 仓库 Action 自动检查文件范围、安全规则和 VitePress 构建,随后创建并 squash 合并一个 PR;GitHub Pages 自动发布新版。
未提交的批阅清单保存在当前浏览器会话中,站内切换文章不会丢失;关闭该浏览器会话后会自动清除。提交失败时清单会保留,方便修正后重试。
登录与会话
登录由 GitHub OAuth 负责,不在知识库中维护密码。网关使用 state 和 PKCE 保护登录回调,只读取 GitHub 公开身份和当前用户对本仓库的权限;只有 GitHub 返回 push 权限(含 maintain 与 admin)的用户才能批阅。随后网关返回只能使用一次、两分钟过期的授权码,网站用它换取 15 分钟批阅令牌。OAuth 临时令牌、ChatGPT Token 和服务密钥不会发送给浏览器或 n8n,也不会写入磁盘。
未登录或令牌过期时,批阅接口返回 401,页面保持只读。网关只接受正式知识库来源,并限制每位维护者的提交频率;n8n Webhook 不对公网开放,只能由同机网关访问,隔离执行器再通过独立凭据执行仓库边界和内容策略验证。
自动修改范围
默认允许:
docs/**/*.mddocs/.vitepress/theme/components/**/*.vuedocs/.vitepress/theme/components/**/*.tsdocs/.vitepress/theme/components/**/*.cssdocs/public/demos/**/*.{html,js,css,svg,json,csv}
默认拒绝 .github/、依赖文件、VitePress 全局配置、服务器文件、符号链接、子模块和其他仓库。动画代码不得加入外部脚本、动态代码执行、凭据读取或未经批准的网络请求。
自动合并门禁
molt 只运行受限的任务提交、状态查询和差异发布器,不持有个人 GitHub OAuth Token 或 PAT。发布器使用只对本仓库有效的写 Deploy Key,且只能根据服务端生成的请求 ID 推送 codex/review-* 临时分支;它不能通过这条链路直接写入 main。仓库内的 GitHub Action 创建 PR、执行自动合并,并依次检查:
- 选中的原文仍能在目标文章中唯一定位。
- 修改文件全部位于白名单内。
- 动画代码通过静态安全检查。
npm run check成功。- PR 的必需检查全部通过。
任何一步失败都会停止合并并保留任务记录,便于维护者检查和重试。