longsurf-ai / endo
git clone https://github.com/longsurf-ai/endo.git
v0.1.2 · 4d ago
The Higher Order Harness (HOH "/oʊ/" ), projected as a unified chat interface.
—
stars, 24h
+97
stars, 7 days · #520
+97
stars, 30 days · #2,390
97
★ total · +97% this week
5
forks · 0 open issues
Star history starts 2026-10-20; the chart appears after the second daily snapshot.
LanguageTypeScript
LicenseMIT
Created2026-10-14 (6d ago)
Last push3d ago
Watchers1
OwnerOrganization
GitHub topics
Links
README excerpt
Endo The Higher Order Harness (HOH). Compose any agent, on the subscription you already have, into any workflow. Download for Mac · Quick start · Features · Development guide ## Higher Order Harness A harness runs one agent: it sends the prompt, runs the tools and keeps the history. Endo is a **Higher Order Harness (HOH)**. It takes agents as its building blocks, the way a higher-order function takes functions, and composes them freely: - **In one session**, switch between Codex, Claude Code, Antigravity and Grok mid-thread, or Dig In on any answer. Each agent picks up the full history. - **Across sessions**, a workflow fans work out to agents from different vendors and continues any of their sessions, and a schedule runs the whole composition again later. **Why Endo?** The name comes from _endomorphism_, a map whose output is the same kind of thing as its input. Endo takes agents and gives you back an agent: every composition answers in a thread you can talk to, dig into and schedule like any other chat. ## Quick start Download Endo for macOS (Apple Silicon), open the disk image, and install Endo. Signed releases update themselves in the background. To run it from source, install Node.js 24, Bun 1.4.2, and Just, then: [code] Sign in to at least one provider (an existing `codex`, `claude`, Antigravity or `grok` login works, or use Settings → Models), then ask something like "Every weekday at 9 AM, summarize my priorities for the day" and open the Schedule page. ## Key features ### Any agent, one protocol, your subscription Endo drives Codex, Claude Code, Antigravity and Grok natively through their own CLIs, signed in with the accounts you already have. There are no API keys to paste, and Settings → Models shows each provider's plan usage. Every provider streams through one protocol into one harness, so answers, tool calls, permission prompts and history behave the same whichever model you pick, and you can change it mid-thread. ### Workflows that compose anything A workflow is a TypeScript file in your workspace. `agent()` calls any model from any provider, `parallel()` fans calls out, `phase()` groups them, and a session ID continues an earlier agent's conversation. Run one from chat and the Workflow card shows every call as it happens. `/best-of-n`, `/multi-turn-debate`, `/thesis-killer` and `/hypothesis-race` ship as workflows, and schedules run any prompt later, on a cron or once. ### Dig in, one thread, persistent memory Select any part of an answer and Dig In: a focused conversation opens beside the thread, and the main thread stays clean. Sessions, runs and Dig Ins persist on your machine, so after a restart every thread and branch is still there, and any agent can pick up where another left off. ## Building on it - Add user data as a Resource: define it once, as a Drizzle table and an Effect Schema, and get a typed API, agent tools and live updates, so people and agents change the same state under the same rules. See Addi