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
wuyang6
076dc61b7f
Fix workspace switch session binding
2026-05-14 15:21:45 +08:00
wuyang6
1d37511762
Show pending prompt for interrupted runs
2026-05-14 15:02:11 +08:00
wuyang6
ed935b633f
Clear stale frontend run state
2026-05-14 14:41:58 +08:00
wuyang6
52cb3cad06
Refresh current thread when run settles
2026-05-14 14:25:45 +08:00
wuyang6
54d85609d1
Keep selected activity history stable
2026-05-14 14:13:48 +08:00
wuyang6
2203ba6f70
Show elapsed time for live run summaries
2026-05-14 12:32:12 +08:00
wuyang6
22960c5e02
Fix run cancellation and live activity stability
2026-05-14 12:23:53 +08:00
wuyang6
105d287ebd
Persist active run state for replay
2026-05-14 11:47:37 +08:00
wuyang6
e3569b6901
Fix active run cancel and elapsed restore
2026-05-14 11:24:26 +08:00
wuyang6
d7c62a4929
Fix live activity streaming and replay summary
2026-05-13 20:58:35 +08:00
wuyang6
f2989cd48b
Stream Jupyter workspace file downloads
2026-05-13 18:15:53 +08:00
wuyang6
ef703ff49b
Persist Jupyter workspace bindings
2026-05-13 17:59:50 +08:00
wuyang6
b7dba5f5b8
Keep pending workspace status before first message
2026-05-13 17:47:28 +08:00
wuyang6
9a32b92ea5
Share pending workspace id across frontend chunks
2026-05-13 17:38:50 +08:00
wuyang6
cdbc7d9fb7
Fix pending Jupyter workspace handoff
2026-05-13 17:22:58 +08:00
wuyang6
9a42b00bfe
Fix Jupyter workspace session scoping
2026-05-13 16:56:14 +08:00
wuyang6
a9f229d222
Fix Jupyter status hook typing
2026-05-13 16:21:55 +08:00