claude-code-best
ac42ce2d67
fix: 解决 node 下 loading 按钮计算错误问题
2026-04-17 10:42:40 +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
claude-code-best
3cb1e50b25
feat: 添加对 ACP 协议的支持 ( #284 )
...
* feat: 适配 zed acp 协议
* docs: 完善 acp 文档
2026-04-16 20:31:50 +08:00
y574444354
50109ff9f5
Merge branch 'pr-31'
2026-04-16 19:57:47 +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
claude-code-best
cfab161e28
feat(langfuse): LLM generation 记录工具定义
...
将 Anthropic 格式的工具定义转换为 Langfuse 兼容的 OpenAI 格式,
并在 generation 的 input 中以 { messages, tools } 结构传入,
以便在 Langfuse UI 中查看完整的工具定义信息。
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-16 15:31:18 +08:00
Askhz
13ec1d4510
chore: back fetch.ts
2026-04-16 15:29:09 +08:00
costrict
22fd08537a
fix: 修复 fetch.ts preconnect 重复标识符类型错误
...
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-16 15:23:05 +08:00
Askhz
06be8bc88c
fix: csc auth login 默认使用 CoStrict OAuth 登录
...
`csc auth login` 默认打开 CoStrict 登录页面而非 Claude OAuth 页面。
添加 --claudeai / --console 参数保留 Anthropic OAuth 作为备选。
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-16 15:07:17 +08:00
claude-code-best
90027279e6
feat: 添加环境变量支持以覆盖 max_tokens 设置
2026-04-16 13:01:07 +08:00
claude-code-best
f166165691
fix: 修复 n 快捷键导致关闭的问题
2026-04-16 11:04:23 +08:00
xixingde
417a2ada18
Merge branch 'main' of https://github.com/y574444354/csc
2026-04-16 10:58:08 +08:00
xixingde
b58f5b72b0
feat(agents): restrict Agent tool to specific sub-agents and add allowedTools to skills
2026-04-16 10:37:38 +08:00
geroge
294289be5b
Merge pull request #29 from y574444354/feat/security-review-v2
...
Feat/security review v2
2026-04-16 10:17:29 +08:00
xixingde
1e1d32205d
Merge branch 'dev' of https://github.com/y574444354/csc into dev
2026-04-16 09:43:10 +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
xixingde
28b0ecfaf2
fix(agents): remove isMainThread flag and update agent descriptions and tool restrictions
2026-04-15 22:27:50 +08:00
y574444354
003ff2d6cd
feat: 增强 Node.js 兼容性 — 扩展 Bun API polyfill 覆盖范围
...
- build.ts: 大幅扩展 Node.js Bun polyfill,新增 spawn、spawnSync、
file、gc、generateHeapSnapshot、embeddedFiles、semver、YAML、
version、stringWidth、wrapAnsi、listen 等 API 实现
- package.json: 更新描述为多模型终端 AI 编程助手,Node.js 为主要
运行时依赖,ws/yaml 移至 dependencies,bin 入口指向 cli-node.js
- scripts/defines.ts: 版本号更新至 4.0.5.1
- fetch.ts: fetch.preconnect 添加 Node.js 降级实现(net.createConnection)
2026-04-15 18:22:44 +08:00
kingboung
1dfbf08c0e
feat: 替换内置 security-review 为 CoStrict Security 版本
...
- 移除原版 security-review 内置命令(占位 plugin 迁移提示)
- 将 CoStrict Security skill 命令名从 strict-security-review 改为 security-review
- 更新 description 和 whenToUse 描述
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-15 17:09:18 +08:00
yhangf
0b11d6e215
fix(agents): change QuickExplore hierarchy level from L2 to L1
2026-04-15 16:37:00 +08:00
yhangf
316f306b99
refactor(agents): streamline agent system prompts
2026-04-15 16:25:40 +08:00
xixingde
75c510cb9d
feat(agents): add visibleTo access control and orchestrator agents for TDD/Wiki workflows
...
- Add `visibleTo` field to `BaseAgentDefinition` to restrict agent visibility to specific parent agent types
- Filter agents with `visibleTo` restrictions from wildcard agent lists in prompt generation
- Add new `TDD_AGENT` and `WIKI_AGENT` orchestrator agents as entry points for TDD and Wiki workflows
- Register `WIKI_AGENT` in built-in agents list with workflow grouping comments
- Mark all TDD sub-agents (`TddRunAndFix`, `TddTestAndFix`, `TddTestDesign`, `TddTestPrepare`) as `visibleTo: ['TDD']`
- Mark all Wiki sub-agents (`WikiProjectAnalyze`, `WikiCatalogueDesign`, `WikiDocumentGenerate`, `WikiIndexGeneration`) as `visibleTo: ['WIKI']`
- Mark workflow-specific agents (`DesignAgent`, `QuickExplore`, `Requirement`, `SubCoding`, `TaskCheck`, `TaskPlan`, `StrictSpec`) with appropriate `visibleTo` restrictions
- Refactor `strict-project-wiki` and `strict-test` skills to delegate directly to orchestrator agents via `context: 'fork'`
- Remove stale package-level node_modules symlinks
2026-04-15 15:49:28 +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
claude-code-best
8442aaadd2
fix: 修复 n 快捷键导致关闭的问题
2026-04-14 21:18:36 +08: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
xixingde
06cd56f6b4
feat(skills): disable model invocation for user-only skills
...
delete .omc session and state files from repository
2026-04-14 15:19:22 +08:00
xixingde
3eb909567a
feat(agents): restrict Agent tool to specific sub-agents in strictPlan and strictSpec
2026-04-14 14:10:19 +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
claude-code-best
be80da4ce0
fix: 修复缓存
2026-04-13 20:09:23 +08:00
claude-code-best
fce40fed1f
feat: 加上 userId 的传递
2026-04-13 19:04:51 +08:00
claude-code-best
a7e03a5b30
fix: 修复 interrupt 日志不上传
2026-04-13 18:12:23 +08:00
claude-code-best
05cabbbd73
feat: langfuse 工具调用显示为嵌套结构
2026-04-13 18:09:12 +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
3cf94fbda0
fix: 修复对穷鬼模式的 auto dream 和 session memory 越过
2026-04-12 23:24:12 +08:00
claude-code-best
bd6448ecda
fix: 修正顺序
2026-04-12 23:12:09 +08:00
Eric-Guo
711440474c
Add brave as alternative WebSearchTool
2026-04-12 22:23:11 +08:00
claude-code-best
8399d9ed20
fix: 修复类型问题
2026-04-12 22:19:54 +08:00
claude-code-best
513ccc3003
fix: 修复需要鉴权的问题
2026-04-12 21:45:22 +08:00
claude-code-best
e770f1ef9d
feat: 完成第一个 mcp-chrome 接入版本
2026-04-12 21:32: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
2fea429dc6
feat: 添加对 langfuse 监控的支持 ( #242 )
...
* docs: 更新类型检查的 CLAUDE.md
* feat: 添加模型 1M 上下文切换
* chore: remove prefetchOfficialMcpUrls call on startup
* docs: 添加 git commit 规范
* feat: 第一次接入 langfuse
* fix: 修复 generation 的计时的错误
* feat: 添加多 agent 的监控
* feat: 添加 /poor 省流模式,toggle 关闭 extract_memories 和 prompt_suggestion
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
* chore: 修复 lock 文件
* chore: 更新类型依赖
---------
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-11 22:07:38 +08:00
claude-code-best
d27c6cbc64
chore: remove prefetchOfficialMcpUrls call on startup
2026-04-11 15:13:41 +08:00
claude-code-best
ffd1c366eb
feat: 添加模型 1M 上下文切换
2026-04-11 15:13:41 +08:00
yhangf
404e725c51
refactor(AgentTool): disable STRICT_SPEC_AGENT from built-in agents
2026-04-11 11:49:05 +08:00
geroge
cb6108610d
Merge pull request #24 from Askhz/fix/model-login-sync
...
feat(logo): show "Not logged in" state and provider display name in logo
2026-04-11 11:45:44 +08:00
yhangf
70dda49946
feat(costrict): add strict-spec skill and rename skill/ to skills/
2026-04-11 11:11:49 +08:00
claude-code-best
6a70056910
feat: 全部类型问题解决
2026-04-11 10:24:00 +08:00
yhf
8cb9343adf
Merge branch 'y574444354:main' into main
2026-04-11 09:21:34 +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
y574444354
e577962516
品牌名称微调
2026-04-10 23:13:43 +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
y574444354
6f233a6586
feat(costrict): add depthGuard agent and refine strictPlan/strictSpec workflow
...
- Add depthGuard agent for depth-limiting sub-agent orchestration
- Update strictPlan/strictSpec agents with improved task handling
- Refresh builtin skill registry
- Update builtInAgents with depthGuard integration
- Add nested-agent design docs and user guide
- Update README_EN with project documentation
2026-04-10 21:42:53 +08:00
claude-code-best
ff03fe7fcb
fix: 修复类型问题
2026-04-10 17:34:01 +08:00
yhangf
8258d9be59
fix(agents): normalize tool name references in built-in agent prompts
2026-04-10 17:26:05 +08:00
yhangf
0fef4c250f
refactor(AgentTool): disable strict spec agent
2026-04-10 16:59:30 +08:00
xixingde
058a772cb8
Merge branch 'main' of https://github.com/xixingde/csc
2026-04-10 15:59:40 +08:00
xixingde
557b873a79
feat(agents): add isMainThread flag to agent definition for full tool access
2026-04-10 15:54:42 +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
geroge
989bd7f2a7
Merge pull request #17 from Askhz/feat/disable-nonessential-traffic
...
feat(cli): disable nonessential traffic and remote settings by default
2026-04-10 15:42:00 +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
Askhz
49ec57a226
feat(cli): disable nonessential traffic and remote settings by default
2026-04-10 14:50:27 +08:00
y574444354
2f3038c0ef
Merge pull request #16 from yhangf/main\n\nrefactor skills structure\n\n* docs: update contributors\n* refactor(skills): move projectWiki and tdd skills from bundled to src/costrict/skill\n* docs: update contributors
2026-04-10 14:24:24 +08:00
xixingde
47b2db23df
feat(strictPlan): add allowedTools configuration to restrict available tools
2026-04-10 12:24:43 +08:00
xixingde
082345b8aa
refactor(costrict): replace SpecPlan agent with StrictPlan skill
2026-04-10 12:17:56 +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
xixingde
46ba58e46e
refactor(strictPlan): update system prompt to clarify role and correct tool references
2026-04-10 10:29:56 +08:00
yhangf
b3207747c4
refactor(skills): move projectWiki and tdd skills from bundled to src/costrict/skill
2026-04-10 10:09:48 +08:00
xixingde
2f115cfd0b
refactor(agents): reorganize strictPlan agent workflow and remove constraints
2026-04-10 10:00:09 +08:00
geroge
1f68cd74e3
Merge pull request #14 from Askhz/refactor/first-login
...
refactor: remove OAuth/preflight from onboarding and fix model picker reload after CoStrict login
2026-04-10 09:48:50 +08:00
yhangf
0d1754614a
refactor(agents): 改回2层架构,StrictSpec 直接调 SubCoding
...
- StrictSpec 精简为~60行,stage 4 直接调 SubCoding(绕过 SpecPlan 中间层)
- 移除 SpecPlan 注册(3层嵌套对外部用户不可用,ALL_AGENT_DISALLOWED_TOOLS 限制)
- SubCoding 自带探索/实施能力,无需上层准备 proposal/task.md
- 支持 teammates 并行调用 SubCoding,自动降级串行
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-10 09:32:21 +08:00
yhangf
7ee0b3a6a2
refactor(agents): 清理 StrictSpec 架构,删除 PlanManager
...
- StrictSpec 精简为纯4阶段分发器(~40行),只负责编排,不含实施细节
- SpecPlan 成为唯一实施协调逻辑来源(探索→提案→验证→实施→收尾)
- 删除 planManager.ts 文件
- builtInAgents.ts 去除重复注册、移除 PLAN_MANAGER_AGENT
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-10 09:23:19 +08:00
yhangf
bb1e88ea82
Merge branch 'main' of https://github.com/yhangf/csc
2026-04-10 08:56:09 +08:00
claude-code-best
637531f81f
fix(types): simplify bridge transport message type
...
Replace StdoutMessageWithSession conditional type with simpler
TransportMessage intersection type. The conditional type was
over-engineered for what is just StdoutMessage & { session_id? }.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-09 23:55:54 +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
claude-code-best
01cf45f4ac
fix: 修复 permission 面板
2026-04-09 22:03:54 +08:00
HitMargin
e6affc7053
1. 修复 src/commands/fork/index.ts — 将空 stub 改为有效的 Command 定义 2. 新增 src/commands/fork/fork.tsx — 完整实现 /fork 命令,复用了 AgentTool 的 fork 子 agent 逻辑 ( #221 )
...
* 1. 修复 src/commands/fork/index.ts — 将空 stub 改为有效的 Command 定义
2. 新增 src/commands/fork/fork.tsx — 完整实现 /fork 命令,复用了 AgentTool 的 fork 子 agent 逻辑
* Update src/commands/fork/fork.tsx
Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
* fix
---------
Co-authored-by: HitMargin <hitmargin@qq.com>
Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
2026-04-09 21:53:07 +08:00
Alan
bb07836231
fix: support CRLF SSE frame parsing ( #223 )
2026-04-09 21:52:28 +08:00
Askhz
a33063fbad
refactor: remove OAuth/preflight from onboarding and fix model picker reload after CoStrict login
...
- Remove preflight and OAuth steps from onboarding flow
- Clear both modelType and model settings on logout
- Reload ModelPicker via key after successful CoStrict login instead of closing it
- Pre-fetch and cache CoStrict models silently after login
2026-04-09 21:10:32 +08:00
yhangf
51b88ecb24
refactor(agents): 改为2层架构,StrictSpec 直接调度所有叶子 agent
...
- StrictSpec 吸收 SpecPlan 的全部实施协调逻辑
- 完整流程:Requirement→DesignAgent→TaskPlan→QuickExplore/TaskCheck/SubCoding
- 移除 SpecPlan 注册(不再是链路中间层)
- 调用深度:StrictSpec → leaf agents(2层)
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-09 21:00:52 +08:00
yhangf
1f768d682a
refactor(agents): 3层架构重构 StrictSpec 工作流
...
- SpecPlan 合并 PlanManager/SpecPlan/PlanApply 为统一 Layer 2 协调者
- StrictSpec Stage 4 直接调用 SpecPlan,移除中间层 PlanManager
- SpecPlan 支持 SubCoding 串行(模式A)和 teammates 并行(模式B),自动降级
- builtInAgents.ts 移除 PLAN_MANAGER_AGENT 注册(不再是 StrictSpec 链路必需)
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-09 20:52:41 +08:00
claude-code-best
8c619a215c
build: 修复构建报错
2026-04-09 20:47:13 +08:00
xixingde
57d0e1feac
refactor(agents): consolidate PlanApply functionality into StrictPlan agent
...
- Remove separate PlanApply agent and integrate task distribution logic directly into StrictPlan agent
- Move PlanApply and TDD agents to backup directory
- Update StrictPlan system prompt to reflect dual role as PlanAgent and CodingAgent
- Update builtInAgents registry to remove PlanApply and update TDD import path
2026-04-09 20:46:18 +08:00
xixingde
12601d3faf
Merge branch 'main' of https://github.com/xixingde/csc
2026-04-09 20:45:06 +08:00
yhangf
fe8ad9df69
feat: migrate strictSpec workflow agents into csc built-in agent registry
...
Register 6 previously-unregistered costrict agents as first-class built-in
agents: StrictSpec (4-stage orchestrator), Requirement, DesignAgent, TaskPlan,
PlanManager, and SpecPlan.
Adapt system prompts in strictSpec.ts, planManager.ts, specPlan.ts to use the
csc Agent tool (subagent_type parameter) instead of the legacy costrict-specific
`task` tool. Also fix a broken relative import in taskPlan.ts.
Agent call chain for StrictSpec workflow:
StrictSpec → Requirement / DesignAgent / TaskPlan / PlanManager
PlanManager → SpecPlan
SpecPlan → QuickExplore / TaskCheck / PlanApply
PlanApply → SubCoding
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-09 20:44:50 +08:00
y574444354
caa020365d
Merge upstream/main: 同步上游更新并解决冲突
2026-04-09 19:15:29 +08:00
y574444354
51ff947604
feat(costrict): 集成 CoStrict 登录流程和模型选择到 /model 命令
2026-04-09 19:02:03 +08:00
xixingde
3363059608
fix(agents): enable Claude markdown output across all built-in agents
2026-04-09 18:22:14 +08:00
bonerush
562e9daadd
fix: Handle undefined command names in getCommandName function ( #217 )
...
* fix: reorder tool and user messages for OpenAI API compatibility (#168 )
Fixes #168
OpenAI requires that an assistant message with tool_calls be immediately
followed by tool messages. Previously, convertInternalUserMessage
output user content before tool results, causing 400 errors.
Now tool messages are pushed first.
* fix: 修复OpenAI兼容层中deferred tools处理问题
提交描述:
修复了在使用OpenAI兼容API时TaskCreate工具调用失败的问题。
问题:
- 当使用OpenAI兼容API模型时,调用TaskCreate工具出现"InputValidationError: The required
parameter `subject` is missing"错误
- OpenAI兼容层没有正确处理deferred tools的过滤逻辑,导致工具schema没有被正确发送给模型
修复:
1. 在OpenAI兼容层中添加了与Anthropic API路径一致的deferred tools处理逻辑
2. 导入必要的工具搜索相关函数: isToolSearchEnabled, extractDiscoveredToolNames,
isDeferredTool等
3. 实现工具过滤逻辑:
- 检查工具搜索是否启用
- 构建deferred tools集合
- 过滤工具列表: 只包含非deferred工具或已发现的deferred工具
- 为deferred tools设置deferLoading标志
4. 修正了extractDiscoveredToolNames函数的导入路径错误
影响:
- 解决了TaskCreate工具调用时的参数验证错误
- 确保OpenAI兼容层与Anthropic API路径在处理deferred tools时行为一致
- 支持工具搜索功能在OpenAI兼容模式下正常工作
修改的文件:
- src/services/api/openai/index.ts - 主要修复文件
测试建议:
1. 使用OpenAI兼容API模型时,TaskCreate工具应该可以正常调用
2. 如果工具搜索功能启用,可能需要先使用ToolSearchTool来发现TaskCreate工具
3. 验证工具调用时不再出现"InputValidationError"错误
这个修复确保了当使用OpenAI兼容API(如Ollama、DeepSeek、vLLM等)时,deferred
tools(如TaskCreate)能够被正确处理,解决了工具调用失败的问题。
* fix: 更新未发送工具架构提示,提供OpenAI兼容模型的使用步骤
* fix: Handle undefined command names in getCommandName function
- Modified getCommandName in src/types/command.ts to return empty string instead of undefined when cmd.name is undefined
- Added null checks in src/hooks/useTypeahead.tsx to safely handle command names
- Prevents "undefined is not an object" error when FEATURE_BUDDY=1 and FEATURE_FORK_SUBAGENT=1 are enabled
The error occurred because getCommandName(cmd) could return undefined when cmd.name was undefined, causing .length access to fail.
2026-04-09 17:53:43 +08:00
geroge
73c2121ee4
Merge pull request #11 from Askhz/refactor/change-config-path
...
refactor(provider): migrate credentials storage
2026-04-09 17:47:38 +08:00
claude-code-best
2da6514095
feat: 支持自托管的 remote-control-server ( #214 )
...
* feat: 支持自托管的 remote-control-server (#214 )
---------
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
Co-authored-by: Copilot Autofix powered by AI <62310815+github-advanced-security[bot]@users.noreply.github.com>
2026-04-09 17:40:50 +08:00
Askhz
1cedb89db8
refactor(provider): migrate credentials storage from ~/.costrict to ~/.claude directory
2026-04-09 17:26:44 +08:00
geroge
260a8140e3
Merge pull request #10 from y574444354/feat/rebrand-claude-code-to-costrict
...
rebrand: 将 Claude Code 品牌改为 CoStrict
2026-04-09 17:23:27 +08:00
y574444354
1c3e495c03
rebrand: 将 Claude Code 品牌改为 CoStrict
2026-04-09 17:14:39 +08:00
xixingde
6962816be7
feat(agents): add TDD agent and integrate into strict plan workflow
2026-04-09 17:12:36 +08:00
xixingde
d5daf372a0
feat(AgentTool): add new built-in agents to registry
2026-04-09 16:57:14 +08:00
geroge
2d9996ab77
Merge pull request #8 from Askhz/feature/security-review
...
Add security review skill with code audit and bundling support
2026-04-09 16:45:57 +08:00
yhangf
51f597a3d2
feat(costrict): enable thinking mode in Anthropic-to-OpenAI message conversion
2026-04-09 16:40:45 +08:00
Askhz
df65350c35
feat(skill): add security review builtin skill with code audit support
...
- Add generate-skills script to download and bundle skills from external repositories.
- Register code-review-security skill for vulnerability detection and integrate into bundled skill initialization.
2026-04-09 15:59:14 +08:00
geroge
03b7cbf7de
Merge pull request #7 from yhangf/main
...
refactor: rename costrict/agent directory to costrict/agents
2026-04-09 15:49:09 +08:00
y574444354
824f09c34c
chore: 更新配置和组件文件
...
- 更新 README_EN.md
- 更新认证和登录相关处理
- 更新登出功能
- 更新 AutoModeOptInDialog 和 Onboarding 组件
- 更新主入口文件
- 更新测试 fixtures
- 添加 docs/config-list.md
2026-04-09 15:42:48 +08:00
y574444354
fd9dc6dddd
Merge branch 'main' of https://github.com/y574444354/csc
2026-04-09 15:38:23 +08:00
y574444354
78505312f4
feat: 更新 WelcomeV2 样式对齐和 ThemePicker 提示
2026-04-09 15:35:24 +08:00
yhangf
cc326e5b3b
refactor: rename costrict/agent directory to costrict/agents
2026-04-09 15:28:02 +08:00
yhangf
26beb6fd36
Merge branch 'feature/tdd'
2026-04-09 15:17:12 +08:00
yhangf
1d70f31fef
feat(tdd): add TDD workflow with test design, prepare, execute, and run-and-fix agents
2026-04-09 15:14:27 +08:00
xixingde
2ba63d15a5
Merge branch 'y574444354:main' into main
2026-04-09 14:36:33 +08:00
geroge
c7bfe22c22
Merge branch 'claude-code-best:main' into feat/basic-config
2026-04-09 14:35:26 +08:00
geroge
523db59b4b
Merge pull request #5 from y574444354/feat/basic-config
...
feat: 品牌化首页为 CoStrict 风格
2026-04-09 14:34:48 +08:00
y574444354
c5c6b50c9e
feat: 品牌化首页为 CoStrict 风格
...
- 品牌名从 Claude Code 改为 CoStrict
- 版本号更新为 v4.0.1
- 首页边框、标题、分割线、小人等元素统一改为蓝色
- 简单模式(CondensedLogo)添加蓝色圆角边框
- 小人(Clawd)替换为 CoStrict ASCII art 大字标志
- Feed 标题(Recent activity/What's new)改为蓝色
2026-04-09 14:25:15 +08:00
xixingde
817fe6d42e
Merge branch 'main' of https://github.com/xixingde/csc
2026-04-09 14:23:45 +08:00
xixingde
47fda685a3
refactor(agents): remove checkpoint workflow and file-outline from subCoding prompt
2026-04-09 14:17:28 +08:00
geroge
4100031042
Merge branch 'claude-code-best:main' into main
2026-04-09 14:15:38 +08:00
geroge
a9587e824d
Merge pull request #3 from Askhz/fix/setup-dialogs
...
fix(interactive): stop early input capture before rendering dialogs
2026-04-09 14:15:27 +08:00
yhangf
2c97a0f7d9
feat(skills): add project-wiki skill for automated technical documentation generation
...
Introduce `/project-wiki` bundled skill that orchestrates a multi-stage pipeline to
analyze a codebase and generate a complete technical documentation wiki. Adds four
specialized sub-agents:
- WikiProjectAnalyze: deep repository analysis and classification
- WikiCatalogueDesign: dynamic document structure design based on project traits
- WikiDocumentGenerate: code-driven technical document authoring
- WikiIndexGeneration: structured index and navigation creation
Also updates .gitignore to exclude `.costrict`, `.claude`, and `/costrict` directories.
2026-04-09 14:10:24 +08:00
xixingde
9cef68a360
refactor(strictPlan): update agent references from Explore to QuickExplore
2026-04-09 14:06:48 +08:00
xixingde
0c3b7e1cb2
feat(agents): add explicit tools list to planApply agent
2026-04-09 12:45:11 +08:00
xixingde
02d046a61e
feat(agents): add QuickExploreAgent and enable planning agents by default
2026-04-09 12:42:11 +08:00
xixingde
792b784066
refactor(agents): standardize import paths and remove obsolete tool references
2026-04-09 11:34:40 +08:00
xixingde
80288a1c46
refactor(costrict): rename QuickExplore to Explore, standardize imports and remove dead code
2026-04-09 11:26:48 +08:00
xixingde
c15c952659
refactor(costrict): archive QuickExplore agent and update agent tool references
2026-04-09 11:19:03 +08:00
Askhz
3e0eed1462
Merge branch 'main' of https://github.com/Askhz/csc
2026-04-09 10:51:18 +08:00
Askhz
114629ff9e
fix(interactive): stop early input capture before rendering dialogs
...
Rename CLI binary from `ccb` to `csc`, update .gitignore for additional
AI tool directories and exe files, and fix unresponsive keyboard input
in interactive dialogs by stopping the early input listener before Ink
takes over stdin.
2026-04-09 10:25:34 +08:00
xixingde
ab0ffd5c59
refactor(costrict): migrate agents to dedicated module and add new agent types
2026-04-09 10:10:20 +08:00
HitMargin
f17b7c7163
修复使用/help 后再按左右键报错 ( #212 )
...
* 添加status命令里更多模型api介绍
* Fix: /help error
---------
Co-authored-by: HitMargin <hitmargin@qq.com>
2026-04-09 09:18:35 +08:00
guunergooner
a3505aeec4
feat: Add DeepSeek thinking mode support for OpenAI compatibility layer ( #206 )
...
* feat: Add DeepSeek thinking mode support for OpenAI compatibility layer
- Add DeepSeek reasoning models support (deepseek-reasoner and DeepSeek-V3.2)
- Automatic thinking mode detection based on model name
- Inject thinking parameters in request body (both official API and vLLM formats)
- Preserve reasoning_content in message conversion for tool call iterations
- Extract buildOpenAIRequestBody() for testability
- Treat multimodal inputs (e.g. images) as new turn boundaries
- Fix env var cleanup in tests to prevent state leak
Signed-off-by: guunergooner <tongchao0923@gmail.com>
* docs: update contributors
---------
Signed-off-by: guunergooner <tongchao0923@gmail.com>
Co-authored-by: guunergooner <18660867+guunergooner@users.noreply.github.com>
2026-04-08 21:33:26 +08:00
bonerush
91ee1428fa
Fix bug OpenAI tooluse,Improve error messaging for deferred-loading tools under OpenAI‑compatible models. ( #199 )
...
* fix: reorder tool and user messages for OpenAI API compatibility (#168 )
Fixes #168
OpenAI requires that an assistant message with tool_calls be immediately
followed by tool messages. Previously, convertInternalUserMessage
output user content before tool results, causing 400 errors.
Now tool messages are pushed first.
* fix: 修复OpenAI兼容层中deferred tools处理问题
提交描述:
修复了在使用OpenAI兼容API时TaskCreate工具调用失败的问题。
问题:
- 当使用OpenAI兼容API模型时,调用TaskCreate工具出现"InputValidationError: The required
parameter `subject` is missing"错误
- OpenAI兼容层没有正确处理deferred tools的过滤逻辑,导致工具schema没有被正确发送给模型
修复:
1. 在OpenAI兼容层中添加了与Anthropic API路径一致的deferred tools处理逻辑
2. 导入必要的工具搜索相关函数: isToolSearchEnabled, extractDiscoveredToolNames,
isDeferredTool等
3. 实现工具过滤逻辑:
- 检查工具搜索是否启用
- 构建deferred tools集合
- 过滤工具列表: 只包含非deferred工具或已发现的deferred工具
- 为deferred tools设置deferLoading标志
4. 修正了extractDiscoveredToolNames函数的导入路径错误
影响:
- 解决了TaskCreate工具调用时的参数验证错误
- 确保OpenAI兼容层与Anthropic API路径在处理deferred tools时行为一致
- 支持工具搜索功能在OpenAI兼容模式下正常工作
修改的文件:
- src/services/api/openai/index.ts - 主要修复文件
测试建议:
1. 使用OpenAI兼容API模型时,TaskCreate工具应该可以正常调用
2. 如果工具搜索功能启用,可能需要先使用ToolSearchTool来发现TaskCreate工具
3. 验证工具调用时不再出现"InputValidationError"错误
这个修复确保了当使用OpenAI兼容API(如Ollama、DeepSeek、vLLM等)时,deferred
tools(如TaskCreate)能够被正确处理,解决了工具调用失败的问题。
* fix: 更新工具模式未发送提示,增加OpenAI兼容模型使用指南
2026-04-08 18:08:59 +08:00
bonerush
bdea5a2632
fix: Fix deferred tools handling in OpenAI compatibility layer ( #193 )
...
* fix: reorder tool and user messages for OpenAI API compatibility (#168 )
Fixes #168
OpenAI requires that an assistant message with tool_calls be immediately
followed by tool messages. Previously, convertInternalUserMessage
output user content before tool results, causing 400 errors.
Now tool messages are pushed first.
* fix: 修复OpenAI兼容层中deferred tools处理问题
提交描述:
修复了在使用OpenAI兼容API时TaskCreate工具调用失败的问题。
问题:
- 当使用OpenAI兼容API模型时,调用TaskCreate工具出现"InputValidationError: The required
parameter `subject` is missing"错误
- OpenAI兼容层没有正确处理deferred tools的过滤逻辑,导致工具schema没有被正确发送给模型
修复:
1. 在OpenAI兼容层中添加了与Anthropic API路径一致的deferred tools处理逻辑
2. 导入必要的工具搜索相关函数: isToolSearchEnabled, extractDiscoveredToolNames,
isDeferredTool等
3. 实现工具过滤逻辑:
- 检查工具搜索是否启用
- 构建deferred tools集合
- 过滤工具列表: 只包含非deferred工具或已发现的deferred工具
- 为deferred tools设置deferLoading标志
4. 修正了extractDiscoveredToolNames函数的导入路径错误
影响:
- 解决了TaskCreate工具调用时的参数验证错误
- 确保OpenAI兼容层与Anthropic API路径在处理deferred tools时行为一致
- 支持工具搜索功能在OpenAI兼容模式下正常工作
修改的文件:
- src/services/api/openai/index.ts - 主要修复文件
测试建议:
1. 使用OpenAI兼容API模型时,TaskCreate工具应该可以正常调用
2. 如果工具搜索功能启用,可能需要先使用ToolSearchTool来发现TaskCreate工具
3. 验证工具调用时不再出现"InputValidationError"错误
这个修复确保了当使用OpenAI兼容API(如Ollama、DeepSeek、vLLM等)时,deferred
tools(如TaskCreate)能够被正确处理,解决了工具调用失败的问题。
2026-04-08 12:56:10 +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
e86573ac2f
fix: 修复 -r 模式下键盘输入无响应
...
两个根因:
1. earlyInput 的 readableHandler 残留在 stdin 上
setAppCallbacks() 在反编译项目中从未被调用,导致
stopCapturingEarlyInput() 是 no-op,readableHandler
在 Ink 的 handleReadable 之前消费所有 stdin 数据。
修复:在 handleSetRawMode(true) 时移除非自身的 readable listeners。
2. React 19 layout effect cleanup 顺序问题
React 19 先运行新树的 layout effects,再清理旧树。
当旧树(showSetupDialog)比新树(launchResumeChooser)
有更多 useInput hooks 时,旧树 cleanup 把
rawModeEnabledCount 降到 0,错误关闭 raw mode。
修复:当 count=0 但仍有活跃 EventEmitter listeners 时恢复 count。
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-07 23:54:09 +08:00
claude-code-best
3e1c6bcc3f
Merge branch 'main' into refactor/ink-v2
2026-04-07 22:41:35 +08:00
claude-code-best
d6bfc34b71
fix: 修复 ant 模式
2026-04-07 22:40:59 +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
geroge
a075c09efd
Merge pull request #1 from xixingde/main
...
strictplan
2026-04-07 20:50:43 +08:00