Commit Graph

428 Commits

Author SHA1 Message Date
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
xixingde
47b535af47 fix(costrict): enable file edit and write tools for built-in agents 2026-04-07 20:40:17 +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
bonerush
5d7e54751a
fix: reorder tool and user messages for OpenAI API compatibility (#168) (#177)
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.
2026-04-07 19:27:25 +08:00
claude-code-best
52a9cc0414 fix: 修复 ant 模式 2026-04-07 19:15:29 +08:00
claude-code-best
f268b16b31 feat: 将 keybinding 纳入 ink 管辖 2026-04-07 17:51:01 +08:00
xixingde
884e0208b8 feat(agents): add costrict agent suite for structured workflows 2026-04-07 17:50:42 +08:00
claude-code-best
e5782e732c Revert "Revert "feat: 第一个可以用的 ink 组件抽象 (#158)" (#175)"
This reverts commit 88d4c3ba24.
2026-04-07 16:17:48 +08:00
claude-code-best
4e1e681a46 fix: 删除 debug 限制 2026-04-07 16:13:15 +08:00
claude-code-best
a7d9a220bf fix: 修复 main 文件及 "production" 的问题 2026-04-07 16:13:15 +08:00
Dosion
0c53796d15
feat: restore daemon supervisor and remoteControlServer command (#170)
Reverse-engineer the missing daemon + remoteControlServer implementation
by tracing the call chain from existing code:

- src/daemon/main.ts: restore from stub to full supervisor (spawn/monitor
  workers, exponential backoff restart, graceful shutdown)
- src/daemon/workerRegistry.ts: restore from stub to worker dispatcher
  (remoteControl kind → runBridgeHeadless())
- src/commands/remoteControlServer/: new slash command /remote-control-server
  (alias /rcs) for managing the daemon from REPL
- build.ts + scripts/dev.ts: enable DAEMON feature flag

Both official CLI 2.1.92 and our codebase had the command registered in
commands.ts but the directory and daemon implementation were missing.
The bottom layer (runBridgeHeadless in bridgeMain.ts) was already complete.

Co-authored-by: unraid <local@unraid.local>
2026-04-07 15:36:29 +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
Dosion
33949ce5a2
Merge pull request #156 from amDosion/feat/ultraplan-enablement
feat: enable /ultraplan and harden GrowthBook fallback chain
2026-04-06 22:09:28 +08:00
claude-code-best
35bc4f395d
Merge pull request #153 from amDosion/feat/growthbook-enablement
feat: enable GrowthBook local gate defaults for P0/P1 features
2026-04-06 17:18:59 +08:00
claude-code-best
379e40f12a fix: 回退全屏模式 2026-04-06 17:10:16 +08:00
unraid
1b47333d72 feat: enable GrowthBook local gate defaults for P0/P1 features
Add LOCAL_GATE_DEFAULTS mapping in growthbook.ts with 27 feature gate
defaults (25 boolean + 2 object config). Insert local defaults into the
fallback chain of all getter functions so they work regardless of whether
GrowthBook is enabled or disabled:

  env overrides → config overrides → in-memory cache → disk cache
  → LOCAL_GATE_DEFAULTS → caller defaultValue

P0 (local): keybindings, streaming tool exec, cron, JSON tools,
ultrathink, explore/plan agents, deep link, immediate model switch
P1 (API): session memory, auto memory, prompt suggestions, brief mode,
verification agent, away summary, auto dream, idle return prompt
Kill switches: 10 gates kept true to prevent remote disable

New compile flags: AGENT_TRIGGERS, ULTRATHINK, BUILTIN_EXPLORE_PLAN_AGENTS,
LODESTONE, EXTRACT_MEMORIES, VERIFICATION_AGENT, KAIROS_BRIEF, AWAY_SUMMARY

Bypass all local defaults: CLAUDE_CODE_DISABLE_LOCAL_GATES=1
2026-04-06 17:00:30 +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
767d6fae06
Merge branch 'claude-code-best:main' into main 2026-04-06 13:50:34 +08:00
claude-code-best
6e598fc4c9
Merge pull request #149 from uk0/fix/openai-tool-compat
fix: OpenAI adapter tool calling compatibility
2026-04-06 13:48:36 +08:00
uk0
e88dcb2f9e fix: OpenAI adapter tool calling compatibility
Two fixes for OpenAI-compatible provider compatibility:

1. Sanitize JSON Schema `const` → `enum` in tool parameters.
   Many OpenAI-compatible endpoints (Ollama, DeepSeek, vLLM, etc.)
   do not support the `const` keyword in JSON Schema. Recursively
   convert `const: value` to `enum: [value]` which is semantically
   equivalent.

2. Force stop_reason to `tool_use` when tool_calls are present.
   Some backends incorrectly return finish_reason "stop" even when
   the response contains tool_calls. Without this fix, the query
   loop treats the response as a normal end_turn and never executes
   the requested tools.
2026-04-06 13:31:28 +08:00
HitMargin
a15340f555
Merge branch 'claude-code-best:main' into main 2026-04-06 12:30:53 +08:00
HitMargin
eb62b4704e e 2026-04-06 12:23:59 +08:00
HitMargin
81ecd82b65 Test 2026-04-06 11:53:11 +08:00
claude-code-best
919011a372 fix: 修复 login 表单的 enter 覆盖问题 2026-04-06 11:28:01 +08:00
claude-code-best
3923af4834 fix: 修复 login 面板的左右切换能力 2026-04-06 11:23:49 +08:00
HitMargin
14dc54a093 gemini模型环境变量分离 provider指令支持切换gemini 2026-04-06 11:23:05 +08:00
claude-code-best
fc0bebf6b3
fix MACRO fallback (#146) 2026-04-06 10:54:35 +08:00
claude-code-best
eca1acc662 feat: 支持 openai 图片兼容 2026-04-06 10:48:27 +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
uk0
cd70c1b7fd fix MACRO fallback 2026-04-06 10:15:56 +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
a50971f26f ConsoleOAuthFlow: 添加 base_url URL 格式验证 2026-04-05 14:17:40 +08:00
HitMargin
41f733a60f 验证 OAuth 流程中的 base_url 防止无效 URL 2026-04-05 13:58:50 +08:00
HitMargin
282f2f4367 删除误导注释 2026-04-05 13:37:12 +08:00
HitMargin
1e53943e06 修复小问题 2026-04-05 13:29:52 +08:00
HitMargin
a0141c1ba5 ConsoleOAuthFlow格式化恢复 2026-04-05 11:59:48 +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
f83198e506 feat: 删除 npm deprecation-warning 的黄色指引 2026-04-04 16:40:10 +08:00
claude-code-best
462fe69d80 fix: 修复 openai 的 cost 计算问题 2026-04-04 16:37:50 +08:00
claude-code-best
ab7556e355 feat: auto dream 开启 2026-04-04 16:28:09 +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
Dosion
913702d97e
feat: built-in status line with usage quota display (#89)
* feat: built-in status line with usage quota display

Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-04 00:15:23 +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
claude-code-best
8cb1a15ca5 Merge branch 'pr/amDosion/93' 2026-04-04 00:00:40 +08:00