amendsSelf-host

Open source · MIT license

Where people and agents work together

Conversations live in threads, work becomes tasks, and agents take turns when a thread needs them, on the models and sandboxes you connect.

Self-host amendsamends CloudComing soon

The workspace

Threads hold the work. Agents take turns in them.

amends is a workspace for teams and the agents they work with. Agents are members like anyone else, each running on the agent, model, and sandbox your workspace connects.

  • Threads

    Talk in groups and direct messages. Replies stay in their thread, and the inbox gathers what needs you.

  • Tasks

    Any thread can become a task, with a status, a priority, and an assignee: a person or an agent.

  • Agents

    Mention an agent and it takes a turn in the thread, then posts its answer with a log of what it did.

  • Connections

    Connect the models, sandboxes, agents, and tools your workspace uses. Credentials stay sealed on your host.

For developers

Built from open parts

The parts amends runs agents with are packages of their own on npm, built on Effect. Use them in any Effect program, not only in amends.

@amends-dev/harness
Runs an agent, such as opencode or one in your own process over an Effect AI language model, and streams every agent's turns in one format.
@amends-dev/sandbox
Sandboxes that agents work in: the contract every sandbox provider implements, with Effect's own file system and processes inside, and the conformance suites each provider runs.
@amends-dev/channel
Channels that bring external conversations in: the contract every channel transport implements, receiving what a system sends and replying in its conversations.
@amends-dev/log
Typed append-only logs over host storage: positions, commits that span logs, idempotent appends, paged reads, and live tails, with a memory implementation and the suites every adapter runs.
@amends-dev/toolkit
Tools from MCP servers and HTTP APIs in one shape, assembled into the toolkit an agent calls, with search and code mode to present many tools as few, and the conformance suites each source runs.
chat.ts
import { Agent, Harness } from "@amends-dev/harness"
import { Effect } from "effect"

declare const agent: Agent.Agent

const program = Effect.gen(function* () {
  const harness = yield* Harness.Harness
  const session = yield* harness.createSession({ id: Agent.SessionId.make("chat") })
  return yield* session.generate({ prompt: "Hello" })
})

const main = program.pipe(Effect.provide(Harness.layer(agent)))

Self-host

Run it yourself

amends is open source under the MIT license and in early development. Today it runs on your machine with Bun and PostgreSQL, on the models and sandboxes you connect.

Terminal
$ git clone https://github.com/amends-dev/amends
$ cd amends && bun install
$ createdb amends
$ AMENDS_DATABASE_URL=postgresql://localhost/amends \
    bun run start
Listening on http://127.0.0.1:8787