remorses/kimaki
GitHub: remorses/kimaki
将 OpenCode 编程代理深度集成到 Discord 中,实现通过聊天消息远程控制 AI 编程会话的协作工具。
Stars: 1085 | Forks: 82
kimaki
Discord 中的 Iron Man Jarvis,专为编程代理打造
Kimaki 是一个 Discord 机器人,可以让你通过 Discord 控制 [OpenCode](https://opencode.ai) 编程会话。只需在 Discord 频道中发送一条消息,AI 代理就会在你的机器上编写代码。
## 快速开始
```
npx -y kimaki@latest
```
CLI 会引导你完成所有操作。设置大约需要 1 分钟 —— 你只需点击一下即可将 Kimaki 机器人安装到你的 Discord 服务器,选择你的项目,然后就完成了。
## 什么是 Kimaki?
Kimaki 将 Discord 与 [OpenCode](https://opencode.ai)(一个类似于 Claude Code 的编程代理)连接起来。每个 Discord 频道都会链接到你机器上的一个项目目录。当你在该频道中发送消息时,Kimaki 会创建一个线程并启动一个 OpenCode 会话,它可以:
- 读取和编辑文件
- 运行终端命令
- 搜索你的代码库
- 使用你配置的任何工具
把它想象成给你的代码库发短信。你描述你想要什么,AI 就会去做。
```
┌─────────────┐ ┌─────────────────────────────────────────┐
│ Discord │ │ Your Machine │
│ │ │ │
│ You send a │─────────▶ Kimaki CLI ──▶ OpenCode Server ──▶ AI │
│ message in │ │ │ │
│ a channel │◀────────│ responses ▼ │
│ │ │ Reads, edits, and │
└─────────────┘ │ runs commands in │
│ your project directory │
└─────────────────────────────────────────┘
```
## 安装说明
运行 CLI 并按照交互式提示操作:
```
npx -y kimaki@latest
```
设置向导为你提供两个选项:
- **Gateway 模式(默认)** —— 使用 Kimaki 预先构建好的 Discord 机器人。无需设置 Discord Developer Portal。你只需点击一个安装链接,在你的服务器中授权该机器人,即可开始运行。这是推荐的方式。
- **Self-hosted 模式** —— 你在 [discord.com/developers](https://discord.com/developers/applications) 创建你自己的 Discord 机器人。需要 5-10 分钟。如果你想要完全控制机器人身份,这会很有用。
这两种模式在设置完成后运行方式完全相同。保持 CLI 运行 —— 它是 Discord 和你的机器之间的桥梁。
## 功能
**文本消息** —— 在与项目关联的频道中发送任何消息。Kimaki 会创建一个线程并启动一个 OpenCode 会话。
**文件附件** —— 将图片、代码文件或任何其他文件附加到你的消息中。Kimaki 会将它们包含在会话上下文中。
**语音消息** —— 在 Discord 中录制语音消息。Kimaki 使用 Google 的 Gemini API 对其进行转录,并将其作为文本处理。转录过程会利用你项目的文件树以提高准确性,能够识别你提到的函数名和文件路径。需要 Gemini API 密钥(在设置期间会提示输入)。
**会话管理** —— 从你中断的地方恢复会话,从任何消息进行 fork,或生成公开 URL 以分享你的会话。
**消息队列** —— 当 AI 仍在响应时,使用 `/queue
` 来排队后续消息。它会在当前响应完成时自动发送。你也可以在任何消息末尾加上 `. queue` 来实现相同的行为。
**记忆** —— Kimaki 会在会话开始时从你的项目根目录读取 `MEMORY.md` 文件。AI 可以更新此文件,以存储值得在会话之间保留的学习成果、决策和上下文。
**工具权限** —— 当 AI 尝试运行需要批准的操作(如 shell 命令或访问项目外部的文件)时,Kimaki 会在该线程中显示“Accept / Accept Always / Deny”按钮。你可以在项目的 `opencode.json` 中自定义默认设置。请参阅 [OpenCode Permissions 文档](https://opencode.ai/docs/permissions/)。
## 命令
### 斜杠命令
| 命令 | 描述 |
|---|---|
| `/session ` | 使用初始提示启动新会话 |
| `/resume ` | 恢复之前的会话(带自动补全) |
| `/abort` | 停止当前正在运行的会话 |
| `/add-project ` | 为现有的 OpenCode 项目创建频道 |
| `/create-new-project ` | 创建新的项目文件夹并启动会话 |
| `/new-worktree ` | 创建 git worktree 并启动会话 |
| `/merge-worktree` | 将 worktree 分支合并到默认分支 |
| `/model` | 更改此频道或会话的 AI 模型 |
| `/agent` | 更改此频道或会话的代理 |
| `/share` | 生成公开 URL 以分享当前会话 |
| `/fork` | 从之前的消息 fork 会话 |
| `/queue ` | 排队一条消息,在当前响应完成后发送 |
| `/clear-queue` | 清除此线程中所有排队的消息 |
| `/undo` | 撤销最后一条助手消息(还原文件更改) |
| `/redo` | 重做最后一条撤销的消息 |
| `/screenshare` | 通过 VNC 隧道共享你的屏幕(1小时后自动停止) |
| `/screenshare-stop` | 停止屏幕共享 |
| `/upgrade-and-restart` | 将 kimaki 升级到最新版本并重启机器人 |
Kimaki 还会注册来自 OpenCode 的项目专属斜杠命令:命令变为 `/name-cmd`,技能变为 `/name-skill`,MCP 提示变为 `/name-cmd`。
### CLI
```
# 启动 bot (首次运行时进行交互式设置)
npx -y kimaki@latest
# 将项目目录添加为 Discord channel
npx -y kimaki project add [directory]
# 以编程方式启动 session
npx -y kimaki send --channel --prompt "your prompt"
# 升级 kimaki 并重启
npx -y kimaki upgrade
```
有关完整的 `send` 命令参考、GitHub Actions 示例和计划任务,请参阅 [CI & Automation 文档](docs/ci-automation.md)。
## 访问控制
Kimaki 会在处理任何消息之前检查 Discord 权限。用户需要满足以下**任一**条件:
- **服务器所有者**
- **管理服务器** 权限
- **管理员** 权限
- **"Kimaki" 角色** —— 创建一个具有此名称(不区分大小写)的角色,并将其分配给受信任的用户
“Kimaki”角色是团队访问控制的推荐方式。来自不具备这些条件的用户的消息将被忽略。
**阻止访问** —— 创建一个名为 **"no-kimaki"**(不区分大小写)的角色,以阻止特定用户,甚至是服务器所有者。这对于防止在共享服务器中意外触发机器人很有用。
**多代理编排** —— 其他 Discord 机器人默认会被忽略。将“Kimaki”角色分配给另一个机器人即可让其触发 Kimaki 会话。
## 模型与代理配置
在你的项目的 `opencode.json` 中设置 AI 模型:
```
{
"model": "anthropic/claude-sonnet-4-20250514"
}
```
格式:`provider/model-name`。示例:`anthropic/claude-opus-4-20250514`、`openai/gpt-4o`、`google/gemini-2.5-pro`。
或者使用 `/model` 和 `/agent` 斜杠命令来更改每个频道或会话的设置。
## 最佳实践
**为你的代理创建一个专用的 Discord 服务器。** 这能将编程会话与其他服务器分开,并让你能完全控制权限。
**使用“Kimaki”角色进行团队访问。** 将其分配给应该有权触发会话的用户。
**将长提示作为文件附件发送。** Discord 有字符数限制。点击加号图标并使用“Send message as file”(以文件形式发送消息)来发送较长的提示。Kimaki 会将文件附件读取为你的消息。
## 进阶主题
- [**高级设置**](docs/advanced-setup.md) —— 运行多实例、多个 Discord 服务器、架构细节
- [**CI & Automation**](docs/ci-automation.md) —— 编程控制会话、GitHub Actions、计划任务、单次会话权限
- [**Screen Sharing**](docs/screen-sharing.md) —— 通过浏览器链接共享你的屏幕(macOS 及 Linux 设置)
- [**Internals**](docs/internals.md) —— Kimaki 的底层工作原理(SQLite、锁定端口、频道元数据、语音处理)标签:AI编程助手, Claude Code, CLI, Discord机器人, GNU通用公共许可证, Google搜索, MITM代理, Node.js, npx, OpenCode, WiFi技术, 人工智能, 代码搜索, 代码生成, 代码编辑, 协同编程, 威胁情报, 开发者工具, 文件管理, 渗透测试工具, 生产力工具, 用户模式Hook绕过, 终端控制, 自动化攻击, 自动化运维, 自然语言编程, 远程开发, 远程控制