A cross-platform terminal based p2p agent orchestration harness and universal automation system
Project description
Federate.AI
Federate is a cross-platform, terminal-based peer to peer AI orchestration and universal automation system.
It turns your terminal into an interactive workbench where you can run specialized teams of AI agents who talk to and collaborate with each other, use voice input and output, execute desktop automation commands, and much more.
Why We Built Federate
In many underprivileged regions of the developing world, owning a desktop computer is often a luxury, yet nearly everyone has access to a smartphone. Federate is written to bring the joy of programming to those pocket-sized screens. It is designed to run natively and comfortably inside Termux on Android, transforming a sub-$100 smartphone into a fully capable engineering workstation.
But Federate is also built for the most advanced power-users on high-end hardware. It runs on any Mac or PC you can throw at it, unlocking system-level features like desktop automation, local speech-to-text with hotword detection, and text-to-speech voice generation.
It is designed to be the ultimate equalizer: accessible to everyone, yet incredibly powerful for those with top-tier setups.
What Makes Federate Different?
1. Orchestration Freedom
Most multi-agent frameworks force you to write rigid, complex Python graphs and state-machine code to define how agents interact. Federate replaces this overhead with simple prompt driven system.
You organize your team of agents simply by writing their backstories. Describe how they relate to one another, and Federate builds the communication network dynamically. You can create:
- A true Peer-to-Peer hierarchy where every agent is equal to every other agent. This is the default and exclusive to Federate. No other agentic system does this as of date (2nd July 2026). We are the first to implement it (though many will likely follow suit).
- A strict corporate hierarchy or military style chain-of-command.
- A collaborative Hub-and-Spoke swarm.
- Anything else you can think of.
2. Multi-Model, Cross-Provider Collaboration
Federate supports a true multi-model ecosystem. Because it abstracts the underlying LLM provider, you can bring different models into the same session. You can easily watch ChatGPT and Gemini debate a technical architecture decision, a code optimization, or a creative writing prompt directly inside your terminal window.
3. Native Desktop Vision & Speech (Computer Only)
On desktop machines, agents can physically interact with your computer, listen for input and also talk back to you, using any model not just those with speech understanding or synthesis baked in.
4. Pocket-Sized Software Engineering
Even on mobile, you can delegate complex multi-step coding tasks to an autonomous sub-agent. The system spawns an isolated local git worktree, writes and edits code, runs your local tests, and presents you with a clean commit diff to approve—ensuring your active development workspace remains untouched. Did you know your old Android can compile Rust?
Feature Checklist
- Context Injection (
&): Type&followed by a file or directory (e.g.,&src/app.pyor&src/) to instantly parse and inject that code directly into your prompt. - Direct Shell Passthrough (
!): Type!followed by a command (e.g.,!git diff) to run it in your local workspace and feed the output to the AI. - Integrated Text IDE: Press
F6to instantly toggle between the chat view, a local file tree, a code editor with symbol outline, and an execution dashboard. - And a lot more: Offline Persistent memory with semantic search, goal management, skills (passive and active skills, the latter again a Federate exclusive as on date), speech to text, text to speech, research orchestration, computer use, telegram integration, task scheduling etc already baked in, more features might be added in the future.
Installation
Install the package via pip. We recommend installing with all optional extras to enable local voice/audio and serving capabilities:
pip install "federate[all]"
(For a lightweight installation without audio or computer usage capabilities, run pip install federate instead on Termux and Raspberry Pi).
Quickstart
Start the application from your terminal:
federate
(You can also open a specific project directory directly: federate path/to/folder)
Basic Setup
- Once the interface loads, press
F4to open the Agent Editor. - Set up your active agent, including your API keys and model choices (Federate is pre-configured for OpenRouter, but works with any OpenAI-compatible API).
- Federate will securely encrypt and save your credentials inside your native OS keychain.
Changing Safety Modes (Ctrl+T / /arm)
To protect your workspace, the system boots in SAFE (PLAN) mode. In this mode, agents can search the web and read files, but they cannot edit code, run terminal commands, or control your computer.
- Press
Ctrl+Tor type/armto cycle permissions:- SAFE (PLAN): Read-only. Great for planning and research.
- SEMI-AUTO: Agents can edit and execute, but Federate will present a popup asking you to approve every single tool execution.
- FULL-AUTO: Agents can run autonomous toolchains in the background.
Command Reference
- Inject Files: Type
&followed by the file path (e.g.,&src/main.py). UseUP/DOWNarrow keys to cycle through autocomplete suggestions. - Mention Agents: Type
@followed by the agent name to route your message to a specific agent. Use@teamto broadcast to everyone, or@roomto talk to agents active in the current session. Agents can also use @ to invoke other agents, which is the core of the peer to peer system. - Key Bindings:
F2: Session Manager (Create a new chat or load historical multi-agent sessions)F4: Open the Active Agent configurationF5: Cycle the host agentF6: Cycle through UI panels (Chat ↔ IDE Editor ↔ Executions Dashboard)F8: Change your workspace directoryCtrl+K: Wipe the memory of all agentsCtrl+A: ABORT (Emergency stop for any running AI tasks or terminal commands)Ctrl+Q: Quit Federate
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distributions
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file federate-0.9.0.tar.gz.
File metadata
- Download URL: federate-0.9.0.tar.gz
- Upload date:
- Size: 119.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
3422eba1c1169040afef4464d3912b5447661fc7455336ff75869defc3429efb
|
|
| MD5 |
197907203697888f14abd216157d9f2c
|
|
| BLAKE2b-256 |
aae30a786dc70b8f18254f6b51bc2b36ad119cda916a58d04f5883289b0673d4
|
Provenance
The following attestation bundles were made for federate-0.9.0.tar.gz:
Publisher:
release.yml on ROCK-LAB-PRIVATE-LIMITED/federate.ai
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
federate-0.9.0.tar.gz -
Subject digest:
3422eba1c1169040afef4464d3912b5447661fc7455336ff75869defc3429efb - Sigstore transparency entry: 2045472911
- Sigstore integration time:
-
Permalink:
ROCK-LAB-PRIVATE-LIMITED/federate.ai@1d88ef5cc4b858da925c3708c0497924160e268f -
Branch / Tag:
refs/tags/v0.9.0 - Owner: https://github.com/ROCK-LAB-PRIVATE-LIMITED
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@1d88ef5cc4b858da925c3708c0497924160e268f -
Trigger Event:
push
-
Statement type:
File details
Details for the file federate-0.9.0-py3-none-win_amd64.whl.
File metadata
- Download URL: federate-0.9.0-py3-none-win_amd64.whl
- Upload date:
- Size: 11.0 MB
- Tags: Python 3, Windows x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ec24ae80b750ea76cc1329b975c45d7f69094360cdb07e2b1a73cf1373a96864
|
|
| MD5 |
e7447a8ed729074969cbf4068e5debff
|
|
| BLAKE2b-256 |
ce220376c5bff5e7ac501c1fb384603cc55655b900a676b44b1a3e1639882159
|
Provenance
The following attestation bundles were made for federate-0.9.0-py3-none-win_amd64.whl:
Publisher:
release.yml on ROCK-LAB-PRIVATE-LIMITED/federate.ai
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
federate-0.9.0-py3-none-win_amd64.whl -
Subject digest:
ec24ae80b750ea76cc1329b975c45d7f69094360cdb07e2b1a73cf1373a96864 - Sigstore transparency entry: 2045473784
- Sigstore integration time:
-
Permalink:
ROCK-LAB-PRIVATE-LIMITED/federate.ai@1d88ef5cc4b858da925c3708c0497924160e268f -
Branch / Tag:
refs/tags/v0.9.0 - Owner: https://github.com/ROCK-LAB-PRIVATE-LIMITED
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@1d88ef5cc4b858da925c3708c0497924160e268f -
Trigger Event:
push
-
Statement type:
File details
Details for the file federate-0.9.0-py3-none-manylinux2014_x86_64.whl.
File metadata
- Download URL: federate-0.9.0-py3-none-manylinux2014_x86_64.whl
- Upload date:
- Size: 10.8 MB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a311b45cd2f4090b46675b5fad70691672144fff83858e124c336c9eb03ee665
|
|
| MD5 |
6362f397f448245b6e1403fcad083761
|
|
| BLAKE2b-256 |
058118780ef45c1d54da71f9d19f9f9203ea79676e761913b34a86af06239430
|
Provenance
The following attestation bundles were made for federate-0.9.0-py3-none-manylinux2014_x86_64.whl:
Publisher:
release.yml on ROCK-LAB-PRIVATE-LIMITED/federate.ai
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
federate-0.9.0-py3-none-manylinux2014_x86_64.whl -
Subject digest:
a311b45cd2f4090b46675b5fad70691672144fff83858e124c336c9eb03ee665 - Sigstore transparency entry: 2045473108
- Sigstore integration time:
-
Permalink:
ROCK-LAB-PRIVATE-LIMITED/federate.ai@1d88ef5cc4b858da925c3708c0497924160e268f -
Branch / Tag:
refs/tags/v0.9.0 - Owner: https://github.com/ROCK-LAB-PRIVATE-LIMITED
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@1d88ef5cc4b858da925c3708c0497924160e268f -
Trigger Event:
push
-
Statement type:
File details
Details for the file federate-0.9.0-py3-none-manylinux2014_aarch64.whl.
File metadata
- Download URL: federate-0.9.0-py3-none-manylinux2014_aarch64.whl
- Upload date:
- Size: 9.8 MB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
988bf5a3ab6202e019d481831faf83b0e0da1e07f435f4a661f3df5707c85166
|
|
| MD5 |
7a4d7e4076425c36a56c4044745f02ea
|
|
| BLAKE2b-256 |
c5371a20f37b4f54565ee90d41b5d44af6820a9b3561ee6b0c949b4d1030e7c8
|
Provenance
The following attestation bundles were made for federate-0.9.0-py3-none-manylinux2014_aarch64.whl:
Publisher:
release.yml on ROCK-LAB-PRIVATE-LIMITED/federate.ai
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
federate-0.9.0-py3-none-manylinux2014_aarch64.whl -
Subject digest:
988bf5a3ab6202e019d481831faf83b0e0da1e07f435f4a661f3df5707c85166 - Sigstore transparency entry: 2045473923
- Sigstore integration time:
-
Permalink:
ROCK-LAB-PRIVATE-LIMITED/federate.ai@1d88ef5cc4b858da925c3708c0497924160e268f -
Branch / Tag:
refs/tags/v0.9.0 - Owner: https://github.com/ROCK-LAB-PRIVATE-LIMITED
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@1d88ef5cc4b858da925c3708c0497924160e268f -
Trigger Event:
push
-
Statement type:
File details
Details for the file federate-0.9.0-py3-none-macosx_11_0_arm64.whl.
File metadata
- Download URL: federate-0.9.0-py3-none-macosx_11_0_arm64.whl
- Upload date:
- Size: 10.2 MB
- Tags: Python 3, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
2f604e7ddcc4e23ac8b8a1cdeb6eae34a7ae3d6a91aa166f484c5c2fda133f40
|
|
| MD5 |
c47938eb4385ef7d076b91393678c6aa
|
|
| BLAKE2b-256 |
9b9472c9715fc5c09cedc166f77c4360bebd559449b18993dd3c937422abe868
|
Provenance
The following attestation bundles were made for federate-0.9.0-py3-none-macosx_11_0_arm64.whl:
Publisher:
release.yml on ROCK-LAB-PRIVATE-LIMITED/federate.ai
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
federate-0.9.0-py3-none-macosx_11_0_arm64.whl -
Subject digest:
2f604e7ddcc4e23ac8b8a1cdeb6eae34a7ae3d6a91aa166f484c5c2fda133f40 - Sigstore transparency entry: 2045473583
- Sigstore integration time:
-
Permalink:
ROCK-LAB-PRIVATE-LIMITED/federate.ai@1d88ef5cc4b858da925c3708c0497924160e268f -
Branch / Tag:
refs/tags/v0.9.0 - Owner: https://github.com/ROCK-LAB-PRIVATE-LIMITED
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@1d88ef5cc4b858da925c3708c0497924160e268f -
Trigger Event:
push
-
Statement type:
File details
Details for the file federate-0.9.0-py3-none-macosx_10_9_x86_64.whl.
File metadata
- Download URL: federate-0.9.0-py3-none-macosx_10_9_x86_64.whl
- Upload date:
- Size: 10.8 MB
- Tags: Python 3, macOS 10.9+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e08b788752c19c296dcc735cc80385026ef89612247e547975e038c90ae28f02
|
|
| MD5 |
005fed78f985b27b9bf7101f5f220a23
|
|
| BLAKE2b-256 |
35c90f6baf1e8c71811c4ec56260502935939d0a892d4d598f128dcfa558583b
|
Provenance
The following attestation bundles were made for federate-0.9.0-py3-none-macosx_10_9_x86_64.whl:
Publisher:
release.yml on ROCK-LAB-PRIVATE-LIMITED/federate.ai
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
federate-0.9.0-py3-none-macosx_10_9_x86_64.whl -
Subject digest:
e08b788752c19c296dcc735cc80385026ef89612247e547975e038c90ae28f02 - Sigstore transparency entry: 2045473278
- Sigstore integration time:
-
Permalink:
ROCK-LAB-PRIVATE-LIMITED/federate.ai@1d88ef5cc4b858da925c3708c0497924160e268f -
Branch / Tag:
refs/tags/v0.9.0 - Owner: https://github.com/ROCK-LAB-PRIVATE-LIMITED
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@1d88ef5cc4b858da925c3708c0497924160e268f -
Trigger Event:
push
-
Statement type:
File details
Details for the file federate-0.9.0-py3-none-android_24_arm64_v8a.whl.
File metadata
- Download URL: federate-0.9.0-py3-none-android_24_arm64_v8a.whl
- Upload date:
- Size: 10.3 MB
- Tags: Android API level 24+ ARM64 v8a, Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
dc135f9df5f489f1b4e631f80c83061dce7db6c0fa7ae65cc094a2e3d3f5da2f
|
|
| MD5 |
dba95b0f61118148a49c06a431ed5fba
|
|
| BLAKE2b-256 |
e8baa3be4cdaeb1ca3933a1e5214b4c190011ec826922ece96131c2e96ca47a1
|
Provenance
The following attestation bundles were made for federate-0.9.0-py3-none-android_24_arm64_v8a.whl:
Publisher:
release.yml on ROCK-LAB-PRIVATE-LIMITED/federate.ai
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
federate-0.9.0-py3-none-android_24_arm64_v8a.whl -
Subject digest:
dc135f9df5f489f1b4e631f80c83061dce7db6c0fa7ae65cc094a2e3d3f5da2f - Sigstore transparency entry: 2045473424
- Sigstore integration time:
-
Permalink:
ROCK-LAB-PRIVATE-LIMITED/federate.ai@1d88ef5cc4b858da925c3708c0497924160e268f -
Branch / Tag:
refs/tags/v0.9.0 - Owner: https://github.com/ROCK-LAB-PRIVATE-LIMITED
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@1d88ef5cc4b858da925c3708c0497924160e268f -
Trigger Event:
push
-
Statement type: