mirror of
https://github.com/MoonshotAI/kimi-code.git
synced 2026-08-29 12:03:40 +00:00
13 commits
| Author | SHA1 | Message | Date | |
|---|---|---|---|---|
|
|
1fb57f0ee3
|
feat(sidebar): add status-tabs view with open/done session lifecycle (#221)
* docs: add sidebar status-tabs + session-done flow prototype * feat(sidebar): add status-tabs view with open/done session lifecycle * docs: sync status-tabs prototype and record follow-ups * feat(sidebar): use circle-check glyph for the complete action * docs: restructure prototype to layered tabs (flat/grouped as in-tab display switch) * feat(sidebar): make status tabs the top level; flat/grouped becomes an in-tab display switch * feat(sidebar): keep the section-label action buttons always visible * feat(sidebar): add a divider between the session tabs and the workspace tab * feat(sidebar): revert the tab divider (reads noisy) * feat(sidebar): rename the display switcher to 列表管理 * feat(sidebar): rename workspace caption and move new-workspace entry to an icon * feat(sidebar): use matched tabler circle glyphs for the open/done state icons * feat(sidebar): highlight the active workspace's directory row * feat(sidebar): add shortcuts for status tabs and sibling navigation * fix(sidebar): use letter chords for tab switching and fix workspace sibling nav * fix(sidebar): navigate only visible rows in grouped sibling order, auto-expanding collapsed groups * feat(sidebar): point the done toast at the Done tab and reword it * fix(sidebar): use the tabler circle-check for the complete action (size parity) * feat(sidebar): open/close wording for the workspace-home terminal chip * chore: bump kimi-code submodule * chore: sync pnpm-lock.yaml after merging main * feat(sidebar): align grouped session rows with the flat row interaction The grouped row's leading slot now carries only the Open/Done state glyph (fixed gutter, aligned with the workspace folder icon) — the running spinner, unread dot and attention pills move to the trailing status cluster, replacing the time exactly like the flat rows. On hover the whole cluster cross-fades out as the pin/complete actions fade in, so pills and actions never co-exist in any row variant. * docs: add session admin page prototype High-fidelity prototype for an admin-style session management page (main content area, sidebar stays): filters with labels (multi-select workspace, status, updated-at range picker), table with click-to-copy session IDs, status glyphs, absolute timestamps, last prompt and an actions column, paged footer with page-size options, GitHub-style zero-shift batch header (complete / reopen), slimmed right-click menus, undo toasts, light + dark themes. * feat(api): add v2 sessions page mode, updatedBefore, and batch archive/restore Client-side plumbing for the session admin page: ListSessionsV2Input gains page (mutually exclusive with pageToken) and updatedBefore, V2SessionsPage gains total, and the daemon client exposes archiveSessions / restoreSessions hitting the new POST /api/v2/sessions:archive | :restore endpoints. * chore: bump kimi-code submodule Point at feat/v2-sessions-admin ( |
||
|
|
20964142d1
|
refactor: P1 lib migration to app-core + rename shared packages web-* → app-* (#185)
* docs: add renderer architecture refactor plan
* docs: add renderer architecture spec and progress ledger
* refactor: move shared renderer lib modules and tests into web-core
* refactor: point apps/web and apps/desktop renderer at web-core/lib
* refactor: fix dangling lib imports folded in by the main merge
Main added relative lib imports (modelThinking / pathRelativeTo /
nativeWorkspaceDrop / rootKey) alongside P1's rewrites; point them at
@moonshot-ai/web-core/lib like the rest.
* refactor: rename shared packages @moonshot-ai/web-* to app-*
These packages are shared by the web and desktop apps, so the web-
prefix is a misnomer: app-core / app-ui / app-markdown / app-i18n,
with packages/web-* directories renamed to packages/app-* to match.
The planned web-client package will land as app-client. vite-preset
is untouched; the app package names (kimi-code-web / kimi-code-app)
stay per repo policy. Historical plan/spec docs keep the old names.
* chore: point gitignored font paths at packages/app-ui
* test: fix type import path in mergeWorkspaces.test (../src/api/types)
Type-only so vitest erased it and never resolved at runtime, but the
path was wrong since the move into packages/ — flagged in review.
* chore: regenerate lockfile after kimi-code submodule bump
agent-core-v2 at
|
||
|
|
a7b0eb0748 | chore: drop the git add -f note from the web sync reminder | ||
|
|
1b97e95243
|
feat(web): settings-native provider management, blue-mark brand fork (#173)
- Move custom provider management into Settings as a Providers tab (ProvidersPanel + AddProviderFlow + ProviderForm + providerForm lib), replacing the standalone ProviderManager overlay; add/update/delete, models.dev directory import, custom registry import, API key show/hide, inline error banners - Onboarding login step gains a custom-provider card landing on Settings → Providers - Fork web branding back to the legacy little-blue mark (sidebar, onboarding BrandLogo, favicon); build-brand-icons.mjs now only writes desktop assets - Drop the dev backend switcher pill from the sidebar (switch backends via KIMI_SERVER_URL instead) - Rebind web new-chat shortcut to Ctrl+Shift+O (browsers reserve Cmd/Ctrl+N for new window) - Source __KIMI_CLIENT_VERSION__ from the kimi-code submodule CLI version instead of apps/web/package.json - Warning toasts honor notice severity (info/success/error variants) - Remove the stale ToolRow.vue copy from the desktop renderer snapshot - Minor internal tidy-ups in transcript/detail-panel helpers |
||
|
|
8140820d59
|
feat(desktop): add a custom Windows title bar (#123)
* feat: refine Windows desktop chrome * fix: preserve Windows menu interactions * fix: address Windows titlebar review feedback * fix: clear Windows menu access on blur * fix: align Windows menu shortcut handling |
||
|
|
4de4c9c0ff
|
feat(desktop): theme-following Dock icon, app-icon picker, v2 brand kit (#92)
* feat(desktop): adopt new brand kit for app icons and in-UI brandmarks - replace KIMI CODE LOGO/ with the new designer delivery - regenerate icon.icns/icon.ico/icon.png, tray icons and web favicon (squircle baked at Apple's 824/1024 grid so pre-Tahoe macOS keeps a correctly sized, rounded Dock icon) - port onboarding BrandLogo and the sidebar mark to the new geometry in both apps, keeping the blink easter eggs - add scripts/build-brand-icons.mjs (pnpm build:icons) so future kit updates regenerate everything reproducibly * feat(desktop): theme-following Dock icon, app-icon picker, and v2 brand kit - runtime Dock icon follows the effective appearance (light/dark tile); new macOS-only settings row picks light/dark/system with live previews in a dedicated DockIconPicker (squircle tiles, sliding indicator) - choice persists renderer-side (lib/dockIconChoice.ts) and pushes via kimi:dock-icon-choice; ipc/preload validate the three literals - icon-dark.png ships in mac packages only; afterPack compiles an optional build/AppIcon.icon into Assets.car for Tahoe appearances (no-op until the artifact lands; .icns stays as pre-Tahoe fallback) - adopt the v2 KIMI CODE LOGO kit; rasterize app icons from the SVG vectors (the v2 PNGs are previews), parse stroke widths from the kit instead of hardcoding, drop the 5px centering correction (v2 is centered by design) * fix(desktop): resolve Dock icon auto mode against the real OS appearance nativeTheme.shouldUseDarkColors follows themeSource, which the renderer sets from the app's own theme setting — so 'auto' would track the app theme instead of macOS. Read systemPreferences.getEffectiveAppearance() (unknown falls back to shouldUseDarkColors) and also subscribe to AppleInterfaceThemeChangedNotification, since nativeTheme 'updated' does not fire on OS changes while the app theme is pinned. * fix(desktop): follow the real OS appearance for the auto Dock icon - resolve 'auto' via /usr/bin/defaults read -g AppleInterfaceStyle: nativeTheme.shouldUseDarkColors and getEffectiveAppearance both follow the app-level appearance override (themeSource), so they can't serve - push the same OS appearance to the renderer (kimi:os-appearance + kimi:os-appearance-changed) so the picker's System preview matches the actual Dock icon; older bridges fall back to the app theme - register the DockIconPicker pattern in DesignSystemView (§03, with a live demo) and move its caption onto --text-2xs / --weight-caption - tolerate the brand-mark viewBox height in check-style (32x28.x) * chore: split the brand mark into Icon Composer layers scripts/export-icon-layers.mjs regenerates KIMI CODE LOGO/layers/ (1024pt per-layer SVGs + PNGs, bottom-to-top: background, head, eyes, terminal, dot) from the kit's White/Black Background.svg * fix(desktop): address codex review on dock icon picker - osAppearance: fall back to the app-level appearance when macOS appearance is Auto (AppleInterfaceStyle key absent) instead of wrongly reporting light - DockIconPicker: WAI-ARIA radio-group keyboard model (roving tabindex, arrow/Home/End keys move selection and focus) - move 2px group gap/padding onto the new --space-05 token; trim the component header comment (rationale stays in docs) * fix(desktop): address second codex pass on dock icon picker - give the icon radiogroup an accessible name (aria-label) - guard the async IPC gap in onMounted so late resolves can't subscribe listeners after unmount - build-brand-icons: fail on non-macOS instead of leaving a stale icon.icns next to regenerated assets - trim rationale comments (details live in docs) * fix(desktop): address third codex pass on dock icon picker - build-brand-icons: move the macOS guard before any output is written (a mid-run throw left a partially refreshed icon set) - caption line-height uses --leading-tight instead of a bare 1 - trim the remaining rationale comments in DockIconPicker * fix(desktop): read the true system appearance in macOS Auto mode When macOS appearance is Auto the AppleInterfaceStyle key is absent; the previous fallback (nativeTheme.shouldUseDarkColors) follows the app-level theme override, so a pinned app theme would win over the OS. Ask a fresh JXA helper process for its own effectiveAppearance instead — no override in that process, no TCC prompt, accurate under Auto. |
||
|
|
6ea3027e2d | chore(scripts): migrate desktop CDN publish script to repo root | ||
|
|
a83f5dfded | chore(scripts): migrate desktop CDN publish script into this repo | ||
|
|
034c432d3f
|
feat(desktop): add auto-update via CDN generic feed (#26)
* feat(desktop): add auto-update via CDN generic feed * fix(desktop): address review — merge dual-arch mac update feed, token radius, snapshot race, rollback reset * chore(desktop): drop dev-only updater mock * test(desktop): move renderer update tests into dedicated test dirs * fix(desktop): keep in-flight update state on repeated update-available * ci(desktop): merge mac update feeds with a repo-local node script * test(desktop): fix moved update tests' import paths * fix(desktop): clear rolled-back download errors on update-not-available |
||
|
|
2d0b6fbeb2
|
ci: migrate desktop packaging to GitHub Actions and add changesets release flow (#1)
* ci: migrate desktop packaging pipeline to GitHub Actions
Replace the GitLab CI pipeline with a GitHub Actions workflow:
- .github/workflows/desktop-build.yml: workflow_dispatch trigger with
sign-macos / retention-days inputs; matrix builds macOS arm64+x64,
Windows x64 and Linux x64 on standard GitHub-hosted runners; checkout
pulls the kimi-code submodule recursively; installers upload as
kimi-desktop-<target> artifacts.
- .github/actions/macos-keychain-{setup,cleanup}: composite actions
taken from the kimi-code repo (the previous GitLab shell scripts were
themselves translated from these).
- Delete .gitlab-ci.yml; update AGENTS.md and apps/desktop/README.md;
the scripts/ci/*.sh helpers are now only used by local packaging
(package-local-macos.sh) and their headers say so.
* ci: temporarily trigger desktop-build on branch push for verification
workflow_dispatch requires the workflow file on the default branch;
before merge, run the pipeline on pushes to this branch (signed macOS
builds by default). Removed after verification.
* fix(desktop): unbreak Windows and Linux CI packaging
- Linux: electron-builder 26 validates executableName file-path safety;
derive from package name fails (@moonshot-aikimi-desktop contains @).
Set linux.executableName to kimi-code explicitly.
- Windows: @electron/rebuild 3.7.1 pins an old @electron/node-gyp fork
that does not recognize Visual Studio 2026 (v18), the only toolchain
on the windows-2025 image. Bump to 4.2.0, which uses plain
node-gyp 12.4.0 with VS2026 support (and dedupes with
electron-builder's own copy).
* ci: drop temporary branch push trigger from desktop-build
All four platforms verified green (macOS signed + notarized, Windows,
Linux). Back to workflow_dispatch-only as intended; the manual dispatch
becomes available once the workflow lands on the default branch.
* ci: add changesets-based desktop release flow
Mirror the kimi-code repo's changesets setup, but the publish step
produces desktop installers on a GitHub Release instead of npm:
- .changeset/: only @moonshot-ai/kimi-desktop is versioned; every other
workspace package is ignored.
- release.yml (push to main): changesets/action maintains the
'ci: release desktop' version PR; once it merges and the desktop
version has no matching tag, the workflow calls desktop-build.yml
(signed + notarized, four platforms), creates GitHub Release
v<version> pinned to the merge commit, and uploads all installers
as release assets. Idempotent: existing tag -> skip; the tag is only
created alongside the release after a successful build, so reruns
are safe.
- desktop-build.yml: restore the workflow_call trigger (same interface
as the kimi-code repo) and switch the artifact prefix to
kimi-code-app.
* refactor: rename desktop package to kimi-code-app, drop license fields
- apps/desktop: @moonshot-ai/kimi-desktop -> kimi-code-app (unscoped);
homepage follows the repo name. The workflow artifact prefix already
moved to kimi-code-app, so naming is now consistent end to end.
- Update every package-name reference (root scripts, desktop-build.yml,
package-local-macos.sh, docs). Runtime identity strings are
intentionally untouched: userAgentProduct 'kimi-desktop' (required
upstream), storage keys, and [kimi-desktop] log prefixes.
- Remove the "license": "MIT" field from root / apps/web /
apps/desktop package.json.
* refactor: rename web package to kimi-code-web
Follows the desktop rename: @moonshot-ai/kimi-web -> kimi-code-web
(unscoped). Updates every live reference (root scripts, sync script,
docs, test run hints, changesets ignore list). apps/web/CHANGELOG.md
keeps the historical name; the kimi-code submodule has no dependency
on this package name.
* chore: reset desktop version to 0.0.0
Fresh versioning baseline for the changesets flow — the first
'ci: release desktop' PR will produce the initial real version.
|
||
|
|
f7547e49f3 | feat: refresh UI typography, colors, spacing, and layout | ||
|
|
ada047e90e |
chore(scripts): require KIMI_CODE_REPO in sync:web, drop dead copy-web-dist
- sync-web-to-kimi-code.mjs: KIMI_CODE_REPO is now required (no more ../kimi-code-2 default), the target is validated as a kimi-code checkout, errors are in Chinese, and a reminder to open a PR in the kimi-code repo prints after a successful sync - Remove apps/desktop/scripts/copy-web-dist.mjs and the web-dist .gitignore entry: the desktop renderer builds from src/renderer into desktop-dist, so the web-dist copy flow is dead - README.md / AGENTS.md updated to match |
||
|
|
a4e0f42b59 | feat: add sync-web script to vendoring web dist into kimi-code SEA |