Motrix 仓库语言与文档规范:双语发布、公私边界与 Obsidian 文档网关实战
桌面应用网络后端【免费下载链接】MotrixA full-featured download manager.项目地址https://gitcode.com/GitHub_Trending/mo/Motrix点击查看免费下载本文围绕 Motrix 开源仓库的 .claude/rules/language-and-docs.md 规则文件展开系统讲解该仓库在「协作语言、双语公开文档、公开/私有内容边界、维护者文档Obsidian 网关」四个层面的强制约定。读完本文你将掌握 Motrix 贡献者协作时需要遵守的语言与文档纪律理解pnpm run docs网关的设计意图与完整用法并能对照仓库源码scripts/obsidian-docs.mjs、scripts/obsidian-docs-lib.mjs与测试tests/scripts/obsidian-docs.test.ts验证每条规则的真实落点。规则文件在仓库协作体系中的位置Motrix 以 Claude Code 规则作为规范性的 Agent 协作指引。根据 AGENTS.md任何 Agent 在检查或修改文件前必须依次读取 CLAUDE.md 与全部.claude/rules/*.md中无pathsfrontmatter 的全局规则其中就包含本规则文件。规则冲突时的裁决顺序为当前用户指令 AGENTS.mdCLAUDE.md 匹配的.claude/rules/*.md 默认行为。在 CLAUDE.md 的规则路由表中language-and-docs.md的职责被标注为Language and public/private documentation语言与公开/私有文档与commit-and-quality.md提交与质量门禁、git-workflow.mdGit 工作流等并列属于所有文件与所有操作都必须遵循的全局规则。它在仓库中被 git 跟踪git ls-files可见与.gitignore中的CLAUDE.local.md形成对照——前者是团队共享约定后者是个人机器专属内容。语言约定面向人的内容用对方语言面向机器的内容用英文规则文件第一条约束是「语言」代码、注释、提交信息、PR 标题、分支名、文件名与标识符一律使用英文与用户交流时使用用户所使用的语言例如中文用户会得到中文回复。这两条看似简单实则划清了「机器可读产物」与「人类可读沟通」的边界。对 Motrix 这类国际化下载管理器而言代码与标识符的英文统一保证了 src/core 等跨 shell 复用模块Electron 桌面端与 Node/Web 服务端共享同一核心在命名上的一致性而响应语言跟随用户则是社区协作的基本体验要求。仓库中的落地佐证用户可见文案通过 src/shared/locales 下 26 份语言资源文件管理并由 scripts/check-i18n.mjs 校验各语言逻辑键集合、复数类别与占位符一致性——UI 字符串的「多语言化」走的是 i18n 目录而非硬编码这恰好与「代码用英文、文案走翻译资源」的约定呼应。公开文档双语成对发布与同步更新成对发布规则规则规定新增的最终用户指南以及已有翻译对应版本的文档必须同时以英文name.md与中文name.zh-CN.md成对交付。仓库 docs 目录正是这样实践的例如 docs/plugin-hook-runtime.md 与 docs/plugin-hook-runtime.zh-CN.md、docs/bridge-pairing-protocol.md 与 docs/bridge-pairing-protocol.zh-CN.md、docs/docker-server.md 与 docs/docker-server.zh-CN.md 等release notes 目录同样按.md/.zh-CN.md成对组织。例外条款治理类文件、生成产物、子目录/开发者 README 可以保持单语言除非维护者明确建立成对版本。这意味着并非所有文件都必须双语判断标准是「读者是否为最终用户」。成对文件的同步纪律修改一对文件中的任何一个时必须在同一次变更中更新另一个并保证标题headings、命令commands、路径paths与代码示例code samples在两份文件中保持一致各自语言的行文必须地道idiomatic prose而不是机械翻译。该约束在仓库工具链中也有呼应docs目录属于已审阅的公开产物reviewed public artifacts而非私有设计资料tests/scripts/check-i18n.test.ts 等测试进一步佐证仓库对「双语内容对齐」的自动化校验倾向。公开/私有边界哪些内容永远不能进仓库规则文件用一整节强调公开与私有的边界这是 Motrix 作为开源仓库的安全底线机器专属的 Agent 上下文应放在被忽略的CLAUDE.local.md中.gitignore 第 141 行确实将其列入忽略清单永远不得提交私有计划private plans、提示词prompts、交接信息handoffs、凭据credentials、私有应用或 vault 名称、以及绝对本地路径absolute local paths公开的贡献流程必须能在**普通检出normal checkout**下运行——即不依赖任何私有账号、私有应用或相邻私有仓库若要把私有素材转为公开产物必须先改写为独立成篇的公开文档并审阅后再提交。这一节的工程后果是任何贡献者或 Agent都不应把本地机器路径、私人笔记库名称写进跟踪文件。仓库 .gitignore 第 154–156 行进一步将/obsidian-docs.config.json、/.obsidian-doc-context.json及临时文件排除在版本控制之外正是为了容纳「本地专属」的文档网关配置。维护者文档Obsidian 网关pnpm run docs全解规则明确指出维护者操作手册、部署 runbook、内部规格与实施计划默认归属 Obsidian 管理而不是直接塞进仓库。仓库提供了一套 CLI 网关封装对 Obsidian 的操作核心诉求是「要文档进仓库必须有用户明确请求否则一律走网关写入外部 vault」。为什么必须用pnpm run docs而不是裸pnpm docs规则特别警告裸pnpm docs可能被 pnpm 解析为内置的包文档命令因此必须显式写成pnpm run docs -- command或使用对应的docs:*脚本。仓库 package.json 第 57–66 行注册了整套脚本脚本等价命令用途docsnode scripts/obsidian-docs.mjs网关入口需跟命令docs:createnode scripts/obsidian-docs.mjs create创建文档docs:doctornode scripts/obsidian-docs.mjs doctor环境自检docs:listnode scripts/obsidian-docs.mjs list列出计划/规格docs:statusnode scripts/obsidian-docs.mjs status计划进度与验证状态docs:tasknode scripts/obsidian-docs.mjs task更新任务完成状态docs:usenode scripts/obsidian-docs.mjs use选择当前计划docs:contextnode scripts/obsidian-docs.mjs context输出计划上下文docs:checknode scripts/obsidian-docs.mjs check校验全部活动计划docs:clearnode scripts/obsidian-docs.mjs clear清除本地上下文初次使用时应先运行pnpm run docs -- help pnpm run docs -- doctorhelp打印完整用法与七个目标目录doctor则依次调用 Obsidian CLI 检查版本、vault 名称、项目根目录、文件数量与当前 Git 分支/HEAD实现见 scripts/obsidian-docs.mjs 的doctor分支runObsidian(config, [version])、vault infoname、folder path... infofiles再叠加getGitState输出branchhead。配置文件从示例模板起步网关依赖被忽略的本地配置文件obsidian-docs.config.json仓库只提供示例模板 obsidian-docs.config.example.json{ version: 1, vault: your-obsidian-vault, projectRoot: projects/motrix, repository: Motrix, contextFile: .obsidian-doc-context.json, commandTimeoutMs: 30000, directories: { activeSpecs: 20-active-specs, activePlans: 30-active-plans, decisions: 40-decisions, evidence: 50-evidence, publication: 60-publication, archivePlans: 90-archive/plans, legacyImport: 90-legacy-import } }使用时把示例复制为本地obsidian-docs.config.json并修改 vault 与目录。注意validateDocsConfigscripts/obsidian-docs-lib.mjs会强制校验version必须为 1vault、projectRoot、repository、contextFile必须为非空字符串且 vault 不含控制字符commandTimeoutMs必须是不小于 1000 的整数七个目录键必须齐全且所有路径必须是安全相对路径禁止\、NUL、绝对路径、空段、.与..。测试 tests/scripts/obsidian-docs.test.ts 覆盖了../plans穿越、C:\outside.json、\\server\share等恶意路径被拒绝的用例。在新工作树worktree中如果已有配置好的检出可用通过--config existing-local-config指定本地配置例如pnpm run docs -- doctor --config /path/to/obsidian-docs.config.json创建文档的标准姿势规则禁止用「直接写 vault 文件系统」或「UI 自动化」绕过网关。创建文档必须走pnpm run docs -- create directory name.md --from temporary-file参数说明directory必须是七个目录之一specs、plans、decisions、evidence、publication、archive-plans、legacy-import映射关系见DOCUMENT_DIRECTORY_KEYSname.md必须以.md结尾且解析后必须落在配置的projectRoot之下--from temporary-file指向仓库之外的临时源文件且必须指向普通文件而非符号链接若目标文档已存在必须先检查既有笔记--overwrite只允许用于预期中的更新。源码层面的三重安全闸门见 scripts/obsidian-docs-lib.mjs 的createDocument--from与--stdin二选一同时给出会报错内容禁止包含 NUL 字符且 UTF-8 字节数不得超过 512 KiBMAX_CREATE_CONTENT_BYTES先通过 Obsidian 的 eval 检查目标是否已存在且为 Markdown 文件——若存在而未传--overwrite根本不会调用 create 命令测试rejects an existing document before invoking the create command直接断言了这一点。创建后的回读校验规则强调创建命令成功并不代表手册完好。必须回读已保存的内容检查代码块与字面转义序列literal escape sequences是否原样保留。这条提醒对应网关以content参数把整篇文档透传给 CLI 的实现方式——超长、含特殊字符或换行异常的内容可能在传输中受损只有回读才能确认正文完整性。网关不可用时的兜底策略若网关或配置不可用例如本机没有obsidianCLI 或缺少obsidian-docs.config.json规则要求报告具体的阻塞原因blocker在仓库之外保留临时副本不得退而求其次把手册放进docs/也不得通过 PR 发布它。这与「docs/ 只存放已审阅公开产物」的边界一致——内部运维手册没有明确的公开化请求前任何形式的入库都是违规的。loadDocsConfig在找不到配置文件时会抛出「Copy obsidian-docs.config.example.json to obsidian-docs.config.json and customize the ignored local file」的明确指引测试explains how to create an optional local config也验证了这条报错路径。计划文档的配套机制任务 ID、进度与配对校验虽然规则文件本体不长但网关生态中与「维护者文档」配套的机制值得一并理解它们直接支撑「双语成对、进度可信」这两条规则稳定任务 ID任务行格式为- [x] [DOC-01] 描述ID 须匹配TASK_ID_PATTERN如DOC-01。parseTaskLines会检测重复 IDderiveProgress根据勾选状态推导implementation_statusnot-started/in-progress/verification双语配对校验validatePlanPair强制英文/中文两份文档的 doc_id、任务 ID 顺序、完成状态完全一致frontmatter 中bilingual_pair必须互为反向引用且要求 8 个元数据字段齐全含verified_head、verified_repository、progress_schema: stable-task-ids-v1本地上下文pnpm run docs -- use -- plan-id会把选中的计划写入检出根目录的.obsidian-doc-context.json0600 权限、拒绝符号链接、原子写入后续status/context/task不显式传参时可自动解析当前计划docs:clear清除它。规则在 Agent 协作中的实际执行路径把规则文件与仓库工具串起来Motrix 的文档协作闭环是日常协作代码、注释、提交、分支全英文回复用户用对方语言。公开文档新增指南按name.mdname.zh-CN.md成对提交标题/命令/路径/代码示例严格对齐。私有内容机器配置放忽略的CLAUDE.local.md绝不把私密计划、凭据、绝对路径提交进仓库。维护者手册默认写 Obsidian通过pnpm run docs -- help|doctor|create ...网关操作创建后回读校验配置与上下文文件一律 gitignore异常时保留仓库外副本并报告 blocker。自动化校验tests/scripts/obsidian-docs.test.ts 以 30 余个用例守护上述全部安全与一致性约束CLAUDE.md 则将commit-and-quality.md定为权威提交门禁文档规则由门禁联动执行。对任何打算向 Motrix 提交代码或文档的开发者/Agent先读 CLAUDE.md 与本规则文件、再动手修改是仓库强制要求的第一步而本文给出的源码与测试路径可以让你在动手前就对每条约定的「为什么」了然于心。赞分享桌面应用网络后端【免费下载链接】MotrixA full-featured download manager.项目地址https://gitcode.com/GitHub_Trending/mo/Motrix点击查看免费下载相关推荐Obsidian i18n 文档维护指南Mintlify 双语文档的写作规范、术语表与提交前校验Obsidian i18n 文档维护指南Mintlify 双语文档的写作规范、术语表与提交前校验 本篇技术指南围绕 obsidian i18n 仓库中的文档贡AI 应用开发工具大模型app-store-screenshots 贡献实战指南双文档仓库的改动边界、验证套件与 PR 规范app store screenshots 贡献实战指南双文档仓库的改动边界、验证套件与 PR 规范 本文基于仓库根目录的 CONTRIBUTING.md hEasy-Vibe 仓库工程指南VitePress 多语言文档站的开发、协作规范与部署实战Easy Vibe 仓库工程指南VitePress 多语言文档站的开发、协作规范与部署实战 本文基于 easy vibe 仓库根目录的 AGENTS.md h教程文档创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

