Cross-AI CLI communication tool for kitty terminal
Project description
ai-comm
Cross-AI CLI communication tool for Kitty terminal. Enables AI assistants running in separate Kitty windows to communicate with each other.
Why ai-comm?
When working with multiple AI coding assistants, you may want them to collaborate—code review across models, second opinions on architecture, or delegating specialized tasks.
Why terminal text instead of MCP or black magic?
- Stability: AI CLI tools evolve rapidly, with many still at 0.x and frequently introducing breaking changes. Terminal UI, being user-facing, remains far more stable.
- Lightweight: MCP tools consume significant context (often tens of thousands of tokens at startup) and can cause attention dilution. ai-comm uses simple shell commands with minimal overhead.
- No infrastructure: Each AI CLI maintains its own context. No need for external services like Redis to synchronize state across tools.
- Composability: Shell pipelines and REPL patterns combine naturally, leveraging what CLIs already do well.
Setup
1. Install ai-comm
# From PyPI
uv tool install ai-comm
# Or from GitHub
uv tool install git+https://github.com/a322655/ai-comm.git
2. Configure Kitty
Enable remote control in ~/.config/kitty/kitty.conf:
allow_remote_control socket-only
listen_on unix:/tmp/kitty-${USER}
3. Configure Your AI
Add instructions to your AI’s project file (CLAUDE.md, AGENTS.md, GEMINI.md, etc.) or skills system. See docs/AGENTS.md for reference configuration. An example Claude Code skill is provided in docs/skills/ai-comm/.
Usage
-
Open multiple AI CLIs in separate Kitty windows:
claude # Window 1 codex # Window 2 gemini # Window 3
-
Ask your AI to collaborate:
“Use ai-comm to ask Codex to review src/main.py”
The AI discovers available windows and sends the request:
ai-comm list-ai-windows # ID CLI TITLE CWD # 11 codex Reviewing authentication /home/user/project # 21 gemini Analyzing database schema /home/user/project ai-comm send "Review src/main.py for bugs" -w 11 # Returns Codex's response
-
For long responses, instruct the target AI to write to a file:
ai-comm send "Write analysis to report_$(date +%Y%m%d_%H%M%S).md" -w 11
Supported CLIs
| CLI | Notes |
|---|---|
| Claude Code | — |
| Codex CLI | — |
| Gemini CLI | — |
| Aider | Auto-prefixes /ask |
| Cursor Agent | — |
| OpenCode | Uses export for responses |
Troubleshooting
“Window not found”: Ensure the AI CLI is running in Kitty and remote control is enabled. Run ai-comm list-ai-windows to verify.
Empty responses: For long outputs, ask the AI to write to a file instead of returning directly.
“Kitty I/O timeout”: Check if Kitty is responsive; try restarting it.
Development
git clone https://github.com/a322655/ai-comm.git
cd ai-comm
uv sync
uv run ai-comm --help
uv run ruff check src/
uv run mypy src/
Adding a New CLI
- Add entry in
src/ai_comm/registry.py - Create adapter in
src/ai_comm/adapters/<name>.py(class{Name}Adapter) - Add detection in
src/ai_comm/kitten/ai_comm_kitten.py
License
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
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 ai_comm-0.2.9.tar.gz.
File metadata
- Download URL: ai_comm-0.2.9.tar.gz
- Upload date:
- Size: 40.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.9.26 {"installer":{"name":"uv","version":"0.9.26","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
8b646390877049802519a32c25de125e337c9e28dc128a46a17178b5e3f9ddd2
|
|
| MD5 |
e26746980029a0c1e1f64ddd4d0552c9
|
|
| BLAKE2b-256 |
8b1ed64f79cd02222cf465786851ededa2d11818eba8363b6f1ff37a1fd95532
|
File details
Details for the file ai_comm-0.2.9-py3-none-any.whl.
File metadata
- Download URL: ai_comm-0.2.9-py3-none-any.whl
- Upload date:
- Size: 28.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.9.26 {"installer":{"name":"uv","version":"0.9.26","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
6dda0e46188e5b1c789550742d31b75a8c4cae34208fb51c9ee61907abb2405d
|
|
| MD5 |
35e3233fa5e59a1f5295e00ffd9867b6
|
|
| BLAKE2b-256 |
8b204b82b960fec8c10b7bac656ac7b64f6e2087d2cfacee076875cfa5dc876b
|