Commit Graph

124 Commits

Author SHA1 Message Date
wuyang6 82b41ce89d Reduce session title action spacing 2026-06-12 19:20:47 +08:00
wuyang6 de6849588e Use ellipsis for session titles 2026-06-12 19:17:33 +08:00
wuyang6 c4f9cca2d7 Tighten session list status slot 2026-06-12 18:42:20 +08:00
wuyang6 cdf27e5bd2 Show runtime guidance in transcript 2026-06-12 18:37:04 +08:00
wuyang6 5bcc22622e Show session run badges 2026-06-12 18:28:00 +08:00
wuyang6 4ba8761db2 Add runtime guidance input queue 2026-06-12 18:15:52 +08:00
wuyang6 00a83ba4c3 Cache session replay on client 2026-06-12 17:28:15 +08:00
wuyang6 384e92e961 Prevent stale session overwrite on new tasks 2026-06-12 16:51:17 +08:00
wuyang6 a2f39e7312 Fix session cancel and new task routing 2026-06-12 16:35:38 +08:00
wuyang6 953126e1d3 Refactor session runtime persistence 2026-06-12 16:17:58 +08:00
wuyang6 77d360c1e8 docs: add subagent guidance and replay diff skill 2026-06-12 14:39:07 +08:00
wuyang6 dbd279f333 improve admin usage analytics 2026-06-12 11:44:48 +08:00
wuyang6 40d7c92a1d fix session routing and subagent visibility 2026-06-12 11:06:04 +08:00
王森浩 1cefbf30c7 Merge branch 'wsh_dev' into 'main'
feat: backend gate fallback + metric_diff docs + submit_sft fix

See merge request wuyang6/zk-data-agent!5
2026-05-27 17:03:27 +08:00
wangsenhao 85ce8c0e69 fix: session resume, config_set schema, metrics chart, subagent logging
- Fix session resume: remove messages.length>1 guard so sessionStorage
  ID is used as resumeSessionId on first message (prevents new session
  creation when user sends "继续")
- Fix config_set tool schema: add missing `items: {}` to array type in
  oneOf (Azure OpenAI strict validation rejects it otherwise)
- Metrics chart: use actual target set filename from trigger text
  instead of generic "target_subset" key
- Add sub-agent skill call logging to agent_runtime.py (full
  prompt/response, no truncation)
- Various metric enrichment and dedup fixes in server.py

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-05-27 17:02:24 +08:00
wuyang6 931cf2d065 fix: isolate auth cookies per deploy 2026-05-26 16:24:11 +08:00
wangsenhao b48032e15c feat: backend gate fallback + metric_diff docs + submit_sft fix
- Auto-inject human-review gate when agent asks question but forgets gate entry
- Add complex_dev/complex_base field docs to program.md metric_diff table
- Fix submit_sft.sh minor issues
- jupyter_runtime improvements

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-26 15:42:02 +08:00
wuyang6 20c1946a3c fix: stabilize live activity updates 2026-05-26 11:58:13 +08:00
hupenglong1 5b708d2996 fix: use custom event for training panel toggle, no more poll inference
SkillInsertDialog dispatches SKILL_TOGGLED_EVENT on user click.
AssistantWorkspace listens for that event to set applied state.
Completely eliminates poll-based state inference that caused flash.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-25 17:46:51 +08:00
hupenglong1 2acbd0b509 fix: eliminate training panel flash on page load
- Don't restore applied state from localStorage on mount (was causing
  first-frame flash when skill was already enabled)
