关于 weave
weave 是面向团队和 AI Agent 的开源、可自托管工作平台,将关联表、工作流和 Markdown 文档存储在一个 SQLite 文件中。其网页界面、REST API、命令行和 MCP 服务共用同一引擎与数据。
主要功能
- 01关联表与关系
- 02工作流、公式和汇总
- 03实体上的 Markdown 文档
- 04单文件 SQLite 存储
- 05撤销操作与文档修订
- 06网页界面、REST、命令行和 MCP
适用场景
- 01在一个工作区管理结构化工作
- 02让 Agent 访问工作区数据
- 03为记录附加有版本记录的 Markdown 文档
- 04撤销实体变更
MCP 相关
weave 提供基于 stdio 的 MCP 服务,通过工具开放平台操作。默认列出核心工具集;使用 `--tools all` 或 `WEAVE_MCP_TOOLS=all` 可启用全部 65 个工具。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
docker run -i --rm ghcr.io/grunion-ai/weave:0.4.109本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。
ghcr.io/grunion-ai/weave:0.4.109stdio工具
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
weave
一款开源、可自托管的 Airtable、Fibery、Notion 数据库和 ClickUp 替代方案,
专为让 AI Agent 成为一等用户而构建,而不是事后才考虑。
关联表、关系、工作流、公式、汇总,以及每个实体的 Markdown 文档。一个 SQLite 文件。零依赖。无需构建。MIT。
面向 Agent · 快速开始 · 比较 · Agent 与 MCP · 自托管 · 常见问题
面向 Agent
weave 将结构化工作(表格、行、关系、文档)存储在一个 SQLite 文件中,Agent 可通过 MCP、REST 或命令行驱动它。
- 通过 MCP 连接:
node bin/weave.js mcp --data <file.db>,与weave mcp --data <file>相同。在 Claude Code 中:claude mcp add weave -- node /path/to/weave/bin/weave.js mcp --data /path/to/workspace.db - 或通过文件构建:
weave build <spec.json> --dry-run,然后再次运行并去掉--dry-run。 - 请先阅读 AGENTS.md › 使用 weave:入门指南、按任务介绍的每个工具、带回合预算的计划,以及常见错误和对应的修复方法。
weave 是什么
weave 是一个由你自行运行的工作平台:空间中包含表格,表格中包含实体,实体之间通过真正的双向关系相互连接——还支持查找、汇总、公式、工作流状态、自动化,以及附加到每一行的任意数量 Markdown 文档。
它旨在取代你工作所在的 SaaS——Airtable 的 bases 和网格、ClickUp 的任务和看板、Fibery 的互联数据库、文档和自动化——运行在你的笔记本电脑或自己的服务器上,没有按席位收费,也没有供应商掌握导出按钮。
它与这一类别中其他工具的区别在于面向的第二类用户。工作管理工具优先为人类构建,其次才考虑 API。weave 则让人类和 Agent 平等使用:网页 UI 能做的一切,REST API、CLI 和内置的 MCP 服务也都能做到——使用相同的引擎,以及磁盘上的同一个数据文件。本地安装无需账户,也不会发送遥测数据。托管实例 https://weave.grunion.ai 运行着相同的代码,只是需要登录。
- 本地优先——你的工作区是项目旁边的一个 SQLite 文件。
- 由你托管——只需一个 Node 进程和一个文件;可在笔记本电脑上运行,也可部署在自己的小型 VPS 上,并使用自己的 TLS 和登录(参见自行托管)。
- 零依赖——
git clone后即可运行。存储使用 Node 内置的node:sqlite;唯一的第三方代码已随项目提供并固定版本。 - 原生支持 Agent——任何 stdio 客户端都能挂载的 MCP 服务(Claude Code、Codex CLI、Cursor、Gemini CLI)、可编写脚本的 CLI、随处可用的
Table#12引用,以及可通过普通 URL 访问的 Markdown 文档(/e/Task#12/doc.md、.html、.pdf)。 - 可撤销——每次实体变更(编辑、创建、删除、关联、评论)都可通过
weave undo、POST /api/undo或weave_undoMCP 工具撤销;Agent 可以犯错,但不会把一切弄得一团糟。 - 文档有版本记录——每个文档字段都会保留修订版本(每次编辑会话一个),可在页面中浏览和恢复,也可通过
weave doc-revisions/weave doc-restore或weave_doc_revisions/weave_doc_restoreMCP 工具操作。
快速开始
需要 Node ≥ 22.16(推荐使用 Node 24 LTS)。无需构建,也无需从 npm 安装任何内容。
git clone https://github.com/grunion-ai/weave
cd weave
node bin/weave.js serve --port 4400 --data ./my-workspace.db
也可以从同一份检出内容在容器中启动:
docker compose up -d
打开 http://127.0.0.1:4400 — 按 ⌘K 搜索所有内容。系统会在 /w/weave/ 下、与你的数据并列提供一个自带文档的 weave 文档工作区:包含手册、Wiki、公开的问题跟踪器和路线图,以及一个与测试套件相对应的 Quality 空间。
如果 weave 为你取代了一个 SaaS 席位,请为仓库点星。Agent 搜索工具和目录会通过星标发现它。
连接你的 Agent
一个配置块即可用于任何 stdio MCP 客户端(Claude Code、Claude Desktop、Codex CLI、Cursor、Gemini CLI、Windsurf、OpenCode):
{ "mcpServers": { "weave": { "command": "node",
"args": ["/path/to/weave/bin/weave.js", "mcp", "--data", "/path/to/my-workspace.db"] } } }
或者用一行命令将其添加到 Claude Code:
claude mcp add weave -- node /path/to/weave/bin/weave.js mcp --data /path/to/my-workspace.db
带有登录提供方的托管实例(Door C)也只需一行命令。首次调用时,会在浏览器中打开提供方的登录页面;无需粘贴令牌:
claude mcp add --scope user --transport http weave https://weave.example.com/mcp
对于 weave cloud(位于 weave.grunion.ai),此仓库也是一个 Claude Code 插件市场。在 Claude Code 中:
/plugin install weave --marketplace grunion-ai/weave
/w/<name>/mcp 可为另一个工作区提供服务。你的账户必须先关联到提供方的登录方式(在浏览器中打开 weave account link <name> 一次性输出的邀请链接),并且需要 Architect 角色,因为 MCP 包含架构工具。
默认提供十七个工具,即构建工作区时使用的工具,其中包括 weave_build,以及可调用其他四十八个工具的 weave_call。weave mcp --tools all(或 WEAVE_MCP_TOOLS=all)会列出全部 65 个工具。它支持与 UI 相同的撤销功能,还提供 weave_vocabulary,让 Agent 读取允许的值,而不是靠猜。完整说明见:Agent:MCP、REST 和 CLI。
截图
| 每一行都有文档 | 关系图 | 通用搜索 |
|---|---|---|
![]() | ![]() | ![]() |
每个实体都带有 Markdown 文档,可通过 .md、.html 和 .pdf URL 访问。 | 以图示呈现架构:带基数的关系,以及自动化层。 | 在所有工作区中按 ⌘K 搜索,由 SQLite FTS5 提供支持,并附有可复制的永久链接。 |
打开任意一行,它就会停靠在表格旁边,让实体和周围的行始终一同显示。
weave 的比较
与它取代的 SaaS 产品相比
| weave | Airtable | ClickUp | Fibery | |
|---|---|---|---|---|
| 许可 | MIT,开源 | 专有 | 专有 | 专有 |
| 数据存储位置 | 由你拥有的 .db 文件 | 供应商云端 | 供应商云端 | 供应商云端 |
| 定价 | 免费——它就是一个代码仓库 | 按席位、按月收费 | 按席位、按月收费 | 按席位、按月收费 |
| 行数 / 记录数上限 | 由你的磁盘决定 | 按套餐分级 | 按套餐分级 | 按套餐分级 |
| Agent 访问方式 | MCP 服务 + REST + CLI,均为一等功能 | API + 合作伙伴集成 | API + 合作伙伴集成 | API + 合作伙伴集成 |
| 可离线运行 | 是 | 否 | 否 | 否 |
| 遥测 | 无 | 由供应商定义 | 由供应商定义 | 由供应商定义 |
与其他开源 Airtable 替代品相比
这个领域的开源选项都值得一看,其中有几个比 weave 成熟得多。它们的主要区别在于各自的优化目标:
| 项目 | 许可 | 安装方式 | 优化目标 |
|---|---|---|---|
| weave | MIT | 一个 Node 进程,一个文件,无依赖 | Agent 访问、关联文档,以及融入代码仓库 |
| NocoDB | 可持续使用许可(自 v0.301.0 起) | Docker + 外部数据库 | 为现有 MySQL/Postgres 添加智能电子表格界面 |
| Baserow | MIT(核心版;付费层级另计) | Docker Compose + Postgres | 完整的 Airtable 风格产品,可选云端或可自托管 |
| Grist | Apache-2.0 | Docker 或 Node | 电子表格级公式和数据分析 |
| Teable | AGPL-3.0(核心版) | Docker + Postgres | 基于 Postgres 的原生扩展能力和 Airtable 界面 |
截至 2026 年 8 月的许可和打包方式——请查看各项目了解当前条款。 如果你需要关联表格、Markdown 文档和 MCP 服务,且不需要容器、数据库服务或依赖树,就选择 weave。如果你需要多用户权限、托管选项或成熟的插件生态系统,就选择其他项目之一——请参阅 weave 不是什么。
内容一览
| 区域 | 详情 |
|---|---|
| 数据模型 | 空间 → 表格 → 实体。字段类型:文本、数字、评分(点击图标填入,范围为 0 到最大值)、日期、日期范围、复选框、切换开关(具有两个命名状态的开关)、网址、电子邮件、单选、多选、工作流状态、双向关联、查找、汇总(计数、求和、平均值、中位数、最小值、最大值、范围、标准差、去重、已填、空值、拼接——对关联进行汇总,或在空间中基于当前行汇总整张表,网格页脚显示的就是这种汇总)、公式,以及每个实体可包含任意数量的 Markdown 文档字段。 |
| 统计 | weave stats <table>(也可使用 weave_stats 和 GET /api/tables/:ref/stats):汇总每一列——数字列提供五数概括、标准差和直方图,标签列提供排序后的分布,日期列提供最早值/最新值/跨度——可使用 --by 分组、使用 --where 缩小范围,也可使用 --field 仅查看一列及其汇总。 |
| 视图 | 表格、实体页面(停靠在表格旁,或以整页打开)、绘制了自动化层的关联映射,以及按空间/表格筛选。所有位置均支持行内编辑。 |
| 文档 | 每份文档都有原生 URL:.md、.mmd、.html、.pdf。Mermaid 图表、原始 HTML 和数学公式会直接渲染;[[Table#12]] 提及会解析为链接。导出整个实体时,每份文档分页为一页。数学公式仅支持 KaTeX($…$ / $$…$$,已随附并可离线使用);Vditor 支持的其他围栏引擎(graphviz、echarts、plantuml、mindmap、abc、flowchart)不会随附,因此这些围栏会保持为普通代码块。 |
| 自动化 | 触发条件(创建/字段变更/状态变更)→ 设置字段、追加文档、添加评论、发送出站 Webhook。 |
| 搜索 | 使用 SQLite FTS5 索引,在工作区之间通过 ⌘K 全局搜索,并提供可复制的永久链接。 |
| 存储 | 一个工作区对应一个 .db 文件(WAL、行级写入、崩溃安全)。旧版 JSON 工作区会自动迁移;exportJSON/importJSON 仍可用于人类可读的数据交换。CLI、服务端和 MCP 可并行运行。 |
| 接口 | Web 界面(原生 JS,无需构建步骤)· REST API · CLI(bin/weave.js)· MCP 服务(weave mcp)。 |
Agent:MCP、REST 和 CLI
每种接口都驱动同一个引擎和同一个文件。没有任何功能仅限于 UI。
MCP — 将任意 MCP 客户端连接到 stdio 服务。Claude Code、Claude Desktop、Codex CLI、Cursor、Gemini CLI、Windsurf 和 OpenCode 都支持挂载 stdio 服务,因此同一段配置可在其中任意一个工具中使用:
{
"mcpServers": {
"weave": {
"command": "node",
"args": ["/path/to/weave/bin/weave.js", "mcp", "--data", "/path/to/my-workspace.db"]
}
}
}
它将整个平台作为 65 个工具公开。tools/list 会列出核心构建工具集(weave_ontology、weave_schema、weave_query、weave_get_entity、weave_create_entity、
weave_update_entity、weave_create_space、weave_create_table、
weave_add_field、weave_update_field、weave_add_relation、
weave_import_csv、weave_vocabulary、weave_workspace、weave_search、
weave_build,可通过一次调用创建空间、表、字段、关系和行),以及
weave_call;其描述会逐行列出其他所有工具(weave_set_doc、
weave_link、weave_set_state、weave_update_table、weave_apply_schema、
weave_views、weave_automations、weave_activity 等)。调用
weave_call {name: "help", args: {tool}} 可返回某个工具的完整架构。
在 mcp 参数中添加 --tools all,或设置 WEAVE_MCP_TOOLS=all,即可直接列出全部
65 个工具。Agent 可以设计架构、填充数据并配置读取方式——图标、选项颜色、列宽和
顺序、隐藏列、已保存视图——无需人工打开 UI。
有两点让这切实可行。weave_vocabulary 会返回配置键可接受的每个值,以及该选项在屏幕上的显示效果,因此 Agent 选择颜色或图标时是依据实际信息,而非猜测。元模型也意味着架构本身就是数据:System/Spaces、System/Tables 和
System/Fields 中的行就是空间、表和字段,因此,对注册表行执行实体写入时,会经过与架构操作相同的验证——字段的完整定义通过其 Definition 编辑,表的列顺序则通过 Field Order 编辑。注册表只在 weave 根目录(默认工作区)中保存一份:Workspaces 表为 hub 提供的每个工作区保存一行,每个注册表行都带有一个 Workspace 关系,对行的编辑会路由到拥有它的工作区。
REST 和 CLI 覆盖相同的功能:
# REST
curl -s localhost:4400/api/tables/Task/query -X POST -d '{"where":[["Status","=","Open"]]}'
# CLI
node bin/weave.js query Task --where '[["Status","=","Open"]]' --data ./my-workspace.db
# MCP (stdio)
node bin/weave.js mcp --data ./my-workspace.db
实体引用支持 UUID、#12、Table#12 或 Space/Table#12——可用于 UI、API、文档和 Agent 工具调用。完整的面向 Agent 的仓库指南见 AGENTS.md,其中也注明了限定形式尚不支持的一处位置。
自托管
托管安装就是本地安装加一道门。容器在所有目标平台上都相同,手册则提供了相关指南(在任意实例上打开 手册 → 指南,包括你刚启动的实例):
- 自托管 weave:选择你的门:两种身份验证入口(边缘网关、身份提供商),以及一条规则:由运营者选择入口。内置的通行密钥入口在 0.4.52 之后已移除。
- 入口 A:边缘网关:Cloudflare Access、Tailscale、Caddy、oauth2-proxy、Authelia:每种各有一个配置块和一项检查。
- 入口 C:使用提供商登录:一个 OpenID Connect 提供商(Clerk、Auth0、Keycloak、Authentik、Google)。
weave account link <name>会生成一个一次性邀请链接,用于为该提供商开通账户;登录不会创建账户,weave 只会为每个登录身份保留一个已验证的电子邮件地址,不保留其他信息。WEAVE_ORIGIN用于指定提供商将用户重定向回来的来源地址。Agent 使用wv_令牌。 - 部署:Railway:从 GitHub 创建项目,在
/data挂载卷,设置变量、自定义域名,并运行一个副本。 - 部署:Fly.io、Render、VPS、Docker:每个平台各有一个章节,结构相同;服务单元文件就在此处。
- 备份与恢复:
weave backup(将所有工作区、附件和密钥库打包为一个密封 tar 文件)、weave restore、每夜切换、保留策略。 - 环境变量参考:列出每个变量、默认值,以及设置错误会导致什么问题。
使用仓库中的 Dockerfile 和 compose.yaml 通过 Docker 快速启动:
docker compose up -d # http://127.0.0.1:4400, data in the weave-data volume
railway.json 和 fly.toml 是同一镜像的平台清单。无论目标平台是什么,都要在前面加一道门,并在端口能够从你自己的机器以外访问之前运行 weave workspace require-auth。此规则背后的威胁模型见 SECURITY.md。
weave 不是什么
直说,方便你快速排除:
- 没有精细权限。 每个账户在工作区中拥有三种角色之一:观察者可以读取和评论,编辑者可以写入行,架构师还可以更改结构、账户和密钥。权限不会进一步限制到单个空间、行或字段。
- 身份验证默认关闭,需手动启用。 Agent 使用
wv_令牌,用户通过一个 OpenID Connect 提供商登录,但只有在运行weave workspace require-auth后才会启用。在此之前,任何能访问端口的人都能执行架构师可执行的所有操作。 - 不是托管产品。 没有云服务套餐、没有注册流程,也没有支持合同。需要自行运行。
- 不是插件生态系统。 没有市场、没有扩展,也没有第三方应用。
- 尚未经过大规模实战检验。 这是一个有测试套件保障的年轻项目,而不是经过数千次安装、多年生产使用验证的成熟项目。
如果这些条件无法接受,Baserow、NocoDB 和 Grist 是这一领域成熟的开源选项。
常见问题
weave 是一个不错的开源 Airtable 替代品吗? 如果你喜欢 Airtable 的关联记录、汇总、公式和视图,是的;此外,每条记录都附带 Markdown 文档,还提供 MCP 服务。如果你依赖 Airtable 的协作者权限、托管表单或应用市场,那就不是。
它是可自托管的 Fibery 替代品吗? 这是对 weave 最贴切的描述。Fibery 的模式——跨空间连接数据库、附加到实体的文档、自动化和关系图——正是 weave 实现的模式,而且所有内容都保存在你自己的单个文件中。请参阅 docs/PARITY.md,了解逐项功能对照表。
AI Agent 可以使用它吗?
这正是它的目标。MCP 服务提供 65 个工具,涵盖架构设计、增删改查、文档、关系、工作流状态、搜索、自动化以及 CSV 导入/导出,其中 17 个默认列出,其余工具可通过一次 weave_call 调用。Agent 不只能填充架构,还能创建架构。
我需要 Docker、Postgres 或 npm install 吗?
都不需要。只需一次 git clone 和 Node 运行时。存储使用 Node 内置的 node:sqlite;唯一的第三方代码(mermaid、Tabler)已随仓库附带并固定版本。
我的数据实际存在哪里?
数据位于 <workspace>.db(一个普通的 SQLite 文件)中,附件则存放在 files/ 目录中。你可以用 sqlite3 打开,用 cp 备份,也可以按需提交到版本控制。node bin/weave.js export 会将所有内容导出为可读的 JSON。
多人可以共用一个实例吗?
可以。为每个人分配一个角色(observer、editor 或 architect)的账号,运行 weave workspace require-auth,然后让他们通过你的 OpenID Connect 提供方登录。每次更改都会以执行操作的账号名称记录在审计日志中。权限仅限于工作区级别:无法通过规则将访问权限限制到单个空间、行或字段。
如何从中迁出?
node bin/weave.js export --data <file> 会将整个工作区导出为 JSON,csv 可以导出任意表格,而 .db 是标准的 SQLite 文件。不存在需要摆脱的供应商锁定。
开发
npm test
测试套件在文档工作区(Quality 空间)中也以实体形式镜像保存,路线图和问题跟踪器也位于其中(/w/weave/)——这个工具会跟踪自身的开发进度。提交 PR 前请参阅 CONTRIBUTING.md;README 截图可通过 node scripts/screenshots.mjs 重新生成。
第三方(随仓库附带并固定版本)
- mermaid 11.4.1 — MIT © Knut Sveidqvist 和贡献者
- @tabler/core 1.4.0 — MIT © Paweł Kuna 和 The Tabler Authors
- Vditor 3.11.3(已精简:仅保留 weave 加载的资源)— MIT © Vanessa219
- KaTeX 0.18.11(js + css + woff2 字体 + mhchem)— MIT © Khan Academy 和贡献者
- DejaVu Sans 2.37(
DejaVuSans.ttf,PDF 导出的 Unicode 后备字体)— Bitstream Vera 许可证 © Bitstream, Inc.;DejaVu 修改内容属于公有领域;Arev 字形 © Tavmjong Bah(完整文本见public/vendor/fonts/DejaVuSans-LICENSE.txt)
安全性
在架构师对工作区运行 weave workspace require-auth 之前,身份验证处于关闭状态。在此之前,任何能访问该端口的人都能在工作区内执行架构师可执行的所有操作。本地安装会绑定到 127.0.0.1,因此仅在你的计算机上可访问。容器会为平台的代理绑定到 0.0.0.0,因此在其他人能够访问托管安装之前,请先在它前面设置一道防护(参见
自托管),并运行 require-auth。之后,每个页面和 API 路由都会拒绝没有 wv_ 令牌或已登录会话的调用者。
角色权限仅限于工作区。观察者可以阅读和评论,编辑者可以写入行,架构师可以更改结构、账户和密钥。
html 类型的文档会在应用的源上呈现,因此编辑者放入其中的脚本会对任何打开它的人运行。我们正在审查这一限制。在此之前,请像授予代码库写入权限那样授予编辑者访问权限。
威胁模型、范围和私密报告方式见 SECURITY.md。
许可证
MIT — 参见 LICENSE。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。


