← 返回博客

Rotifer v0.7.5 & v0.7.6:Gene 注册表、版本链条与 MCP 分析

域名碎片化已解决。Gene 历史可追溯。MCP Server 新增调用分析。两个 npm 包同步更新。

Rotifer v0.7.5 & v0.7.6:Gene 注册表、版本链条与 MCP 分析

Gene 生态很快突破了 50+ 个 Gene。速度快到暴露了两个基础设施缺口:域名碎片化(同一概念被注册在不同域名下)和版本孤岛(同一 Gene 的 v0.1 和 v0.2 之间没有链接)。v0.7.5 同时修复了这两个问题——并新增了 MCP 调用分析,让我们终于可以量化衡量生态增长。

@rotifer/playground@rotifer/mcp-server 两个 npm 包同步更新。


Gene 域名注册表

此前,rotifer wrap --domain 接受任意自由文本。开发者各自选择了 ai.videomedia.videovideo.generation 等域名来描述功能上完全相同的类别。50 个 Gene 时这还只是烦人;500 个时就是混乱。

v0.7.5 引入了域名注册表——一个追踪所有已注册域名的共享命名空间:

Terminal window
rotifer wrap my-gene
# ? 选择一个域名:
# ❯ ai.text (12 个 Gene)
# ai.image (8 个 Gene)
# data.transform (5 个 Gene)
# [输入新域名]

当你运行 rotifer wrap 但不带 --domain 参数时,CLI 会从本地缓存(与云端注册表同步)中推荐已有域名。选择一个,或输入新域名——发布时自动注册。

域名格式现在有校验:仅允许小写字母、数字和点号(a-z0-9.),禁止特殊字符和路径穿越。

仍然可以用 rotifer wrap --domain custom.domain 跳过交互提示。

Gene 版本链条

每个 Gene 现在携带一个指向前一版本的链接。当你发布更新的 Gene 时,CLI 自动查找你账户下同名 Gene 的最新版本并设置 previous_version_id

Terminal window
rotifer publish text-summarizer --changelog "改进了长文档的提取效果"

这形成了一条可追溯的版本链:

text-summarizer v0.1.0 → v0.2.0 → v0.3.0
↑ 通过 previous_version_id 链接

--changelog 参数(最多 500 字符)为每次发布存储版本说明。在交互模式下跳过时,CLI 自动生成简要 diff。v0.7.5 之前发布的现有 Gene 不受影响——changelog 字段可选,默认为 null。

MCP Server:版本历史与调用分析

@rotifer/mcp-server npm 包获得两个重要新功能:

list_gene_versions

浏览任意 Gene 的完整版本历史:

// list_gene_versions({ owner: "alice", name: "text-summarizer" })
[
{ "version": "0.3.0", "changelog": "改进了长文档的提取效果", "previous_version_id": "..." },
{ "version": "0.2.0", "changelog": "新增 Markdown 输入支持", "previous_version_id": "..." },
{ "version": "0.1.0", "changelog": null, "previous_version_id": null }
]

调用分析

每次 MCP 工具调用现在都被记录——工具名称、成功/失败、延迟以及 gene_id(Gene 相关工具)被异步写入。埋点是 fire-and-forget 模式:对响应延迟零影响,日志写入失败也不会阻塞工具调用。

新工具 get_mcp_stats(需要认证)返回:

这为我们提供了 Cursor、Claude Desktop 和其他 MCP 客户端使用生态的第一份量化数据。

CLI 改进

域名缓存同步

本地域名缓存(~/.rotifer/domain_registry.json)在每次 rotifer publishrotifer install 后静默刷新。无需手动同步。

Windows 登录修复

rotifer login 现在能在 Windows 上正确打开浏览器。此前 start 命令把 URL 当作窗口标题而非 URI。

Bug 修复:Gene 列表去重(v0.7.6)

v0.7.6(当日补丁)修复了一个 search_genes 返回同一 Gene 多个版本的问题,导致 Gene 计数虚高和搜索结果重复。修复在数据库层使用 DISTINCT ON (owner_id, name),CLI 和 VS Code 插件现在只显示每个 Gene 的最新版本。

升级

Terminal window
# CLI
npm i -g @rotifer/playground@latest
# MCP Server(在你的 MCP 客户端配置中)
npx @rotifer/mcp-server@latest

文档: rotifer.dev/docs

源码: github.com/rotifer-protocol/rotifer-playground