Commit Graph

555 Commits

Author SHA1 Message Date
xixingde
5a306c3ea7 feat(auth): update OAuth flow message to reference Costrict branding 2026-05-14 16:28:24 +08:00
xixingde
25ea4a0cf3 feat(auth): add remote API control config to gate third-party providers 2026-05-14 16:03:04 +08:00
geroge
a1dca02b55
Merge pull request #81 from y574444354/fix/raw-dump
feat(rawDump): add raw dump reporting module with local mode and deduplication
2026-05-14 11:34:01 +08:00
林凯90331
dc82486456 feat(rawDump): enable raw dump by default
Change isEnabled() logic so raw dump is on by default unless
explicitly disabled via CSC_DISABLE_RAW_DUMP=1 or
COSTRICT_DISABLE_RAW_DUMP=1.

Signed-off-by: 林凯90331 <90331@sangfor.com>
Co-authored-by: CoStrict <zgsm@sangfor.com.cn>
2026-05-14 11:22:38 +08:00
林凯90331
12caa6706b perf(rawDump): reduce CPU usage and fix worker spawn reliability
Add session messages and repo info caching to avoid repeated JSONL
parsing and git subprocess spawning across tasks.

Share state across all tasks in a single batch to minimize file lock
contention and JSON parse overhead.

Convert queue operations from sync to async to prevent event loop
blocking in the main process.

Restore inline batch worker fallback when external spawn fails,
and increase worker interval from 30s to 2min to reduce CPU impact.

Add 5s debounce per session+messageID to prevent duplicate enqueues.

Improve binary mode spawn reliability by falling back to node runtime
when bun is not available.

Signed-off-by: 林凯90331 <90331@sangfor.com>
Co-authored-by: CoStrict <zgsm@sangfor.com.cn>
2026-05-14 11:07:02 +08:00
林凯90331
e24ed3b63d feat(rawDump): add raw dump reporting module with local mode and deduplication
Implement the raw dump data reporting module for uploading conversation,
summary, and commit data to the CoStrict endpoint.

Key features:
- Local dump mode for debugging without network
- PID-based file locking to prevent state corruption with multiple csc instances
- 5-minute deduplication window for summary uploads
- Auto-detect sender (user/agent) and conditional user_input
- Repository fields (repo_addr, repo_branch, work_dir) in conversation
- Anonymous interface fallback when auth fails
- Filter commits to current user and limit fetch range
- Skip empty intermediate conversation turns
- Fix worker spawning for build and binary modes
- Remove git diff HEAD fallback to avoid unrelated working tree changes

Signed-off-by: 林凯90331 <90331@sangfor.com>
Co-authored-by: CoStrict <zgsm@sangfor.com.cn>
2026-05-13 23:49:20 +08:00
geroge
42107f7d2f
Merge pull request #64 from y574444354/feat/migrate-review-agents
【Review】feat: 将 review skill 迁移到 extract-to-disk 架构
2026-05-13 19:38:26 +08:00
geroge
d3d0dd25d2
Merge pull request #80 from IronRookieCoder/fix/issues-31-32
fix: 修复任务列表数字ID乱序和内存轮询导致滚动跳动
2026-05-13 19:37:25 +08:00
geroge
d8a19f1473
Merge pull request #79 from IronRookieCoder/personal-ironrookiecoder-fix-issue-42-43
fix: merge sub-agent readFileState to prevent cross-agent write confl…
2026-05-13 19:37:09 +08:00
geroge
e570eee02a
Merge pull request #78 from IronRookieCoder/fix/issue-28-costrict-provider
fix: 修复 CoStrict provider 提前停止与 token override 问题
2026-05-13 19:36:34 +08:00
IronRookieCoder
5ee2d6dcc3 fix: 修复任务列表数字ID乱序和内存轮询导致滚动跳动
两个修复:

