Commit Graph

2093 Commits

Author SHA1 Message Date
yuehua-meng cf0ef50bee Merge branch 'main' into fix/cron-concurrent-writes 2026-09-23 20:24:54 +08:00
yuehua-meng c05d24c5e2 fix: serialize scheduled task persistence to prevent concurrent overwrites
并发读-改-写会导致数据丢失(执行时间被覆盖、创建不落盘、已删任务复活)。用模块级互斥队列串行化写入,并重试 EPERM 错误。
2026-09-23 20:03:20 +08:00
程序员阿江(Relakkes) 1fc51a30a7 fix(server): restore preflight gates and Fable 1M persistence 2026-09-23 16:05:13 +08:00
程序员阿江-Relakkes 731abb8e2b Merge pull request #1369 from MrWangBigData/main
feat(agent-teams): 显示成员模型信息 + 修复 CORS 预检 + 补 Fable 槽位
2026-09-23 15:51:21 +08:00
王珺祺 1c4fd1ac59 feat(agent-teams): 显示成员模型信息 + 修复 CORS 预检 + 补 Fable 槽位
1. Agent Teams UI 模型显示
   - 成员卡片显示模型短名 (opus/sonnet/haiku/fable)
   - Inspector 详情面板显示完整模型 ID
   - 继承主代理时显示「Inherit from lead · claude-opus-4-8」
   - 历史帧不再丢失模型信息
   - 剥离 [1m] 标记避免标签过长

2. 修复 CORS 预检导致 Failed to fetch
   - Loopback 源的 OPTIONS 预检提前应答,不经过 H5 门禁
   - 远程源仍保持严格的 403 拒绝

3. 修复 store 丢弃 model 字段
   - toTeamMember 现在保留 model

4. 补 Fable 模型槽位
   - MODEL_SLOTS 从 4 个扩展到 5 个
   - Model1mSupport schema 增加 fable
   - cc-switch 导入和运行时环境写入 ANTHROPIC_DEFAULT_FABLE_MODEL
   - Fable 槽位使用独立占位文案(不回落到主模型)

5. 测试
   - 新增 12 个回归测试
   - 桌面套件: 6006 passed
   - 服务端套件: 5488 passed
