Seamless

io.github.arctopv0.6.0更新于 Oct 9, 2026

Local-first shared memory and task coordination for AI coding agents. Go daemon plus headless CLI.

概览

AI 生成的概览

Seamless 为 AI 编码代理提供本地共享记忆和任务队列,让多个代理能记住过往决策并分工而不冲突。

功能
它运行本地守护进程和 CLI,把持久记忆与笔记以 markdown 文件形式存放在磁盘上,由 SQLite 建立索引并通过 MCP 提供。代理可获得对过往约束和决策的混合召回、带依赖关系的任务队列与基于租约的认领、已捕获的计划以及研究试验。gardener 过程只提出去重、归档和标记知识缺口的建议,应用更改是明确的人工操作,取代关系会保留来源。
适用场景
当你在同一代码仓库上运行一个或多个 AI 编码代理,希望知识能跨上下文窗口保留,或担心两个代理选中同一步骤重复实现时,值得添加。它面向单个所有者在自己的机器上运行的代理集群,而不是托管的团队知识库。
运行要求
在用户机器上运行的本地进程;清单未声明任何软件包、认证、环境变量或请求头。README 称安装脚本需要 curl 和 tar,会安装 seamlessd 守护进程和 seam CLI、生成 bearer 密钥,并在 macOS、Linux 或 Windows 上以每用户服务方式运行守护进程。不需要 Go、Node、数据库或云账户。
安装前请注意
README 指出安装方式是把 shell 脚本通过管道交给 shell,建议先阅读,并提供了 Homebrew、go install 或预编译归档等替代方式。安装时会生成 bearer 密钥。记忆和笔记会写入本地数据目录,README 建议备份整个目录,因为 SQLite 还保存运行状态。项目自称处于开发早期,发布频繁。

安装

在 SourceWeft 中

  1. 打开 控制台中的 Seamless,将其添加到工作区。
  2. 为需要使用其工具的对话启用该服务。

Desktop only,通过 STDIO。 STDIO 服务会启动本地进程,因此需要 SourceWeft 桌面宿主。

其他 MCP 客户端

参照 仓库 中的启动说明。

README

Seamless

[Go Reference] [Latest release] [License: MIT] [MCP]

An AI coding agent rediscovers the same constraint every session, because nothing it learns survives the context window. Run two agents against the same backlog and they pick the same step and build it twice. And the products that promise to fix this keep your project's memory in someone else's database.

Seamless is a local-first memory and coordination substrate for AI coding agents. Works with Claude Code, Codex CLI, and any MCP client. It also works from chats in the Claude desktop app, for long-running work that isn't code: see Seamless in the Claude app.

It gives a fleet of agents a shared, durable memory and a way to divide work without colliding: memories with a supersession lifecycle, hybrid recall, a dependency-aware task queue with lease-based claiming, captured plans, and research trials. Durable knowledge is stored as markdown files on disk; the seamlessd daemon indexes it, serves it over MCP, and renders a web console, while the companion seam CLI gives headless agents a direct interface.

Full documentation: thereisnospoon.org/docs/  ·  Website: thereisnospoon.org (source in docs/)

Developed and published by Arctop. MIT licensed.

Design principles

  • Built for a fleet, not a lone agent. Real coordination primitives: a dependency-aware ready-queue, atomic lease-based task claiming, and plans composed of notes and steps, so agents divide labor instead of colliding.
  • Files are the source of truth. Every memory and note is a markdown file with YAML frontmatter under ~/.seamless -- git-diffable, greppable, hand-editable. SQLite indexes those files and also stores operational state such as sessions, tasks, trials, and events, so back up the whole data directory.
  • Curation proposes, humans dispose. Every gardener pass -- from deduplicating and archiving to flagging dead weight and knowledge gaps -- only proposes; applying is an explicit action. Supersession preserves provenance, so nothing is silently rewritten.
  • Small, self-contained runtime. A static Go daemon and CLI, no CGO, pure-Go SQLite, no Node, no separate vector engine, no cloud account.

How it compares

The agent-memory space splits into a few recognizable categories. By category, because categories do not go stale:

SeamlessCloud memory APIsBuilt-in agent memoryKnowledge-graph servers
Storage formatMarkdown files on your disk; SQLite indexes them and stores operational stateTheir database, reached by API keyVendor-managed store inside one productA graph database, often a separate server
Runs whereYour machine, localhost onlyTheir cloudThe vendor's productYour machine or theirs
Account requiredNoYesThe vendor'sUsually no
Multi-agent coordinationTask queue, lease-based claiming, shared plansNoneNone -- one agent, one storeShared reads at best
Forgetting policySupersession with provenance; a gardener proposes, a human disposesAutomatic summarization you do not controlVendor-definedManual
RuntimeStatic Go daemon and CLIHTTP SDK against their serviceNone (built in)Node or Python, plus the database

