mcpField
S
Seamless

Seamless

本地服务
thereisnospoon.org记忆与知识62 天前更新

关于 Seamless

Seamless 是面向 AI 编码 Agent 的本地优先记忆与协作系统,适合需要长期保留项目知识并协调多个 Agent 的开发者。它以磁盘上的 Markdown 文件作为知识源,并通过任务队列和租约认领减少重复工作。

主要功能

  1. 01本地 Markdown 持久记忆
  2. 02记忆检索与替代生命周期
  3. 03依赖感知任务队列
  4. 04租约式任务认领
  5. 05计划与研究试验记录

适用场景

  1. 01跨会话延续项目约束与计划
  2. 02让多个 Agent 领取不同任务
  3. 03检索已记录的项目知识

MCP 相关

seamlessd 通过 MCP 向兼容客户端提供记忆和协调能力;配套的 seam CLI 也可供无头 Agent 直接使用。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

暂未收录安装方式

我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。

代码仓库

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

Seamless

Go Reference Latest release License: MIT MCP

AI 编码 Agent 每次会话都会重新发现相同的限制,因为它学到的一切都会随上下文窗口一起消失。让两个 Agent 处理同一份待办清单,它们会选中相同的步骤并重复完成。而那些承诺解决这一问题的产品,却把项目记忆存放在别人的数据库中。

Seamless 是一款本地优先的 AI 编码 Agent 记忆与协作基础设施。它可与 Claude Code、Codex CLI 和任何 MCP 客户端配合使用,也可用于 Claude 桌面应用中的对话,处理无需编写代码的长期工作:参见 Claude 应用中的 Seamless。

它为一组 Agent 提供共享、持久的记忆,以及避免工作冲突的协作方式:具有替代生命周期的记忆、混合检索、了解依赖关系并支持租约认领的任务队列、已捕获的计划,以及研究试验。持久知识以 markdown 文件的形式存储在磁盘上;seamlessd 守护进程负责索引、通过 MCP 提供服务并呈现 Web 控制台,配套的 seam CLI 则为无头 Agent 提供直接接口。

完整文档:thereisnospoon.org/docs/  ·  网站:thereisnospoon.org(源码位于 docs/)

由 Arctop 开发并发布。采用 MIT 许可证。

设计原则

  • 为一组 Agent 而非单个 Agent 打造。 提供真正的协作原语:了解依赖关系的就绪队列、原子化的租约任务认领,以及由笔记和步骤组成的计划,让 Agent 分工协作,而不是相互冲突。
  • 文件是事实来源。 每条记忆和笔记都是存放在 ~/.seamless 下、带有 YAML frontmatter 的 markdown 文件,可使用 git 比较差异、搜索和手动编辑。SQLite 为这些文件建立索引,并存储会话、任务、试验和事件等运行状态,因此应备份整个数据目录。
  • 整理只提出建议,由人决定如何处理。 每次整理流程——从去重和归档,到标记无用内容和知识缺口——都只会提出建议;应用更改是一项明确操作。替代机制会保留来源记录,不会悄无声息地改写内容。
  • 小巧、独立的运行时。 静态 Go 守护进程和 CLI,无 CGO,使用纯 Go SQLite,无需 Node、独立向量引擎或云账户。

对比

Agent 记忆领域大致分为几个常见类别。按类别对比,因为类别不会过时:

Seamless云端记忆 API内置 Agent 记忆知识图谱服务
存储格式磁盘上的 markdown 文件;SQLite 为它们建立索引并存储运行状态通过 API 密钥访问其数据库产品内部由供应商管理的存储图数据库,通常需要单独的服务
运行位置你的设备,仅限 localhost供应商的云端供应商的产品你的设备或供应商的设备
是否需要账户否是需要供应商账户通常不需要
多 Agent 协作任务队列、租约认领、共享计划无无——一个 Agent,一个存储至多支持共享读取
遗忘策略保留来源记录的替代机制;整理流程提出建议,由人决定如何处理你无法控制的自动摘要由供应商定义手动处理
运行时静态 Go 守护进程和 CLI通过 HTTP SDK 访问其服务无(内置)Node 或 Python,以及数据库

如需查看包含产品名称和实际依据的版本,请参见 完整对比。

真实会话记录

四组真实、未经编辑的 Claude Code 会话——提示词相同、代码库相同,分别使用和不使用 Seamless:

  • 冷启动——一个会话从注入的简报中接续昨天的计划;另一个则从 TODO 重新推导工作,并重新引入了项目此前已经修复过的 bug。
  • 违反约束——安全扫描器要求设置 SameSite=Strict,但团队早已发现这会导致外部链接登录失效。一个会话仍然引入了回归问题;另一个则拒绝执行,并引用记录在案的约束。
  • 令牌安全——被要求持久化刷新令牌后,一个 Agent 将内存映射表镜像到存储原始令牌的 SQL 列中;另一个先读取记录在案的规则,只存储 SHA-256 哈希值。
  • 任务冲突——两个正在运行的 Agent 同时争抢同一个计划步骤。一个成功认领;另一个收到拒绝,并获知持有者的名称,随后转向下一个可执行步骤。