相关新闻

CAN总线仲裁机制详解:从显性位到机器人关节ID分配实战

CAN总线仲裁机制详解:从显性位到机器人关节ID分配实战

1. 从一次关节抖动说起:为什么两个节点同时开口会出事如果你正在做机器人关节控制,大概率遇到过这种场景:一条CAN总线上挂着主控和好几个关节驱动器,主控周期性下发位置指令,某个关节驱动器同时上报状态反馈&#xff0…

2026/10/11 11:39:11 阅读更多 →
CAN总线八字节协议解析:关节电机控制帧与反馈帧实战指南

CAN总线八字节协议解析:关节电机控制帧与反馈帧实战指南

1. 为什么八字节值得单独拎出来讲搞机器人关节控制的人,绕不开CAN总线。但很多人第一次看到关节驱动器的通信协议文档时,脑子里冒出来的第一个问题往往是:八个字节,到底能装下什么?你想想,一个电机要控制的…

2026/10/11 11:39:11 阅读更多 →
RK3588三系统Ubuntu适配实战:22.04/24.04/26.04刷机与选型指南

RK3588三系统Ubuntu适配实战:22.04/24.04/26.04刷机与选型指南

1. 从一块RK3588开发板说起:为什么三系统适配值得单独聊手里有一块RK3588的开发板,第一件事做什么?绝大多数人的答案都是"刷个系统跑起来看看"。但真正上手之后你会发现,刷系统这件事远没有想象中那么"一次就好&qu…

