unraid
c4775fff58
feat: 添加 autonomy 自主模式命令系统
...
- 新增 autonomy CLI handler 和交互式面板
- 新增 autonomyCommandSpec 命令规范定义
- 新增 autonomyAuthority 权限控制
- 新增 autonomyStatus 状态管理
- 注册 CLI 子命令 (claude autonomy status/runs/flows/flow)
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-22 22:38:09 +08:00
unraid
1837df5f88
feat: 添加 skill learning 技能学习闭环系统
...
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-22 22:38:09 +08:00
unraid
04c7ed4250
chore: 删除废弃文档和残留文件
...
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-22 22:38:08 +08:00
Askhz
772739c6c9
fix: 在 CoStrict provider 下侧查询统一使用主循环模型
...
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-22 16:09:58 +08:00
yhf
3e8a82d01c
Merge pull request #36 from Askhz/fix/model-chat
...
fix: restrict ANTHROPIC_MODEL to anthropic-compatible providers in model picker
2026-04-22 11:39:13 +08:00
Askhz
c1b7bbc2d3
fix: restrict ANTHROPIC_MODEL to anthropic-compatible providers in model picker
...
- Only show ANTHROPIC_MODEL env var model for firstParty/bedrock/vertex/foundry
- Do not leak it into OpenAI/Gemini/Grok/CoStrict pickers
- Remove settings.model from custom model options
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-22 11:17:28 +08:00
yhf
2393020e62
Merge pull request #35 from Askhz/chore/change-logo
...
chore: change logo
2026-04-22 09:40:53 +08:00
yhangf
5197e2d7cb
refactor(cli): rename command references from 'claude --resume' to 'csc --resume'
2026-04-22 09:34:58 +08:00
Askhz
7ad764b5a4
chore: update changelog URL to y574444354/csc repository
...
- Changed CHANGELOG_URL and RAW_CHANGELOG_URL to point to y574444354/csc
- Updated both GitHub page and raw content URLs
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-21 19:38:55 +08:00
claude-code-best
cee62bc654
fix: 修复 model alias 导致无限递归栈溢出
...
当用户 settings 中配置 model = "opus[1m]" 等 alias 值时,
getDefaultOpusModel() → parseUserSpecifiedModel() → getDefaultOpusModel()
形成无限递归,导致启动时 RangeError: Maximum call stack size exceeded。
在 getDefaultOpusModel/Sonnet/Haiku 的 fallback 路径中增加
isAliasOrAliasWithSuffix 守卫,跳过 alias 值直接使用硬编码默认值。
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-21 16:10:16 +08:00
claude-code-best
ed4bdb9338
feat: 增强 auto mode 的易用性 ( #312 )
...
* feat: poor 模式降级 yolo 审阅模型
* feat: 为多模块添加 Langfuse tracing 支持
在 web search、agent creation、away summary、token estimation、
skill improvement 等模块中集成 Langfuse trace,并透传至
compact/apiQueryHook/execPromptHook 等调用链。
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
* fix: 让 auto mode 记录回主 trace
* fix: reopen auto mode prompt when classifier is unavailable
* fix: 修复 auto mode 情况下, llm 报错导致弹窗也不打开的问题
---------
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-20 21:13:09 +08:00
Askhz
425ca6bb19
feat: cleanup CLAUDE_CODE_USE_COSTRICT env var after provider switch
...
- Remove env var in provider.ts unset/anthropic/openai/gemini/grok handlers
- Remove env var after OAuth login and model save success in ConsoleOAuthFlow
- Fix modelOptions.ts to only show CoStrict models when provider IS costrict
- Remove unused hasCoStrictCredentialsSync import and getCoStrictLoginOption
2026-04-20 21:08:25 +08:00
y574444354
ddb776cd5f
refactor: 优化 Windows TTY 处理和代码风格统一
...
- scripts/dev.ts: 添加 CLAUDE_CODE_FORCE_INTERACTIVE 环境变量处理,优化 Windows 嵌套 Bun 启动时的交互模式检测
- cli.tsx: 统一代码风格(分号、引号),添加 ref/unref/setRawMode polyfill 以支持 Windows 环境
- model.ts: 优化模型选择逻辑,仅对 Anthropic 相关 provider 使用 ANTHROPIC_MODEL 环境变量
- sideQuery.ts: 更新导入路径,使用 @ant/model-provider 包
- README.md: 添加分隔线
2026-04-20 17:55:09 +08:00
claude-code-best
e4ce08fe39
Fixture/langfuse record auto mode data error ( #308 )
...
* fix: 修复状态栏 context 计数器在 loading 时闪现为 0 的问题
第三方 API(如智谱)在 message_start 中可能不返回完整 usage 数据,
导致 getCurrentUsage 返回全零 usage 对象,使 ctx 显示为 0%。
双重保护:
- getCurrentUsage: 跳过全零 usage,继续往前找有真实数据的 message
- calculateContextPercentages: totalInputTokens 为 0 时返回 null
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
* fix: 外部化 ESM 包使用 createRequire 替代裸 require
color-diff-napi、image-processor-napi、audio-capture-napi 声明
"type": "module" 但使用裸 require(),Node.js ESM 中 require
不可用。改用 createRequire(import.meta.url) 或顶层 import。
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
* fix: getDefaultSonnetModel 优先使用用户配置的模型,修复第三方 provider 模型不存在错误
当用户通过 ANTHROPIC_MODEL 或 settings 配置了自定义 provider 支持的模型时,
getDefaultSonnetModel/Haiku/Opus 现在会优先使用该配置,而非硬编码 Anthropic 官方模型 ID。
同时改进 Langfuse 可观测性:sideQuery 失败时记录错误信息到 span,
optional 模式下标记 WARNING 而非 ERROR。
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
* fix: 将 auto_mode classifier 的 side-query span 绑定到父 trace
classifyYoloAction 及 classifyYoloActionXml 接收 parentSpan 参数,
透传给 sideQuery 调用,使 auto_mode 的 side-query span 嵌套在主 agent trace 下。
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
* fix: 穷鬼模式下跳过 memdir_relevance side-query
Poor mode 启用时不执行 findRelevantMemories 的预取调用,
避免额外的 API token 消耗。
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
* chore: 添加 test:all 脚本用于完成任务后的全量检查
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
* fix: Vite 构建补齐缺失的 feature flags,修复 auto mode 不可见
Vite 构建插件的 DEFAULT_BUILD_FEATURES 缺少 BUDDY、TRANSCRIPT_CLASSIFIER、
BRIDGE_MODE、ACP、BG_SESSIONS、TEMPLATES,导致 feature('TRANSCRIPT_CLASSIFIER')
被替换为 false,auto mode 从 Shift+Tab 循环中消失。与 build.ts 对齐。
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
* fix: 统一 feature flags 到 defines.ts,修复 Vite 构建缺失 auto mode
将 DEFAULT_BUILD_FEATURES 列表从 build.ts、dev.ts、vite-plugin-feature-flags.ts
三处内联定义统一到 scripts/defines.ts 单一导出。之前的 Vite 插件缺少
TRANSCRIPT_CLASSIFIER 等 feature flag,导致 auto mode 在 Vite 构建中不可见。
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
---------
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-20 13:30:05 +08:00
claude-code-best
92f8a92fbb
feat: 正式启用 auto mode ( #307 )
...
* fix: 修复settings.json内存状态溢出的问题
* fix: 修复auto mode gate check未处理的promise rejection
在 bypassPermissionsKillswitch.ts 的 useKickOffCheckAndDisableAutoModeIfNeeded
中,void fire-and-forget 调用缺少 .catch() 处理,导致 verifyAutoModeGateAccess
失败时产生 unhandled promise rejection。同时移除 permissionSetup.ts 中冗余的
null check。
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
* feat: 开放 auto mode 和 bypass mode 给所有用户
通过 Shift+Tab 统一循环:default → acceptEdits → plan → auto → bypassPermissions → default
- 移除 USER_TYPE 分支判断,所有用户使用同一循环路径
- isBypassPermissionsModeAvailable 始终为 true
- isAutoModeAvailable 初始化直接为 true
- 移除 AutoModeOptInDialog 确认流程
- 简化 isAutoModeGateEnabled 仅保留快模式熔断器
- 简化 verifyAutoModeGateAccess 仅检查快模式
- 移除 GrowthBook/Statsig 远程门控
- bypass permissions killswitch 改为 no-op
- 新增 24 个测试覆盖循环逻辑和门控不变量
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
* feat: 为sideQuery添加Langfuse追踪
sideQuery 绕过了 claude.ts 的主 API 路径,导致所有走 sideQuery 的调用
(auto mode classifier、permission explainer、session search 等)都没有
Langfuse 记录。现在为每次 sideQuery 调用创建独立 trace 并记录 LLM observation,
未配置 Langfuse 时全部 no-op。
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
* fix: ACP availableModes 补齐 bypassPermissions 并修正测试 import 路径
- ACP agent availableModes 按条件包含 bypassPermissions(非 root/sandbox)
- 顺序对齐 REPL 循环:default → acceptEdits → plan → auto → bypassPermissions
- 新增 2 个测试验证 availableModes 包含 bypassPermissions 及模式切换
- 修正 getNextPermissionMode.test.ts 和 permissionSetup.test.ts 的 import 路径
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
---------
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-20 10:20:27 +08:00
claude-code-best
2e9aaf4993
feat: ACP 协议版本 remote control ( #293 )
...
* fix: 添加 usage 字段缺失时的防御性防护
第三方 API(如智谱 GLM)在某些流式响应中不返回 usage 字段,
导致 usage.input_tokens 访问 undefined 崩溃并连锁影响后续所有请求。
- claude.ts: content_block_stop 创建消息时 fallback 到 EMPTY_USAGE
- LocalAgentTask.tsx: usage 为 undefined 时提前返回
- tokens.ts: getTokenCountFromUsage 加 null guard 和 ?? 0
- cost-tracker.ts: input_tokens/output_tokens 加 ?? 0
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
* feat: ACP Plan 展示 — 支持 session/update plan 类型的可视化
补全 PlanUpdate 类型定义(PlanEntry/Priority/Status),新建 PlanView 组件
渲染进度条、状态图标和优先级标签,在 ChatInterface 中处理 plan 更新逻辑。
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
* feat: 穷鬼模式下跳过 verification agent 以节省 token
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
* test: 补充 RCS 后端 + 前端测试覆盖 (+116 tests)
后端新增 3 个测试文件 (70 tests):
- automationState: normalize/snapshot/equals 纯函数
- client-payload: toClientPayload 协议转换
- transport-normalize: normalizePayload + extractContent
前端新增 2 个测试文件 (46 tests):
- utils: formatTime/statusClass/truncate/extractEventText 等
- api-client: getUuid/setUuid/api GET/POST 错误处理
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
* feat: RCS ACP 页面添加权限模式选择器 + 权限响应修复
- 新增权限模式选择器 UI(6种模式:默认/自动接受编辑/跳过权限/规划/不询问/自动判断)
- 权限模式通过 ACP _meta 从 web → acp-link → agent 全链路传递
- 修复 PermissionPanel 点击"允许"发送 cancelled 而非 selected 的 bug
- 权限模式和模型选择持久化到 localStorage
- acp-link 直接连接路径同步支持 permissionMode 透传
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
* feat: RCS Web UI 重构 + QR 修复 + ACP 扫描自动跳转
- RCS Web UI 组件全面重构: Dialog 迁移 Radix UI, lazy loading,
主题系统改进, 组件样式优化
- IdentityPanel QR 码显示修复: requestAnimationFrame 延迟绘制
解决 Radix Dialog Portal 挂载时序问题
- ACP QR 扫描自动跳转: IdentityPanel 扫描 ACP 格式 { url, token }
后存储 sessionStorage 并跳转 /code/?acp=1
- 新增 ACPDirectView 组件: ACP 直连视图, 用 ACPClient 连接并
渲染 ACPMain 聊天界面
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
* feat: ACP 权限管道改进 — 模式同步 + bypass 检测 + 统一权限流水线
- agent.ts: applySessionMode 同步 appState.toolPermissionContext.mode
- agent.ts: bypassPermissions 可用性检测 (非 root 或 sandbox 环境)
- permissions.ts: createAcpCanUseTool 接入 hasPermissionsToUseTool
统一权限流水线, 替代原来分散的处理逻辑
- permissions.ts: 支持 onModeChange 回调, 模式变更时实时同步
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
* fix: acp-link 支持 permissionMode 默认值传递给 agent
客户端 (Zed/VS Code 等) 的 new_session 不一定携带 permissionMode,
导致 agent 收到 _meta: undefined, permission 回退到 default。
修复: handleNewSession 使用 fallback 链:
客户端传值 > config.permissionMode > ACP_PERMISSION_MODE 环境变量
使用: ACP_PERMISSION_MODE=auto acp-link claude
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
* docs: 更新文档及说明
* fix: 修复类型错误
* chore: 提交脚本
---------
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-18 21:54:22 +08:00
y574444354
387029744d
Merge branch 'upstream/main' into main
...
同步上游主仓库最新代码,包含以下更新:
- feat(remote-control): 优化 Web 展示、状态同步与桥接控制流程 (#288 )
- build: CI 添加通过过滤
- fix: 解决 node 下 loading 按钮计算错误问题
- docs: 更新说明
- test: 修正 mock 的滥用情况
- fix: 修复 linux 端的安装问题
- feat: 重构供应商层次 (#286 )
- Feat/integrate lint preview (#285 )
- feat: 添加对 ACP 协议的支持 (#284 )
- feat(langfuse): LLM generation 记录工具定义
- feat: 添加环境变量支持以覆盖 max_tokens 设置
- build: 新增 vite 构建流程
2026-04-17 17:59:48 +08:00
Cheng Zi Feng
72a2093cd6
feat(remote-control): 优化 Web 展示、状态同步与桥接控制流程 ( #288 )
...
Co-authored-by: chengzifeng <chengzifeng@meituan.com>
2026-04-17 16:21:27 +08:00
claude-code-best
a14b7f352b
test: 修正 mock 的滥用情况
2026-04-17 10:13:09 +08:00
claude-code-best
bddd146f25
feat: 重构供应商层次 ( #286 )
...
* refactor: 创建 @anthropic-ai/model-provider 包骨架与类型定义
- 新建 workspace 包 packages/@anthropic-ai/model-provider
- 定义 ModelProviderHooks 接口(依赖注入:分析、成本、日志等)
- 定义 ClientFactories 接口(Anthropic/OpenAI/Gemini/Grok 客户端工厂)
- 搬入核心类型:Message 体系、NonNullableUsage、EMPTY_USAGE、SystemPrompt、错误常量
- 主项目 src/types/message.ts 等改为 re-export,保持向后兼容
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
* refactor: 提升 OpenAI 转换器和模型映射到 model-provider 包
- 搬入 OpenAI 消息转换(convertMessages)、工具转换(convertTools)、流适配(streamAdapter)
- 搬入 OpenAI 和 Grok 模型映射(resolveOpenAIModel、resolveGrokModel)
- 主项目文件改为 thin re-export proxy
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
* refactor: 搬入 Gemini 兼容层到 model-provider 包
- 搬入 Gemini 类型定义、消息转换、工具转换、流适配、模型映射
- 主项目 gemini/ 目录下文件改为 thin re-export proxy
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
* refactor: 搬入 errorUtils 并迁移消费者导入到 model-provider
- 搬入 formatAPIError、extractConnectionErrorDetails 等 errorUtils
- 迁移 10 个消费者文件直接从 @anthropic-ai/model-provider 导入
- 更新 emptyUsage、sdkUtilityTypes、systemPromptType 为 re-export proxy
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
* feat: compact 模型降级为 -1 模式(Opus→Sonnet, Sonnet→Haiku)
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
* docs: 添加 agent-loop 绘图
* Revert "feat: compact 模型降级为 -1 模式(Opus→Sonnet, Sonnet→Haiku)"
This reverts commit e458d6391d .
* docs: 添加简化版 agent loop
* fix: 修复 n 快捷键导致关闭的问题
* fix: 修复 node 下 ws 没打包问题
* docs: 修复链接
* test: 添加测试支持
* fix: 修复类型问题(#267 ) (#271 )
* fix: 修复 Bun 的 polyfill 问题
* fix: 类型修复完成
* feat: 统一所有包的类型文件
* fix: 修复构建问题
* test: 修复类型校验 (#279 )
* fix: 修复 Bun 的 polyfill 问题
* fix: 类型修复完成
* feat: 统一所有包的类型文件
* fix: 修复构建问题
* fix(remote-control): harden self-hosted session flows (#278 )
Co-authored-by: chengzifeng <chengzifeng@meituan.com>
* docs: update contributors
* build: 新增 vite 构建流程
* feat: 添加环境变量支持以覆盖 max_tokens 设置
* feat(langfuse): LLM generation 记录工具定义
将 Anthropic 格式的工具定义转换为 Langfuse 兼容的 OpenAI 格式,
并在 generation 的 input 中以 { messages, tools } 结构传入,
以便在 Langfuse UI 中查看完整的工具定义信息。
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
* feat: 添加对 ACP 协议的支持 (#284 )
* feat: 适配 zed acp 协议
* docs: 完善 acp 文档
* chore: 1.4.0
* conflict: 解决冲突
* feat: 添加测试覆盖率上报
* style: 改名加移动文件夹位置
* refactor: 移动测试用例及实现
* test: 修复测试用例完成
---------
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
Co-authored-by: Cheng Zi Feng <1154238323@qq.com>
Co-authored-by: chengzifeng <chengzifeng@meituan.com>
Co-authored-by: claude-code-best <272536312+claude-code-best@users.noreply.github.com>
2026-04-17 09:33:14 +08:00
claude-code-best
c8d08d235b
Feat/integrate lint preview ( #285 )
...
* feat: 适配 zed acp 协议
* docs: 完善 acp 文档
* feat: integrate feature branches + daemon/job 命令层级化 + 跨平台后台引擎
Cherry-picked from origin/lint/preview (637c908 ), excluding lint-only changes.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
* fix: correct detectMimeFromBase64 to decode raw bytes from base64
Cherry-picked from origin/lint/preview (ee36954 ).
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
* fix: daemon 子进程 spawn 跨平台修复 + CliLaunchSpec 集中化重构
Cherry-picked from origin/lint/preview (c5f52cd ), excluding lint-only formatting changes.
- 新建 src/utils/cliLaunch.ts: 集中化 CLI 子进程启动层
- 修复 --daemon-worker=kind 等号格式解析
- 修复 daemon/bg fast path 缺少 setShellIfWindows()
- 修复 checkPathExists 用 existsSync 替代 execSync('dir')
- 7 个 spawn 站点迁移到 CliLaunchSpec
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
* fix: merge tsconfig.base.json into tsconfig.json with full compiler options
The cherry-pick from 637c908 dropped jsx/strict/etc settings when removing
tsconfig.base.json. This commit restores them in a single tsconfig.json.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
* fix: merge tsconfig.base.json into tsconfig.json with full compiler options
The cherry-pick from 637c908 dropped jsx/strict/etc settings when removing
tsconfig.base.json. This commit restores them in a single tsconfig.json.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
---------
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-16 20:59:29 +08:00
y574444354
d67b7e4010
fix: 修复 Windows nvm4w 路径下 upgrade 命令识别为 development 的问题
...
- doctorDiagnostic: 增加 Windows nvm4w/nodejs 路径检测
- 路径比较时统一规范化分隔符,确保跨平台匹配
- chore: bump version to 4.0.8
2026-04-16 20:38:26 +08:00
y574444354
bd929f1db1
merge: 合并 main 分支,解决冲突
2026-04-16 19:53:05 +08:00
y574444354
fbeaf1395e
fix: 修复 CoStrict provider 模型选择与 token 估算问题
...
- ConsoleOAuthFlow: 替换 ModelPicker 为直接 Select 组件,避免
getAPIProvider() 竞态导致显示标准 Anthropic 模型列表
- modelOptions: 简化模型选项逻辑,CoStrict 凭证持有者统一走
CoStrict 模型缓存路径,加载中显示提示而非标准模型列表
- provider/index: 回写 usage 和 stop_reason 到已 yield 的
assistant messages,与 Anthropic 原生路径保持一致
- tokenEstimation: 非 Anthropic 原生 provider(costrict/openai/
grok/gemini)统一使用粗略 token 估算
- 品牌文案: Claude → CoStrict 相关措辞修正
2026-04-16 19:12:01 +08:00
xixingde
417a2ada18
Merge branch 'main' of https://github.com/y574444354/csc
2026-04-16 10:58:08 +08:00
xixingde
48eca1f35b
fix(slash-command): propagate Agent(x,y,z) allowedAgentTypes restriction to forked command context
2026-04-16 00:14:36 +08:00
y574444354
4d446823ea
feat: 品牌重命名 claude → csc 并注册 update 命令
...
- 将用户可见的 CLI 提示从 claude 替换为 csc(错误信息、用法说明、文档)
- 注册 csc update / csc upgrade 子命令
- 设置 MACRO.PACKAGE_URL 为 @costrict/csc
- 更新 auto-updater 和启动流文档
2026-04-15 14:15:50 +08:00
xixingde
05c8fe9589
Merge branch 'main' into dev
2026-04-15 10:19:12 +08:00
Ubuntu
88e2ce1e70
refactor: 重构 provider、agents、status 及相关工具模块
2026-04-14 14:21:21 +00:00
geroge
fd000d5cf7
Merge pull request #26 from Askhz/fix/init-model-load
...
fix: prioritize settings model and improve bun executable resolution
2026-04-14 16:51:42 +08:00
Askhz
ccd135c4ed
fix: prioritize settings model over ANTHROPIC_MODEL env var and improve bun executable resolution
...
- Swap model resolution priority so user's explicit model selection via /login takes precedence over ANTHROPIC_MODEL environment variable
- Use process.execPath instead of hardcoded 'bun'/'bun.exe' for more reliable executable resolution across installation methods
- Disable biome formatter
2026-04-14 11:35:03 +08:00
y574444354
39d21d27c9
merge: sync upstream claude-code-best/claude-code main ( dad3ad2)
...
同步上游主仓库最新代码,整合以下新功能:
- feat: 工具层及 mcp 大重构 (#252 )
- feat: 远程群控 (#243 )
- feat: 添加对 langfuse 监控的支持 (#242 )
- feat: 完成第一个 mcp-chrome 接入版本
- feat: 添加模型 1M 上下文切换
- feat: langfuse 工具调用显示为嵌套结构
- feat: 加上 userId 的传递
- feat: Add Ultraplan Feature for Advanced Multi-Agent Planning (#232 )
- feat: Add brave as alternative WebSearchTool
- fix: 修复 Bun.hash 不存在问题
- fix: 修复缓存
- fix: 修复 interrupt 日志不上传
- fix: 修复 chrome 链接版本
- fix: 使用简化版本的 chrome 桥接器
- fix: 修复 node 环境没有 bun 的问题
- fix: 修复穷鬼模式的写入问题
- fix: 修复对穷鬼模式的 auto dream 和 session memory 越过
- fix: 修复初次登陆的校验问题
- fix(openai): fix stop_reason null, zero usage fields and max_tokens forwarding
- chore: 1.3.3 版本
- docs: 添加浏览器说明支持
冲突解决策略:
- 保留 CoStrict 品牌、4.0.x 版本号、csc bin 命令
- 保留 CoStrict 企业认证体系和 Agent 编排
- 采用上游的 1M context、langfuse、chrome mcp、远程群控等新功能
- 采用上游的 getDialogConfig/promptIdentifier 模式
- 采用上游的 FORCE_INTERACTIVE TTY 修复
- 合并两者:保留 CoStrict 品牌名 + 上游新代码模式
2026-04-14 11:18:05 +08:00
yhangf
523018de61
feat(permissions): add configurable auto-select timeout for AskUserQuestion dialogs
2026-04-13 10:37:11 +08:00
claude-code-best
2fb1c9dcd8
feat: 工具层及 mcp 大重构 ( #252 )
...
* feat: 第一版大重构
* fix: 修复类型问题
* chore: 更新版本到 1.3.2
* Add brave as alternative WebSearchTool
* fix: 修正顺序
* fix: 修复对穷鬼模式的 auto dream 和 session memory 越过
* feat: 穷鬼模式去除 session-summary
* feat: 创建 builtin-tools 包,搬运所有工具实现
将 src/tools/ 下的全部 60 个工具目录迁移至 packages/builtin-tools/src/tools/,
内部导入路径已更新为 src/ alias 模式。
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
* refactor: 更新 src/ 中所有工具引用至 builtin-tools 包,删除 src/tools/
- src/tools.ts 及 178 个 src/ 文件的 import 路径从 ./tools/ 改为 builtin-tools/tools/
- 删除 src/tools/ 整个目录(已迁移至 packages/builtin-tools/)
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
* chore: 添加 builtin-tools 路径别名至 tsconfig,更新 bun.lock
- tsconfig.json 新增 builtin-tools/* 和 builtin-tools 路径映射
- 新增 packages/builtin-tools/src 至 include
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
* refactor: 为 builtin-tools、mcp-client、agent-tools 添加 @claude-code-best 作用域前缀
所有包名及 import 路径统一添加 @claude-code-best/ 前缀:
- builtin-tools → @claude-code-best/builtin-tools
- mcp-client → @claude-code-best/mcp-client
- agent-tools → @claude-code-best/agent-tools
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
* fix: 修复 node 环境没有 bun 的问题
---------
Co-authored-by: Eric-Guo <eric.guocz@gmail.com>
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-13 09:52:05 +08:00
claude-code-best
bd6448ecda
fix: 修正顺序
2026-04-12 23:12:09 +08:00
claude-code-best
227083d31f
fix: 修复截图 MIME 类型硬编码导致 API 拒绝的问题
...
macOS screencapture 输出 PNG,但代码硬编码 mimeType 为 image/jpeg,
导致 API 报错 "specified using image/jpeg but appears to be image/png"。
改为通过 magic bytes 检测实际图片格式。
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-12 17:32:28 +08:00
claude-code-best
e9861415c0
fix: 修复穷鬼模式的写入问题
2026-04-12 09:15:12 +08:00
claude-code-best
09fc515edb
feat: 远程群控 ( #243 )
...
* feat: restore pipe IPC, LAN pipes, monitor tool, and PR-package features
Core IPC system (UDS_INBOX):
- PipeServer/PipeClient with UDS + TCP dual transport, NDJSON protocol
- PipeRegistry: machineId-based role assignment, file locking
- Master/slave attach, prompt relay, permission forwarding
- Heartbeat lifecycle with parallel isPipeAlive probes
- Commands: /pipes, /attach, /detach, /send, /claim-main, /pipe-status
LAN Pipes (LAN_PIPES):
- UDP multicast beacon (224.0.71.67:7101) for zero-config LAN discovery
- PipeServer TCP listener, PipeClient TCP connect mode
- Heartbeat auto-attaches LAN peers via TCP
- Cross-machine attach allowed regardless of role
- /pipes shows [LAN] peers with role + hostname/IP
- SendMessageTool supports tcp: scheme with user consent
Architecture — extracted hooks from REPL.tsx (~830 lines → ~20 lines):
- usePipeIpc: lifecycle (bootstrap, handlers, heartbeat, cleanup)
- usePipeRelay: slave→master message relay via module singleton
- usePipePermissionForward: permission request/cancel forwarding
- usePipeRouter: selected pipe input routing with role+IP labels
- Shared ndjsonFramer.ts replaces 3 duplicate NDJSON parsers
Key fixes applied during development:
- Multicast binds to correct LAN interface (not WSL/Docker)
- Beacon ref stored as module singleton (not Zustand state mutation)
- Heartbeat preserves LAN peers in discoveredPipes and selectedPipes
- Disconnect handler calls removeSlaveClient (fixes listener leak)
- cleanupStaleEntries probes without lock, writes briefly under lock
- getMachineId uses async execFile (not blocking execSync)
- globalThis.__pipeSendToMaster replaced with setPipeRelay singleton
- M key only toggles route mode when selector panel is expanded
- User prompt displayed in message list on pipe broadcast
- Broadcast notifications show [role] + hostname/IP for LAN peers
Other restored features:
- Monitor tool: /monitor command, MonitorTool, MonitorMcpTask lifecycle
- Daemon supervisor and remoteControlServer command
- Tools: SnipTool, SleepTool, ListPeersTool, SendUserFileTool,
WebBrowserTool, WorkflowTool, and 10+ stub→implementation rewrites
- Feature flags: UDS_INBOX, LAN_PIPES, MONITOR_TOOL, FORK_SUBAGENT,
KAIROS, COORDINATOR_MODE, WORKFLOW_SCRIPTS, HISTORY_SNIP
Tests: 2190 pass / 0 fail (15 new: lanBeacon 7, peerAddress 8)
* fix: resolve merge conflicts and fix all tsc/test errors after main merge
- Export ToolResultBlockParam from Tool.ts (14 tool files fixed)
- Migrate ink imports from ../../ink.js to @anthropic/ink (7 files)
- Fix toolUseID → toolUseId typo in monitor.ts and MonitorTool.tsx
- Add fallback values for string|undefined type errors (8 locations)
- Fix AppState type in assistant.ts, add NewInstallWizard stubs
- Fix ParsedRepository.repo → .name in subscribe-pr.ts
- Fix AgentId/string type mismatch in BackgroundTasksDialog.tsx
- Fix PipeRelayFn return type in pipePermissionRelay.ts
- Use PipeMessage type in usePipeRelay.ts
- Fix lanBeacon.test.ts mock type assertions
- Create missing MouseActionEvent class for ink package
- Use ansi: color format instead of bare "green"/"red"
- Resolve theme.permission access via getTheme()
Result: 0 tsc errors, 2496 tests pass, 0 fail
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
* fix: 恢复 /poor 的说明
---------
Co-authored-by: unraid <local@unraid.local>
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-11 23:22:55 +08:00
claude-code-best
6a70056910
feat: 全部类型问题解决
2026-04-11 10:24:00 +08:00
Askhz
6fb91d2c28
feat(logo): show "Not logged in" state and provider display name in logo
...
Add isNotLoggedIn() utility to detect unauthenticated state and display
"Not logged in" message in both LogoV2 and CondensedLogo components.
Replace billing type with provider display name (e.g. "OpenAI", "AWS
Bedrock") when logged in. Subscribe to authVersion to re-render on
login/logout. Add third-party provider model options for OpenAI, Gemini,
Grok, Bedrock, Vertex, and Foundry. Disable biome formatter.
2026-04-11 01:41:55 +08:00
claude-code-best
7088fe3c8b
Merge remote-tracking branch 'guunergooner/fix/openai-stop-reason-usage'
2026-04-10 22:27:16 +08:00
sobird
9da7345f8e
Add Ultraplan Feature for Advanced Multi-Agent Planning ( #232 )
...
* feat: add ultraplan feature for advanced multi-agent planning
Implement ultraplan command with web-based planning interface,
supporting multiple prompt modes and interactive plan approval.
* chore: add semi
* chore: add semi
2026-04-10 22:17:00 +08:00
claude-code-best
8137b66a46
fix: 修复初次登陆的校验问题
2026-04-10 22:06:02 +08:00
claude-code-best
ff03fe7fcb
fix: 修复类型问题
2026-04-10 17:34:01 +08:00
geroge
c4238f5125
Merge pull request #19 from Askhz/feat/costrict-sidequery
...
feat(sideQuery): add OpenAI and CoStrict provider support
2026-04-10 15:54:39 +08:00
Askhz
c65bbeaeba
feat(sideQuery): add OpenAI and CoStrict provider support
...
- Route sideQuery to appropriate provider based on config
- Add sideQueryCoStrict() for CoStrict API integration
- Add sideQueryOpenAI() for OpenAI API integration
- Both implementations return BetaMessage format for compatibility
2026-04-10 15:44:54 +08:00
y574444354
8ea29466ee
refactor: replace "Claude's" with "CoStrict's" in user-facing copy
...
Replace all "Claude's" references with "CoStrict's" across 34 source files
including commands, components, services, tools, and utilities.
2026-04-10 15:35:08 +08:00
guunergooner
c82f59943c
fix(openai): fix stop_reason null, zero usage fields and max_tokens forwarding
...
- Fix stop_reason always null in assembled AssistantMessage by applying
the value captured from message_delta event
- Reset partialMessage to null after message_stop to prevent duplicate
AssistantMessage emission causing doubled content in next API request
- Forward computed maxTokens into buildOpenAIRequestBody as max_tokens
so OpenAI-compatible endpoints receive the intended output cap
- Extract assembleFinalAssistantOutputs helper to deduplicate message
assembly logic between message_stop handler and post-loop fallback
- Fix test helper to use events parameter instead of hidden global
- Add regression test for max_tokens request forwarding
Signed-off-by: guunergooner <tongchao0923@gmail.com>
2026-04-10 12:17:52 +08:00
y574444354
90908ba929
merge upstream/main: 同步上游更新并解决冲突
...
冲突解决策略:
- CLAUDE.md: 保留版本号 4.0.1 和品牌化(csc/claude-code-best),
采纳上游的 CI 信息、Ink 框架位置提醒、Type Safety Guidelines
- configs.ts: 保留 costrict provider,同时采纳上游新增的 grok provider
- ConsoleOAuthFlow.tsx: 保留简洁的 orgResult.message 写法
- contributors.svg: 使用上游版本
2026-04-10 10:57:02 +08:00
claude-code-best
34bbc1d403
fix(types): replace all as any with proper type assertions
...
Eliminate unsafe `as any` casts across 21 non-test source files,
replacing them with specific type annotations:
- Bridge transport: use StdoutMessage type for write/writeBatch calls
- print.ts: type msg.request as Record<string, unknown> for unknown
SDK control subtypes; use StdoutMessage for output.enqueue()
- API providers (openai/grok/gemini): import ChatCompletion types,
type streams as AsyncIterable<ChatCompletionChunk>, type request
bodies as ChatCompletionCreateParamsStreaming
- Computer use executor: use Partial<ResolvePrepareCaptureResult>
for cross-platform screenshot result
- Components: replace Ink color string casts with proper typing
- Win32 bridge: type stdin as Writable after null check
All 2453 tests pass with 0 failures.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-09 23:51:33 +08:00
claude-code-best
a14d3dc8f0
fix(types): clean type fixes across 92 files
...
Apply proper TypeScript type corrections without any unsafe casts:
- Fix unknown/never/{} types from decompilation
- Correct function signatures and parameter types
- Add missing type declarations and interfaces
- Fix Ink component prop types
- Update API client/provider type annotations
Test files with mock data casts are included as-is (acceptable pattern).
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-09 23:45:56 +08:00
y574444354
51ff947604
feat(costrict): 集成 CoStrict 登录流程和模型选择到 /model 命令
2026-04-09 19:02:03 +08:00
y574444354
1c3e495c03
rebrand: 将 Claude Code 品牌改为 CoStrict
2026-04-09 17:14:39 +08:00
geroge
19a362571b
Merge branch 'claude-code-best:main' into main
2026-04-08 11:31:49 +08:00
HitMargin
3683f22529
补全status界面里的信息 ( #189 )
...
* docs: update contributors
* docs: update contributors
* docs: update contributors
* docs: update contributors
* 添加status命令里更多模型api介绍
---------
Co-authored-by: HitMargin <hitmargin@qq.com>
2026-04-08 10:56:46 +08:00
claude-code-best
3e1c6bcc3f
Merge branch 'main' into refactor/ink-v2
2026-04-07 22:41:35 +08:00
claude-code-best
91b9366f64
refactor: 大规模迁移原有组件到 ink 包内
2026-04-07 22:26:45 +08:00
geroge
66be9ca401
Merge branch 'claude-code-best:main' into main
2026-04-07 20:52:38 +08:00
Askhz
d77963fb3f
feat: add costrict login provider
2026-04-07 20:32:32 +08:00
mcjjin
0d8f494c4b
fix(computer-use): 修复权限检查和应用列表获取的问题 ( #157 )
...
* docs: update contributors
* fix(computer-use): 修复权限检查和应用列表获取的问题
修复 macOS 平台下权限检查的 JXA 回退逻辑,确保在没有原生模块时仍能正确检测权限
改进应用列表获取方式,使用 mdls 获取真实的 bundleId 而非生成伪 ID
* docs: update contributors
* docs: update contributors
* docs: update contributors
---------
Co-authored-by: mcjjin <8590489+mcjjin@users.noreply.github.com>
Co-authored-by: claude-code-best <claude-code-best@proton.me>
Co-authored-by: claude-code-best <272536312+claude-code-best@users.noreply.github.com>
2026-04-07 19:53:59 +08:00
claude-code-best
e5782e732c
Revert "Revert "feat: 第一个可以用的 ink 组件抽象 ( #158 )" ( #175 )"
...
This reverts commit 88d4c3ba24 .
2026-04-07 16:17:48 +08:00
guunergooner
4b44047931
fix: prevent iTerm2 terminal response sequences from leaking into REPL input ( #172 )
...
The earlyInput capture's escape sequence detection was too simplistic — it
only checked if the byte after ESC fell in 0x40-0x7E range, treating it as
a terminator. This caused DCS sequences (e.g. XTVERSION `\x1bP>|iTerm2
3.6.4\x1b\\`) and CSI parameter sequences (e.g. DA1 `\x1b[?64;...c`) to
partially leak into the input buffer as `>|iTerm2 3.6.4?64;1;2;4;6;17;18;21;22c`.
Fix by handling each escape sequence type per ECMA-48:
- CSI (`ESC [`): skip parameter + intermediate bytes, then final byte
- DCS/OSC/SOS/PM (`ESC P/]/X/^`): scan to BEL or ST terminator
- Other: keep single-byte skip
Closes #171
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-07 15:11:06 +08:00
claude-code-best
88d4c3ba24
Revert "feat: 第一个可以用的 ink 组件抽象 ( #158 )" ( #175 )
...
This reverts commit c445f43f8d .
2026-04-07 15:05:03 +08:00
uk0
70baa6f7db
feat: add Grok (xAI) API adapter with custom model mapping ( #152 )
...
Add xAI Grok as a new API provider. Reuses OpenAI-compatible message/tool
converters and stream adapter with Grok-specific client and model mapping.
Default model mapping:
opus → grok-4.20-reasoning
sonnet → grok-3-mini-fast
haiku → grok-3-mini-fast
Users can customize mapping via:
- GROK_MODEL env var (override all)
- GROK_MODEL_MAP env var (JSON family map, e.g. {"opus":"grok-4"})
- GROK_DEFAULT_{FAMILY}_MODEL env vars
Activation: CLAUDE_CODE_USE_GROK=1 or modelType: "grok" in settings.json
Also integrates with /provider command for runtime switching.
2026-04-07 09:24:55 +08:00
claude-code-best
c445f43f8d
feat: 第一个可以用的 ink 组件抽象 ( #158 )
2026-04-06 23:56:45 +08:00
claude-code-best
379e40f12a
fix: 回退全屏模式
2026-04-06 17:10:16 +08:00
claude-code-best
dd2bd12626
feat: 为 project 级 skill 添加黄色 [local] 标签区分显示
...
在斜杠命令列表和 SkillsMenu 中,对 projectSettings/localSettings
来源的 skill 显示黄色 [local] 标签,方便区分项目级和用户级技能。
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-06 14:34:44 +08:00
HitMargin
a15340f555
Merge branch 'claude-code-best:main' into main
2026-04-06 12:30:53 +08:00
HitMargin
81ecd82b65
Test
2026-04-06 11:53:11 +08:00
HitMargin
14dc54a093
gemini模型环境变量分离 provider指令支持切换gemini
2026-04-06 11:23:05 +08:00
HitMargin
6f80e96fee
fix: make modelType take precedence over all env vars in getAPIProvider
2026-04-06 10:38:16 +08:00
HitMargin
a7a9659ddd
解决报错
2026-04-06 10:34:11 +08:00
HitMargin
26245e0bd0
Merge branch 'main' into main
2026-04-06 10:21:02 +08:00
claude-code-best
ced5080019
feat: 开启鼠标点击功能
2026-04-06 10:11:03 +08:00
yi7503
522a1a366d
feat: enable Computer Use on Windows and Linux ( #145 )
...
Remove macOS-only guards so Computer Use works cross-platform:
- main.tsx: allow CHICAGO_MCP on any known platform (not just macos)
- swiftLoader.ts: remove darwin-only throw, let the backend handle it
- computer-use-input: dispatch to darwin/win32/linux backends
- computer-use-swift: rename loadDarwin→loadBackend, dispatch all platforms
Co-authored-by: yi7503 <yi7503@gmail.com>
Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-06 09:57:55 +08:00
SaltedFish555
0da5ec09e8
feat: 添加gemini协议适配 ( #125 )
...
* feat: 添加gemini协议适配
* Remove unrelated local files from Gemini PR
2026-04-06 09:55:20 +08:00
HitMargin
1f8f90eb62
Merge branch 'claude-code-best:main' into main
2026-04-05 22:18:21 +08:00
claude-code-best
2b84333913
Merge pull request #137 from amDosion/feat/computer-use-windows
...
feat: Computer Use v2 — 跨平台 Executor + Python Bridge + GUI 无障碍
2026-04-05 21:02:32 +08:00
HitMargin
2f95d1a395
Merge branch 'claude-code-best:main' into main
2026-04-05 17:02:07 +08:00
unraid
c17edcb12e
feat: Computer Use — Windows 跨平台支持 + GUI 无障碍增强 + Python Bridge
...
三平台 Computer Use (macOS + Windows + Linux),Windows 专项增强。
- MCP server: toolCalls/tools/executor/mcpServer 等 12 文件完整实现
- 平台抽象层: platforms/{win32,darwin,linux}.ts
- 跨平台 executor: executorCrossPlatform.ts
- CHICAGO_MCP + VOICE_MODE feature flags 启用
- windowMessage.ts: SendMessageW (WM_CHAR Unicode + 剪贴板粘贴)
- windowBorder.ts: 4 叠加窗口边框 (30fps 跟踪)
- uiAutomation.ts: UI Automation 元素树/点击/写值
- accessibilitySnapshot.ts: 无障碍快照 → 模型感知 GUI
- bridge.py + bridgeClient.ts: Python 长驻进程 (替代 per-call PS)
- window_management: min/max/restore/close/focus (Win32 API)
- click_element / type_into_element: 按名称操作 (无需坐标)
- 截图自动附带 Accessibility Snapshot
- 17 种方法, stdin/stdout JSON 通信
- 窗口枚举 1.5ms vs PS 500ms, 截图 360ms vs PS 800ms
- 依赖: mss + Pillow + pywinauto
2026-04-05 15:47:20 +08:00
HitMargin
eb6fbe518e
分离OpenAI和Anthropic模型的环境变量
2026-04-05 03:31:06 +08:00
xutianyi
354c11f035
fix: improve size calculation for LRU cache and handle nested object content
2026-04-05 01:43:18 +08:00
HitMargin
ec5dfed19e
fix provider指令切换模型类型
2026-04-05 00:53:04 +08:00
HitMargin
0c9fd37e01
Merge branch 'claude-code-best:main' into main
2026-04-04 23:30:38 +08:00
claude-code-best
5b1a52b8e0
更新大量 tsx 原始文件; 已经迁移 login panel; 部分 ( #121 )
...
* style(B1-1): 格式化 ink/buddy/cli/context/screens/tasks/services/keybindings/state (43 files)
纯格式化:移除分号、React Compiler import、import 多行展开。
修复了 Box.tsx 和 ScrollBox.tsx 中无效的 global.d.ts import。
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
* style(B1-2): 格式化 commands (79 files)
纯格式化:移除分号、React Compiler import、import 多行展开。
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
* style(B1-3): 格式化 components/messages,permissions,mcp,sandbox,shell (104 files)
纯格式化:移除分号、React Compiler import、import 多行展开。
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
* style(B1-4): 格式化 components/PromptInput,FeedbackSurvey,tasks,agents,skills,design-system,wizard (73 files)
纯格式化:移除分号、React Compiler import、import 多行展开。
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
* style(B1-5): 格式化 components其余 + hooks + tools (232 files)
纯格式化:移除分号、React Compiler import、import 多行展开。
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
* style(B1-6): 格式化 main/entrypoints/utils/moreright (21 files)
纯格式化:移除分号、React Compiler import、import 多行展开。
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
* docs: 更新 README,新增 Run.ps1/TODO.md,删除 V6.md
- README.md: 大幅重写,更详细版本历史和配置示例
- Run.ps1: 新增 Windows 启动脚本
- TODO.md: 新增包完成清单
- V6.md: 删除(架构重构规划已不适用)
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
* fix: 修复以前的问题
* fix: 修复 login 面板的问题
---------
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-04 23:24:27 +08:00
HitMargin
b5d1dbc9d0
provider指令切换模型类型
2026-04-04 23:15:49 +08:00
claude-code-best
e8f417e59f
Merge remote-tracking branch 'origin/feature/computer-use/mac-support'
2026-04-04 16:42:51 +08:00
claude-code-best
765569b3cf
feat: 更新 Computer Use 用户指南,添加 macOS 和 Windows 支持文档链接
2026-04-04 12:24:11 +08:00
claude-code-best
ad1f90a00e
feat: 恢复 mac 版本的 Computer Use
2026-04-04 11:36:43 +08:00
HitMargin
6fefff2ef2
claude-code with OpenAI mode fix ( #102 )
...
Co-authored-by: HitMargin <hitmargin@qq.com>
2026-04-04 10:54:13 +08:00
claude-code-best
86d2c8f9e8
Merge remote-tracking branch 'amDosion/feat/computer-use-windows'
2026-04-04 00:12:52 +08:00
unraid
ca086b045a
fix: resolve Windows Computer Use request_access and screenshot errors
...
Two root causes fixed:
1. swiftLoader.ts: require('@ant/computer-use-swift') returns a module
with { ComputerUseAPI } class, not an instance. macOS native .node
exports a plain object. Fixed by detecting class export and calling
new ComputerUseAPI().
2. executor.ts resolvePrepareCapture: toolCalls.ts expects result to have
{ hidden: string[], displayId: number } fields. Our ComputerUseAPI
returns { base64, width, height } only. Fixed by backfilling missing
fields with defaults.
Verified: request_access → screenshot → left_click all work on Windows.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-04 00:09:51 +08:00
unraid
3707c3c0ba
feat: Windows Computer Use enhancement — PrintWindow, UI Automation, OCR
...
New Windows-native capabilities:
- windowCapture.ts: PrintWindow API for per-window screenshot (works on
occluded/background windows)
- windowEnum.ts: EnumWindows for precise window enumeration with HWND
- uiAutomation.ts: IUIAutomation for UI tree reading, element clicking,
text input, and coordinate-based element identification
- ocr.ts: Windows.Media.Ocr for screen text recognition (en-US + zh-CN)
Updated win32.ts backend to use EnumWindows for listRunning() and added
captureWindowTarget() for window-specific screenshots.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-04 00:00:02 +08:00
JiayuWang(王嘉宇)
fdb2442ad4
test: add coverage for toRelativePath and getDirectoryForPath ( #95 )
...
These two exported functions in src/utils/path.ts lacked unit tests.
toRelativePath wraps Node's path.relative() and keeps the absolute
path when the result would start with '..' (i.e. the target is outside
the CWD). Four tests cover: child-of-cwd, outside-cwd, cwd-itself,
and the type-safety invariant.
getDirectoryForPath uses statSync to distinguish directories from files,
falling back to dirname() for non-existent paths and bypassing the
filesystem for UNC paths (NTLM credential-leak prevention). Three tests
cover: existing directory, known file, and non-existent path.
Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-03 23:36:19 +08:00
claude-code-best
00b044e8b2
支持 OpenAI Chat 兼容协议 ( #99 )
...
* feat: 完成 openai 接口兼容
* feat: 完成 openai 协议兼容
* fix: 修复测试用例
2026-04-03 23:33:17 +08:00
unraid
e3264a1691
feat: enable Computer Use with macOS + Windows + Linux support
...
Phase 1: Replace @ant/computer-use-mcp stub (12 files, 6517 lines).
Phase 2: Remove 8 macOS-only guards in src/:
- main.tsx: remove getPlatform()==='macos' check
- swiftLoader.ts: remove darwin-only throw
- executor.ts: extend platform guard, clipboard dispatch, paste key
- drainRunLoop.ts: skip CFRunLoop pump on non-darwin
- escHotkey.ts: non-darwin returns false (Ctrl+C fallback)
- hostAdapter.ts: non-darwin permissions granted
- common.ts: dynamic platform + screenshotFiltering
- gates.ts: enabled:true, subscription check removed
Phase 3: Add Linux backends (xdotool/scrot/xrandr/wmctrl):
- computer-use-input/backends/linux.ts (173 lines)
- computer-use-swift/backends/linux.ts (278 lines)
Verified on Windows x64: mouse, screenshot, displays, foreground app.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-03 23:17:14 +08:00
JiayuWang(王嘉宇)
465e9f01c6
test: add coverage for formatRelativeTimeAgo and formatLogMetadata ( #94 )
...
These two exported functions in src/utils/format.ts had no test
coverage. formatRelativeTimeAgo wraps formatRelativeTime and forces
numeric:'always' for past dates; formatLogMetadata assembles parts
(time, branch, size/count, tag, agentSetting, prNumber) into a
' · '-separated string.
Added 8 tests for formatRelativeTimeAgo covering past dates, future
dates, equal-to-now, and the no-'ago'-for-future invariant. Added
9 tests for formatLogMetadata covering all optional fields and the
separator format.
Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-03 22:17:58 +08:00
claude-code-best
e944633dd8
fix: 修复 ERROR getAntModels is not defined
...
Fixes #69
2026-04-03 11:56:49 +08:00
claude-code-best
e32c159f35
feat: 关闭自动更新
2026-04-03 09:39:32 +08:00
claude-code-best
119518599e
feat: 更新 sentry 错误上报
2026-04-03 09:39:25 +08:00
claude-code-best
d04e00fc2c
feat: 调整预先检查的代码
2026-04-02 23:00:48 +08:00
claude-code-best
c252294dd7
feat: 移除反蒸馏代码
2026-04-02 22:56:23 +08:00
claude-code-best
4337b82e6c
Merge branch 'pr/programming-pupil/33'
2026-04-02 21:41:55 +08:00
claude-code-best
be82b71c3e
feat: 补全 auto mode 分类器 prompt 模板,支持 FEATURE_* 环境变量注入
...
- 重建 yolo-classifier-prompts/ 三个缺失的 prompt 文件
- dev.ts/build.ts 扫描 FEATURE_* 环境变量注入 Bun --feature
- AUTO_MODE_ENABLED_DEFAULT 由 feature flag 决定,开 feature 即开 auto mode
- 补充 docs/safety/auto-mode.mdx prompt 模板章节
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-02 21:18:39 +08:00
claude-code-best
68ccf28be8
feat: 尝试修复 auto mode
2026-04-02 20:57:52 +08:00
claude-code-best
4ab4506de2
fix: 修复 USER_TYPE=ant 时 TUI 无法启动的问题
...
反编译版本中 global.d.ts 声明的全局函数运行时未定义,
通过显式 import、stub 组件和全局 polyfill 修复。
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-02 20:31:04 +08:00
claude-code-best
ce29527a67
test: 添加一大堆测试文件
2026-04-02 20:28:08 +08:00
claude-code-best
ac1f02958c
fix: 批量修正 external 字面量
2026-04-02 17:01:39 +08:00
claude-code-best
799dacc407
test: 新增一波测试文件
2026-04-02 16:21:24 +08:00
claude-code-best
8697c91668
feat: 完成测试 16-17
2026-04-02 16:03:20 +08:00
claude-code-best
006ad97fbb
test: 新增测试代码文件
2026-04-02 14:44:56 +08:00
编程界的小学生
2e4d6e2122
Update hooks.ts
2026-04-02 11:12:36 +08:00
claude-code-best
4f323efb61
test: Phase 5 — 添加 12 个测试文件 (+209 tests, 1177 total)
...
新增覆盖: effort, tokenBudget, displayTags, taggedId,
controlMessageCompat, MCP normalization/envExpansion,
gitConfigParser, formatBriefTimestamp, hyperlink, windowsPaths, notebook
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-02 10:11:43 +08:00
claude-code-best
21ac9e441f
test: Phase 2-4 — 添加 12 个测试文件 (+321 tests, 968 total)
...
Phase 2 (轻 Mock): envUtils, sleep/sequential, memoize, groupToolUses, dangerousPatterns, outputLimits
Phase 3 (补全): zodToJsonSchema, PermissionMode, envValidation
Phase 4 (工具模块): mcpStringUtils, destructiveCommandWarning, commandSemantics
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-02 09:29:01 +08:00
claude-code-best
acfaac5f14
test: Phase 1 — 添加 8 个纯函数测试文件 (+134 tests)
...
- errors.test.ts: 28 tests (isAbortError, toError, errorMessage, getErrnoCode, isFsInaccessible, classifyAxiosError 等)
- shellRuleMatching.test.ts: 22 tests (permissionRuleExtractPrefix, hasWildcards, matchWildcardPattern, parsePermissionRule 等)
- argumentSubstitution.test.ts: 18 tests (parseArguments, parseArgumentNames, generateProgressiveArgumentHint, substituteArguments)
- CircularBuffer.test.ts: 12 tests (add, addAll, getRecent, toArray, clear, length)
- sanitization.test.ts: 14 tests (partiallySanitizeUnicode, recursivelySanitizeUnicode)
- slashCommandParsing.test.ts: 8 tests (parseSlashCommand)
- contentArray.test.ts: 6 tests (insertBlockAfterToolResults)
- objectGroupBy.test.ts: 5 tests (objectGroupBy)
总计:781 tests / 40 files
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-02 08:50:29 +08:00
claude-code-best
a28a44f9f7
test: 添加 FileEditTool/permissions/filterToolsByDenyRules 测试
...
- FileEditTool/utils.test.ts: 24 tests (normalizeQuotes, stripTrailingWhitespace, findActualString, preserveQuoteStyle, applyEditToFile)
- permissions/permissions.test.ts: 13 tests (getDenyRuleForTool, getAskRuleForTool, getDenyRuleForAgent, filterDeniedAgents)
- tools.test.ts: 扩展 5 tests (filterToolsByDenyRules 过滤逻辑)
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-02 07:36:50 +08:00
claude-code-best
43af260322
test: 添加 json/truncate/path/tokens 模块测试
...
- json.test.ts: 27 tests (safeParseJSON, safeParseJSONC, parseJSONL, addItemToJSONCArray)
- truncate.test.ts: 24 tests (truncateToWidth, truncateStartToWidth, truncatePathMiddle, truncate, wrapText)
- path.test.ts: 15 tests (containsPathTraversal, normalizePathForConfigKey)
- tokens.test.ts: 22 tests (getTokenCountFromUsage, getTokenUsage, tokenCountFromLastAPIResponse, etc.)
使用 mock.module() 切断 log.ts/tokenEstimation.ts/slowOperations.ts 重依赖链
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-01 23:56:37 +08:00
claude-code-best
c57950e15e
test: 添加消息处理单元测试 (测试计划 06)
...
为消息创建、查询、文本提取、规范化等函数添加 56 个测试用例,
覆盖 createAssistantMessage、createUserMessage、isSyntheticMessage、
extractTag、isNotEmptyMessage、normalizeMessages 等核心功能。
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-01 22:43:31 +08:00
claude-code-best
183421361e
test: 添加配置与设置系统单元测试 (测试计划 09)
...
为 SettingsSchema、PermissionsSchema、AllowedMcpServerEntrySchema
验证,MCP 类型守卫,设置常量函数,以及 validation 工具函数添加
62 个测试用例。
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-01 22:39:21 +08:00
claude-code-best
3df4b95ff9
test: 添加 Git 工具函数单元测试 (测试计划 08)
...
为 normalizeGitRemoteUrl 添加 18 个测试用例,覆盖 SSH、HTTPS、
ssh://、CCR 代理 URL 格式、大小写规范化及边界条件。
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-01 22:30:45 +08:00
claude-code-best
f81a767f83
test: 添加 Cron 调度单元测试 (测试计划 07)
...
覆盖 parseCronExpression、computeNextCronRun、cronToHuman,
包含有效/无效表达式、字段范围验证、下次运行计算、人类可读描述,
共 38 个测试用例。
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-01 22:23:26 +08:00
claude-code-best
25839ab454
test: 添加模型路由单元测试 (测试计划 05)
...
覆盖 isModelAlias、isModelFamilyAlias、getAPIProvider、
isFirstPartyAnthropicBaseUrl、firstPartyNameToCanonical,共 40 个测试用例。
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-01 22:20:25 +08:00
claude-code-best
583d04331b
test: 添加权限规则解析器单元测试 (测试计划 04)
...
覆盖 escapeRuleContent、unescapeRuleContent、permissionRuleValueFromString、
permissionRuleValueToString、normalizeLegacyToolName,共 25 个测试用例。
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-01 22:18:00 +08:00
claude-code-best
c4344c4df0
test: 添加 Context 构建单元测试 (测试计划 03)
...
覆盖 stripHtmlComments、isMemoryFilePath、getLargeMemoryFiles、
buildEffectiveSystemPrompt 等函数,共 25 个测试用例全部通过。
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-01 22:14:23 +08:00
claude-code-best
cad6409bfe
test: 添加 Utils 纯函数单元测试 (测试计划 02)
...
覆盖 xml, hash, stringUtils, semver, uuid, format, frontmatterParser,
file, glob, diff 共 10 个模块的纯函数测试。
json.ts 因模块加载链路过重暂跳过。
共 190 个测试用例(含已有 array/set)全部通过。
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-01 22:03:02 +08:00
claude-code-best
221fb6eb05
fix: 修复 @ typeahead 文件搜索无结果的问题
...
execa 新版将 signal 选项重命名为 cancelSignal,导致 execFileNoThrowWithCwd
调用 git ls-files 时抛出 TypeError,文件索引始终为空。同时改进了
FileIndex 的模糊匹配算法,从多个词边界起始位置评分取最优,提升搜索排名质量。
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-01 17:11:09 +08:00
claude-code-best
e443a8fa51
feat: 搭建单元测试基础设施 — Bun test runner + 示例测试
...
添加 bunfig.toml 配置、test script,以及三组示例测试:
- src/utils/array.ts (intersperse, count, uniq)
- src/utils/set.ts (difference, intersects, every, union)
- packages/color-diff-napi (ansi256FromRgb, colorToEscape, detectLanguage 等)
41 tests, 0 failures.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-01 02:08:38 +08:00
claude-code-best
7e15974be9
feat: 实现 4 个 NAPI 包 — modifiers/image-processor/audio-capture/url-handler
...
- modifiers-napi: 使用 Bun FFI 调用 macOS CGEventSourceFlagsState 检测修饰键
- image-processor-napi: 集成 sharp 库,macOS 剪贴板图像读取 (osascript)
- audio-capture-napi: 基于 SoX/arecord 的跨平台音频录制
- url-handler-napi: 完善函数签名(保持 null fallback)
- 修复 image-processor 类型兼容性问题
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-01 01:07:42 +08:00
claude-code-best
fac9341e73
feat: 全面清理类型错误 — tsc 零错误,any 标注全部消除
...
- 修复所有 33 个原始 tsc 编译错误(ink JSX 声明、类型不匹配、null check 等)
- 清理 176 处 `: any` 类型标注,全部替换为具体推断类型
- 修复清理过程中引入的 41 个回归错误
- 最终结果:0 tsc 错误,0 个非注释 any 标注
- Build 验证通过(25.75MB bundle)
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-01 01:00:10 +08:00
claude-code-best
91f77ea571
feat: 完成一大波类型修复, 虽然 any 很多
2026-03-31 23:43:39 +08:00
claude-code-best
dd9cd782a7
feat: 问就是封包
2026-03-31 23:32:58 +08:00
claude-code-best
d7a729ca68
feat: 完成第二版类型清理
2026-03-31 23:03:47 +08:00
claude-code-best
4c0a655a1c
feat: 大规模清理 claude 的类型问题及依赖
2026-03-31 22:21:35 +08:00
claude-code-best
2c759fe6fa
feat: 类型修复
2026-03-31 21:46:46 +08:00
claude-code-best
c4d92178b7
feat: 完成大部分操作
2026-03-31 21:40:37 +08:00
claude-code-best
bd756cc369
feat: 完成stub
2026-03-31 20:40:16 +08:00
claude-code-best
f90eee85d8
feat: build
2026-03-31 19:22:47 +08:00