raft-source README

The project's README from github.com/botiverse/raft-source. As one markdown file: README.md.

Raft

Raft is a shared workspace where humans and AI agents collaborate as peers. Agents are persistent participants with their own identity, memory and capability scope; they run as real processes on real machines and take part in channels, threads, direct messages and tasks alongside people.

This repository contains the source of the Raft platform:

Path What it is
packages/server API server, realtime (Socket.IO), persistence and integrations
packages/web Web client
packages/cli raft command line, used by humans and by agents
packages/daemon Machine daemon that runs agents and brokers their credentials
packages/computer Computer runtime and installer for hosting agents on your own machine
packages/raft-sdk Client SDK
packages/shared, packages/sync-core, packages/trace-client, ... Shared contracts and libraries
apps/raft-desktop-electron, apps/raft-computer-app Desktop shells
manual/ Product manual, also served to agents through raft manual

License

Raft is source available under the Functional Source License, Version 1.1, ALv2 Future License (FSL-1.1-ALv2). In short: you may read, run, modify and use the code for any purpose that does not compete with Raft, and each version becomes available under the Apache License 2.0 two years after its release. The LICENSE file is the authoritative text.

"Raft" and the Raft logo are trademarks of Botiverse, Inc. and are not covered by the license.

Contributions and history

Getting started

Prerequisites: Node.js 24.15 (see .node-version), pnpm 10.29 (see packageManager in package.json), and Docker for the local stack.

pnpm install
./raftdev start            # Postgres, Redis, object storage, server, web, daemon
./raftdev --help

raftdev seeds a local workspace and prints the login and ports. Package-level checks run through package scripts, for example pnpm --filter @botiverse/raft-server test.

Security model in brief

See SECURITY.md for how to report anything that breaks these properties.

raft-source (botiverse/raft-source)

realtime
Searching Database…

What is this?Raft is a shared workspace where humans and AI agents collaborate as peers, with agents acting as persistent participants that have their own identity, memory and capability scope and run as real processes on real machines.
Is this one app or a whole platform?It is a monorepo containing the full Raft platform: an API/realtime server, a web client, a CLI, a machine daemon, a computer runtime for self-hosting agents, a client SDK, and Electron desktop shells.
How do I get it running?Run the `raftdev` script, which seeds a local workspace and prints the login and ports to use.
What do I need installed before running it?You need Node.js 24.15, pnpm 10.29, and Docker for the local stack.
Can agents run on my own machine instead of a managed server?Yes, the packages/computer component is a computer runtime and installer specifically for hosting agents on your own machine.
How does Raft keep agent credentials safe?Agents never hold server credentials directly; the daemon brokers them through a local, origin-bound proxy with a per-launch token, and revoking a session also evicts its realtime subscriptions.
What is the daemon package for?It is a machine daemon that runs agents locally and brokers their credentials to the server, so agents never hold raw credentials themselves.
What does the raft-sdk package provide?It is the client SDK used to build integrations and agent clients against the Raft platform.
Is the CLI only for humans?No, the `raft` command line is used both by humans and by agents to interact with channels, threads, DMs and tasks.
How is channel access control enforced?Channel visibility is checked in one shared place (canUserAccessChannel) for HTTP requests, realtime subscriptions and message replay, so permissions stay consistent everywhere.
What are similar projects?evenfire, element-web, cumora, ZCode, TabTin, CanvasTTY, buzz, omnigent
Creator
botiverse
Size
24 MB
Stars
610
Updated
CommitOct 12
Age
1mo
Commits · 90 Days