2026/10/11 11:39:11 阅读更多 →

最新新闻

影刀RPA新手教程:表单自动填写实战——批量录入与动态表单处理

影刀RPA新手教程:表单自动填写实战——批量录入与动态表单处理

影刀RPA新手教程:表单自动填写实战——批量录入与动态表单处理 表单填写是企业RPA最高频的场景。HR录员工信息、财务录报销单、运营录商品信息——全是表单。但表单填写不是"定位输入框→输入文字"这么简单,动态下拉菜单、日期选择器、文件上传…

2026/10/11 13:26:58 阅读更多 →
OpenClaw 接入 deepseek 的 Windows 安装全流程攻略:从 PowerShell 到 TaoToken 配置

OpenClaw 接入 deepseek 的 Windows 安装全流程攻略:从 PowerShell 到 TaoToken 配置

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/11 13:26:58 阅读更多 →
AI日报|Anthropic把前沿模型带进工业防御 / Google给Agent独立身份 / 边缘决策模型压到3B

AI日报|Anthropic把前沿模型带进工业防御 / Google给Agent独立身份 / 边缘决策模型压到3B

AI技术解读 AI日报 2026-10-09 AI正在把漏洞发现与边缘决策推向生产现场,但修复动作必须经过验证、维护窗口、独立终态读回与可演练回滚。 AI日报OT安全企业Agent边缘计算RAG AI可以提速风险发现;生产变更仍需独立身份、人工验证、终态读回与回滚证据…

