* feat(desktop): improve Windows native experience * feat(desktop): improve Windows attention indicators * docs: simplify Windows changesets * fix(desktop): address Windows lifecycle edge cases * fix(desktop): address Windows review feedback * fix(desktop): preserve Windows launch and shutdown state * fix(desktop): complete open-in app catalog * fix(desktop): queue early second-instance launches * fix(desktop): avoid flashing restored attention |
||
|---|---|---|
| .agents/skills | ||
| .changeset | ||
| .github | ||
| apps | ||
| docs | ||
| KIMI CODE LOGO | ||
| kimi-code@a2401cc1ed | ||
| packages | ||
| release-notes/0.0.10 | ||
| scripts | ||
| .env.example | ||
| .gitignore | ||
| .gitmodules | ||
| .npmrc | ||
| .oxlintrc.json | ||
| AGENTS.md | ||
| LICENSE | ||
| package.json | ||
| pnpm-lock.yaml | ||
| pnpm-workspace.yaml | ||
| publish-desktop-cdn.sh | ||
| README.md | ||
| tsconfig.base.json | ||
| vitest.config.ts | ||
code-app
Kimi Code 客户端仓库:桌面端(apps/desktop)+ Web UI(apps/web)+ 共享包(packages/*)。
核心仓 kimi-code 以 git submodule 引入。
现状与仓库关系
- 本仓库是 Web UI 和桌面端源码的主仓库。这两个应用此前住在 kimi-code 仓库(
apps/kimi-web/apps/kimi-desktop),今后 web/desktop 的开发都在本仓库进行。 - kimi-code 是 CLI / server / agent 的主仓库,以 submodule 钉在本仓库根目录,其
packages/*通过 pnpm workspace 直接以源码链接进来——desktop 的 Electron 主进程会把其中的 server(kap-server、agent-core-v2等)打包为内嵌 server。 - web 产物分发:
pnpm sync:web(scripts/sync-web-to-kimi-code.mjs)把apps/web/dist拷贝到一个 kimi-code checkout 的apps/kimi-code/dist-web,用KIMI_CODE_REPO指定目标 checkout(必传)。
下载
桌面端最新安装包(CDN 固定入口,永远指向最新版本):
macOS · Apple Silicon
https://code.kimi.com/kimi-code/desktop/download/KimiCode-mac-arm64.dmg
macOS · Intel
https://code.kimi.com/kimi-code/desktop/download/KimiCode-mac-x64.dmg
Windows
https://code.kimi.com/kimi-code/desktop/download/KimiCode-win-x64.exe
Linux · AppImage
https://code.kimi.com/kimi-code/desktop/download/KimiCode-linux-x86_64.AppImage
Linux · deb
https://code.kimi.com/kimi-code/desktop/download/KimiCode-linux-amd64.deb
历史版本与完整产物见 GitHub Releases。
快速开始
pnpm run sync # 初始化/更新 submodule
pnpm install # 安装依赖,并在 postinstall 下载、校验及转换缺失的共享字体
pnpm prepare:fonts # 可选;手动重新校验/准备共享字体
pnpm dev:desktop # 桌面端(renderer HMR + 默认启动内嵌 server)
pnpm dev:desktop:debug # 桌面端,并开启 Electron remote debugging(端口 9222,供 agent-browser 连接)
pnpm dev:web # Web UI(Vite dev server,/api/v1 代理到 127.0.0.1:58627)
用 agent-browser 自动化桌面端
桌面端支持通过 Chrome DevTools Protocol 被外部工具控制,方便做自动化测试或 UI 操作。
-
安装
agent-browser:npm i -g agent-browser && agent-browser install -
用 debug 模式启动桌面端(默认开启
127.0.0.1:9222):pnpm dev:desktop:debug -
在另一个终端连接并操作:
agent-browser connect 9222 agent-browser snapshot -i # 查看可交互元素 agent-browser click @e2 # 例如点击 New Chat agent-browser screenshot app.png
更多用法见 agent-browser skills get electron。
开发
- 联调 kimi-code 的 server 改动:在你的 kimi-code 工作克隆里
pnpm dev:server,然后KIMI_SERVER_URL=http://127.0.0.1:58627 pnpm dev:desktop(desktop 不再启动内嵌 server)。完整流程见AGENTS.md的"双仓工作流"。 - web 改动同步到 kimi-code:先
pnpm --filter kimi-code-web run build,再KIMI_CODE_REPO=<kimi-code checkout 路径> pnpm sync:web。 - 升级 submodule:在
kimi-code/内 checkout 目标 commit,然后在根目录提交 submodule 指针;新克隆或拉取后跑pnpm run sync对齐。 - 常用检查:
pnpm test、pnpm lint、pnpm typecheck、pnpm build。 - 更新品牌图标:设计源文件在
KIMI CODE LOGO/(设计师交付,整目录替换后跑pnpm build:icons,重新生成apps/desktop/build/图标、web favicon 与组件内联品牌标;几何约定见scripts/build-brand-icons.mjs头注释)。macOS Tahoe 深色/玻璃图标需另在 Icon Composer(Xcode 26)手工制作AppIcon.icon放入apps/desktop/build/,打包时自动编译嵌入;没有该文件则全平台保持.icns静态图标。 - UI 设计系统:改 UI 前必读
apps/desktop/src/renderer/views/DesignSystemView.vue(应用内长按侧栏 logo 打开),样式只用style.css的设计 token(动效除--duration-*/--ease-*外,含设计师导出图标动画的--anim-*例外,见 §02 Motion),并在亮色 + 暗色下做视觉验证。细则见AGENTS.md的"硬约束"。 - 主进程原生界面文案:新增用户可见字符串(托盘、通知、对话框等)要 en/zh 双语——主进程无 i18n runtime,用
apps/desktop/src/main/tray.ts同款字符串表,应用语言经kimi:locale通道同步(OS 语言兜底)。细则见AGENTS.md的"硬约束"。 - 应用菜单(menu.ts):编辑菜单不用
editMenu角色而是手工拼装——原生菜单加速键会先于 renderer 截获按键;「全选」保留 CmdOrCtrl+A 加速键但经kimi:menu-action转发 renderer 的作用域全选(只选中中间 transcript 或注意力所在面板)。改动菜单时保持该契约,其余编辑项镜像 Electron editMenu 展开(tests/main/menu.test.ts钉住)。 - 注释克制:密度对齐所在文件,不写复述代码的注释;设计决策与 bug 根因进 spec / commit message,不进代码。细则见
AGENTS.md的"硬约束"。 - 本地打包并签名 macOS 包:
pnpm package:macos(CI 不可用时的替代,arm64;凭证与流程见apps/desktop/README.md的"打包"一节)。
发布
桌面端发版与产物分发(不发 npm):
-
changeset:功能 PR 按
.agents/skills/changeset/SKILL.md生成 changeset(只选kimi-code-app,早期一律 patch);合入 main 后 CI 自动维护ci: release desktop版本 PR。 -
打包:合并版本 PR,CI 自动打四平台签名包(macOS arm64/x64、Windows、Linux,含
latest*.yml自动更新元数据)并创建 GitHub Release(tagv<version>)。完整流程见.changeset/README.md。 -
双语更新说明:按
.agents/skills/release-notes/SKILL.md生成该版本的中英双语 changelog——从apps/desktop/CHANGELOG.md抽取中文案、翻译成英文,review 后存档到release-notes/<version>/changelog.{zh,en}.md并提交;发布脚本会随版本目录一并上传,更新弹窗按系统语言展示(旧版本无此文件,弹窗不显示更新说明)。 -
CDN 分发(本地手动,TOS 凭证限内网):
./publish-desktop-cdn.sh # 拉最新 Release:传产物 + 切自动更新指针 + 刷新下载入口 ./publish-desktop-cdn.sh 0.0.3 # 指定版本(rebuild / 补传 / 回滚切指针) ./publish-desktop-cdn.sh 0.0.3 --artifacts-only # 只传产物,先验证再切流量产物落在
code.kimi.com/kimi-code/desktop/:版本目录<version>/(immutable,含安装包与双语更新说明changelog.{zh,en}.md)、自动更新指针latest*.yml(no-cache)、固定下载入口download/(官网链接见上方"下载"一节)。
目录
apps/desktop:Electron 桌面端(kimi-code-app)apps/web:浏览器 Web UI(kimi-code-web)packages/*:web 共享包(web-core / web-i18n / web-markdown / web-ui / vite-preset);字体许可证及本地生成(不入 Git)的两端共用字体位于packages/web-ui/src/assets/fontsscripts/prepare-fonts.mjs:下载并校验共享源字体,再转换为 Vite/Electron 使用的 WOFF2;install/dev/build 会自动调用KIMI CODE LOGO/+scripts/build-brand-icons.mjs:品牌设计源文件(SVG/PNG)及其到全部图标资源(apps/desktop/build/、apps/web/public/favicon.ico、组件内联品牌标)的生成脚本(pnpm build:icons)kimi-code/:核心仓 submodule(CLI / server / agent-core / packages)scripts/sync-web-to-kimi-code.mjs:web 产物同步到 kimi-code 的脚本