关于 sealtier
sealtier 是用于检查 Markdown 文件夹是否符合 Open Knowledge Format(OKF)v0.2 分级的本地 MCP 服务和命令行工具。它报告缺失元数据、文档可信状态和 git 变更,不写入文件,也不发起网络请求。
主要功能
- 01扫描 Markdown 的 OKF 分级
- 02报告缺失的 frontmatter 字段
- 03评估文档可信度与过期状态
- 04显示 git 变更及其信任影响
- 05本地只读运行
适用场景
- 01检查 Markdown 知识库的分级
- 02查找单个文件缺失的元数据
- 03查看文档的可信状态
- 04了解 git 编辑对文档可信度的影响
MCP 相关
向 MCP 客户端提供三个本地工具:语料扫描、文档可信度检查和 git 变更报告。工具在本地运行,不发起网络请求。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
工具
3收录的工具列表 · 更新于 1 周前
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| path | string | 是 | 要扫描的 Markdown 文件夹路径 |
详细介绍
sealtier
sealtier 会在你自己的机器上,检查一个 Markdown 文件夹是否符合 Open Knowledge Format(OKF)v0.2 的 frontmatter 分级要求——Bronze、Silver、Gold。它会告诉你知识库达到哪个等级、每个文件缺少哪些 frontmatter 字段才能达到下一个等级、文档是否仍值得信赖,以及一次 git 编辑对这种可信度造成了什么影响。它只读取文件:扫描不会在任何地方写入内容,而且此软件包中的工具都不会发起网络请求。
这是对 jidoseal-mcp 服务三个本地工具的洁净室重建。原项目剩下的两个工具未重建:一个会创建付费的 Stripe Checkout 会话(支付漏斗),另一个的关键输出是仅发布在供应商网站上的价格,因此无法根据公开记录重现。
检查内容
字段只有在包含实际内容时才计入——title: 后面什么都没有就不算。
| 等级 | 文件必须包含(且已填写) |
|---|---|
| Bronze | type |
| Silver | Bronze + title、description、timestamp、owner |
| Gold | Silver + status、review_policy、reviewed_at、next_review_at |
语料库的等级取决于其中等级最低的文件。覆盖率是达到各等级的文件所占比例。每个缺失字段都会标记为 AUTO(工具可以建议一个值)或 NEEDS-CLIENT(只有所有者才能回答)。0–100 分数的计算方式为 round(三个覆盖率的平均值)——这是一个明确披露的重建结果:原项目公布了一个示例值(覆盖率为 66.7 / 33.3 / 33.3 时得分为 44),但没有公布计算公式,而该公式能得出这个值。Merkle 根是按文件名排序后,将每个文件的 sha256 十六进制摘要拼接起来,再计算所得的十六进制 sha256 值——这同样是明确披露的重建结果。
关于出站网络请求的说明:原供应商声称其扫描引擎不会通过网络发送任何内容。这是供应商对其专有引擎的说法,未经独立审计。本重建版更易于确认:它不导入任何 HTTP 客户端,也不会打开套接字;jidoseal_changes 只会启动一个程序——本地的 git,并禁用传输(protocol.allow=never、GIT_NO_LAZY_FETCH=1)。
有一项已记录的差异:原项目还会在扫描文件夹下写入
.jidoseal/manifest.json 和 .jidoseal/progress.ndjson。本重建版为只读,不会写入任何内容。
安装
npx @reneturcios/sealtier jidoseal_scan '{"path":"/path/to/notes"}'
或者运行容器映像:
docker run -i ghcr.io/cloudcorprecords/sealtier
容器默认启动 MCP 服务(见下文)。传入 CLI 参数即可将其用作 CLI。
CLI
每个命令都将参数作为一个 JSON 对象接收,并打印 JSON 结果。
# Tier a folder of Markdown files
sealtier jidoseal_scan '{"path":"~/notes"}'
# Trust verdict for one file, or every *.md in a folder
sealtier jidoseal_trust '{"path":"~/notes/policies/leave.md"}'
# What changed since HEAD, and what it did to trust
sealtier jidoseal_changes '{"path":"~/notes"}'
sealtier jidoseal_changes '{"path":"~/notes","ref":"v1.2"}'
sealtier --version
退出码:成功时为 0;工具无法完成时为 1(错误会指出问题,例如文件夹缺失或 git status 失败);用法错误时为 2。
MCP 服务
一个二进制文件提供两种用法。mcp 子命令会启动一个 stdio MCP 服务:
npx -y @reneturcios/sealtier mcp
MCP 客户端配置:
{
"mcpServers": {
"sealtier": {
"command": "npx",
"args": ["-y", "@reneturcios/sealtier", "mcp"]
}
}
}
工具
| 工具 | 输入 | 返回内容 |
|---|---|---|
jidoseal_scan | path(字符串,必填)— Markdown 文件文件夹 | 语料库等级(以其中等级最低的文件为准)、每个文件的等级及其 present 字段和各等级的 missing 列表、各等级的覆盖率、0–100 分、每个文件的 sha256 哈希值、Merkle 根、审计 ID 和评估标准。 |
jidoseal_trust | path(字符串,必填)— 一个 Markdown 文件或一个文件夹 | 每个文件的判定结果(stale / unverified / ok)及原因、OKF 一致性(已填充的 type)、信任等级、status、文件是否已过期,以及 which_0_2 — 时间戳遵循 OKF v0.2 的哪种文本形式(当 stale_after、sources[].last_modified 或 usage_window 是带 UTC 偏移量的日期时间时,为 2026-08-21;接受两种形式)。 |
jidoseal_changes | path(字符串,必填)— git 工作树;ref(字符串,可选,默认值为 HEAD) | 所有与该引用不同的 *.md:frontmatter 变更、正文是否变更,以及信任影响 — 已验证文档的文本发生变更但 verified 未变更、verified 或 type 被移除、generated.at 未更新、status 或 stale_after 发生变更。 |
Frontmatter 解析器是一个手工编写的小型 YAML 子集解析器(平面
key: value 键值对、带引号的字符串、内联列表/映射,以及一层
缩进的块映射和列表)。超出该子集范围的 frontmatter 块会针对每个文件报告为 frontmatter_ok: false;这类文件在手动修复之前不会达到任何等级,也不会计入任何字段。
开发
npm install
npm run build # tsc -> dist/
npm test # node test runner over test/*.test.ts, no network, fake git executor
npm run dev # run the CLI from source via tsx
许可证
MIT — 参见 LICENSE。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。