1376 Commits

Author SHA1 Message Date
程序员阿江(Relakkes)
936d970751 fix(server): expose desktop sessions to Claude resume #988
Stamp desktop-owned transcripts with the claude-desktop entrypoint while preserving the SDK runtime entrypoint used for provider authentication.

Tests: focused regression 41/41; chat contract 240/240; server 1622/1622; coverage 5/5 with changed lines 4/4.

Live-path proof: hermetic loopback transcript was visible in Claude Code 2.1.206 /resume; no real user credentials or config were used.

Constraint: check:impact remains policy-blocked until a PR has the allow-cli-core-change label.

Confidence: high

Scope-risk: narrow
2026-07-11 04:08:43 +08:00
程序员阿江(Relakkes)
d6cd0f1fc7 Merge branch 'main' into HEAD 2026-07-11 03:25:58 +08:00
程序员阿江(Relakkes)
caa6e4ca00 merge: GPT-5.6 OpenAI support (#997) 2026-07-11 02:56:38 +08:00
程序员阿江(Relakkes)
0fa6452cf2 fix(openai): support GPT-5.6 models (#997)
Load the authenticated Codex model catalog with a bundled fallback and carry model-native reasoning effort through the OpenAI OAuth transport. Keep desktop effort choices aligned with each model's advertised capabilities.

Constraint: Ultra remains a composite Codex delegation mode and is not exposed as a wire-level effort.
Confidence: high
Scope-risk: moderate
Tested: bun run check:server; bun run check:desktop; bun run check:persistence-upgrade; focused OAuth, WebSocket, and browser smoke checks
Not-tested: bun run verify
2026-07-11 02:55:41 +08:00
程序员阿江(Relakkes)
d6c156af17 fix(desktop): control background task lifecycle #990
Keep AutoDream visible without marking the foreground session busy, add a task-scoped stop control, and preserve the authoritative stopped bookend emitted by the CLI runtime.

Tested: bun run check:desktop

Tested: bun run check:server

Tested: bun run check:chat-contract

Tested: bun run check:coverage

Tested: real MiniMax-M3 browser smoke for background stop and AutoDream busy-state isolation

Confidence: high

Scope-risk: moderate
2026-07-11 01:50:33 +08:00
程序员阿江(Relakkes)
060a134ca1 fix(provider): require thinking for Kimi K2.7 #986
Model Kimi K2.7 as required-thinking so a global disabled preference cannot generate an unsupported request. Keep K2.6 and other providers free to disable thinking.

Tested: request-shape loopback through the query pipeline
Tested: bun run check:provider-contract
Tested: bun run check:server (1608 tests)
Tested: bun run check:coverage
Not-tested: live Kimi completion blocked by insufficient provider balance
Constraint: CLI core changes require allow-cli-core-change approval for PR
Confidence: high
Scope-risk: moderate
2026-07-11 01:07:22 +08:00
程序员阿江(Relakkes)
8320a36195 fix(desktop): isolate app theme from Claude CLI #987
Keep the desktop appearance in cc-haha local storage instead of reading or writing the user-owned Claude settings theme.

Tested: bun run test -- src/stores/settingsStore.test.ts
Tested: bun run check:desktop
Tested: bun run check:coverage
Tested: agent-browser theme isolation smoke with temporary CLAUDE_CONFIG_DIR
Confidence: high
Scope-risk: narrow
2026-07-11 00:44:20 +08:00
程序员阿江(Relakkes)
43d6776270 fix(server): deduplicate scheduled task output #989
Avoid appending the final result when it repeats the assistant text while preserving distinct result summaries.

Tested: bun test src/server/__tests__/cron-scheduler.test.ts
Tested: bun run check:server
Tested: live MiniMax stream-json duplicate comparison
Tested: changed-line coverage 100% (9/9)
Confidence: high
Scope-risk: narrow
2026-07-11 00:35:11 +08:00
程序员阿江(Relakkes)
08dd64596a fix(ci): root explicit Bun test filters
Avoid Bun filter-mode repository scans that exhaust macOS file descriptors and corrupt subprocess test evidence. Apply rooted filters across server, contract, coverage, persistence, policy, desktop native, and adapter test entrypoints.

Confidence: high

Scope-risk: narrow

Tested: bun run check:policy; bun run check:server; bun run check:chat-contract
2026-07-10 23:49:46 +08:00
程序员阿江(Relakkes)
46dca4e961 test(desktop): cover permission guard transitions
Exercise controlled changes, repeated trigger closure, tab switches, and both bypass dialog close paths so the changed-line coverage gate proves the full active-turn guard.\n\nTested: desktop PermissionModeSelector 14/14; adapters and H5 auth 51/51\nConfidence: high\nScope-risk: narrow
2026-07-10 23:05:57 +08:00
程序员阿江(Relakkes)
173d6a84fc fix(ci): isolate deterministic PR test evidence
Run required server and contract suites in credential-free sandboxes, fail closed on incomplete coverage or test output, and preserve the desktop active-turn permission guard across stale tab interactions.\n\nTested: bun run check:policy (115 pass); bun run check:server (1605 pass before final runner evidence check); bun run check:desktop; bun run check:provider-contract; bun run check:chat-contract\nConfidence: high\nScope-risk: broad
2026-07-10 22:59:02 +08:00
程序员阿江(Relakkes)
8cada04d10 fix(ci): align local verify with PR policy
Fail PR and release quality runs when the impact policy blocks the diff, and accept root-runtime regression coverage across service and utility seams.

Tested: bun run check:policy
Confidence: high
Scope-risk: narrow
2026-07-10 20:37:43 +08:00
程序员阿江(Relakkes)
435e4ccc9f ci: harden deterministic PR quality gates
Route required checks by changed surface, add offline provider and chat contracts, and keep fork PRs independent of live credentials. Layer agent guidance by subtree and enforce a compact instruction budget.

Tested: bun run check:policy
Confidence: high
Scope-risk: broad
2026-07-10 20:29:01 +08:00
程序员阿江(Relakkes)
a6964f1932 fix(desktop): complete active-turn permission guard
Close open permission overlays when a turn starts, reject stale permission-mode writes in the chat store, and add the missing localized tooltip strings and transition regressions.\n\nFollow-up-to: #999\nTested: bun run check:desktop\nConfidence: high\nScope-risk: narrow
2026-07-10 18:10:57 +08:00
程序员阿江(Relakkes)
745112a136 fix(desktop): remove activity count badge
Keep the Activity entry available without showing persistent numeric attention markers.

Confidence: high
Scope-risk: narrow
Tested: bun run check:desktop
Not-tested: manual Electron visual smoke
2026-07-10 18:06:24 +08:00
程序员阿江(Relakkes)
899ec2c3b4 Merge remote-tracking branch 'origin/main' 2026-07-10 18:05:50 +08:00
程序员阿江-Relakkes
bf82a29b60
Merge pull request #999 from zhbdesign/patch-27
进行中的会话禁止切换权限
2026-07-10 17:56:11 +08:00
zhb
b917072cc6
进行中的会话禁止切换权限
进行中的会话禁止切换权限
2026-07-10 11:02:56 +08:00
zhb
469c38ca2e
进行中的会话禁止切换权限
进行中的会话禁止切换权限
2026-07-10 11:01:46 +08:00
程序员阿江(Relakkes)
bbb862a41a fix(runtime): recover stalled long-running turns
Retry idle provider streams only before tool side effects, and reconcile desktop turn state after WebSocket gaps so completed or still-running work cannot leave a stale spinner.

Tested: 108 runtime/server focused tests, 128 desktop focused tests
Tested: disconnected-turn WebSocket integration test
Tested: bun run check:server (1489 pass)
Tested: desktop typecheck and production build
Not-tested: full desktop gate has one unrelated TraceSession polling assertion failure
Scope-risk: broad
2026-07-10 04:05:33 +08:00
程序员阿江(Relakkes)
16d06a4f82 fix(desktop): prevent overlapping API polls #993
Coalesce concurrent session-list scans and keep desktop pollers from stacking requests while the local server is slow.

Tested: bun run check:server (1489 pass)
Tested: desktop focused tests, typecheck, and production build
Scope-risk: moderate
2026-07-10 04:05:26 +08:00
程序员阿江(Relakkes)
203eb6b00d feat(desktop): redesign skills market
Refresh the skills market catalog and detail surfaces with denser workbench layouts, clearer action hierarchy, and updated status treatments.

Tested: bun run check:desktop
Tested: real browser smoke for list, detail, filters, install confirmation, and light/dark themes
Confidence: high
Scope-risk: narrow
2026-07-10 03:33:28 +08:00
程序员阿江(Relakkes)
25f19fad69 fix(desktop): preserve concurrent permission prompts
Track tool and Computer Use approvals by request ID so parallel prompts remain independently actionable.
Reconcile resolution state across clients and reconnects, including stopped and completed turns.

Refs: #975, #980
Tested: bun run check:desktop (1778 tests)
Tested: bun run check:server (1482 tests)
Tested: agent-browser concurrent permission smoke
Not-tested: Windows packaged app manual smoke
Confidence: high
Scope-risk: moderate
2026-07-10 03:11:22 +08:00
程序员阿江(Relakkes)
840390de50 fix(desktop): preserve Mermaid shapes and summary truncation
Keep auto-quoting slash labels for generated Mermaid paths while preserving slash-delimited flowchart shapes.
Restore truncation on activity summary values so the compact summary layout and tests agree.

Tested: cd desktop && bun run test -- src/pages/ActivitySettings.test.tsx src/components/chat/MermaidRenderer.test.tsx src/components/chat/MermaidRenderer.integration.test.tsx
Tested: bun run check:desktop
Confidence: high
Scope-risk: narrow
2026-07-09 20:52:05 +08:00
程序员阿江(Relakkes)
62be2e6fc3 Merge remote-tracking branch 'origin/main' 2026-07-09 20:49:19 +08:00
程序员阿江-Relakkes
f02930739b
Merge pull request #979 from rechardguo/main
Feature(Desktop): #974 Add ctrl+F keyboard shortcut to open find-in-page
2026-07-09 20:47:08 +08:00
程序员阿江-Relakkes
cd6733acf9
Merge pull request #991 from zhbdesign/patch-23
欢迎词优化,改为"构建、调试和设计"更符合中文表达习惯
2026-07-09 20:46:10 +08:00
程序员阿江-Relakkes
fd542e4a44
Merge pull request #995 from zhbdesign/patch-25
修复mermaid渲染遗漏了 /(斜杠)
2026-07-09 20:45:39 +08:00
程序员阿江-Relakkes
c54475cbc1
Merge pull request #992 from zhbdesign/patch-24
修复token用量最长任务时长显示省略号
2026-07-09 20:20:41 +08:00
程序员阿江(Relakkes)
e5f1c415f8 fix(desktop): repair update proxy/session targeting, quit-and-install crash, and about layout
Update downloads never used the configured proxy because electron-updater
runs all traffic on its own session partition, while the proxy was applied
to app/defaultSession only. Point proxy config at autoUpdater.netSession,
and make the system fallback an explicit `mode: 'system'` since an empty
setProxy config means fixed_servers with no rules (= direct), which also
silently downgraded the default session away from the OS proxy.

Disable differential download: blockmap-driven ranged requests against the
GitHub CDN are RTT-bound and run far below line speed on both macOS and
Windows; full downloads restore expected bandwidth.

Guard captureWindowState and the resize forwarder against destroyed
windows: quitAndInstall tears the window down while late move/resize/close
events still fire, crashing the main process with "Object has been
destroyed".

Widen the About page container from max-w-lg to max-w-2xl so release notes
markdown is no longer cramped.
2026-07-09 20:16:12 +08:00
程序员阿江(Relakkes)
b28867d551 release: prepare v0.4.6
Prepare the v0.4.6 desktop release note, bump the desktop package version, and refresh README/docs guidance for signed releases and updater validation.

Tested: bun run scripts/release.ts 0.4.6 --dry
Tested: bun test scripts/pr/release-workflow.test.ts scripts/release-update-metadata.test.ts scripts/quality-gate/package-smoke/index.test.ts
Tested: bun run check:policy
Tested: bun run check:docs
Not-tested: bun run verify; release prep was validated with docs and release-focused gates only.
Confidence: high
Scope-risk: narrow
v0.4.6
2026-07-09 17:56:51 +08:00
zhb
3e7c7de54a
修复mermaid渲染遗漏了 /(斜杠
修复mermaid渲染遗漏了 /(斜杠
2026-07-09 17:54:24 +08:00
程序员阿江(Relakkes)
e429e0a6d8 Merge origin/main (#994 TeamoRouter, #967) into cleaned local line 2026-07-09 16:26:03 +08:00
zhb
83f8c66233
修复mermaid渲染遗漏了 /(斜杠)
修复mermaid渲染遗漏了 /(斜杠)
2026-07-09 16:23:07 +08:00
程序员阿江-Relakkes
b9fb3eb9ef
Merge pull request #994 from NanmiCoder/teamorouter-sponsor
feat(provider): 新增 TeamoRouter 供应商并加入 README 赞助商
2026-07-09 16:09:00 +08:00
程序员阿江(Relakkes)
4eb6b2feb1 feat(provider): 新增 TeamoRouter 供应商并加入 README 赞助商
- provider presets 新增 teamorouter(Anthropic 兼容,auth_token 鉴权)
- 默认模型 claude-opus-4-8 / claude-sonnet-5 / claude-haiku-4-5
- README 中英文赞助商表格新增 TeamoRouter 第三行及 logo
2026-07-09 16:06:06 +08:00
程序员阿江(Relakkes)
3d13364c3d feat(provider): 新增 TeamoRouter 供应商并加入 README 赞助商
- provider presets 新增 teamorouter(Anthropic 兼容,auth_token 鉴权)
- 默认模型 claude-opus-4-8 / claude-sonnet-5 / claude-haiku-4-5
- README 中英文赞助商表格新增 TeamoRouter 第三行及 logo
2026-07-09 15:56:07 +08:00
zhb
902b2e3d13
修复token用量最长任务时长显示省略号
修复token用量最长任务时长显示省略号
2026-07-09 15:26:42 +08:00
程序员阿江(Relakkes)
55ba2392c1 feat(desktop): 技能市场增加免责声明并优化卡片与主题适配
- 市场顶部新增可关闭的第三方技能免责声明,提示安装前先用 AI 扫描
- 图标缺失时改用按技能名生成的确定性彩色首字母头像
- 卡片视觉优化:隐藏冗余的"可安装"徽章、底部分隔线、hover 反馈
- 安全徽章增加 tooltip 解释各状态含义(五语言)
- 修复暗色主题下筛选器激活态对比度 1.3:1 不可读的问题,
  统一改用 brand-on-neutral 组合使三主题均达 WCAG AA
2026-07-09 15:07:30 +08:00
zhb
2ab20e9974
欢迎词优化,改为"构建、调试和设计"更符合中文表达习惯
欢迎词优化,改为"构建、调试和设计"更符合中文表达习惯
2026-07-09 14:56:36 +08:00
zhb
97b3c4041d
欢迎词优化,改为"构建、调试和设计"更符合中文表达习惯
欢迎词优化,改为"构建、调试和设计"更符合中文表达习惯
2026-07-09 14:55:27 +08:00
程序员阿江(Relakkes)
25ebc05a42 Merge skills market rewrite (worktree-refactor-skills-market-20260708)
Resolves conflicts with the independently developed skill-market/SkillCenter
feature that landed on main after this branch diverged. Keeps the market
rewrite as the sole implementation:

- Removes the parallel skill-market stack (server api/skill-market.ts,
  services/skillMarket/, SkillCenter.tsx, skillMarketStore.ts, related tests
  and i18n keys) in favor of the market implementation from this branch.
- Restores the Settings > Skills tab (and its redirect-free behavior) that
  the removed implementation had folded into a top-level Skill Center tab,
  keeping local skill browsing on SkillDetailView alongside the online market.
- Adapts tests and callers (TabBar, ContentRouter, PluginDetail,
  LocalSlashCommandPanel, persistence migrations) from skill-center/
  SKILL_CENTER_TAB_ID naming to market/MARKET_TAB_ID.
2026-07-08 22:19:51 +08:00
程序员阿江(Relakkes)
536b4584d3 feat(desktop): 新增技能市场功能,聚合 ClawHub 与 SkillHub
- server 层新增 market 服务:聚合两个上游、跨来源去重、TTL 缓存与降级、原子安装/卸载
- 桌面端新增市场页面(搜索/筛选/分页/详情/文件预览/安装确认),挂载为侧边栏顶层 Tab
- 本地已装技能详情页改造为与市场详情共用同一套展示组件,并支持卸载
- 5 语言 i18n 补齐,新增 server/desktop 测试覆盖
2026-07-08 20:43:50 +08:00
程序员阿江(Relakkes)
56b6b45bef fix(security): harden telegram and desktop guards
Tested: bun test adapters/telegram/__tests__/commands.test.ts
Tested: cd desktop && bun test electron/services/navigationGuards.test.ts
Tested: bun run check:adapters
Tested: bun run check:desktop
Not-tested: bun run verify (scoped local hardening, not PR-ready validation)
Confidence: high
Scope-risk: narrow
2026-07-08 16:57:32 +08:00
程序员阿江(Relakkes)
f6115e91aa feat(desktop): refine activity panel agent interactions
Add generated local Agent mascot PNG assets for SubAgent activity rows and render them through a deterministic AgentMascot component.

Keep tool-call groups collapsed by default and preserve user collapse choices while streaming tool updates arrive.

Tighten the activity panel density while keeping running SubAgents visibly animated without adding runtime image generation.

Tested: cd desktop && bun run test -- src/components/activity/AgentMascot.test.tsx src/components/activity/SessionActivityPanel.test.tsx src/pages/ActiveSession.test.tsx --run

Tested: cd desktop && bun run test -- src/components/activity/AgentMascot.test.tsx src/components/activity/SessionActivityPanel.test.tsx src/components/chat/MessageList.test.tsx src/components/chat/chatBlocks.test.tsx --run

Tested: git diff --check

Tested: bun run check:desktop

Tested: browser smoke at http://127.0.0.1:1420/ with 12 PNG mascot variants loaded at 160x160 and rendered at 30x30.

Confidence: high

Scope-risk: moderate
2026-07-08 15:56:00 +08:00
程序员阿江(Relakkes)
f269887fe7 fix: float browser preview zoom controls (#952)
Move the preview zoom control out of the address toolbar and into a bottom-right floating control area inside the browser preview stage. Keep the native WebContentsView bounds clear of the control strip so the DOM control remains interactive on high-DPI Windows displays.

Tested: cd desktop && bun run test -- src/components/browser/BrowserSurface.test.tsx

Tested: cd desktop && bun run lint

Tested: cd desktop && bun run build

Not-tested: Windows high-DPI real-device smoke.

Confidence: medium

Scope-risk: narrow
2026-07-08 14:53:06 +08:00
程序员阿江(Relakkes)
e4e7026cde fix(provider): diagnose stalled streams
Classify stream watchdog timeouts by stream phase and include non-sensitive diagnostics for stalled provider streams.
Map known watchdog failures to stable desktop WebSocket error codes, and only retry watchdog aborts before content or tool activity starts.

Tested: bun test src/services/api/streamWatchdog.test.ts
Tested: bun test src/server/__tests__/ws-memory-events.test.ts --test-name-pattern "maps watchdog API errors to stable desktop error codes"
Tested: cd desktop && bun test src/stores/chatStore.test.ts --test-name-pattern "persists partial assistant text before an error"
Tested: bun run check:server
Tested: cd desktop && bun run check:desktop
Tested: 5x direct CLI replay, 5x desktop-chain replay, 5x desktop-chain no-entrypoint replay with session 446f8776-538d-46e6-96d6-67080b455b07
2026-07-08 14:13:37 +08:00
rechard-guo
b7efaabcdc Feature(Desktop): #974 Add ctrl+F keyboard shortcut to open find-in-page 2026-07-07 11:29:38 +08:00
程序员阿江(Relakkes)
75ddd158b4 fix(desktop): improve activity panel interactions
Tested: cd desktop && bun run test -- src/components/activity/SessionActivityPanel.test.tsx src/pages/ActiveSession.test.tsx src/pages/SubagentRunPage.test.tsx --run
Tested: bun run check:desktop
Tested: browser smoke for activity panel auto-open and SubAgent run rendering
Not-tested: full bun run verify was not run for this scoped desktop handoff
Confidence: high
Scope-risk: narrow
2026-07-06 21:12:24 +08:00
程序员阿江(Relakkes)
c68d42f6a1 fix: speed up skill marketplace detail previews
Add server-side detail caching and in-flight request coalescing for marketplace details, reuse a long-lived service across API requests, and parallelize ClawHub detail preview fetches.

Add desktop detail cache/prefetch behavior and render marketplace Markdown/code previews through the existing MarkdownRenderer and CodeViewer components.

Stabilize the H5 diagnostics test on machines where the first non-internal IPv4 address is not a plain LAN address.

Tested: bun test src/server/__tests__/skill-market.test.ts src/server/__tests__/skill-market-install.test.ts

Tested: cd desktop && bun run test -- SkillCenter.test.tsx skillMarketStore.test.ts --run

Tested: bun test src/server/__tests__/h5-access-service.test.ts -t 'getDiagnostics reports stale'

Tested: git diff --check

Tested: bun run check:desktop

Tested: bun run check:server

Not-tested: bun run verify and coverage gates; this is a local handoff, not PR-ready validation.

Confidence: high

Scope-risk: moderate
2026-07-06 20:51:51 +08:00