Commit graph

7 commits

Author SHA1 Message Date
qer
478ba49b3c style(web): hide session time on hover and move kebab to rightmost 2026-06-12 03:33:03 +08:00
qer
affc69a0d3 feat(web): session list, chat pane, and daemon client updates 2026-06-12 03:08:12 +08:00
haozhe.yang
9770f22c93 feat(server)!: rename daemon to server with service management
- rename workspace package `@moonshot-ai/daemon` to `@moonshot-ai/server`\n- rename `@moonshot-ai/daemon-e2e` to `@moonshot-ai/server-e2e`\n- replace `kimi daemon` and `kimi web` with `kimi server run`\n- keep `kimi web` as alias for `kimi server run --open`\n- add `kimi server install/uninstall/start/stop/restart/status`\n  for launchd (darwin), systemd (linux), and schtasks (win32)\n- update dev scripts, kimi-web stub, documentation, and service naming checks\n\nBREAKING CHANGE: the `kimi daemon` command and `@moonshot-ai/daemon`\npackage are removed; use `kimi server` and `@moonshot-ai/server`.
2026-06-11 16:44:41 +08:00
qer
cef4664e35 fix(web): adapt steer/session-url tests and stub daemon to snapshot sync
The snapshot-based session resync (51743345) replaced listMessages with
GET /sessions/{id}/snapshot as the initial sync path. Update the two
test suites that predate it (mock getSessionSnapshot + seedSnapshot,
assert on the snapshot call) and teach the dev stub daemon the
/snapshot route so pnpm dev:stub keeps working.
2026-06-11 14:49:21 +08:00
qer
28378e6603 feat(web): steer messages into the running turn (TUI ctrl+s parity)
- KimiWebApi.steerPrompts → POST /sessions/{id}/prompts:steer; submit now
  surfaces the daemon's running/queued status
- steerPrompt() merges locally queued prompts + live text into one message,
  submits (daemon parks it) and steers it into the active turn; degrades to
  a normal send when idle; a steer race (turn ended in between) is success
- Composer: Ctrl+S / Cmd+S steers while running; queue strip gains a
  'Steer now' button; stub daemon acks prompts:steer
- 4 composable tests covering merge/idle/race paths
2026-06-11 03:55:26 +08:00
haozhe.yang
be89ce7419 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-10 17:03:19 +08:00
qer
9e023b0e1a feat(web): add Kimi web client (apps/kimi-web)
A browser peer to the Kimi Code TUI that talks to the local daemon over
REST + WS (/api/v1, raw agent-core event stream).

Highlights:
- Workspace + session model: a workspace is a real folder; sessions are
  scoped to it. Dual sidebar — a workspace rail (collapsible icons ⇄ named
  rows) + a resizable, project-scoped session column. One-click new session,
  folder browser (fs:browse) to add workspaces, cross-session attention markers.
- Conversation: streaming thinking/text/tool calls, follow-to-bottom with a
  "new messages" pill, markdown with highlight.js syntax highlighting + diff
  coloring, per-tool header summaries, image attachments, @mention files,
  slash commands, editable message queue, max-width reading column with
  left/center alignment.
- Controls (StatusLine): model picker, context meter, thinking-level selector,
  plan-mode toggle, permission selector; /status panel; every prompt carries
  model + thinking + permission_mode + plan_mode per the daemon contract.
- Auth: OAuth device-code login/logout, managed-provider account menu.
- Tabs: ~/chat, ~/diff (git changes), ~/files (tree + preview), ~/tasks.
- i18n (vue-i18n): en/zh, browser detection + localStorage, EN/中文 switcher.
- Vue 3 + Vite + TS; 294 unit tests; typecheck + build green.
2026-06-10 14:08:30 +08:00