Seamless 不是什么

它不是托管式团队知识库,不是 RAG 框架,也不是基准测试赢家:它是为单个所有者机器上的一组 Agent 提供的记忆和协作工具。

快速开始

curl -fsSL https://thereisnospoon.org/install | sh

在 Windows 上,使用 PowerShell 执行相同的安装:

irm https://thereisnospoon.org/install.ps1 | iex

安装就这些。它只需要 curl 和 tar,没有其他依赖——不需要 Go、CGO 工具链、数据库或 Node。它会为你的平台(macOS、Linux 和 Windows;amd64 和 arm64)获取经过校验和验证的发行版归档,将 seamlessd 和 seam 安装到 ~/.local/bin,生成 bearer 密钥,为检测到的 Claude Code/Codex 本地宿主安装钩子、MCP 和技能,并将守护进程作为每用户服务运行——在 macOS 上使用 launchd,在 Linux 上使用 systemd --user,在 Windows 上使用登录时触发的计划任务。它会自动保持最新:从 v0.7.0 起,它会在新版本发布一天后,且没有 Agent 正在使用时自行安装该版本——安装前会备份,若新版本无法启动则会回滚。若要立即更新,请运行 seamlessd update(--check 会报告已安装版本与最新版本):你的配置和 ~/.seamless 都会保留。

尚处早期,频繁发布。 Seamless 仍处于开发早期阶段,经常发布改进和 bug 修复版本。通过安装程序安装的版本从 v0.7.0 起会自动更新;v0.6.0 或更早版本请运行一次 seamlessd update。请参阅 更新与卸载。

(为什么叫 seam?这个 CLI 沿用了 Seam v1 的简称。Seam 是一个已停用的私有前身项目,Seamless 从头重建,旨在取代它。)

然后,只需在 Git 仓库中启动所选客户端。无需创建项目,也无需注册代码库:会话启动钩子会将当前工作目录解析到其 Git 根目录,根据代码库目录名生成项目,并立即记录映射,因此 Agent 无需在每次调用时传递项目范围信息,也能继承该范围。只有在需要覆盖自动推导出的 slug 时,才使用 seamlessd map-repo --path ~/code/myrepo --project myrepo。

它是一个 shell 脚本,而将陌生人的脚本通过管道传入 shell 前,理应先读一读。更喜欢逐个安装组件——Homebrew、go install、预构建归档——或者想了解可覆盖的选项?所有方式都列在安装与部署,而快速入门会根据你的操作系统和客户端定制每个步骤。

接下来:快速入门 · Claude Code 设置 · Claude 应用聊天设置 · Codex 本地设置 · 安装与部署

文档

完整文档见 thereisnospoon.org/docs/(源文件位于 docs-src/,由 cmd/docsgen 生成)。

概念记忆与笔记、会话与简报、回忆、任务与计划、项目与范围、园丁
指南集成 Agent、编写可被回忆的记忆、协调一组 Agent、故障排查
参考每个 MCP 工具、两个 CLI、所有配置项、钩子和文件格式
内部机制架构、贡献指南、领域不变量

本 README 有意保持简短。任何可能与代码脱节的内容——工具数量、配置项、CLI 标志——都放在文档站点中;其中的参考页面由代码本身生成,如果内容过时,make check 会失败。

开发

make build      # ./bin/seamlessd + ./bin/seam
make test       # unit tests
make test-race  # unit tests under the race detector
make bench      # hot-path benchmarks (recall, briefing, matcher, event fan-out)
make lint       # golangci-lint
make check      # the full gate: build + vet + cross-check + fmt-check +
                # docs-check + installer-check + site-check + lint +
                # vulncheck + test-race
make doctor     # config + database self-checks
make run        # serve on 127.0.0.1:8081

make docs       # regenerate the docs site (docs-src/ -> docs/docs/, committed)
make docs-serve # regenerate + serve the site at 127.0.0.1:8899/docs/

测试采用表驱动方式,使用 testify/require,针对全新创建或内存中的 SQLite 运行。 请使用 make fmt,不要使用 gofmt -w .:Make 目标仅对 Git 跟踪的文件进行格式化,而直接运行 gofmt 会遍历并重写 Go 的 ./... 模式排除的隐藏目录。

文档站点在 docs/docs/ 下的输出已提交到版本库,且 make check 会运行 docs-check,因此对 docs-src/ 的修改,或对参考文档生成所依据的工具接口或配置项的修改,都必须在同一变更中执行 make docs。请参阅 SITE.md。

规范见 AGENTS.md;编写代码前请先阅读。

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。