Skip to main content

A cross-platform terminal based p2p agent orchestration harness and universal automation system

Project description

Federate

Federate is a cross-platform, terminal-based peer to peer AI orchestration harness 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.


Federate Logo

What Makes Federate Different?

1. Orchestration Freedom

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.

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.

2. Active Skills

While we support markdown based skills, Federate debuts the 'active skill' system where actual programs are stored and executed by agents on demand. This allows automation of almost anything you can think of. There is Visual Computer Usage ability for automating tasks requiring GUI interaction.

3. Native Desktop Vision & Speech

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). Speech to text with hotword detection results in true hands free operation. Text to speech with different voice for each agent results in immerrssive role-play.

4. First Class support for Termux

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

  • File and Folder attachments (&): Type & followed by a file or directory (e.g., &src/app.py or &src/) to attach that file or folder 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 F6 to 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, deep research with illustrated pdf generation, computer use, telegram integration, task scheduling etc already baked in, more features might be added in the future.

Installation

Mac/Linux/Android(Termux):

curl https://raw.githubusercontent.com/ROCK-LAB-PRIVATE-LIMITED/federate.ai/main/install.sh | bash

Windows:

irm https://raw.githubusercontent.com/ROCK-LAB-PRIVATE-LIMITED/federate.ai/main/install.ps1 | iex

Via uv:

uv tool install federate

Via pipx:

pipx install federate

You can also install the package via pip. We recommend installing with all optional extras to enable local voice/audio and IDE capabilities:

pip install "federate[all]"

(For a lightweight installation without audio or computer usage capabilities, run pip install federate).


Update

Mac/Linux/Android(Termux):

curl https://raw.githubusercontent.com/ROCK-LAB-PRIVATE-LIMITED/federate.ai/main/update.sh | bash

Windows:

irm https://raw.githubusercontent.com/ROCK-LAB-PRIVATE-LIMITED/federate.ai/main/update.ps1 | iex

Uninstall

Mac/Linux/Android(Termux):

curl https://raw.githubusercontent.com/ROCK-LAB-PRIVATE-LIMITED/federate.ai/main/uninstall.sh | bash

Windows:

irm https://raw.githubusercontent.com/ROCK-LAB-PRIVATE-LIMITED/federate.ai/main/uninstall.ps1 | iex

Quickstart

Start the application from your terminal:

federate

(You can also open the last available chat using federate -r)

Basic Setup

  1. On the first run of Federate, you will be presented with an onboarding popup that will help you setup your first agent.
  2. 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).
  3. Federate will securely encrypt and save your credentials inside your native OS keychain.

Changing Safety Modes (Ctrl+T)

To protect your workspace, the system boots in SAFE mode. You can use /tools command to check what tools are available and activated at any time for the current agent.

  • Press Ctrl+T to cycle permissions:
    • SAFE: Agents can only call basic tools (web search, deep research and list files). You can authorize more tools in safe mode on a per-agent basis but they will still present a confirmation popup.
    • 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 any and every tool available. No confirmation will be required.

Command Reference

  • Attach Files and Folders: Type & followed by the file path (e.g., &src/main.py). Use UP/DOWN arrow keys to cycle through autocomplete suggestions.
  • Mention Agents: Type @ followed by the agent name to route your message to a specific agent. Use @team to broadcast to everyone, or @room to 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.
  • Slash Commands: Type / followed by the command. For /help the full list of available commands and their descriptions.
  • Key Bindings:
    • F2: Session Manager (Create a new chat or load historical multi-agent sessions)
    • F4: Open the Active Agent's configuration
    • F5: Change Agent and set the default agent
    • F6: Cycle through UI panels (Chat ↔ IDE Editor ↔ Executions Dashboard)
    • F8: Change your workspace directory
    • Ctrl+K: Start fresh conversation
    • Ctrl+A: ABORT (Emergency stop for any running AI tasks or terminal commands)
    • Ctrl+Q: Quit Federate

Disclaimer

  • All AI systems inherently navigate a trade-off between capability and safety; Federate leans heavily toward the capability aspect. For safe and secure coding with AI assistance, please consider using KittySuite IDE, where the AI does not have the capability to execute code, run commands, or read files you don't explicitly share.

Why We Built Federate

In many regions of the developing world, owning a desktop computer is often a luxury, a lot more people have access to smartphones. Federate is written to bring the joy of programming to as many people as possible, by being as device agnostic as possible. It is designed to run natively and comfortably inside Termux on Android, transforming a spare smartphone into a fully capable engineering workstation.

Federate is also built for 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 accessible by everyone, while being incredibly powerful.


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

federaide-1.0.40.tar.gz (307.7 kB view details)

Uploaded Source

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

federaide-1.0.40-py3-none-win_amd64.whl (11.1 MB view details)

Uploaded Python 3Windows x86-64

federaide-1.0.40-py3-none-manylinux2014_x86_64.whl (11.0 MB view details)

Uploaded Python 3

federaide-1.0.40-py3-none-manylinux2014_aarch64.whl (10.0 MB view details)

Uploaded Python 3

federaide-1.0.40-py3-none-macosx_11_0_arm64.whl (10.4 MB view details)

Uploaded Python 3macOS 11.0+ ARM64

federaide-1.0.40-py3-none-macosx_10_9_x86_64.whl (11.0 MB view details)

