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.0.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.0-py3-none-any.whl (135.2 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: kimi_bridge-0.5.0.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.0.tar.gz
Algorithm Hash digest
SHA256 d9adb3fa70d66479abe587488427219e51251d2efc3b3aa6f111e4586da43b05
MD5 92bfba0456464aecbb76370c50f08582
BLAKE2b-256 d89bc6a960ee70a966ea74b20c501b3ffb8b07e619563519c95c5ba404029e8d

See more details on using hashes here.

Provenance

The following attestation bundles were made for kimi_bridge-0.5.0.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.0-py3-none-any.whl.

File metadata

  • Download URL: kimi_bridge-0.5.0-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.0-py3-none-any.whl
Algorithm Hash digest
SHA256 d51b496ba2e7b71eaf9f797dbd02b2eaa6fcc3d9a1d5c3d6cb4f0a9c09acd074
MD5 f5bf15b95539c4765b6d4bac8490181f
BLAKE2b-256 8e3cf436df28fdfe2affd8a3749d149260933fee2c4898705f1cf90599d6bb94

See more details on using hashes here.

Provenance

The following attestation bundles were made for kimi_bridge-0.5.0-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