2026/10/11 13:26:58 阅读更多 →
SpringBoot3+Vue3开源资产管理系统:从Excel台账到全生命周期数字化

SpringBoot3+Vue3开源资产管理系统:从Excel台账到全生命周期数字化

1. Excel 表格里的账实错乱,到底乱在哪1.1 一张表管三年的真实崩溃现场做资产管理这件事,绝大多数公司都是从一张 Excel 开始的。刚开始还好,电脑、显示器、办公桌椅几十件,表格里按部门登记一下,领导要什么数据当场就…

2026/10/11 13:26:58 阅读更多 →
Kotlin日历API实战:LocalDate、协程与Android避坑指南

Kotlin日历API实战:LocalDate、协程与Android避坑指南

如果让我用一句话来概括 Kotlin 里的日历相关 API,我会说:它是 Java 旧日期 API 的“现代化平替”,也是协程时代处理时间逻辑的基石。你打开绝大多数 Kotlin 项目,只要涉及日期计算、事件提醒、打卡签到,绕不开三样东西…

2026/10/11 13:26:58 阅读更多 →
OpenClaw智能网页抓取Skill:从URL到结构化JSON的工程实践

OpenClaw智能网页抓取Skill:从URL到结构化JSON的工程实践

当我在OpenClaw 2026.3.13版本里把最后一个智能网页抓取Skill的测试用例跑通时,最大的感受不是“终于能抓了”,而是“这次抓得像个正经工具了”。这个Skill并不是简单封装一个requests加正则匹配,而是把智能体场景里最常遇到的网页读取、结构…

