Kiro2Chat

agent
Security Audit
Warn
Health Warn
  • No license — Repository has no license file
  • Description — Repository has a description
  • Active repo — Last push 0 days ago
  • Low visibility — Only 5 GitHub stars
Code Pass
  • Code scan — Scanned 12 files during light audit, no dangerous patterns found
Permissions Pass
  • Permissions — No dangerous permissions requested
Purpose
This tool acts as a multi-platform chat bridge, connecting messaging services like Telegram, Discord, and Lark to kiro-cli using the ACP protocol. It allows you to interact with the underlying AI agent via standard chat apps or a web UI.

Security Assessment
Overall Risk: Medium. The automated code scan (12 files) found no dangerous patterns, hardcoded secrets, or dangerous permission requests. However, the tool inherently processes sensitive data, including chat messages and images, and acts as a bridge to external platforms using API tokens. Additionally, it offers an interactive permission approval feature (`y/n/t`) for sensitive operations and executes as a subprocess via stdio, which requires trust in how commands are routed. Without a license file, there are also no explicit legal terms regarding liability or data handling.

Quality Assessment
The project is very new and currently has low community visibility with only 5 GitHub stars. On the positive side, it is actively maintained (the most recent push was today) and includes comprehensive documentation and architecture breakdowns. A major drawback for enterprise or open-source developers is the complete lack of a defined software license. This means the author retains all exclusive rights under copyright law, making the legal reuse and distribution of this code risky.

Verdict
Use with caution — the code appears safe and is actively maintained, but low community adoption, missing legal licensing, and inherent network bridging require you to thoroughly review how your API keys and chat data are handled.
SUMMARY

Multi-platform chat bridge for Kiro Cli — connect to Telegram, Lark/Feishu, Discord & Web via ACP protocol

README.md

Kiro2Chat

English | 中文

Bridge kiro-cli to chat platforms (Telegram, Lark/Feishu, Discord, Web) via ACP protocol.

Features

  • 🔗 ACP Protocol — Communicates with kiro-cli via JSON-RPC 2.0 over stdio
  • 🌐 Web Chat — NiceGUI-based chat UI with streaming output
  • 📱 Telegram Bot — Full-featured bot with streaming, tool call display, image I/O
  • 💬 Lark/Feishu Bot — Topic-based sessions, @bot trigger, image I/O, feishu/lark domain switch
  • 🎮 Discord Bot — @bot trigger, image I/O, 2000-char auto-split
  • 🔐 Permission Approval — Interactive y/n/t approval for sensitive operations
  • 🤖 Agent & Model Switching/agent and /model commands across all adapters
  • On-Demand Startup — kiro-cli starts when first message arrives, auto-stops on idle
  • 🖼️ Image Support — Send images for visual analysis (JPEG, PNG, GIF, WebP)
  • 🛑 Cancel/cancel to interrupt current operation
  • 🔧 MCP & Skills — Global or workspace-level config via .kiro/

Screenshots

Telegram Bot — Agent-powered bot with tool calling and Markdown rendering

Architecture

    ┌───────────┐ ┌─────────┐ ┌─────────┐ ┌─────────┐
    │  Telegram │ │  Lark/  │ │ Discord │ │   Web   │
    │  Adapter  │ │ Feishu  │ │ Adapter │ │  Chat   │
    └─────┬─────┘ └────┬────┘ └────┬────┘ └────┬────┘
          └────────────┴──────┬────┴───────────┘
                    ┌─────────┴─────────┐
                    │      Bridge       │  session management, permission routing
                    └─────────┬─────────┘
                    ┌─────────┴─────────┐
                    │     ACPClient     │  JSON-RPC 2.0 over stdio
                    └─────────┬─────────┘
                    ┌─────────┴─────────┐
                    │     kiro-cli      │  acp subprocess
                    └───────────────────┘

Quick Start

# Prerequisites: kiro-cli installed and logged in
git clone https://github.com/aleck31/Kiro2Chat.git
cd Kiro2Chat
uv sync

# Run in foreground
uv run kiro2chat start

# Or deploy as systemd service
deploy/install.sh             # auto-detect paths, install and enable
kiro2chat start               # start daemon
kiro2chat stop                # stop daemon
kiro2chat status              # show status

Open http://127.0.0.1:7860 for the admin dashboard. Configure tokens at /config.

Commands

All adapters support the following commands:

Command Description
/model View/switch model
/agent View/switch agent mode
/workspace View/switch workspace
/workspace list List all configured workspaces
/workspace switch <name> Switch to a workspace
/cancel Cancel current operation
/clear Reset session
/help Show help

Discord & Lark: @bot to trigger in group chats, DM for direct conversation.

Configuration

All configuration is managed via ~/.config/kiro2chat/config.toml, or through the Web Admin Dashboard at /config.

[telegram]
tg_bot_token = "your-token"

[lark]
lark_app_id = "cli_xxx"
lark_app_secret = "xxx"
lark_domain = "feishu"       # feishu | lark

[discord]
discord_bot_token = "your-token"

[web]
web_host = "127.0.0.1"
web_port = 7860

[acp]
kiro_cli_path = "kiro-cli"
workspace_mode = "per_chat"  # per_chat | fixed
idle_timeout = 300

[workspaces]
default = "~/.local/share/kiro2chat/workspaces/default"
my-project = "~/repos/my-project"

MCP & Skills

  • Global: ~/.kiro/settings/mcp.json, ~/.kiro/skills/
  • Workspace: {WORKING_DIR}/.kiro/settings/mcp.json (fixed mode only)

Project Structure

src/
├── app.py              # Entry point, CLI
├── config.py           # Configuration
├── config_manager.py   # TOML config read/write
├── log_context.py      # Logging context
├── manager.py          # Adapter lifecycle manager
├── acp/
│   ├── client.py       # ACP JSON-RPC client (kiro-cli subprocess)
│   └── bridge.py       # Session management, event routing
└── adapters/
    ├── base.py         # Adapter interface
    ├── telegram.py     # Telegram adapter (aiogram)
    ├── lark.py         # Lark/Feishu adapter (lark-oapi SDK)
    ├── discord.py      # Discord adapter (discord.py)
    └── web.py          # Web Chat adapter (NiceGUI)

Tech Stack

Component Technology
ACP Transport JSON-RPC 2.0 over stdio
Web Chat NiceGUI
Telegram Bot aiogram 3
Lark/Feishu Bot lark-oapi (WebSocket)
Discord Bot discord.py 2
Config TOML (config.toml)
Package Manager uv + hatchling
Python ≥ 3.13

Related

  • open-kiro — OpenAI-compatible API gateway for Kiro (the API proxy counterpart)

License

MIT

Reviews (0)

No results found