Skip to content

Latest commit

 

History

3 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Kimi Code Go 图标

Kimi Code Go

一个轻量级 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

首次打开时被 macOS 拦截

当前发布包没有经过 Apple 公证,首次打开时 macOS 可能提示无法验证开发者。这不代表文件损坏,可以按以下步骤允许本 App:

  1. 解压后将 Kimi Code Go.app 拖入「应用程序」。
  2. 双击打开一次;如果出现安全提示,关闭提示窗口。
  3. 打开「系统设置 → 隐私与安全性」,在安全性区域找到 Kimi Code Go,点击「仍要打开」。
  4. 在再次出现的确认窗口中点击「打开」。

部分 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

About

轻量级 macOS 启动器,管理 Kimi Code Web 本地服务的生命周期

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages