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绕过, 终端控制, 自动化攻击, 自动化运维, 自然语言编程, 远程开发, 远程控制