mirror of
https://github.com/cexll/myclaude.git
synced 2026-02-12 03:27:47 +08:00
Compare commits
5 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
d75c973f32 | ||
|
|
e7f329940b | ||
|
|
0fc5eaaa2d | ||
|
|
420eb857ff | ||
|
|
661656c587 |
60
CHANGELOG.md
60
CHANGELOG.md
@@ -2,6 +2,66 @@
|
|||||||
|
|
||||||
All notable changes to this project will be documented in this file.
|
All notable changes to this project will be documented in this file.
|
||||||
|
|
||||||
|
## [5.6.4] - 2026-01-15
|
||||||
|
|
||||||
|
### 🚀 Features
|
||||||
|
|
||||||
|
- add reasoning effort config for codex backend
|
||||||
|
- default to skip-permissions and bypass-sandbox
|
||||||
|
- add multi-agent support with yolo mode
|
||||||
|
- add omo module for multi-agent orchestration
|
||||||
|
- add intelligent backend selection based on task complexity (#61)
|
||||||
|
- v5.4.0 structured execution report (#94)
|
||||||
|
- add millisecond-precision timestamps to all log entries (#91)
|
||||||
|
- skill-install install script and security scan
|
||||||
|
- add uninstall scripts with selective module removal
|
||||||
|
|
||||||
|
### 🐛 Bug Fixes
|
||||||
|
|
||||||
|
- filter codex stderr noise logs
|
||||||
|
- use config override for codex reasoning effort
|
||||||
|
- propagate SkipPermissions to parallel tasks (#113)
|
||||||
|
- add timeout for Windows process termination
|
||||||
|
- reject dash as workdir parameter (#118)
|
||||||
|
- add sleep in fake script to prevent CI race condition
|
||||||
|
- fix gemini env load
|
||||||
|
- fix omo
|
||||||
|
- fix codeagent skill TaskOutput
|
||||||
|
- 修复 Gemini init 事件 session_id 未提取的问题 (#111)
|
||||||
|
- Windows 后端退出:taskkill 结束进程树 + turn.completed 支持 (#108)
|
||||||
|
- support model parameter for all backends, auto-inject from settings (#105)
|
||||||
|
- replace setx with reg add to avoid 1024-char PATH truncation (#101)
|
||||||
|
- 移除未知事件格式的日志噪声 (#96)
|
||||||
|
- prevent duplicate PATH entries on reinstall (#95)
|
||||||
|
- Minor issues #12 and #13 - ASCII mode and performance optimization
|
||||||
|
- correct settings.json filename and bump version to v5.2.8
|
||||||
|
- allow claude backend to read env from setting.json while preventing recursion (#92)
|
||||||
|
- comprehensive security and quality improvements for PR #85 & #87 (#90)
|
||||||
|
- Improve backend termination after message and extend timeout (#86)
|
||||||
|
- Parser重复解析优化 + 严重bug修复 + PR #86兼容性 (#88)
|
||||||
|
- filter noisy stderr output from gemini backend (#83)
|
||||||
|
- 修復 wsl install.sh 格式問題 (#78)
|
||||||
|
- 修复多 backend 并行日志 PID 混乱并移除包装格式 (#74) (#76)
|
||||||
|
|
||||||
|
### 🚜 Refactor
|
||||||
|
|
||||||
|
- remove sisyphus agent and unused code
|
||||||
|
- streamline agent documentation and remove sisyphus
|
||||||
|
|
||||||
|
### 📚 Documentation
|
||||||
|
|
||||||
|
- add OmO workflow to README and fix plugin marketplace structure
|
||||||
|
- update FAQ for default bypass/skip-permissions behavior
|
||||||
|
- 添加 FAQ 常见问题章节
|
||||||
|
- update troubleshooting with idempotent PATH commands (#95)
|
||||||
|
|
||||||
|
### 💼 Other
|
||||||
|
|
||||||
|
- add test-cases skill
|
||||||
|
- add browser skill
|
||||||
|
- BMADh和Requirements-Driven支持根据语义生成对应的文档 (#82)
|
||||||
|
- update all readme
|
||||||
|
|
||||||
## [5.2.4] - 2025-12-16
|
## [5.2.4] - 2025-12-16
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -766,7 +766,7 @@ func buildCodexArgs(cfg *Config, targetArg string) []string {
|
|||||||
}
|
}
|
||||||
|
|
||||||
if reasoningEffort := strings.TrimSpace(cfg.ReasoningEffort); reasoningEffort != "" {
|
if reasoningEffort := strings.TrimSpace(cfg.ReasoningEffort); reasoningEffort != "" {
|
||||||
args = append(args, "--reasoning-effort", reasoningEffort)
|
args = append(args, "-c", "model_reasoning_effort="+reasoningEffort)
|
||||||
}
|
}
|
||||||
|
|
||||||
args = append(args, "--skip-git-repo-check")
|
args = append(args, "--skip-git-repo-check")
|
||||||
@@ -983,6 +983,9 @@ func runCodexTaskWithContext(parentCtx context.Context, taskSpec TaskSpec, backe
|
|||||||
if cfg.Backend == "gemini" {
|
if cfg.Backend == "gemini" {
|
||||||
stderrFilter = newFilteringWriter(os.Stderr, geminiNoisePatterns)
|
stderrFilter = newFilteringWriter(os.Stderr, geminiNoisePatterns)
|
||||||
stderrOut = stderrFilter
|
stderrOut = stderrFilter
|
||||||
|
} else if cfg.Backend == "codex" {
|
||||||
|
stderrFilter = newFilteringWriter(os.Stderr, codexNoisePatterns)
|
||||||
|
stderrOut = stderrFilter
|
||||||
}
|
}
|
||||||
stderrWriters = append([]io.Writer{stderrOut}, stderrWriters...)
|
stderrWriters = append([]io.Writer{stderrOut}, stderrWriters...)
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -18,6 +18,12 @@ var geminiNoisePatterns = []string{
|
|||||||
"YOLO mode is enabled",
|
"YOLO mode is enabled",
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// codexNoisePatterns contains stderr patterns to filter for codex backend
|
||||||
|
var codexNoisePatterns = []string{
|
||||||
|
"ERROR codex_core::codex: needs_follow_up:",
|
||||||
|
"ERROR codex_core::skills::loader:",
|
||||||
|
}
|
||||||
|
|
||||||
// filteringWriter wraps an io.Writer and filters out lines matching patterns
|
// filteringWriter wraps an io.Writer and filters out lines matching patterns
|
||||||
type filteringWriter struct {
|
type filteringWriter struct {
|
||||||
w io.Writer
|
w io.Writer
|
||||||
|
|||||||
@@ -14,7 +14,7 @@ import (
|
|||||||
)
|
)
|
||||||
|
|
||||||
const (
|
const (
|
||||||
version = "5.5.0"
|
version = "5.6.4"
|
||||||
defaultWorkdir = "."
|
defaultWorkdir = "."
|
||||||
defaultTimeout = 7200 // seconds (2 hours)
|
defaultTimeout = 7200 // seconds (2 hours)
|
||||||
defaultCoverageTarget = 90.0
|
defaultCoverageTarget = 90.0
|
||||||
|
|||||||
@@ -1970,7 +1970,7 @@ func TestRunBuildCodexArgs_NewMode_WithReasoningEffort(t *testing.T) {
|
|||||||
args := buildCodexArgs(cfg, "my task")
|
args := buildCodexArgs(cfg, "my task")
|
||||||
expected := []string{
|
expected := []string{
|
||||||
"e",
|
"e",
|
||||||
"--reasoning-effort", "high",
|
"-c", "model_reasoning_effort=high",
|
||||||
"--skip-git-repo-check",
|
"--skip-git-repo-check",
|
||||||
"-C", "/test/dir",
|
"-C", "/test/dir",
|
||||||
"--json",
|
"--json",
|
||||||
@@ -2010,13 +2010,13 @@ func TestRunCodexTaskWithContext_CodexReasoningEffort(t *testing.T) {
|
|||||||
|
|
||||||
found := false
|
found := false
|
||||||
for i := 0; i+1 < len(gotArgs); i++ {
|
for i := 0; i+1 < len(gotArgs); i++ {
|
||||||
if gotArgs[i] == "--reasoning-effort" && gotArgs[i+1] == "high" {
|
if gotArgs[i] == "-c" && gotArgs[i+1] == "model_reasoning_effort=high" {
|
||||||
found = true
|
found = true
|
||||||
break
|
break
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if !found {
|
if !found {
|
||||||
t.Fatalf("expected --reasoning-effort high in args, got %v", gotArgs)
|
t.Fatalf("expected -c model_reasoning_effort=high in args, got %v", gotArgs)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -3736,7 +3736,7 @@ func TestVersionFlag(t *testing.T) {
|
|||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
|
||||||
want := "codeagent-wrapper version 5.5.0\n"
|
want := "codeagent-wrapper version 5.6.4\n"
|
||||||
|
|
||||||
if output != want {
|
if output != want {
|
||||||
t.Fatalf("output = %q, want %q", output, want)
|
t.Fatalf("output = %q, want %q", output, want)
|
||||||
@@ -3752,7 +3752,7 @@ func TestVersionShortFlag(t *testing.T) {
|
|||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
|
||||||
want := "codeagent-wrapper version 5.5.0\n"
|
want := "codeagent-wrapper version 5.6.4\n"
|
||||||
|
|
||||||
if output != want {
|
if output != want {
|
||||||
t.Fatalf("output = %q, want %q", output, want)
|
t.Fatalf("output = %q, want %q", output, want)
|
||||||
@@ -3768,7 +3768,7 @@ func TestVersionLegacyAlias(t *testing.T) {
|
|||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
|
||||||
want := "codex-wrapper version 5.5.0\n"
|
want := "codex-wrapper version 5.6.4\n"
|
||||||
|
|
||||||
if output != want {
|
if output != want {
|
||||||
t.Fatalf("output = %q, want %q", output, want)
|
t.Fatalf("output = %q, want %q", output, want)
|
||||||
|
|||||||
Reference in New Issue
Block a user