Skip to main content

Control a local Kimi Code agent from Feishu, QQ, or Telegram

Project description

kimi-bridge

English: README.en_US.md

在即时通讯对话中控制本地的 Kimi Code 智能体。

kimi-bridge 负责控制 Kimi Code 的本地服务器,在重启后保持聊天与会话的绑定关系,以可编辑消息的形式流式输出回复,并把审批、提问、引导、文件、思考过程和会话控制带进你的聊天客户端。

支持情况

平台/能力 状态
飞书单聊 已支持
微信机器人 暂不支持
Telegram 私聊 实验性
QQ C2C(私聊) 已支持
Linux,Python ≥3.11 已支持
macOS 和 Windows 实验性
语音消息 飞书和 QQ 已支持

每个 bridge 进程只运行一个平台适配器。飞书使用官方 lark-oapi WebSocket 客户端;Telegram 和 QQ 使用手写的轻量 httpx/websockets 传输层,不依赖平台 SDK。

功能特性

  • 持久的 Kimi 会话管理:创建、列表、切换、重命名、查看、压缩和撤销。
  • 原地编辑的答案流式输出、路由侧分块,以及可选的独立思考过程输出。
  • 交互式审批与提问,带超时处理和过期操作防护。
  • 繁忙回合中的提示引导、取消、权限模式、模型/推理强度/计划控制、目标、任务、技能,以及 MCP 查看。
  • 接收图片、文件和飞书/QQ 语音消息,以及 /send 文件外发。
  • 私聊白名单、仅监听回环地址的 Kimi 服务器监管,以及 doctor 诊断命令。

快速开始

最简单的方式:打开任意 CLI 智能体,对它说:

阅读 https://github.com/Mtrya/kimi-bridge/blob/main/INSTALL_AI.md 并帮我配置 kimi-bridge。

智能体会通过问答了解你的需求,并端到端完成全部配置。

手动安装概要——需要先安装并配置 Kimi Code ,然后安装 uv

uv tool install 'kimi-bridge'     # 安装
# 为某个平台适配器创建 ~/.kimi-bridge/config.toml,并 chmod 600
kimi-bridge doctor                # 不启动任何组件,直接校验配置
kimi-bridge                       # 运行

完整步骤见 INSTALL.md;各适配器的完整示例见配置参考

命令

命令涵盖:

  • 会话:/new/sessions/switch/status/title/usage/compact/undo
  • 控制:/mode/model/effort/plan/goal/stop
  • 任务与工具:/tasks/skills/mcp
  • 输出:/send/render-thinking

在聊天中输入 /help,或阅读命令参考了解确切语法、行为以及不同平台的功能特性。发送 /<command> ? 可查看详细的聊天内用法。

架构与安全

飞书、QQ 或 Telegram (实验性)
              │
              ▼
          聊天路由器
              │
              ▼
        本地 `kimi web`

受监管的 Kimi 服务器使用随机生成的 bearer token 并仅绑定回环地址,聊天访问由适配器的白名单限制。kimi-bridge 为单一可信操作者设计:获得许可的 Kimi 智能体可以以宿主机账户的权限读写文件、执行命令,因此请妥善保护宿主机和聊天凭据。组件边界与 Kimi Code 兼容性策略(kimi-bridge compat)见架构文档

文档

开发

uv sync --dev
uv run pytest -q
uv run ruff check .

单元测试不使用真实的 Kimi、飞书、Telegram、QQ、WebSocket、状态和进程边界;CI 检查不使用任何凭据或模型推理。

许可证

MIT © 2026 Mtrya

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

kimi_bridge-0.5.2.tar.gz (283.8 kB view details)

Uploaded Source

Built Distribution

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

kimi_bridge-0.5.2-py3-none-any.whl (135.2 kB view details)

Uploaded Python 3

File details

Details for the file kimi_bridge-0.5.2.tar.gz.

File metadata

  • Download URL: kimi_bridge-0.5.2.tar.gz
  • Upload date:
  • Size: 283.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.14

File hashes

Hashes for kimi_bridge-0.5.2.tar.gz
Algorithm Hash digest
SHA256 232b0685ad21053323a8466608b071a9daf19c2a12763da8558f1ad379524130
MD5 b2e0c4a080f624cc93789faa0a626865
BLAKE2b-256 cca5f0e74461dd1a73f77f7a38c4d941b61cb960b7924247b15a40a427ed88dd

See more details on using hashes here.

Provenance

The following attestation bundles were made for kimi_bridge-0.5.2.tar.gz:

Publisher: release.yml on Mtrya/kimi-bridge

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file kimi_bridge-0.5.2-py3-none-any.whl.

File metadata

  • Download URL: kimi_bridge-0.5.2-py3-none-any.whl
  • Upload date:
  • Size: 135.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.14

File hashes

Hashes for kimi_bridge-0.5.2-py3-none-any.whl
Algorithm Hash digest
SHA256 8c8d958859001345797c3181461c53db1e84437390d60c8f4bea85492c92eded
MD5 9d4cf88bc061af04c4b9b07de976dc3d
BLAKE2b-256 183d2f14f63b1be40309ac18fb5d71c19ad35d79ee56500117b89ada197fc6af

See more details on using hashes here.

Provenance

The following attestation bundles were made for kimi_bridge-0.5.2-py3-none-any.whl:

Publisher: release.yml on Mtrya/kimi-bridge

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