Skip to main content

Bot-based system to interact with Claude CLI on remote machines

Project description

Codecast

Codecast

One bot to manage AI coding agents across all your machines

PyPI CI Docs License Python


Send a message from Discord, Telegram, or Lark. It reaches an AI coding agent on your GPU server, cloud VM, or any SSH-accessible machine — and streams the response back in real time.

How is this different from the official Claude Discord bot?

The official Claude bot gives you a single conversation with Claude in the cloud. Codecast is fundamentally different:

Official Claude Bot Codecast
Where Claude runs Anthropic's cloud Your own machines (GPU servers, VMs, dev boxes)
Session management One conversation Multiple persistent sessions across multiple machines
Code access No file system access Full access to your projects via Claude CLI
AI backends Claude only Claude, Codex (OpenAI), Gemini CLI, OpenCode
Chat platforms Discord only Discord, Telegram, Lark (Feishu)
Multiplexing One bot = one conversation One bot = many machines x many sessions

Codecast turns your chat app into a remote control panel for AI coding agents running on your infrastructure.

Architecture

You (Discord / Telegram / Lark)
 |
 v
+------------------+          SSH tunnel          +------------------+
|    Head Node     |  ----------------------->   |     Daemon       |
|    (Python)      |         JSON-RPC + SSE       |     (Rust)       |
|                  |                              |                  |
|  - Bot adapters  |    Can manage multiple       |  - Axum HTTP     |
|  - Engine        |    machines in parallel       |  - Session pool  |
|  - SSH tunnels   |                              |  - CLI adapters  |
+------------------+                              +--------+---------+
                                                           |
                                                    stdin/stdout
                                                           |
                                                  +--------v---------+
                                                  |   AI CLI Agent   |
                                                  |  Claude / Codex  |
                                                  | Gemini / OpenCode|
                                                  +------------------+

A single Head Node connects to any number of remote machines. Each machine runs a lightweight Rust daemon that manages AI CLI processes. Sessions persist across disconnects — detach from your phone, resume from your laptop.

Quick Start

pip install codecast
cp config.example.yaml ~/.codecast/config.yaml
$EDITOR ~/.codecast/config.yaml   # add machines + bot token
codecast

Then open your chat app and type /start my-server ~/projects/myapp.

Key Features

Multi-Machine Session Management

Connect any number of servers. Each session has a human-friendly name (e.g., bright-falcon). Detach with /exit, resume with /resume bright-falcon from any device.

Multiple AI Backends

Not just Claude. Start sessions with different AI CLIs:

/start my-server ~/project --cli codex
/start gpu-box ~/ml-project --cli gemini
/start dev-vm ~/webapp --cli claude

Three Chat Platforms

  • Discord — slash commands, autocomplete, interactive buttons
  • Telegram — inline keyboards, file sharing, HTML formatting
  • Lark (Feishu) — rich text messages, WebSocket connection

Interactive Questions

When an AI agent asks you a question with options, Codecast presents it with native UI elements — buttons on Discord, inline keyboards on Telegram — so you can tap to respond instead of typing.

Permission Modes

Control how much autonomy the AI agent has:

Mode Behavior
auto Full autonomy — no confirmations
code Auto-accept file edits, confirm shell commands
plan Read-only analysis
ask Confirm every action

Real-Time Streaming

Responses stream back as the AI types. Choose how tool calls are displayed:

  • timer (default) — clean "Working 5s" indicator, results sent at end
  • append — see each tool call as it happens
  • batch — summary of all tool calls at end

SSH Security

The daemon binds to 127.0.0.1 only — never exposed to the internet. All communication goes through SSH tunnels. The daemon binary is auto-deployed to remote machines via SCP.

Commands

Command What it does
/start <machine> <path> Start a new session (add --cli codex etc.)
/resume <name> Resume a detached session
/new New session, same directory
/exit Detach (process keeps running)
/stop Interrupt current operation
/model <name> Switch AI model
/mode <auto|code|plan|ask> Switch permission mode
/tool-display <timer|append|batch> Switch tool display mode
/ls machine List machines
/ls session List sessions
/status Current session info
/health Daemon health check

See the full command reference for all commands.

Documentation

Full documentation: chivier.github.io/codecast (English & Chinese)

Guide Description
Getting Started Installation, first session walkthrough
Configuration Config format, peers, bot tokens
Commands Every command with examples
Architecture System design and internals

Requirements

  • Python 3.11+ — head node
  • SSH access — to remote machine(s) with an AI CLI installed (Claude, Codex, Gemini, or OpenCode)
  • Bot token — for Discord, Telegram, and/or Lark

The Rust daemon binary is auto-deployed. To build from source:

cargo build --release
# Binary: target/release/codecast-daemon

License

MIT

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

codecast-0.3.0.tar.gz (173.3 kB view details)

Uploaded Source

File details

Details for the file codecast-0.3.0.tar.gz.

File metadata

  • Download URL: codecast-0.3.0.tar.gz
  • Upload date:
  • Size: 173.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for codecast-0.3.0.tar.gz
Algorithm Hash digest
SHA256 d993e363abdb9cd798d5ec8793b4ce0219598cfda900cc99517e71a87f250122
MD5 8b1317bc63cc245b8f9a67047b472fd1
BLAKE2b-256 caaa1c56811134c7da46472c7a3b45c1d18cb7d164a5fbb958eb6d20c49905ba

See more details on using hashes here.

Provenance

The following attestation bundles were made for codecast-0.3.0.tar.gz:

Publisher: release.yml on Chivier/codecast

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