For the version with product names and receipts, see the full comparison.

Real transcripts

Four pairs of real, unedited Claude Code sessions -- identical prompt, identical repo, with and without Seamless:

  • Cold start -- one session continues yesterday's plan from an injected briefing; the other re-derives the work from a TODO and re-ships a bug the project had already fixed once.
  • Constraint violation -- a security scanner demands SameSite=Strict, which the team already learned breaks external-link logins. One session ships the regression anyway; one refuses and cites the recorded constraint.
  • Token safety -- told to persist refresh tokens, one agent mirrors the in-memory map into a raw-token SQL column; the other reads a recorded rule first and stores only SHA-256 hashes.
  • Task collision -- two live agents race for the same plan step. One claim wins, the other bounces with the holder's name and pivots to the next ready step.

What Seamless is not

Not a hosted team knowledge base, not a RAG framework, not a benchmark winner: it is memory and coordination for one owner's fleet of agents, on that owner's machine.

Quick start

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

On Windows, the same install in PowerShell:

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

That is the whole install. It needs curl and tar and nothing else -- no Go, no CGO toolchain, no database, no Node. It fetches the checksum-verified release archive for your platform (macOS, Linux, and Windows; amd64 and arm64), installs seamlessd and seam into ~/.local/bin, generates the bearer key, installs hooks, MCP, and skills for the detected Claude Code/Codex local hosts, and runs the daemon as a per-user service -- launchd on macOS, systemd --user on Linux, an at-logon Scheduled Task on Windows. Upgrade any time with seamlessd update (re-runs the installer for you; --check reports installed vs latest): your config and ~/.seamless are never touched.

Early days, frequent releases. Seamless is early in its development cycle, and releases with improvements and bug fixes land often. Update at least weekly to run the latest version -- seamlessd update is the one command. See Update & uninstall.

(Why seam? The CLI keeps the short name of Seam v1, the decommissioned private predecessor Seamless was rebuilt from the ground up to replace.)

Then just start the selected client in a git repo. There is no project to create and no repo to register: the session-start hook resolves your cwd to its git root, derives a project from the repo's directory name, and records the mapping on the spot, so agents inherit project scope without passing it on every call. Reach for seamlessd map-repo --path ~/code/myrepo --project myrepo only to override the derived slug.

It is one shell script and piping a stranger's script into a shell deserves a read first. Prefer the pieces one at a time - Homebrew, go install, prebuilt archives - or want the override knobs? Every route is on Install & deploy, and the Quickstart tailors each step to your OS and client.

Then: Quickstart · Claude Code setup · Claude app chat setup · Codex local setup · Install & deploy

Documentation

The full docs are at thereisnospoon.org/docs/ (sources in docs-src/, generated by cmd/docsgen).

ConceptsMemory & notes, sessions & briefings, recall, tasks & plans, projects & scope, the gardener
GuidesIntegrating an agent, writing memories that get recalled, coordinating a fleet, troubleshooting
ReferenceEvery MCP tool, both CLIs, every config key, the hooks, and the file formats
InternalsArchitecture, contributing, domain invariants

This README is deliberately short. Anything that can drift from the code -- tool counts, config keys, CLI flags -- lives in the docs site, where the reference pages are generated from the code itself and make check fails if they go stale.

Development

make build      # ./bin/seamlessd + ./bin/seammake test       # unit testsmake test-race  # unit tests under the race detectormake bench      # hot-path benchmarks (recall, briefing, matcher, event fan-out)make lint       # golangci-lintmake check      # the full gate: build + vet + fmt-check + docs-check +                # installer-check + site-check + lint + vulncheck + test-racemake doctor     # config + database self-checksmake 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/

Tests are table-driven with testify/require against fresh or in-memory SQLite. Use make fmt rather than gofmt -w .: the Make target scopes formatting to git-tracked files, while a bare gofmt walk also rewrites dot-directories that Go's ./... pattern excludes.

The docs site's output under docs/docs/ is committed, and make check runs docs-check, so a change to docs-src/ -- or to the tool surface or config keys the reference generates from -- must be followed by make docs in the same change. See SITE.md.

Conventions live in AGENTS.md; read it before writing code.

来源:README.md,提交 ddbefdd

工具

0
工具元数据尚未被收录。

版本历史

1
  1. v0.6.0最新Oct 9, 2026