- Always start with applied=false; only set true on user click

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-25 17:41:35 +08:00
hupenglong1 21c0cfc52d fix: prevent training panel flash on page load
Track skill.loading → only trigger applied=true on user-initiated
skill enable (not on initial page load where skill was already on).
Clear stale localStorage applied state on load if skill is off.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-25 17:35:53 +08:00
hupenglong1 defbc9da28 fix: training panel only opens on explicit skill click
Remove auto-detection from user message patterns and pipeline polling.
Panel now opens only when user explicitly enables model-iteration skill
via the UI button, and closes via "退出训练模式" or disabling the skill.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-25 17:30:46 +08:00
hupenglong1 a3ab74b506 refactor: split submit_sft_via_cml.sh into submit_sft.sh + submit_cml_eval.sh
- submit_sft.sh: pure SFT submission, prints JobID and exits (no embedded watcher)
- submit_cml_eval.sh: pure CML eval, reads workflow_id/version from config.yaml
- jupyter_runtime write_text: rewrite to use Contents API instead of terminal websocket
- SKILL.md: restrict trigger to explicit UI click only
- program.md: update §5.2 docs to reflect two-script workflow

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-25 17:21:42 +08:00
hupenglong1 d2c221e2da auth: 邮箱注册/登录补全 Linux 账号创建
registerByEmail / loginByEmail 漏掉 ensureLinuxAccount,开 CLAW_ENABLE_LINUX_ACCOUNTS=1
时邮箱用户既不会建 Linux 账号、createAccountDirectories 的 chown 也会失败。
照搬 username 路径的位置补上即可。同时删掉后端 server.py 里同逻辑的 dead code
(_XIAOMI_EMAIL_RE / _account_id_from_email),实际拆分发生在 TS 层。
2026-05-25 11:55:56 +08:00
hupenglong1 d8741a3489 Merge remote-tracking branch 'origin/main' into wsh_dev
# Conflicts:
#	backend/api/server.py
2026-05-25 11:46:44 +08:00
hupenglong1 f068311cac backend/frontend/runtime: 训练面板 / session 隔离 / agent runtime 调整
- backend/api/server.py:训练 step-detail / pipeline 卡片排序逻辑
- frontend:thread-list / thread / training-pipeline-panel / step-detail-sheet 配套调整,新增 metrics-chart-panel
- src/agent_*:tool spec / runtime / prompting 配套
- .gitignore 加 .logs/

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-25 11:43:10 +08:00
hupenglong1 362321c460 修改 2026-05-22 20:56:57 +08:00
hupenglong1 5311e6d97c 修改 2026-05-22 19:48:47 +08:00
wuyang6 101a4a57c3 Add memory research technical doc 2026-05-20 15:53:06 +08:00
hupenglong1 20690cdef3 修改 2026-05-20 15:46:36 +08:00
hupenglong1 1a94cec822 修改 2026-05-20 15:04:19 +08:00
wuyang6 ee596a33e0 Add Linux account workspace runtime 2026-05-20 14:13:34 +08:00
wuyang6 201058dfb2 docs: add example session links 2026-05-18 19:41:59 +08:00
wuyang6 3054b3bc6b docs: add technical architecture guide 2026-05-18 19:28:02 +08:00
wuyang6 c4b935692c Add interactive project doc page 2026-05-15 10:12:31 +08:00
wuyang6 9e7f2a44ea Hide pre-tool content from chat stream 2026-05-14 22:11:44 +08:00
wuyang6 951fbb2cb2 Scope active session to browser tab 2026-05-14 22:02:36 +08:00
wuyang6 57f4452508 Separate live text and tool stream parts 2026-05-14 21:46:45 +08:00
wuyang6 946cca1ac4 Keep active session URL in sync 2026-05-14 21:14:23 +08:00
wuyang6 182e72680d Prevent stale session during active runs 2026-05-14 21:04:42 +08:00
wuyang6 d427086aa7 Stabilize live run activity updates 2026-05-14 20:55:30 +08:00
wuyang6 cf72540bc9 Guard reasoning deltas after visible output 2026-05-14 20:38:24 +08:00
wuyang6 05a014d03c Start visible text stream after reasoning status 2026-05-14 20:26:42 +08:00
wuyang6 2895425869 Stream assistant content to chat output 2026-05-14 20:06:55 +08:00
wuyang6 2eeabdeccf Show live content deltas in activity 2026-05-14 19:43:41 +08:00
wuyang6 119e329dfb Fix live activity timer 2026-05-14 18:12:11 +08:00
wuyang6 e10cb6909b Show cancel button for backend active runs 2026-05-14 16:43:06 +08:00
wuyang6 e48c0ff981 Sync session URL when opening chats 2026-05-14 16:02:27 +08:00
wuyang6 997f5cd60b Add direct session URL route 2026-05-14 15:53:58 +08:00
wuyang6 e815056348 Restore workspace status display 2026-05-14 15:44:44 +08:00