Quickstart, architecture, API reference, and per-feature specs. The source of truth is the linchpinhq/linchpin repository — the links below jump straight there.
Linchpin is open source under Apache-2.0. Docs are checked into the repo as markdown — open an issue or PR if anything is wrong, missing, or stale. github.com/linchpinhq/linchpin/issues
Get the stack up on a single VM in under five minutes.
docker compose up and you have an agent platform.
→
LINCHPIN_API_KEY, VAULT_ENCRYPTION_KEY, OPENROUTER_API_KEY.
→
The five resources that the rest of Linchpin is built around.
file · memory_store · git_repository · vault entries mounted into the sandbox at /mnt/… per the resource's discriminator.
→
v0.2 through v0.5 added the things an agent actually uses: files, memory, skills, repositories, and multimodal input.
v0.2Multipart upload, content-addressable dedup, mount as file resources, deliverables watcher captures session output.
→
v0.3Persistent workspace state at /mnt/memory/<name>/. Path-addressed, 100 KB cap, immutable versions with 30-day retention.
→
v0.4Packaged expertise (SKILL.md + scripts) mounted at /mnt/skills/<name>/. Progressive disclosure; max 8 per agent. CLI: linchpin skill build.
→
v0.5Images (JPEG/PNG/GIF/WebP) and documents (PDF/text/markdown) in user.message.content[]. Sources: base64, URL, or Files-API reference.
→
v0.5Connect to SaaS MCP servers (GitHub Copilot, Linear, …) via HTTP-streamable transport alongside the existing stdio variant. Auth via vault credentials.
→
v0.5Clone any HTTPS git remote into a session — generic, not GitHub-only. Per-environment cache, token rotation, atomic os.replace swap.
→
v0.6Goal-driven sessions: free-text definition + weighted rubric (sums to 1.0) + agent grader. POST /sessions/{id}/outcome_evaluations records scores; auto-terminates on success threshold.
→
v0.6Coordinator spawns workers via POST /sessions/{id}/threads. Each thread has its own sandbox; events mirror up into ancestor streams with thread_id tags. Default nesting cap: 3 levels.
→
v0.7 · previewAsync memory curation: POST /v1/dreams spawns a dreamer agent over an input memory store + past sessions, produces a new (separate) memory store. Opt-in via LINCHPIN_DREAMER_AGENT_ID. Research preview.
→
Two Python services, Postgres, and a Docker daemon. ~3k LOC.
linchpin-none or linchpin-open.
→
The wire-level contract: routes, payloads, event types.
/v1 routes — agents, environments, sessions, vaults, events, stream.
→
user.*, agent.*, session.* — what to send and what to expect back.
→
openrouter + ollama adapters, retry logic, streaming.
→
bash · read · write · edit · glob · grep · web_fetch · web_search
→
Requirements · design · tasks for each feature, in markdown.
Linchpin is open source, Apache-2.0. PRs welcome.