2026/10/11 13:25:57 阅读更多 →

日新闻

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

简介:基于 ARIMA、LSTM、Transformer 等模型的流感时间序列预测 Python 源码,面向计算机相关专业课程设计与期末大作业学生,以及项目实战学习者。内容覆盖预处理、平稳性检验、定阶、残差分析、多模型对比预测的完整时序建模流程,…

2026/10/11 0:00:27 阅读更多 →
影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别 做影刀RPA自动化,十个新手有八个栽在"往输入框里填东西"这件事上:要么填不进去,要么填了一半,要么直接把原来内容追加在后面。这背后的根因&…

2026/10/11 0:00:27 阅读更多 →
影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容 1. 认识影刀:什么场景该用RPA采小说数据 起点中文网的页面结构相对稳定——分类榜单、书籍详情、章节内容三块独立页面,跳转链路清晰。这种场景非常适合影刀自动化&#x…

2026/10/11 0:00:27 阅读更多 →

周新闻

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

简介:基于 ARIMA、LSTM、Transformer 等模型的流感时间序列预测 Python 源码,面向计算机相关专业课程设计与期末大作业学生,以及项目实战学习者。内容覆盖预处理、平稳性检验、定阶、残差分析、多模型对比预测的完整时序建模流程,…

2026/10/11 0:00:27 阅读更多 →
影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别 做影刀RPA自动化,十个新手有八个栽在"往输入框里填东西"这件事上:要么填不进去,要么填了一半,要么直接把原来内容追加在后面。这背后的根因&…

2026/10/11 0:00:27 阅读更多 →
影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容 1. 认识影刀:什么场景该用RPA采小说数据 起点中文网的页面结构相对稳定——分类榜单、书籍详情、章节内容三块独立页面,跳转链路清晰。这种场景非常适合影刀自动化&#x…

2026/10/11 0:00:27 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/11 10:45:37 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/9 21:32:20 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/10 10:38:42 阅读更多 →