Uploaded Python 3macOS 10.9+ x86-64

federaide-1.0.40-py3-none-android_24_arm64_v8a.whl (10.4 MB view details)

Uploaded Android API level 24+ ARM64 v8aPython 3

File details

Details for the file federaide-1.0.40.tar.gz.

File metadata

  • Download URL: federaide-1.0.40.tar.gz
  • Upload date:
  • Size: 307.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.14

File hashes

Hashes for federaide-1.0.40.tar.gz
Algorithm Hash digest
SHA256 19d7fdf3468e9671bf2e3f8e31af918cfa52854f90ac68beceaecc817ab8a29f
MD5 027bce2e5e0925b8c2485e9a64b60cf2
BLAKE2b-256 17ddf5fa79cb215a81df4e2633f41650764eb876a0ff4843e52d3f6fd2a89e4e

See more details on using hashes here.

Provenance

The following attestation bundles were made for federaide-1.0.40.tar.gz:

Publisher: release.yml on ROCK-LAB-PRIVATE-LIMITED/federaide

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file federaide-1.0.40-py3-none-win_amd64.whl.

File metadata

  • Download URL: federaide-1.0.40-py3-none-win_amd64.whl
  • Upload date:
  • Size: 11.1 MB
  • Tags: Python 3, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.14

File hashes

Hashes for federaide-1.0.40-py3-none-win_amd64.whl
Algorithm Hash digest
SHA256 0fb6581ab7bf3118e13ec78c33607e09e57346f74ac3cad929c897c8dbb365af
MD5 d95541d4f949dbc2c0e1a9d0fc505f93
BLAKE2b-256 cb95c674daeecf157db06648b50d6d13b2783c1e94e8496b713dd7e1e3e8d835

See more details on using hashes here.

Provenance

The following attestation bundles were made for federaide-1.0.40-py3-none-win_amd64.whl:

Publisher: release.yml on ROCK-LAB-PRIVATE-LIMITED/federaide

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file federaide-1.0.40-py3-none-manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for federaide-1.0.40-py3-none-manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 cfbae64944a10722b957ca1c68b4c68a9e4b49567cdb28b949a182c7d7fedf8b
MD5 3389820219093ff1e95fe3d5965f53e4
BLAKE2b-256 75353b88be95533e987762fe56682956a262438194f369d5ef8e2c0fe82bea7f

See more details on using hashes here.

Provenance

The following attestation bundles were made for federaide-1.0.40-py3-none-manylinux2014_x86_64.whl:

Publisher: release.yml on ROCK-LAB-PRIVATE-LIMITED/federaide

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file federaide-1.0.40-py3-none-manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for federaide-1.0.40-py3-none-manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 ffdd0fe73b18e4d65bab47be5dc25723e32cad2887ba0338fc619cdac8eaceff
MD5 63b1ad2e67aa7aada23deed2c18fdad6
BLAKE2b-256 f3418e68949e365343331dd40c007be3ac84afeb44dec541364b9bf0efe244b1

See more details on using hashes here.

Provenance

The following attestation bundles were made for federaide-1.0.40-py3-none-manylinux2014_aarch64.whl:

Publisher: release.yml on ROCK-LAB-PRIVATE-LIMITED/federaide

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file federaide-1.0.40-py3-none-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for federaide-1.0.40-py3-none-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 ca1582c1309c1c15d7f05e2889ce49bc053733c0983da7c01f1301a635d241ee
MD5 41daf88ece657eda457dd66b6049a0fb
BLAKE2b-256 2e807ec31341b892c218a7015184f84702b8e851efccda7924d2abce35fe9ce8

See more details on using hashes here.

Provenance

The following attestation bundles were made for federaide-1.0.40-py3-none-macosx_11_0_arm64.whl:

Publisher: release.yml on ROCK-LAB-PRIVATE-LIMITED/federaide

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file federaide-1.0.40-py3-none-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for federaide-1.0.40-py3-none-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 ad07ab6229966ad60f2e864e0a517eb619528dbe88036440231b26f4c77ee662
MD5 a30e710f27cdc2e0449496ecb4dea527
BLAKE2b-256 96cb63247192368f76f5ba5777db07dd649bc4322c7bbede6cf60c4434d57f94

See more details on using hashes here.

Provenance

The following attestation bundles were made for federaide-1.0.40-py3-none-macosx_10_9_x86_64.whl:

Publisher: release.yml on ROCK-LAB-PRIVATE-LIMITED/federaide

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file federaide-1.0.40-py3-none-android_24_arm64_v8a.whl.

File metadata

File hashes

Hashes for federaide-1.0.40-py3-none-android_24_arm64_v8a.whl
Algorithm Hash digest
SHA256 e1c8e72b8b710c04419e4f3763e25aa46ead0d9981a5268cedff2c83fb282ccf
MD5 a07952658e61a9cc4fc21858fea88f0e
BLAKE2b-256 92242cc552f3e10b7454e0a7730cb4c0a882d8ab3e2e9728f534345f72508a98

See more details on using hashes here.

Provenance

The following attestation bundles were made for federaide-1.0.40-py3-none-android_24_arm64_v8a.whl:

Publisher: release.yml on ROCK-LAB-PRIVATE-LIMITED/federaide

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page