@kraki/tentacle
v0.17.9
Published
Kraki agent bridge — the arm that connects your coding agent to the head
Readme
Kraki
CLI bridge that connects your coding machine to Kraki.
Preview: Kraki is still early-stage. Expect breaking changes while the core flows stabilize.
Kraki runs next to your coding agent, connects to a relay, and lets you watch and steer sessions from your phone or another device.
Right now the main supported agent flow is GitHub Copilot CLI.
Install
# macOS / Linux
curl -fsSL https://app.kraki.chat/install.sh | bash
# Windows (PowerShell)
irm https://app.kraki.chat/install.ps1 | iex
# or with npm (all platforms)
npm i -g @kraki/tentacle
krakiOr download the binary manually.
Requirements
- GitHub Copilot CLI installed on the coding machine
- A browser or phone to connect to the Kraki web app
Quick start
- Download and run the binary
- Follow the setup prompts in the terminal
- By default it connects to the hosted relay
- Scan the QR code or open the web app to connect your browser or phone
The hosted web app lives at:
https://app.kraki.chat
What tentacle handles
Beyond bridging agent events, tentacle is responsible for several things that used to live on the relay:
- Sequence numbers and timestamps — assigned locally by tentacle, not by the relay
- Message buffering — tentacle buffers messages and handles replay when devices reconnect
- Session lifecycle — session create, update, and close are managed here
- Auto-approval — tools on a local allowed list are approved automatically without user interaction
- Encryption — all outgoing messages are encrypted before leaving the machine
- Attachment storage — image bytes produced by the agent are stored content-addressed on disk and streamed to receivers in chunks, not embedded inline in messages
- Kraki MCP server — a loopback HTTP server exposing tools the agent can call to surface images (
kraki-show_image) and similar artifacts to user-facing devices
The relay is a thin forwarder. Tentacle and the frontend own the application logic.
Useful commands
kraki # start the tentacle / setup flow
kraki status # show daemon + relay status
kraki connect # generate a fresh QR code / pairing link
kraki stop # stop the local daemonUse your own relay
Start a relay with @kraki/head:
npx @kraki/head
# or
npm i -g @kraki/head
kraki-relayThen point tentacle setup at your own relay URL instead of the hosted default.
Links
- Main docs:
https://github.com/corelli18512/kraki/blob/main/README.md - Security model:
https://github.com/corelli18512/kraki/blob/main/SECURITY.md
