Find a file
liruifengv c13cef5811
feat: improve windows (#110)
* 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
2026-07-27 13:03:11 +08:00
.agents/skills feat(desktop): bilingual release notes and opt-in background auto-download (#87) 2026-07-23 16:20:58 +08:00
.changeset feat: improve windows (#110) 2026-07-27 13:03:11 +08:00
.github feat(desktop): add auto-update via CDN generic feed (#26) 2026-07-18 16:34:23 +08:00
apps feat: improve windows (#110) 2026-07-27 13:03:11 +08:00
docs feat: improve windows (#110) 2026-07-27 13:03:11 +08:00
KIMI CODE LOGO feat(desktop): theme-following Dock icon, app-icon picker, v2 brand kit (#92) 2026-07-24 06:31:53 +08:00
kimi-code@a2401cc1ed chore: bump kimi-code submodule 2026-07-24 14:44:01 +08:00
packages feat: improve windows (#110) 2026-07-27 13:03:11 +08:00
release-notes/0.0.10 chore: add release notes for v0.0.10 2026-07-24 15:48:51 +08:00
scripts feat(desktop): theme-following Dock icon, app-icon picker, v2 brand kit (#92) 2026-07-24 06:31:53 +08:00
.env.example feat(desktop): add local signed macOS packaging script 2026-07-15 16:36:48 +08:00
.gitignore fix(desktop): leave full-screen before hiding the window on close (#82) 2026-07-22 21:50:21 +08:00
.gitmodules feat(desktop): migrate embedded server to v2 kap-server 2026-07-15 11:33:25 +08:00
.npmrc chore: scaffold root workspace tooling 2026-07-10 11:35:53 +08:00
.oxlintrc.json feat: bump kimi-code submodule and sync upstream web changes (#47) 2026-07-20 16:23:36 +08:00
AGENTS.md feat: improve windows (#110) 2026-07-27 13:03:11 +08:00
LICENSE chore: initialize code-app repository 2026-07-10 11:29:38 +08:00
package.json feat(desktop): theme-following Dock icon, app-icon picker, v2 brand kit (#92) 2026-07-24 06:31:53 +08:00
pnpm-lock.yaml chore: bump kimi-code submodule 2026-07-24 14:44:01 +08:00
pnpm-workspace.yaml ci: migrate desktop packaging to GitHub Actions and add changesets release flow (#1) 2026-07-16 22:45:14 +08:00
publish-desktop-cdn.sh feat(desktop): bilingual release notes and opt-in background auto-download (#87) 2026-07-23 16:20:58 +08:00
README.md fix(chat): scope select-all to the transcript (#104) 2026-07-25 01:18:35 +08:00
tsconfig.base.json chore: scaffold root workspace tooling 2026-07-10 11:35:53 +08:00
vitest.config.ts fix(desktop): serve index.html for renderer SPA routes on reload 2026-07-16 09:59:09 +00:00

code-app

Kimi Code 客户端仓库:桌面端(apps/desktop+ Web UIapps/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 主进程会把其中的 serverkap-serveragent-core-v2 等)打包为内嵌 server。
  • web 产物分发pnpm sync:webscripts/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 UIVite dev server/api/v1 代理到 127.0.0.1:58627

用 agent-browser 自动化桌面端

桌面端支持通过 Chrome DevTools Protocol 被外部工具控制,方便做自动化测试或 UI 操作。

  1. 安装 agent-browser

    npm i -g agent-browser && agent-browser install
    
  2. 用 debug 模式启动桌面端(默认开启 127.0.0.1:9222

    pnpm dev:desktop:debug
    
  3. 在另一个终端连接并操作:

    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:desktopdesktop 不再启动内嵌 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 testpnpm lintpnpm typecheckpnpm build
  • 更新品牌图标:设计源文件在 KIMI CODE LOGO/(设计师交付,整目录替换后跑 pnpm build:icons,重新生成 apps/desktop/build/ 图标、web favicon 与组件内联品牌标;几何约定见 scripts/build-brand-icons.mjs 头注释。macOS Tahoe 深色/玻璃图标需另在 Icon ComposerXcode 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 runtimeapps/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:macosCI 不可用时的替代arm64凭证与流程见 apps/desktop/README.md 的"打包"一节)。

发布

桌面端发版与产物分发(不发 npm

  1. changeset:功能 PR 按 .agents/skills/changeset/SKILL.md 生成 changeset只选 kimi-code-app,早期一律 patch合入 main 后 CI 自动维护 ci: release desktop 版本 PR。

  2. 打包:合并版本 PRCI 自动打四平台签名包macOS arm64/x64、Windows、Linuxlatest*.yml 自动更新元数据)并创建 GitHub Releasetag v<version>)。完整流程见 .changeset/README.md

  3. 双语更新说明:按 .agents/skills/release-notes/SKILL.md 生成该版本的中英双语 changelog——从 apps/desktop/CHANGELOG.md 抽取中文案、翻译成英文review 后存档到 release-notes/<version>/changelog.{zh,en}.md 并提交;发布脚本会随版本目录一并上传,更新弹窗按系统语言展示(旧版本无此文件,弹窗不显示更新说明)。

  4. 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*.ymlno-cache、固定下载入口 download/(官网链接见上方"下载"一节)。

目录

  • apps/desktopElectron 桌面端(kimi-code-app
  • apps/web:浏览器 Web UIkimi-code-web
  • packages/*web 共享包web-core / web-i18n / web-markdown / web-ui / vite-preset字体许可证及本地生成不入 Git的两端共用字体位于 packages/web-ui/src/assets/fonts
  • scripts/prepare-fonts.mjs:下载并校验共享源字体,再转换为 Vite/Electron 使用的 WOFF2install/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/:核心仓 submoduleCLI / server / agent-core / packages
  • scripts/sync-web-to-kimi-code.mjsweb 产物同步到 kimi-code 的脚本