Skip to main content

WebSocket relay that bridges AI coding agent CLIs (Claude Code, Codex, Gemini CLI, Snowflake Cortex) to any web interface — stream reasoning, tool calls, and file changes in real time.

Project description

ai-relay

WebSocket relay that bridges AI coding agent CLIs (Claude Code, Codex, Gemini CLI, Snowflake Cortex, and more) to any web interface — stream reasoning, tool calls, and file changes in real time.

Install

pip install ai-relay

Quick start

# Start the relay server (default: ws://0.0.0.0:8765)
ai-relay --port 8765

Then connect from OhWise Lab (or any WebSocket client) and send a handshake:

{"tool": "claude", "folder": "/path/to/project", "model": "claude-sonnet-4-6"}

The relay spawns the CLI process, streams all output as structured JSON events over WebSocket, and forwards your messages as stdin to the process.

Event types

Type Description
session_start Process spawned
session_end Process exited (includes exit_code)
stdout / stderr Raw output lines
reasoning Agent thinking/planning text
tool_call Agent invoking a tool (Read, Edit, Bash…)
tool_result Result of a tool call
file_diff File created or edited
response Final answer text
quota_warning API quota / rate limit detected
context_warning Context window nearing limit (includes context_pct)
context_compacted Context was compacted
error Relay or process error
input_ack Relay confirms your message was sent to the process

Sending commands

Send JSON over WebSocket:

{"text": "refactor the authentication module to use JWT"}

To send CLI commands (e.g. /compact, /clear):

{"text": "/compact"}

Supported tools

Tool Adapter tool value
Claude Code ClaudeCodeAdapter "claude" / "claude-code"
OpenAI Codex GenericAdapter "codex"
Gemini CLI GenericAdapter "gemini"
Snowflake Cortex GenericAdapter "cortex"
Any CLI GenericAdapter "generic"

Python API

from ai_relay import RelayServer

server = RelayServer(host="0.0.0.0", port=8765)
server.run()

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

ai_relay-0.1.2.tar.gz (17.7 kB view details)

Uploaded Source

Built Distribution

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

ai_relay-0.1.2-py3-none-any.whl (18.1 kB view details)

Uploaded Python 3

File details

Details for the file ai_relay-0.1.2.tar.gz.

File metadata

  • Download URL: ai_relay-0.1.2.tar.gz
  • Upload date:
  • Size: 17.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.0

File hashes

Hashes for ai_relay-0.1.2.tar.gz
Algorithm Hash digest
SHA256 ebd10c4e08ba6507ff3eaa429e82b7ce072a3e6f363f31b4e037e4a52fea0c92
MD5 4f733de3b970ff1da02fc26f0e74f8a3
BLAKE2b-256 4c82ca8736d2804b044d9d8696a4516b2a84e3a673664cfb8025066e09708824

See more details on using hashes here.

File details

Details for the file ai_relay-0.1.2-py3-none-any.whl.

File metadata

  • Download URL: ai_relay-0.1.2-py3-none-any.whl
  • Upload date:
  • Size: 18.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.0

File hashes

Hashes for ai_relay-0.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 a7a5e734fdb80d881e657bbb2c0bc7d31c80d1445b4a379969b9f3a556576ac9
MD5 1af3a7fc5d7aad79e9da8317bfb899d5
BLAKE2b-256 3c7bc3e23d2bf7d2196d4a91d1cadbec6fac12578a475b371d4756cadbfa4265

See more details on using hashes here.

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