Commit Graph

347 Commits

Author SHA1 Message Date
James Feng
5b0c0fa46f fix: sync missing test mocks and agentToolFilter from upstream
Copied 6 missing mock files (auth, axios, childProcess, log, state,
toolContext) and agentToolFilter.ts from claude-code-best/claude-code.

Result: +92 tests pass, 9 'module not found' errors resolved.
LocalMemoryRecallTool has 40 new failures (mock/impl mismatch, TBD).
2026-06-02 00:59:36 +08:00
James Feng
6ddad59d2f fix: gate preconnectAnthropicApi behind isEssentialTrafficOnly()
CC_Pure:  was the last un-gated outbound
connection — it unconditionally sent a TCP+TLS handshake to
api.anthropic.com on every startup. Now checked against the central
privacy gate (CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC=1) and
skipped when enabled.

Verified via strace: zero remote connections after fix.
2026-06-02 00:14:22 +08:00
James Feng
144c4f551c fix: comment out ACP/performanceShim imports for CC_Pure build compatibility 2026-06-01 23:55:47 +08:00
James Feng
19597a2067 fix: add missing chatgptModels.ts, xhigh type support, and tsconfig fixes 2026-06-01 23:54:46 +08:00
James Feng
c4b3dd1f50 fix: add tsconfig.base.json and revert strict mode for CC_Pure compatibility 2026-06-01 23:51:07 +08:00
claude-code-best
539c6f0e0c docs: 修改 README 2026-06-01 23:49:07 +08:00
claude-code-best
0cc5bd4f0e refactor: 移除 resolveAppliedEffort 中的 max/xhigh 降级分支 2026-06-01 23:48:51 +08:00
claude-code-best
674aa5da39 fix: searchSkills 使用缓存 IDF 前校验 index 引用一致性,修复测试间歇性失败 2026-06-01 23:48:40 +08:00
claude-code-best
2d4b94ab8e fix: 退出启动对话框时终端残留一行内容
gracefulShutdownSync 启动异步 shutdown 后同步返回,React 立即
重新渲染组件,与 cleanupTerminalModes() 中的 Ink unmount 产生
竞态条件,导致退出后终端残留对话框内容。

修复方案:引入 pendingExitCode state,退出路径先清空画面
(渲染 null),在 useEffect 中延迟到下一个 tick 再调用
gracefulShutdownSync,确保 Ink 在终端清理前已完成空帧刷新。

影响三个启动对话框:TrustDialog、BypassPermissionsModeDialog、
DevChannelsDialog。