2026-09-23 14:51:55 +08:00
程序员阿江(Relakkes) 2f8d819d50 release: v0.6.6 v0.6.6 2026-09-22 09:30:59 +08:00
程序员阿江(Relakkes) 23eb6ce9b6 fix(sessions): persist collaboration titles in local index 2026-09-22 09:16:24 +08:00
程序员阿江(Relakkes) 1be51c9298 fix(sessions): surface collaboration titles immediately 2026-09-22 08:41:02 +08:00
程序员阿江(Relakkes) 2b27167d68 fix(sessions): preserve collaboration titles across worktree startup 2026-09-22 08:05:34 +08:00
程序员阿江(Relakkes) bc9451dbe6 fix(desktop): make provider promo copy open the signup link
The compact API key row rendered promo text as plain copy, so the offer under a preset could no longer be clicked.
2026-09-22 07:43:53 +08:00
程序员阿江(Relakkes) 0258ff7f96 fix(desktop): diagnose and reduce session loading stalls 2026-09-22 07:29:50 +08:00
程序员阿江(Relakkes) 31e6f7f600 fix(desktop): fill the context meter by used share
The bar painted CLI theme-key names as CSS colors, so it stayed an empty track. Size one brand-colored fill from used tokens over the window.
2026-09-22 05:28:54 +08:00
程序员阿江(Relakkes) 613cf1374c fix(sessions): keep collaboration titles when the placeholder transcript is removed
Worktree startup writes the title onto the launch-directory transcript, then deletes that file after the CLI moves into the worktree.
2026-09-22 05:23:14 +08:00
程序员阿江(Relakkes) 577201a9ee fix(desktop): show the group QR in a dialog
Expanding it inline pushed the code below the fold, so it opens in a
dialog that stays on screen.
2026-09-22 05:05:54 +08:00
程序员阿江(Relakkes) 4ed18f090e fix(sessions): stop referenced reads from stalling the session list
A referenced ReadSession walked backward through the whole transcript and scanned it from the start, which starved the sidebar poll into a flashing load-failure banner. Bound that read and keep a failed list refresh off the sidebar.
2026-09-22 04:46:21 +08:00
程序员阿江(Relakkes) 03f0c61946 fix(desktop): restore the typecheck after the trace and provider edits
The provider editor dropped the session model from a value whose inferred type had no index signature, and the trace detail stopped reading the session revision it still stored.
2026-09-22 03:59:08 +08:00
程序员阿江(Relakkes) 6a287bf210 fix(sessions): keep one transcript when a worktree session starts
Startup metadata could recreate the source placeholder after the CLI had written the conversation into its worktree. Open and update the file that already contains the conversation.
2026-09-22 03:47:45 +08:00
程序员阿江(Relakkes) b21dabc5dd fix(sessions): keep mention search and transcript edits off the request thread
A Chinese @ query scanned the whole session table twice and then ran a body search, so every other request queued behind it. Cap that scan, skip the body lookup once the budget is spent, and stream session clears and trims instead of holding the transcript in memory.
2026-09-22 03:29:35 +08:00
程序员阿江(Relakkes) ee2a8326ac feat(desktop): add the WeCom group QR to the About panel
The README already shows the group QR, but the desktop app had no way
to reach it. Reveal it from an entry below the feedback link.
2026-09-22 03:25:35 +08:00
程序员阿江(Relakkes) 467c15780a fix(desktop): drop the redundant context-usage caption
The new-token, API-time, and subagent-scope lines restated the speed and cost rows without answering how much window is left.
2026-09-22 03:08:22 +08:00
程序员阿江(Relakkes) 9c88a5cc47 fix(sessions): keep a servable index snapshot stable while it reconciles
The sidebar's "using standard history" notice flickered because a busy
passive checkpoint marked the index degraded, and the next reconciliation
cleared it again, bouncing the session list between the index and a full
JSONL scan. Incremental reconciliation now keeps serving a snapshot that
already has committed rows, and a transient SQLITE_BUSY no longer changes
the public state.
2026-09-22 03:05:19 +08:00
程序员阿江(Relakkes) b058726312 fix(desktop): keep an open trace record still while other spans arrive
A session-wide revision cleared the detail under the cursor every time a sibling span landed.
2026-09-22 02:57:57 +08:00
程序员阿江(Relakkes) b5a6af8966 fix(sessions): clamp collaboration waits to 10s–5min
A zero timeout let a session poll WaitSessions in a tight loop. Short requests now wait the 10s minimum and report the clamp, while a newer revision still returns immediately.
2026-09-22 02:56:35 +08:00
程序员阿江(Relakkes) ba7de19a1f fix(desktop): keep the session model out of a new provider's settings JSON
The add-model editor was spreading the whole managed settings file, so the model picker's selected default (model / modelContext) showed up as if it belonged to the provider being added and was written back on save.
2026-09-22 02:32:16 +08:00
程序员阿江(Relakkes) d25b789803 Merge branch 'main' into worktree-desktop-main-a8423a35 2026-09-22 01:52:00 +08:00
程序员阿江(Relakkes) cd0d2a1d7b fix(desktop): mount the whole transcript so large sessions scroll smoothly
The bounded history window stitched pages behind the scrollbar and dropped
rows from the far end, which made big sessions flicker and lag. Load the
transcript in one byte-bounded response, keep it as a single mounted array,
and remember disclosure choices across virtualized row remounts.
2026-09-22 01:51:55 +08:00
程序员阿江(Relakkes) 4704fb8310 feat(desktop): let presets switch API protocol without rewriting the endpoint
A preset used to lock its protocol, so a dual-protocol endpoint could not be pointed at the other format. Keep the preset URL and warn when the chosen protocol no longer matches it.
2026-09-22 01:24:18 +08:00
程序员阿江(Relakkes) b3c09a1e4b refactor: render session collaboration as inline messages
Drop the collapsible collaboration panel and show cross-session deliveries as ordinary user bubbles with a source label, while created sessions carry titles immediately.
2026-09-22 01:20:05 +08:00
程序员阿江(Relakkes) a26deab8d7 feat(provider): support Grok 4.7 and resolve effort from the live catalog
Grok 4.7 shipped with a faster variant (grok-4.7-build-fast), and the
gateway's /v1/models feed no longer advertises grok-composer-2.5-fast.

Resolving reasoning effort against the bundled catalog alone gave a model
newer than this build no effort at all, and the request transform reads
that as a model which rejects the parameter and strips the whole reasoning
block. Selecting xhigh on 4.7 therefore ran at the upstream default, while
the picker and the server-side validation both accepted the choice. Effort
now resolves against the live catalog first, and a model neither catalog
describes keeps the requested effort instead of losing it.

The runtime catalog pointer moves into the dependency-free catalog module
so the request transform can read it without an import cycle back through
fetch.ts.

