63 Commits

Author SHA1 Message Date
lyon 3a50fec856 fix: make workbench session route authoritative 2026-06-18 12:14:57 +08:00
lyon ad00ea1c5f fix(web): add workbench session deep links 2026-06-16 06:17:54 +08:00
lyon e984074de0 fix: align cloud web workbench bootstrap entry 2026-06-15 15:42:36 +08:00
Codex Agent 36fc82f5dc feat: migrate cloud web to vue platform shell 2026-06-12 01:17:11 +08:00
Codex Agent e74acf333b fix: preserve workbench project refresh path 2026-06-05 22:57:42 +08:00
Codex Agent e54b3672d9 fix: keep v02 workspace history out of first screen LCP 2026-06-05 17:00:35 +08:00
Codex 58b06fcd17 fix(web): enforce React TypeScript single path 2026-06-03 17:47:27 +08:00
Lyon 0d06a4c5fe fix(web): migrate Cloud Web from vanilla DOM to React + TypeScript + Vite (#756) (#764)
- Replace monolithic app.ts / app-conversation.ts / app-device-pod.ts /
  app-skills.ts / app-helpers.ts / app-session-tabs.ts / auth.ts and the
  364-line index.html with a Vite-built React + TypeScript SPA.
- New src/ module tree: main.tsx, App.tsx, components/{layout,auth,
  conversation,command-bar,device-pod,skills,settings,help},
  hooks/, services/api, services/auth, state, types, logic/ (pure
  helpers from the old tree), styles/.
- Pure-logic modules (composer-policy, code-agent-facts, code-agent-
  status, live-status, message-markdown, app-trace, app-session-tabs,
  runtime) move to src/logic/ with their tests preserved; tests still
  auto-discover.
- Build pipeline switches from Bun.build to Vite: vite.config.ts
  inlines everything into a single app.js + app-assets/ for the dist;
  scripts/dist-contract.ts now runs vite build and asserts the dist
  against a fresh build instead of comparing dist to source.
- scripts/check.ts now verifies the React entry, the mount-only
  index.html, Vite dist, the composer / session / device pod / skills
  / settings / help contracts, the React state shape, and the new
  test file locations. It also refuses to run if any legacy app-*.ts
  or auth.ts survives at the top level.
- New scripts/frontend-guard.ts enforces the 400-line migration target,
  refuses the legacy el map and document.getElementById markers,
  refuses to keep app-*.ts / auth.ts at the top level, and verifies
  the required module directory layout.
- Update scripts/src/dev-cloud-workbench-smoke-lib.mjs to read the new
  src/services/, src/logic/ paths and refresh cloudWebModuleSourceFiles.
- index.html is now a mount shell only (no login shell, no workbench
  shell, no device pod sidebar markup). React renders the full UI from
  src/main.tsx, satisfying the issue-756 migration goal of catching
  unclosed tags at the TypeScript/JSX compile step instead of relying
  on browser DOM healing.
- web:check (now: check + frontend-guard + tsc-check + bun test) is
  green: 51 pass / 0 fail, Vite build produces dist/app.js (379 kB)
  + dist/index.html + dist/app-assets/. Vite build is reproducible;
  dist freshness is verified against a fresh Vite build.
- Grandfathered pure-logic files (> 600 lines): src/logic/app-trace.ts
  (1367), src/logic/live-status.ts (1006), src/logic/code-agent-facts.ts
  (548), src/logic/code-agent-status.ts (572). Reason: each is a tested
  pure-logic classifier with a public contract consumed by both the
  CLI renderer and the Web renderer; splitting now would fork the
  public function shape across two PRs and the migration target is the
  React entry + module split, not a pure-logic refactor.

Refs #756. Closes #756 once merged + deployed to hwlab-v02.

Co-authored-by: Codex <codex@local>
2026-06-03 16:53:25 +08:00
Codex 2fa23bd71d fix(web): restore v02 workbench layout 2026-06-03 15:49:52 +08:00
Lyon 2168ad2ad7 fix(web): HWLAB #744 WebUI v0.2 改进 (#746)
- 问题1: 修复重复 session - 按 threadId 去重 conversation
- 问题2: session sidebar 默认宽度改为150% (330px),移除上限
- 问题3: 删除重复的命令栏「新建 Session」按钮
- 问题4: session 报错(status=failed/error/canceled/timeout)后允许继续重试
- 问题5: session tabs 上方显示当前模型通道
- 问题6: 所有时间统一使用北京时间(UTC+8),移除「北京时间」字样
- 问题7: 注销按钮移入 activity-rail 设置标签

Closes #744

Co-authored-by: Codex <codex@local>
2026-06-03 13:13:23 +08:00
Codex 6dbc72deac fix(issue740): HWLAB v0.2 WEBUI session management improvements
1. 在 panel-title-row 增加"复制 session id"按钮,把当前会话
   conversation id 复制到剪贴板,便于在 HWLAB CLI 复现;
2. 侧边栏标签改为显示最近更新时间(相对时间),排序仍然按
   lastTimestampMs 倒序,新会话靠前;
3. messageCount 与 firstUserMessagePreview 由 backend 持久化,
   不再被 slice(-50) 窗口掩盖,CLI/Web 看到的条数一致;
4. 把 left-sidebar-resize 移到 session-sidebar 右侧,
   activity-rail 固定 92px,拖拽控制 session-sidebar 宽度;
5. 侧边栏标签默认显示用户摘要(首条 user message 截断),
   长文本用省略号收尾。

新增 `hwlab-cli client session inspect <conversationId>` 子命令
与 `GET /v1/agent/conversations/{id}` 端点对齐,便于在 CLI 复现
WEB 看到的 session 详情(包含 messageCount / trace / thread)。

Backend 改动:access-control.ts 的 normalizeConversationSnapshot
和 mergeAgentSessionOwnerEvidence 现在按 max 累加 messageCount,
并保留 firstUserMessagePreview;mergeTerminalConversationMessages
返回 { messages, messageCount, firstUserMessagePreview }。
2026-06-03 11:41:02 +08:00
Codex 94b9df822c feat: 手动化 Code Agent session 管理 2026-06-03 10:40:50 +08:00
Codex da25cb4c02 feat: align session sidebar and cli management 2026-06-03 09:47:52 +08:00
Codex 5b1c9eb5dd feat: add session tabs to cloud web 2026-06-03 08:37:07 +08:00
Codex e2d4989468 fix: expose AgentRun skill assembly in v02 web 2026-06-03 07:02:09 +08:00
Codex f52eadfbe7 feat: route minimax m3 through agentrun 2026-06-02 08:50:27 +08:00
Codex 6af815bda1 fix: 修复 v0.2 Device Pod 右栏与助手消息 2026-05-31 16:24:44 +08:00
Codex c462122ad7 fix: refine v02 workbench layout 2026-05-31 13:58:51 +08:00
Codex 70ebd1689c feat: add uploaded skills management 2026-05-31 11:45:10 +08:00
Codex 7cafb70d9a fix: absorb v02 web trace layout updates 2026-05-31 10:58:23 +08:00
Codex b7f7299056 feat: migrate v0.2 cloud web to TypeScript 2026-05-28 21:33:33 +08:00
Codex 1c44ce671b fix: stabilize cloud web restored status 2026-05-28 08:06:24 +08:00
Codex 297206b695 feat: add fake device pod sidebar service 2026-05-28 01:39:03 +08:00
Codex a56ea7e33e fix: extend code agent timeout recovery 2026-05-27 07:46:24 +08:00
Codex 83cf496fcd feat: add code agent provider profiles 2026-05-26 01:47:11 +08:00
lyon 303ff8fafd fix: route code agent chat through codex 2026-05-25 20:14:05 +08:00
Codex b3d298c3e5 fix code agent gateway trace timeouts 2026-05-25 01:14:17 +00:00
Codex 9b08caa1a2 fix: stabilize code agent trace and gateway flow 2026-05-24 17:06:22 +00:00
Code Queue Review f65dc3f083 fix: 修复工作区状态构建明细浮层 2026-05-24 09:01:20 +00:00
unidesk-code-queue-runner c0516aa7bc fix: 收口 M3 控制面板操作体验 2026-05-24 08:21:01 +00:00
Code Queue Review efbee38ae1 fix: widen M3 hardware status workspace 2026-05-23 22:57:29 +00:00
Lyon 606156f604 feat: add workbench sidebar resize
Adds a controlled desktop left activity rail resize handle with persisted width, collapse-aware disabled state, narrow/mobile disablement, and focused Playwright coverage. No DEV rollout requested.
2026-05-24 06:07:27 +08:00
Code Queue Review dcd2b71932 feat: add workbench left sidebar collapse 2026-05-23 18:45:52 +00:00
Code Queue Review 6eef6351f4 feat: show live HWLAB build metadata 2026-05-23 18:26:05 +00:00
Code Queue Review 6861239a47 feat: add cloud workbench login entry 2026-05-23 18:08:51 +00:00
unidesk-code-queue-runner df32d7dbe5 fix: remove resource explorer from workbench 2026-05-23 15:36:08 +00:00
unidesk-code-queue-runner e295def55f feat: add code agent status summary 2026-05-23 15:08:23 +00:00
Lyon 21c58e41fd feat: add Code Agent quick prompts
Adds fill-only Code Agent quick prompts with explicit-send semantics for HWLAB API write examples, plus static and browser fixture coverage.
2026-05-23 22:44:09 +08:00
Lyon ab4e41374c fix: harden workbench sidebar resizing
Merge #348: add right hardware sidebar resize state and expand source/build Playwright layout coverage for #278 without changing M3 control paths or claiming DEV-LIVE hardware acceptance.
2026-05-23 22:08:36 +08:00
Code Queue Review 2089577774 fix: classify workbench live status attribution 2026-05-23 10:31:20 +00:00
Code Queue Review 1797576c85 feat: add controlled workbench sidebar resize 2026-05-23 10:23:48 +00:00
Code Queue Review 93373ac104 fix: collapse internal gate review to live table 2026-05-23 09:25:49 +00:00
Code Queue Review b2818428cd feat: add M3 status workspace 2026-05-23 09:05:41 +00:00
Code Queue Review c18c141c23 fix: render patch panel wiring as long table 2026-05-23 08:58:08 +00:00
Code Queue Review f2493a6bcb fix: add workbench sidebar collapse layout 2026-05-23 08:00:16 +00:00
Code Queue Review 9477806d19 fix: sanitize workbench first viewport follow-up 2026-05-23 06:58:52 +00:00
Code Queue Review 61ee5779a4 fix: clean workbench first viewport labels 2026-05-23 06:26:38 +00:00
Lyon 29686823c5 test: add code agent browser e2e harness (#264)
Co-authored-by: Code Queue Review <code-queue-review@localhost>
2026-05-23 14:24:26 +08:00
Code Queue Review 6339eebef7 fix: polish degraded workbench mobile UX 2026-05-23 06:00:58 +00:00
Code Queue Review 7f030e0c4e feat: add M3 IO control surface path 2026-05-23 04:47:07 +00:00