内容
# 50 个首批磁带
一个开放的、本地优先的知识引擎。您的笔记是纯 Markdown 和 Git —— 即磁带;您的 AI 在治理门控后面读取和写入它们。无需锁定:`git clone` 然后离开。
> Apache-2.0 · OKF-compatible · TypeScript. v1 协议动词现已生效。此仓库是引擎,不携带任何个人数据。
## 为什么
知识可以超越任何工具或聊天,AI 代理可以安全地读取和写入,并且您可以在此基础上构建产品 —— 个人保险库、团队 Wiki、代理 LMS。 该领域在 2026 年 converged 于此模式(Karpathy 的 LLM wiki,Google 的 Open Knowledge Format)。50 个首批磁带添加了那些遗漏的硬部分:信任、治理、多代理写入和类型化模式系统。
## 层
```
产品和视图 — 您的保险库 · 团队 Wiki · 代理 LMS
代理和治理 — 团队 + 规则作为数据;门控;审计;循环运行器
协议 — 导入 · 查询 · 清理 · 写入 · 治理 (MCP · CLI · 库)
派生索引 — 全文 + 向量 + 图;按需重建;从不提交
底层 — Markdown + YAML + Git;OKF-compatible;持久层
```
## 动词
一个协议,三个形态 —— 一个 CLI(`tapes`),一个 MCP 服务器和一个库。五个动词:
| 动词 | 功能 |
|---|---|
| `ingest` | 将原材料作为受管辖、类别 scaffold 的笔记导入。门控阻止;模式缺口被报告,而不是阻止。 |
| `query` | 按自由文本(标题权重)、类别、标签、状态或反向链接查找笔记。按需读取 — 无提交索引。 |
| `lint` | 验证每个笔记是否符合其类别,并检查结构健康状况:损坏/过时的链接、孤立、提交的 Blob、热核心预算。 |
| `write` | 通过治理门控将确切内容写入笔记 ID。 |
| `govern` | 在提出的内容上运行门控而不写入。 |
```bash
tapes lint # 验证当前目录中的包
tapes query "vector search" --kind note # 查找笔记
tapes ingest article.md --kind source # 在 inbox/ 下归档新材料
tapes govern wiki/draft draft.md # 此写入是否会被接受?
```
**治理。** 在写入之前,写入会经过门控:禁止路径(`private`、`secrets`)或类似凭证的字符串被拒绝,什么也不写入。编辑是哈希锚定的 — `patch` 替换段落的内容哈希,如果该内容已移动,则拒绝,因此并发编辑永远不会冲突。
## 软件包
- `@50firsttapes/core` — 模式系统、验证器、结构健康检查、查询、导入、治理门控、哈希锚定编辑、OKF 读取/写入。
- `@50firsttapes/cli` — `tapes` 命令:`ingest · query · lint · write · govern`。
- `@50firsttapes/mcp` — 一个 Stdio 或 HTTP MCP 服务器,向任何客户端公开动词(Claude Code、Codex、claude.ai)。原生工具 — 读取(`query`/`read`/`list`/`lint`)和门控写入(`write`/`patch`/`govern`)— 以及 wiki-mcp-compatible 工具(`session_bootstrap`、`search`、`read_note`、`list_folder`、`get_recent_logs`),因此它可以替代只读 wiki-mcp 网关。
- `@50firsttapes/remote` — Git 远程适配器(Forgejo · GitHub · bare)。50 个首批磁带依赖于 Git,而不是 Forge。
## 快速开始
```bash
pnpm install
pnpm build
node packages/cli/dist/index.js lint examples/sample-bundle
node packages/cli/dist/index.js query --kind note --bundle examples/sample-bundle
```
在包上运行 MCP 服务器。Stdio 是默认的(本地客户端,如 Claude Code):
```bash
TAPES_BUNDLE=/path/to/bundle node packages/mcp/dist/index.js
```
对于托管使用,通过 Bearer auth 在 HTTP 上提供服务(发现是开放的;工具调用需要令牌):
```bash
TAPES_HTTP_PORT=8080 TAPES_MCP_TOKEN=sk-… TAPES_BUNDLE=/path/to/bundle node packages/mcp/dist/index.js
```
## 真相来源
Forgejo 是规范远程仓库;GitHub 是一个单向推送镜像。通过 GitHub 上的问题和 PR 贡献 — 请参阅 [CONTRIBUTING.md](./CONTRIBUTING.md)。
## 许可证
[Apache-2.0](./LICENSE)。