Co-Authored-By: glm-5.1 <zai-org@claude-code-best.win>
2026-06-01 23:48:33 +08:00
claude-code-best
75c6a5e22e fix: 删除 edit tool 中的旧逻辑处理, 现在已经不需要这些处理了, 大模型够屌 (#1251)
* refactor: remove tab/quote normalization from FileEditTool

* fix: resolve pre-existing typecheck errors (zod v4 compat + RCS web exclude)
2026-06-01 23:48:26 +08:00
claude-code-best
e6a5e9acdd perf: Vite 构建启用 code splitting,Bun RSS 从 966MB 降至 35MB
Bun/JSC 全量解析单文件大 JS 的 bytecode 和 JIT,17MB 产物导致
RSS 暴涨至 ~1GB(Node/V8 懒解析仅需 ~220MB)。启用代码分割后
Bun 按需加载 chunk,--version RSS 35MB,完整加载 ~500MB。

改动:
- vite.config.ts: 移除 codeSplitting:false,添加 chunkFileNames
- post-build.ts: 遍历 dist/ + dist/chunks/ 所有文件做 Bun patch
- 新建 distRoot.ts 共享工具函数,统一路径定位逻辑
- ripgrep.ts/computerUse/setup.ts/claudeInChrome/setup.ts/updateCCB.ts:
  用 distRoot 替换内联 import.meta.url 路径推算
2026-06-01 23:48:14 +08:00
claude-code-best
d020ca4b2d chore: 2.6.5
(cherry picked from commit f2b751f659)
2026-06-01 23:45:28 +08:00
claude-code-best
98c3deb2b6 fix: 修复 BriefTool 循环依赖导致 isBriefEnabled 未定义
将模块顶层 require() 改为懒加载函数 getBriefToolModule(),
延迟到实际调用时才加载模块,避免循环依赖时模块尚未完成初始化。

(cherry picked from commit d4a601475f)
2026-06-01 23:44:15 +08:00
claude-code-best
f35fb02b23 docs: effort 级别描述去掉模型名限制
(cherry picked from commit 897c186f28)
2026-06-01 23:42:26 +08:00
James Feng
d47cb6c182 docs: update RELEASE.md with v1.1.0 changelog 2026-06-01 21:26:33 +08:00
GhostDragon124
8342adf396 docs: update contributors 2026-06-01 13:24:10 +00:00
James Feng
2c31cc2723 Fix Vite runtime requires for restored features 2026-06-01 21:23:28 +08:00
James Feng
f16fdc6691 Fix Vite prompt module bundling 2026-06-01 20:44:56 +08:00
James Feng
2191e0f4de Apply memory peak reductions 2026-06-01 20:40:36 +08:00
James Feng
72bbef671e Apply FileRead memory caps 2026-06-01 20:38:51 +08:00
James Feng
184160ebb8 Apply predictive compact memory optimizations 2026-06-01 20:37:23 +08:00
James Feng
a8398413ea Apply P0 telemetry memory guard 2026-06-01 20:35:08 +08:00
James Feng
042cf907c3 Enable coordinator swarm features 2026-06-01 20:33:29 +08:00
James Feng
916d84d295 Enable auto mode autonomy commands 2026-06-01 20:17:09 +08:00
James Feng
69f7c8ff19 Merge Langfuse tracing integration 2026-06-01 19:52:12 +08:00
James Feng
6d1a732027 ci: improve CodeQL workflow — add workflow_dispatch + Bun setup 2026-06-01 19:39:13 +08:00
James Feng
7bf798d131 Restore GrowthBook analytics gates 2026-06-01 19:39:13 +08:00
GhostDragon124
8f7e642d88 docs: update contributors 2026-06-01 11:27:11 +00:00
James Feng
97f2560327 ci: enable CodeQL security scanning 2026-06-01 19:26:53 +08:00
GhostDragon124
d68388772f docs: update contributors 2026-06-01 11:20:39 +00:00
James Feng
614ed16a95 docs: add CC_Pure v1.0.0 release notes 2026-06-01 19:20:18 +08:00
James Feng
ed197502af fix: resolve tsc errors (remaining upstream type fixes) 2026-06-01 19:01:38 +08:00
James Feng
fe7fcf7dad fix: resolve tsc errors (provider and print refinements) 2026-06-01 18:47:27 +08:00
James Feng
9d42535602 fix: resolve tsc errors (print and transport types) 2026-06-01 18:46:08 +08:00
GhostDragon124
58f749d0ff docs: update contributors 2026-06-01 10:45:04 +00:00
James Feng
d70de46605 fix: resolve tsc errors (upstream type cleanup batch) 2026-06-01 18:44:46 +08:00
James Feng
45f74ffb25 fix: resolve Vite build imports 2026-06-01 18:30:24 +08:00
James Feng
39ba9a56fd feat: pull in Vite build system + complete packages/builtin-tools/
- Add Vite as alternative build (vite.config.ts, scripts/vite-plugin-*)
- Add dab04af7 RSS fix (distRoot, ripgrep path, post-build)
- Pull in packages/builtin-tools/ (+354 files)
- Pull in packages/agent-tools/, mcp-client/, acp-link/, weixin/
- Copy defines.ts from upstream for Vite compatibility
- Update package.json with Vite scripts and deps
2026-06-01 18:18:03 +08:00
xiaoFjun-eng
cff6b16ab6 Fix type (#1242)
* 完善所有用到的type对象,并添加中文注释

* 补充遗失的type

* 修复claude-for-chrome-mcp中的type和interface类型缺失

* 完善注释
2026-06-01 17:48:55 +08:00
xiaoFjun-eng
b78beb7c39 Fix type (#1239)
* 完善所有用到的type对象,并添加中文注释

* 补充遗失的type
2026-06-01 17:48:55 +08:00
James Feng
d4667a11d6 feat: sideQuery third-party provider routing (OpenAI/Grok)
- model.ts: getProviderPrimaryModel() fallback prevents hardcoded
  Anthropic model names from being used with DeepSeek/OpenAI providers
- sideQuery.ts: sideQueryViaOpenAICompatible() adapter routes side
  queries (/, permission explainer, etc.) to OpenAI/Grok API instead
  of Anthropic when a third-party provider is configured
2026-06-01 17:48:55 +08:00
GhostDragon124
a45eee67fc docs: update contributors 2026-06-01 09:31:31 +00:00
claude-code-best
d0aa028a44 fix: 修复 truncate 函数接收到 undefined/null 时崩溃的问题
BackgroundTask 组件渲染时传入的 task 属性(description、title、command 等)
可能为 undefined,导致 str.indexOf('\n') 抛出 TypeError。

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-06-01 17:31:12 +08:00
James Feng
3969e22336 feat: remove model whitelist for max effort level 2026-06-01 17:31:12 +08:00
claude-code-best
f095c7bdc2 fix: 修复内存溢出问题,compact 时清理持久增长数据结构
- compact 时清理 contentReplacementState(seenIds/replacements)
- logError() 使用 shortErrorStack 替代完整 err.stack,减少 GC 压力
- permissionDenials 每次 submitMessage 清空,防止无限增长
- SSE 缓冲区添加 1MB 上限,防止畸形数据无限累积

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-06-01 17:31:12 +08:00
Cepvor
ca6f69c4ce fix: 为 sessionStorage existingSessionFiles Map 添加容量上限 (#1227)
* fix: 修复子代理 token 消耗在主 spinner 中始终显示为 0

Spinner.tsx 的 token 聚合循环仅统计 in_process_teammate 类型任务,
漏掉了 local_agent(后台代理/verification agent)类型。当后台代理
运行时,主界面 spinner 一直显示 "↓ 0 tokens",因为 background agent
的 token 消耗未被纳入 teammateTokens 聚合。

同时在 inProcessRunner.ts 中,进程内队友完成时计算并设置 result
(含 totalTokens/totalToolUseCount/content/usage),使详情弹窗可以
正确展示累计 token 消耗,不再仅依赖 progress.tokenCount 间歇更新。

Co-Authored-By: deepseek-v4-pro[1m] <deepseek-ai@claude-code-best.win>

* fix: 为 cacheWarningStateBySource Map 设置上限防止内存泄漏

Map 以 querySource 为 key 存储每个来源的缓存命中率历史状态,
但 querySource 类型为 `any`,长时间会话中可能产生大量唯一值,
Map 持续增长永不清理。

新增 MAX_SOURCE_ENTRIES = 50 上限,新增条目时若达到上限则
逐出最早插入的条目(Map 按插入顺序迭代)。

同时也新增 _resetCacheWarningStateForTest() 用于测试隔离。

Co-Authored-By: deepseek-v4-pro[1m] <deepseek-ai@claude-code-best.win>

* fix: 为 sessionStorage existingSessionFiles Map 添加容量上限

existingSessionFiles Map 缓存 sessionId → 文件路径映射以避免重复
stat 调用,但在 coordinator/swarm 模式下,每个子代理产生独立
sessionId,长时间运行的 daemon 会话可能累积数千条目。

新增 MAX_CACHED_SESSION_FILES = 200 上限,新增条目时若达到上限则
逐出最早插入的条目。同时在 _resetFlushState() 中清除此缓存以保证
测试隔离。

Co-Authored-By: deepseek-v4-pro[1m] <deepseek-ai@claude-code-best.win>

---------

Co-authored-by: deepseek-v4-pro[1m] <deepseek-ai@claude-code-best.win>
2026-06-01 17:31:12 +08:00
cepvor
c2d02d1991 fix: 为 cacheWarningStateBySource Map 设置上限防止内存泄漏
Map 以 querySource 为 key 存储每个来源的缓存命中率历史状态,
但 querySource 类型为 `any`,长时间会话中可能产生大量唯一值,
Map 持续增长永不清理。

新增 MAX_SOURCE_ENTRIES = 50 上限,新增条目时若达到上限则
逐出最早插入的条目(Map 按插入顺序迭代)。

同时也新增 _resetCacheWarningStateForTest() 用于测试隔离。

Co-Authored-By: deepseek-v4-pro[1m] <deepseek-ai@claude-code-best.win>
2026-06-01 17:31:12 +08:00
claude-code-best
dbfa1b651a fix: eliminate memory leak in promptCacheBreakDetection by replacing closures with pre-computed strings
The buildDiffableContent and buildPrevDiffableContent fields were closures
capturing full system prompt and tool schema arrays (~300KB each). With 10
map entries × 2 closures, this held ~6MB of GC-unreachable memory.

Since recordPromptState already serializes the same data for hashing,
pre-computing the diffable content string has negligible marginal cost.
2026-06-01 17:31:12 +08:00
James Feng
42ebd3ce79 fix: subtract cached_tokens from input_tokens in OpenAI stream adapter
OpenAI's prompt_tokens includes cached tokens, but Anthropic's
input_tokens semantic excludes them. The adapter was mapping
prompt_tokens → input_tokens verbatim, causing downstream code
(cache hit rate, cost, autocompact) to double-count.
2026-06-01 17:31:12 +08:00
James Feng
911877e0a5 fix: preserve empty reasoning_content for DeepSeek v4 thinking mode (#399) 2026-06-01 17:31:12 +08:00