Commit graph

373 commits

Author SHA1 Message Date
qer
fd95db6ddd fix(web): workspace add button should trigger createInWorkspace instead of selectWorkspace 2026-06-11 10:14:48 +08:00
qer
34882923fd feat(web): move workspace more-menu icon before add button and add delete workspace option 2026-06-11 10:14:48 +08:00
qer
45d2cb1ed3 feat(cli): detect build-mismatched daemon and add --restart to kimi web/daemon
The daemon lock now records the host CLI version and entry path. When
kimi web / kimi daemon finds a healthy daemon started by a different
build (e.g. an older pkg.pr.new install), it warns that the running
daemon lags the invoked CLI instead of silently reusing it; the new
--restart flag stops the managed daemon and starts a fresh one with the
current build. A daemon whose lock does not match the requested port
(foreign process on the port) is never stopped.
2026-06-11 10:14:48 +08:00
qer
7448a225a7 feat(web): sidebar polish, workspace more menu, and fold animation
- Simplify session timestamps: drop 'ago' suffix (1h ago → 1h)
- Replace running status text with a non-intrusive pulse dot on session title
- Add hover-triggered kebab menu for workspaces (copy path, rename)
- Speed up fold expand/collapse animation (0.28s → 0.12s)
- Quick-start input for empty workspaces in conversation pane
2026-06-11 10:14:48 +08:00
qer
2448ded214 refactor(kimi-web): remove ago timestamp from sidebar session rows 2026-06-11 10:14:48 +08:00
qer
054c08ea75 feat(kimi-web): show empty-workspace hint in sidebar and centred quick-start input in chat 2026-06-11 10:14:48 +08:00
qer
0574a43faf refactor(kimi-web): set new session icon stroke-width to 1.5 2026-06-11 10:14:48 +08:00
qer
1c68db11a0 refactor(kimi-web): thin down plus and image icons 2026-06-11 10:14:48 +08:00
qer
f1a5ced295 refactor(kimi-web): use clean plus-cross icon for new session button 2026-06-11 10:14:48 +08:00
qer
334200ea2f refactor(kimi-web): use large bubble-plus icon for new session button 2026-06-11 10:14:48 +08:00
qer
f6270d9423 refactor(kimi-web): use plus-square SVG for new session button 2026-06-11 10:14:48 +08:00
qer
8d2ebeb50b refactor(kimi-web): replace + with pencil SVG for new session button 2026-06-11 10:14:48 +08:00
qer
f63ae2c964 refactor(kimi-web): add smooth height transition to fold-body expansion 2026-06-11 10:14:48 +08:00
qer
0823c00341 refactor(kimi-web): remove fold label bottom margin 2026-06-11 10:14:48 +08:00
qer
040dd77d2c refactor(kimi-web): align fold label font size with body text 2026-06-11 10:14:47 +08:00
qer
b0dd981dd5 refactor(kimi-web): rename tasks to '后台任务', add todo as tab, fix fold expand direction 2026-06-11 10:14:47 +08:00
qer
6ea5ecc6da refactor(kimi-web): increase sidebar default width by 50px 2026-06-11 10:14:47 +08:00
qer
b5080c7c90 refactor(kimi-web): polish ThinkingBlock transition, font size and context ring theme 2026-06-11 10:14:47 +08:00
haozhe.yang
680e6230bd feat(cli): add daemon startup reporter for daemon and web commands
- add optional DaemonStartupReporter callback to ensureDaemonRunning\n- report startup progress in daemon and web CLI commands\n- update unit tests to cover reporter output
2026-06-11 10:14:47 +08:00
qer
a53df07159 feat(web): place process fold toggle after summary so it expands downward 2026-06-11 10:14:47 +08:00
qer
b0af9f309a feat(web): simplify process summary, remove fold chevron, fix context ring color, enlarge abort icon 2026-06-11 10:14:47 +08:00
qer
c71b05b9eb feat(web): show copy button only after turn completes, fix vertical alignment 2026-06-11 10:14:47 +08:00
qer
c64558cf84 feat(web): friendly process summary in fold toggle 2026-06-11 10:14:47 +08:00
qer
117e7bea53 feat(web): fold process blocks behind toggle when summary follows 2026-06-11 10:14:47 +08:00
qer
02a4e11b25 feat(web): increase spacing around thinking blocks and tool cards 2026-06-11 10:14:47 +08:00
qer
3dc02d345c feat(web): auto-dismiss toasts, morph send into abort, streamline thinking blocks 2026-06-11 10:14:47 +08:00
qer
ab29cf9e31 feat(web): remove SVG icon from plan pill to match permission style
- Both permission and plan pills are now clean text-only pills
- Ensures consistent visual appearance across toolbar controls
2026-06-11 10:14:47 +08:00
qer
183cc2c302 feat(web): remove SVG icons from permission pill and dropdown
- Keep permission pill text-only for a cleaner look
- Remove unused .pd-icon CSS rule
2026-06-11 10:14:47 +08:00
qer
4f490a1575 feat(web): unify toolbar pills, add SVG icons, circular ctx ring, improve model display
- Replace emoji with inline SVG icons for attach/permission/plan buttons
- Unify attach-btn, perm-pill, toggle-pill styles (same padding/radius/font)
- Add SVG icons in permission dropdown rows
- Convert context bar from horizontal bar to circular SVG ring
- Strip provider prefix from model display name; fall back to models list lookup
- Load models eagerly on app init for friendly name resolution
- Increase toolbar and dropdown font sizes
- Increase textarea default height from 40px to 56px
- Remove plan/permission/ctx from model dropdown (keep only models + thinking)
- Fix ctx number spacing (remove spaces around slash)
2026-06-11 10:14:47 +08:00
haozhe.yang
d23224ae59 chore(deps): bump vitest to 4.1.4 in kimi-web
- update vitest from ^2.1.8 to 4.1.4 in apps/kimi-web/package.json\n- regenerate pnpm-lock.yaml for vitest 4.1.4\n- update flake.nix vendor hash
2026-06-11 10:14:47 +08:00
qer
32d4476e99 feat(web): increase toolbar font sizes for better readability 2026-06-11 10:14:47 +08:00
qer
4cb72f827e fix(web): remove default dot glyph for unknown/skills tools 2026-06-11 10:14:47 +08:00
qer
e52269e1d7 fix(web): move props.text watcher below defineProps in Markdown.vue
2f229b3 added the image-resolving watcher above the defineProps call.
watch() invokes its getter synchronously to collect dependencies, so
the closure read props while the const was still in its temporal dead
zone — every Markdown mount threw 'Cannot access props before
initialization', crashing the whole chat transcript (session content
rendered blank, Vue warn loop in console). vue-tsc can't catch this
(the reference sits inside a closure). Verified by a mount test that
reproduced the ReferenceError before the move and passes after, plus
an in-browser check that session content renders again.
2026-06-11 10:14:47 +08:00
qer
d8b1444e4c feat(web): resolve local image paths in markdown via daemon readFile 2026-06-11 10:14:47 +08:00
qer
31949f4c21 fix(web): remove leading dot from tool call summary 2026-06-11 10:14:47 +08:00
qer
3a9f111376 feat(web): copy entire turn content (thinking + text + tools) instead of text only 2026-06-11 10:14:47 +08:00
qer
333c45017d feat(web): replace copy icon with SVG document icon 2026-06-11 10:14:47 +08:00
qer
8d774aba12 feat(web): move copy button below assistant message for visibility 2026-06-11 10:14:47 +08:00
qer
878cad7945 feat(web): add copy button to assistant message bubbles 2026-06-11 10:14:47 +08:00
qer
539b4ae275 fix(web): display image attachments in chat user bubbles 2026-06-11 10:14:47 +08:00
qer
16cc8a0646 fix(web): widen model name display to 280px/240px 2026-06-11 10:14:47 +08:00
qer
75511deece fix(web): relax model name max-width to 240px/200px with ellipsis overflow 2026-06-11 10:14:47 +08:00
qer
4e8559798d fix(web): truncate long model names in composer toolbar with ellipsis 2026-06-11 10:14:47 +08:00
qer
64246cf613 fix(web): bump mobile font sizes by 2px and pin input at 16px to prevent iOS zoom 2026-06-11 10:14:47 +08:00
qer
84ad02a486 fix(web): hide SVG arrow in mobile send button to avoid double arrows 2026-06-11 10:14:47 +08:00
haozhe.yang
f9ca3cf1b7 feat(kimi-code): add kimi web command and daemon background mode
- add kimi web subcommand to open the daemon-hosted browser UI\n- refactor kimi daemon to start in background by default; add --foreground flag\n- serve web assets from daemon via new registerWebAssetRoutes\n- copy kimi-web build output into CLI bundle at build time\n- update docs for daemon and web commands\n- add unit tests for daemon and web command handlers
2026-06-11 10:14:47 +08:00
qer
b2a49ce231 fix(web): polish mobile tab bar and collapse composer toolbar into model dropdown 2026-06-11 10:14:46 +08:00
qer
d65b499084 fix(web): show an image placeholder for image-only queued prompts
A prompt queued while the agent is busy can carry image attachments
with no text; the queue strip rendered its bare text — an empty string,
so the row was just a blank button next to a remove cross. Queue items
now expose {text, attachmentCount}: image-only prompts render an
'image ×N' placeholder with a small badge, and any item carrying
images disables the load-back-into-input edit action (the uploaded
files can't be restored to the composer; editing would silently drop
them — remove stays available). Verified with component render tests
for the three shapes (image-only / text-only / text+images).
2026-06-11 10:14:46 +08:00
haozhe.yang
d992719560 refactor(protocol): invert protocol-agent-core dependency direction
- move event payloads and tool display schemas from agent-core into protocol\n- make agent-core depend on protocol instead of the reverse\n- remove alias workarounds in protocol build config\n- add changeset for agent-core, protocol, and kimi-code
2026-06-11 10:14:46 +08:00
haozhe.yang
86bd89ff7f refactor(services,protocol): remove node-sdk dependency
- Replace `@moonshot-ai/kimi-code-sdk` with `@moonshot-ai/agent-core` in protocol\n- Remove `@moonshot-ai/kimi-code-sdk` from services dependencies\n- Introduce internal `managedAuth` facade in services to replace `KimiAuthFacade`\n- Add compile-time assertions that neither package references the node SDK
2026-06-11 10:14:46 +08:00