1. 任务列表数字ID乱序(#32):新增 compareTaskIds 比较函数,纯数字ID按
   数值大小排序(1, 2, 3, 10 而非 1, 10, 2, 3),非纯数字回退到
   localeCompare 自然排序。listTasks 和 taskStateMessage 两处排序入口
   均已修复。

2. 终端 RSS 内存轮询引发滚动跳动(#31):useRssDisplay hook 新增 isLoading
   参数,仅在加载中启用定时轮询,闲时仅渲染一次内存占用值,避免 Ink 重渲染
   干扰用户滚动查看结果。

附:TaskCreateTool.isConcurrencySafe 改为 false,防止并发任务创建的文件
IO 竞态。

Co-Authored-By: CoStrict-DeepSeek-V4-Pro <deepseek-ai@claude-code-best.win>
2026-05-13 16:44:13 +08:00
IronRookieCoder
233971c6ce fix: merge sub-agent readFileState to prevent cross-agent write conflicts
子代理完成后将其 readFileState 合并回主代理缓存,防止主代理写文件时因
缓存过期而误报 FILE_UNEXPECTEDLY_MODIFIED_ERROR。

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-13 16:36:46 +08:00
IronRookieCoder
62f4cb9daf fix: 修复 CoStrict provider 提前停止与 token override 问题 2026-05-13 16:24:34 +08:00
kingboung
ed513c6292 merge: sync main into feat/migrate-review-agents
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-13 16:08:01 +08:00
IronRookieCoder
65e55ac763 Merge remote-tracking branch 'origin' into fix/sdd-design-invalid-tool-params 2026-05-12 21:31:12 +08:00
IronRookieCoder
b58fd8f782 fix: 修复子代理参数兼容问题 2026-05-12 21:24:12 +08:00
kingboung
e0f8c1a289 fix: show (bundled) label for /review and /security-review commands
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-12 20:45:33 +08:00
geroge
5c2e1918ca
Merge pull request #73 from mini2s/fix-autocompact
feat(compact): add CoStrict model support and prevent infinite compaction loops
2026-05-12 20:12:15 +08:00
mini2s
a796a328c9 feat(compact): add CoStrict model support and prevent infinite compaction loops 2026-05-12 20:07:24 +08:00
Askhz
339ef4bc63 fix: costrict provider 下子 agent 模型别名继承父模型
costrict 没有 haiku/sonnet/opus 模型层级,当子 agent(如 Explore)
配置为 haiku 时,parseUserSpecifiedModel 会解析到 Claude haiku
模型 ID 而非继承主会话所选模型。修复为 costrict 下所有 family
alias 强制走 inherit 逻辑,使用 getRuntimeMainLoopModel 以正确
支持 plan mode 等场景。

Co-Authored-By: CoStrict-DeepSeek-V4-Pro <deepseek-ai@claude-code-best.win>
2026-05-12 19:31:36 +08:00
kingboung
680342bc28 chore: remove /strict:review and /strict:security-review commands
Only keep /review and /security-review via extract-to-disk.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-12 18:00:10 +08:00
kingboung
08ad8a55da refactor: strict review variants load skill via Skill tool
Remove embedded files, use Skill tool to load review/security-review
skill instead, matching the same mechanism as /review.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-12 17:38:56 +08:00
kingboung
909e001100 feat: register /strict:review and /strict:security-review via registerBundledSkill
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-12 17:31:24 +08:00
kingboung
c374cab5ed fix: remove registerBundledSkill for strict review variants
All review commands now exclusively use extract-to-disk + skill scanner,
no registerBundledSkill duplication.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-12 17:16:09 +08:00
geroge
00887762a2
Merge pull request #68 from IronRookieCoder/feat/proxy-ca-improvements
feat: 添加代理和 CA 证书功能改进及测试
2026-05-12 17:15:25 +08:00
geroge
fbae6383fd
Merge pull request #69 from y574444354/test-pattern-with-root
test: add unit tests for patternWithRoot with Windows path improvements
2026-05-12 17:14:59 +08:00
unknown_
24e62eb6f3 test: add unit tests for patternWithRoot with Windows path improvements 2026-05-12 17:07:46 +08:00
kingboung
ca5114dfcf fix: remove duplicate review skill registration
Remove registerBundledSkill for /review and /security-review since
extract-to-disk + skill scanner already registers them. Only register
/strict:review and /strict:security-review via bundled skill.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-12 17:03:38 +08:00
kingboung
09bbfb77e1 fix: allow model to invoke Skill tool for review commands
Set disableModelInvocation to false so the model can use the Skill tool
to load review/security-review skills as instructed by locale templates.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-12 17:01:12 +08:00
kingboung
7565ad59a4 refactor: use inline mode for all review commands
Remove context:'fork' from strict variants, all four commands now
execute inline in the main session.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-12 16:55:48 +08:00
kingboung
7425b59826 feat: register /review and /security-review via registerBundledSkill
Replace indirect Skill-tool-based routing with direct bundled skill
registration using SKILL_FILES, matching /strict:review approach.

- reviewSkills.ts registers all four commands (review, security-review,
  strict:review, strict:security-review) with embedded files
- Remove review command from commands.ts (now bundled skill)
- Simplify review.ts to only export ultrareview
- Update mcp.ts to get review command from bundled skills

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-12 16:52:43 +08:00
kingboung
6c909321ed feat: register /strict:review and /strict:security-review commands
Add strictReview.ts to register strict review variants as bundled skills
with context:'fork' (sub-agent mode), using SKILL_FILES and CommandLocale.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-12 16:38:24 +08:00
IronRookieCoder
b39887b2d3 feat: 添加代理和 CA 证书功能改进及测试
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-12 16:24:02 +08:00
unknown_
ade163561b fix: protect tabs from wrap-ansi expansion in MeasuredText 2026-05-12 16:05:08 +08:00
kingboung
33bdcb9b74 fix: restore verified commit 89c9e87c files after main merge
Restore files to match the verified commit state:
- generate-review-builtin.ts: skill-only generation, SSH clone, optimize/agent-prompts branch
- extension.ts: listBuiltinSkillNames, getClaudeConfigHomeDir approach
- lang.ts: re-extract review skills on language switch
- locales: use Skill tool prompt format

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-12 15:41:21 +08:00
kingboung
4c56bbe268 fix: remove agent-based review code reintroduced from main merge
Revert PR #43 agent-based code that was brought in during the main merge:
- Remove generateBuiltinAgents and all agent-related logic from generate script
- Delete src/costrict/review/agent/ directory
- Delete src/commands/security-review.ts (handled by bundled skill)
- Restore PR #64 extension.ts with getClaudeConfigHomeDir approach
- Remove REVIEW_AGENTS from builtInAgents.ts
- Keep review command (needed for MCP entry), but use CommandLocale instead of agent

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-12 15:32:07 +08:00
kingboung
a645f34ee5 fix: resolve merge conflicts with main, keep branch review architecture
- Remove duplicate extractBundledSkill from generated builtin.ts template
- Keep extract-to-disk extension.ts (branch version)
- Keep SSH clone URL for generate-review-builtin
- Revert .gitignore, package.json, locales to branch versions

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-12 15:16:17 +08:00
y574444354
73f8641033 chore: bump version to 4.0.15 and update CHANGELOG
- 版本号 4.0.14 → 4.0.15
- 更新 CHANGELOG.md 添加 4.0.14 变更记录
- markdownConfigLoader: ripgrep 失败时降级到原生文件搜索
2026-05-12 15:10:39 +08:00
kingboung
8599340c68 Merge remote-tracking branch 'origin/main' into feat/migrate-review-agents
Conflicts resolved in favor of our branch for review-related files.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-12 15:08:13 +08:00
kingboung
58518f4b9b feat: re-extract review skills on language switch
When /lang is used to switch language, immediately re-extract review
skills for the new locale and refresh skill caches so changes take
effect without restart.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-12 14:52:39 +08:00
y574444354
d3100178e3 fix: 修复 betas 导入名称不匹配
TOOL_SEARCH_BETA_HEADER_* → SEARCH_EXTRA_TOOLS_BETA_HEADER_*
与 src/constants/betas.ts 的导出名称保持一致
2026-05-12 12:34:38 +08:00
y574444354
666d2ba2eb Merge branch 'main' into merge 2026-05-12 12:25:05 +08:00
y574444354
8b6bdd44d8 Revert "Merge pull request #60 from y574444354/feat/migrate-review-agents"
This reverts commit 62398b2dcc, reversing
changes made to ba39b17a7e.
2026-05-12 12:11:37 +08:00
y574444354
d59d1f590a chore: 合并社区 upstream/main 代码至 v2.4.2
合并 claude-code-best/claude-code 社区最新代码,包含:
- 配置文件更新:precheck/lint-staged/overrides 等
- 新 feature flags:EXPERIMENTAL_SEARCH_EXTRA_TOOLS、AUTOFIX_PR
- 工具系统架构更新:Tool Search、ACP 协议支持
- 文档更新:CLAUDE.md 同步架构变更
- 依赖更新:SDK 版本升级、lint-staged 加入

冲突处理策略:以 costrict 版本为主,选择性合并上游功能改进
2026-05-12 11:55:04 +08:00
kingboung
37f53440f3 Merge remote-tracking branch 'origin/main' into feat/migrate-review-agents 2026-05-12 11:49:50 +08:00
kingboung
c3e19d7d2a refactor: migrate review skills from registerBundledSkill to extract-to-disk
Replace registerBundledSkill() with runtime extract-to-disk + standard
skill scanner discovery, aligning with upstream opencode PR #360 approach.

- Add extractBundledSkill() to generate script output
- Create extension.ts for runtime skill extraction to ~/.claude/skills/
- Remove reviewSkills.ts (registerBundledSkill registration)
- Update bundled/index.ts to call Extension.initializeBuiltinSkills()
- Add build:builtin-review script to package.json

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-12 11:49:38 +08:00
kingboung
e68415c7e9 fix: add Skill tool to allowedTools and restore locale templates
- Add 'Skill' to allowedTools so model can invoke Skill tool to load
  review/security-review SKILL.md content
- Restore src/costrict/command/locales/ with zh-CN/en templates telling
  model to use Skill tool (aligns with opencode PR #360 approach)
- Remove model: 'inherit' from review registration (was resolving to
  wrong model, strict:plan works without it)

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-12 10:50:43 +08:00
Askhz
158ead6cbe Merge branch 'main' into feat/costrict-max-tokens 2026-05-12 10:16:21 +08:00
geroge
62398b2dcc
Merge pull request #60 from y574444354/feat/migrate-review-agents
feat: migrate review system to bundled skill files mechanism
2026-05-12 10:11:29 +08:00
geroge
ba39b17a7e
Merge pull request #56 from Askhz/chore/remove-attribution-header
chore: remove x-anthropic-billing-header from system prompt
2026-05-12 10:11:03 +08:00