v0.9.8 - OpenAPI 可折叠操作与模式约束、LLMs 提示词与分组、链接验证优化及土耳其语国际化
v0.9.8 - OpenAPI 可折叠操作与模式约束、LLMs 提示词与分组、链接验证优化及土耳其语国际化
Highlights
docmd v0.9.8 带来了一系列重大改进:支持 OpenAPI 接口操作交互式折叠与详细数据模式约束展示、为 LLMs 插件提供自定义系统提示词与章节分组、解决链接验证器中的多项边界异常、保证 MCP JSON-RPC 客户端标准输出纯净无污染,并在全量 UI 模板中实现完整的国际化对齐与土耳其语支持。
- OpenAPI 接口操作与模式约束 (
@docmd/plugin-openapi):OpenAPI 接口操作块支持交互式展开与折叠,大幅优化大型 API 文档的阅读体验(由 @w666 贡献于 PR #255,关闭 #254)。接口参数和模式定义清晰展示校验约束(最大/最小值、字符长度、正则表达式、必填标识)以及数组项。 - 打包 OpenAPI 运行时依赖:直接将
js-yaml与markdown-it作为@docmd/plugin-openapi的运行时依赖打包(由 @w666 贡献于 PR #255),杜绝独立执行或容器环境中的模块解析失败。 - LLMs 插件提示词配置 (
@docmd/plugin-llms):新增顶级prompt配置项,允许在生成的llms.txt顶部预置给 AI 编码助手的指导准则与提示词。同时,llms.txt中的文档链接按目录章节进行结构化分组展示。 - 链接验证器强化 (
@docmd/core):链接验证能够正确剔除可选的 Markdown 链接标题([文本](url "标题"))并跳过围栏代码块内的示例链接(关闭 #259)。同时精准解析/assets/绝对路径,且不再对空替代文本的图片链接产生误报(由 @Aryan007-dev 贡献于 PR #256,关闭 #250 与 #251)。 - 纯净的 MCP 标准输出 (
@docmd/core):在运行docmd mcp时屏蔽 stdout 上的 TUI 欢迎横幅(由 @vishalhabib99 贡献于 PR #260),避免 ANSI 转义字符干扰 Claude Desktop、Cursor 等客户端的 JSON-RPC 协议通信。 - 全量国际化 (i18n) 对齐与土耳其语支持 (
@docmd/ui):新增完整的土耳其语(tr)界面翻译(由 @KeuqS 贡献于 PR #258)和README.tr.md。针对默认模板与 Summer 模板,统筹对齐英语、法语、印地语、日语、韩语、俄语、土耳其语、德语、西班牙语和中文这 10 种语言的全部翻译键。 - 优化图片说明样式 (
@docmd/ui):将原先厚重的背景色框替换为居中、淡雅斜体的现代化说明文字(fit-content布局,由 @w666 贡献于 PR #253,关闭 #252),更自然地与图表融合。 - 依赖维护与安全性:更新 npm 依赖包组(PR #257),将
katex和sharp覆盖至安全补丁版本,清理源码注释中残留的内部 Issue 编号,并更新工作区依赖包。
OpenAPI: 可折叠操作与模式约束 (@docmd/plugin-openapi)
由 @w666 贡献于 PR #255(关闭 Issue #254),v0.9.8 显著增强了 OpenAPI/Swagger 规范的渲染能力:
- 可折叠接口操作:各个 API 操作可自由折叠与展开,配合目录导航(TOC)快速跳转定位。
- 模式校验约束展示:请求与响应的模式定义表格完整呈现以下校验约束:
- 字符串长度限制(
minLength,maxLength) - 数值范围限制(
minimum,maximum,exclusiveMinimum,exclusiveMaximum) - 正则表达式模式(
pattern) - 醒目的必填(
required)徽标 - 数组元素类型及模式规范
- 字符串长度限制(
- 引用请求体支持:顺畅解析请求体及复杂对象中引用的
$ref指针。 - 运行时依赖内建:直接引入
markdown-it和js-yaml,无需宿主环境传递依赖。
LLMs 插件 — 提示词配置与文档分组 (@docmd/plugin-llms)
- 自定义系统提示词:在
plugins.llms中配置prompt字段,该内容将直接置于生成的/llms.txt首部,便于为 AI 模型设定项目特定的编码规约与上下文。 - 章节分组:
llms.txt中的页面链接按文档目录层级分节呈现,更利于大模型上下文理解。
链接验证强化 (@docmd/core)
docmd validate 命令与 MCP 验证工具修复了以下边界问题:
- Markdown 链接标题与代码块跳过 (Issue #259):在路径匹配前自动剔除标题属性。解析 Token 时自动跟踪并忽略三重反引号和波浪线包裹的代码块,避免将示例代码误判为断链。
- 空替代文本与资源路径 (由 @Aryan007-dev 贡献于 PR #256,关闭 #250、#251):正则全面覆盖空 alt 文本图片,并将以
/assets/开头的绝对链接定位至项目根目录的 assets 文件夹。 - 排除规则继承:
config.exclude规则现已完整传递给validateLinks。
纯净的 MCP JSON-RPC 输出 (@docmd/core)
由 @vishalhabib99 贡献于 PR #260:
- 在
packages/core/src/bin/docmd.ts的横幅屏蔽清单中加入了'mcp'。 - MCP 服务启动时不再向 stdout 发送非 JSON 内容,彻底避免外部 MCP 宿主(如 Claude Desktop、Cursor)出现 JSON 解析异常。
国际化 (i18n) 对齐与土耳其语支持 (@docmd/ui)
- 土耳其语(
tr)界面 (由 @KeuqS 贡献于 PR #258):提供全量 UI 元素翻译(tr.json)。 - 土耳其语文档:新增
README.tr.md,并在所有语言版本的 README 顶部加入土耳其语入口。 - 翻译键全面对齐:统一 10 种受支持语言的翻译条目,消除缺失。
- 多模板一致性:Default 模板与 Summer 模板均已完整应用主题切换、专注模式与复制提示等国际化文本。
图片说明样式优化 (@docmd/ui)
由 @w666 贡献于 PR #253(关闭 Issue #252):
- 移除原先的实色背景框,采用现代极简的图片说明设计。
- 文本自适应宽度居中展示,辅以低对比度斜体排版,提升阅读美感。
社区贡献者与 Pull Requests
特别鸣谢为 v0.9.8 版本做出贡献的所有社区成员:
- @w666:贡献 PR #255(OpenAPI 可折叠操作、数据模式约束与内建依赖,关闭 #254)以及 PR #253(居中斜体图片说明,关闭 #252)。
- @Aryan007-dev:贡献 PR #256(链接验证空 alt 文本与 /assets/ 绝对路径处理,关闭 #250 与 #251)。
- @KeuqS:贡献 PR #258(土耳其语 UI 翻译字典与语言注册)。
- @vishalhabib99:贡献 PR #260(docmd mcp 标准输出横幅屏蔽)。
0.9.9 版本展望
- 预检批量安装后的软件包完整性校验。
- 拓展
.gitignore模式匹配,支持否定模式(!)与子目录局部忽略文件。 - 进一步提升多语言全文检索索引构建性能。