Both bundled catalogs gain 4.7 and its fast variant and default to
grok-4.7, and the retired composer model migrates pinned sessions to that
default rather than sending an ID the gateway no longer serves.
2026-09-22 00:43:44 +08:00
程序员阿江(Relakkes) 0820247d47 feat(desktop): show the model a SubAgent run executed on
The SubAgent and Team member run header carried no model, and the launch
parameters cannot supply one: the Agent tool input records an explicit
`model` override only and is empty when the run inherits, while the
runtime discards the model it resolved for an inheriting run.

Assistant messages do carry whatever the provider actually served, so the
header reads the newest transcript turn that reported one and renders it
next to the status badge. A run that has not answered yet shows no badge
rather than guessing the parent's model.
2026-09-21 23:49:34 +08:00
程序员阿江(Relakkes) d922507fc6 Merge commit 'edc612c34' 2026-09-21 22:24:45 +08:00
程序员阿江(Relakkes) edc612c34f fix: preserve session payloads across bounded history and replay 2026-09-21 22:24:34 +08:00
程序员阿江(Relakkes) 02a4a66a11 fix: filter external sources from ClawHub search results 2026-09-21 22:14:36 +08:00
程序员阿江(Relakkes) 9bf6e76896 feat: support AGENTS.md project instructions 2026-09-21 20:45:58 +08:00
程序员阿江(Relakkes) 0e07a4e44f Merge commit 'e4d85a6d6' 2026-09-21 20:22:04 +08:00
程序员阿江(Relakkes) e4d85a6d66 fix: stabilize chat history scrolling and subagent history loading 2026-09-21 20:21:59 +08:00
程序员阿江(Relakkes) 366fe72792 fix(desktop): resolve home-relative HTML preview paths 2026-09-21 18:05:50 +08:00
程序员阿江(Relakkes) 3dbf7493a2 fix(desktop): query session suggestions directly from SQLite 2026-09-21 12:04:19 +08:00
程序员阿江(Relakkes) 7c7ce7d6b9 feat(desktop): add independent session collaboration 2026-09-21 01:16:27 +08:00
程序员阿江(Relakkes) 0f2c2b2c6e fix: stream background task completion while the model is working
Publish root task terminal notifications when queued, preserving model follow-ups and lifecycle ordering without duplicate delivery.

Refs #1352, #1345 (background task status only; other reported issues remain outside this fix).
2026-09-20 22:16:46 +08:00
程序员阿江(Relakkes) 83b0242558 fix: resolve reproduced issue regressions and add Zed support
- Restore file-tree Add to chat and keyboard menu behavior (#1322).
- Preserve nested OpenAI cache hits beside zero-valued cache fields (#1327).
- Allow exact development renderer CORS preflights while retaining auth (#1335).
- Prevent stale transcripts from restoring explicitly cleared goals (#1339).
- Recover interrupted auto-dream attempts while preserving legacy stamps (#1349).
- Add Zed to the existing editor discovery and launch menu (#1346).

Refs #1322, #1327, #1335, #1339, #1349, #1346

Validation: local before/after reproductions, browser smoke, server 5537
and desktop 6086 tests passed; provider/chat/agent-flow/persistence checks
passed. Changed-line coverage is 98.23%. The full coverage gate remains
blocked by the unchanged IM slow-drip test; native signing/package
validation is incomplete.
2026-09-20 20:29:40 +08:00
程序员阿江(Relakkes) 42915081ca fix(desktop): preserve message order when returning to latest history 2026-09-20 18:35:20 +08:00
程序员阿江(Relakkes) b8c7a11507 fix: complete AruHub model mappings and limit sponsor star 2026-09-20 17:15:18 +08:00
程序员阿江(Relakkes) a16d9847fb feat: add AruHub sponsor and provider preset 2026-09-20 16:50:45 +08:00
程序员阿江(Relakkes) 239ecda192 release: v0.6.5 v0.6.5 2026-09-20 15:21:48 +08:00
程序员阿江(Relakkes) e14ce97725 merge: integrate model selection race fix 2026-09-20 03:57:43 +08:00
程序员阿江(Relakkes) a800fe0063 fix(desktop): preserve model selection across stale session refreshes 2026-09-20 03:57:36 +08:00
程序员阿江(Relakkes) 6c75668334 fix(desktop): streamline provider setup and OpenCode signup 2026-09-20 03:50:15 +08:00
程序员阿江(Relakkes) e36538f670 fix(server): restore inspection of large records and partial transcripts 2026-09-20 03:16:49 +08:00
程序员阿江(Relakkes) d16aabcf74 fix(perf): restore continuous history scrolling and bound search indexing 2026-09-20 03:02:30 +08:00