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.39.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.39-py3-none-win_amd64.whl (11.1 MB view details)

Uploaded Python 3Windows x86-64

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

Uploaded Python 3

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

Uploaded Python 3

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

Uploaded Python 3macOS 11.0+ ARM64

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

Uploaded Python 3macOS 10.9+ x86-64

federaide-1.0.39-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.39.tar.gz.

File metadata

  • Download URL: federaide-1.0.39.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.39.tar.gz
Algorithm Hash digest
SHA256 e8529a1c0a52304e59261805b2ec360083b2450e258afe8d760b5efdcad853bd
MD5 598b162cf08a8338f3b8a244a8aeb2b4
BLAKE2b-256 0e64d2f3ffc75ec40d79e42e93b2b7566b668fff926a08ff1821800759acdf74

See more details on using hashes here.

Provenance

The following attestation bundles were made for federaide-1.0.39.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.39-py3-none-win_amd64.whl.

File metadata

  • Download URL: federaide-1.0.39-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.39-py3-none-win_amd64.whl
Algorithm Hash digest
SHA256 a6e06ce0ffcd7edfe70e8b09bc1f11e22edc4f849e593ea279c87423fe046c18
MD5 341e17f2dce93de625a8fcb9f9fac335
BLAKE2b-256 4e72046875fe12b2aa50fa8bc0a6e2e98ebe42f04b8d0fd918ee0f32d4629bfa

See more details on using hashes here.

Provenance

The following attestation bundles were made for federaide-1.0.39-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.39-py3-none-manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for federaide-1.0.39-py3-none-manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 9cb2e4c9f9f748577b1d480659ae246f35c6d47031cd2b22a618c8277e955854
MD5 8f3bec0ca1f7a59adcf374d11a647839
BLAKE2b-256 ba89f48c56552b4dc46280e37f76ea7e2a82d020116cc7c1ca048560d4582021

See more details on using hashes here.

Provenance

The following attestation bundles were made for federaide-1.0.39-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.39-py3-none-manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for federaide-1.0.39-py3-none-manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 1472c6fde6c23d290c410b9b429a1e33669400b0a1aedd6a9a770903bbaf043d
MD5 509a10f5a372814fa7b2906f7abf96fc
BLAKE2b-256 b47f10ce8031329787ee591352a5d243c6375e2140a1661a1b63d126f1e39609

See more details on using hashes here.

Provenance

The following attestation bundles were made for federaide-1.0.39-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.39-py3-none-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for federaide-1.0.39-py3-none-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 13903250570303a7462ec1f83f179fdaa0f9a96dfbe8f34ed5e61ef7ab8d47e6
MD5 d25ac0b7020dd630003656a5d5fae805
BLAKE2b-256 a6969ccc2af0fe015c4b5d176d9777fbd6b195679d56227013ff3dbe6398bd29

See more details on using hashes here.

Provenance

The following attestation bundles were made for federaide-1.0.39-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.39-py3-none-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for federaide-1.0.39-py3-none-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 93a8345dbc076eef3dd1a3f25a98eff5cdcca38325f3243ab2250df2091accd3
MD5 fc9575c674edebfd85e120230c96792e
BLAKE2b-256 41e4623100f53642e3054e71df4691d625af10506b5420d6346191a4415ae99a

See more details on using hashes here.

Provenance

The following attestation bundles were made for federaide-1.0.39-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.39-py3-none-android_24_arm64_v8a.whl.

File metadata

File hashes

Hashes for federaide-1.0.39-py3-none-android_24_arm64_v8a.whl
Algorithm Hash digest
SHA256 25f4971138dfa615d244956f5d54e07118b91cef6e47d592203dcbac2c10bf4f
MD5 b141d71fac09b0590b57fd3395fbdd1a
BLAKE2b-256 a147be1c46f40b96fc7d3d046474c6d06d3e4a0d86adb696d9f200c541a72eeb

See more details on using hashes here.

Provenance

The following attestation bundles were made for federaide-1.0.39-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