一个轻量级 macOS 启动器,用于管理 Kimi Code Web 的本地服务。
双击打开 → 自动启动本地 Kimi Web 服务器 → 打开浏览器 → 关闭标签页约 2 分钟后自动关闭服务器并退出。
- 自动启动:检测不到已有 Kimi 服务时,自动在默认端口(58627)启动新服务
- 智能接管:检测到已有 Kimi 服务时(任意端口,会先验证确为 Kimi Web),直接打开浏览器并进入监听模式;退出时不会关闭该服务
- 自动退出:关闭浏览器标签页后,连续 2 次轮询(约 2 分钟)无连接 → 关闭服务器 → App 退出;若浏览器一直未建立过连接,则给予约 5 分钟宽限
- 端口冲突提醒:默认端口被非 Kimi 进程占用时,弹窗提醒后退出
- Token 轮转容错:会话中途执行
kimi web rotate-token后,自动重新读取令牌
- macOS(任意版本;「自动退出」功能依赖 macOS 12.3+ 自带的
/usr/bin/python3,缺失时其余功能正常,但自动退出不可用) - 已安装 Kimi Code CLI,位于以下任一路径:
~/.kimi-code/bin/kimi~/.kimi/bin/kimi/usr/local/bin/kimi/opt/homebrew/bin/kimi
App 在运行时动态搜索 kimi 二进制,不包含任何用户特定的绝对路径。
./build.sh
cp -R "build/Kimi Code Go.app" /Applications/或直接双击运行 build/Kimi Code Go.app。
当前发布包没有经过 Apple 公证,首次打开时 macOS 可能提示无法验证开发者。这不代表文件损坏,可以按以下步骤允许本 App:
- 解压后将
Kimi Code Go.app拖入「应用程序」。 - 双击打开一次;如果出现安全提示,关闭提示窗口。
- 打开「系统设置 → 隐私与安全性」,在安全性区域找到 Kimi Code Go,点击「仍要打开」。
- 在再次出现的确认窗口中点击「打开」。
部分 macOS 版本也可以右键点击 App,选择「打开」,再确认一次。无需关闭 Gatekeeper,也不要修改系统的全局安全设置。更新 App 后,系统可能会要求重新确认一次。
App 启动
├─ 扫描系统中正在运行的 Kimi Web 进程
│ ├─ 找到并验证为 Kimi Web → 打开浏览器,进入监听模式(退出时不关闭该服务)
│ └─ 未找到 → 检查默认端口
│ ├─ 被其他进程占用 → 弹窗提醒,退出
│ └─ 空闲 → 启动新服务器(127.0.0.1:58627)
│
├─ 每 60 秒轮询 /api/v1/connections
│ ├─ 有连接 → 计数器归零
│ ├─ 无连接 → 计数器 +1
│ └─ API 不可用 → 尝试重读 token,不计入
│
└─ 计数器 ≥ 2(从未连接过则 ≥ 5)→ 调用 /api/v1/shutdown 优雅关闭服务器(仅限自己启动的;超时则 SIGKILL)→ App 退出
- 服务器显式绑定
127.0.0.1,不对外暴露 - 保留 Kimi Web 的 Bearer Token 认证,不使用
--dangerous-bypass-auth - Token 仅在运行期间从本地文件读取,仅通过 curl 的 stdin 配置作为 HTTP 头发送至
127.0.0.1,不出现在进程命令行中,不存储、不记录、不上传 - 退出时仅对自己启动的 Kimi 进程调用
/api/v1/shutdown优雅关闭(kimi web 会忽略 SIGTERM,超时未退出则补发 SIGKILL);接管的(用户自行启动的)服务不受影响 - 若怀疑 Token 泄露,可执行
kimi web rotate-token立即轮转
- 如果找不到 Token 文件,服务仍会正常启动,但"关闭标签页后自动退出"功能将不可用
- 从 Activity Monitor 强制终止 App 时,
on quit不会触发,服务器可能残留,可手动执行pkill -f 'kimi web'清理 - 构建脚本使用 ad-hoc 签名,仅适合本地使用;公开发布需替换为 Developer ID 签名并公证
MIT