Commit Graph

2207 Commits

Author SHA1 Message Date
程序员阿江(Relakkes) 7e7d455249 fix: align Claude OAuth with 2.1.281 and harden CLI compatibility 2026-09-25 02:34:18 +08:00
程序员阿江(Relakkes) 5d6f5d6609 feat(desktop): auto-answer pending questions after timeout 2026-09-24 18:57:37 +08:00
程序员阿江-Relakkes 2d748a9369 Merge pull request #1372 from yuehua-meng/fix/memory-save-race
fix(desktop): advance memory save revision to avoid self-block during…
2026-09-24 18:03:06 +08:00
程序员阿江(Relakkes) 589da89f6e fix(desktop): keep memory edits visible after an in-flight save 2026-09-24 17:56:05 +08:00
yuehua-meng 45435921b3 原测试用 5000 行短文本验证内容完整性,渲染大量 DOM 节点,容易超过 CI 的 5 秒限制。现在改成 130 行长文本:
- 总内容仍超过 64 KiB,保留大文本测试。
- 检查开头、结尾、中间全部内容及修改后的文本,确保没有截断。
- 减少渲染节点,实测约 0.43 秒完成。
2026-09-24 04:18:43 +08:00
yuehua-meng fbe56488cb fix(desktop): advance memory save revision to avoid self-block during in-flight edits 2026-09-24 02:13:47 +08:00
程序员阿江(Relakkes) 4615f9d435 fix(desktop): preserve stopped chat across incomplete history reloads 2026-09-24 01:18:51 +08:00
程序员阿江(Relakkes) e37ad30922 fix(desktop): restore searchable clear slash command 2026-09-24 01:05:23 +08:00
程序员阿江(Relakkes) 3597b9f973 fix(server): forward Kimi K3 images via OpenCode Go 2026-09-24 01:05:23 +08:00
Relakkes Yang cd2a63c2f3 fix(desktop): hide checkpoint preview budget from chat 2026-09-24 01:04:17 +08:00
Relakkes Yang 7e55957835 Merge commit '2bdbbcc9' 2026-09-23 22:13:53 +08:00
Relakkes Yang 2bdbbcc99d fix(desktop): preserve chat view across tab switches 2026-09-23 22:11:20 +08:00
Relakkes Yang 64ca3ba781 fix(desktop): confine scrolling tab drag exclusions to the viewport 2026-09-23 22:04:27 +08:00
程序员阿江-Relakkes 0fdceb4c6e Merge pull request #1371 from yuehua-meng/fix/cron-concurrent-writes
fix: serialize scheduled task persistence to prevent concurrent overw…
2026-09-23 20:41:58 +08:00
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