Commit d98648f0 authored by cyhhao's avatar cyhhao
Browse files

fix: rewrite OpenCode identity sentence to Claude Code

parent c37fe916
package service
import (
"strings"
"testing"
"github.com/stretchr/testify/require"
)
func TestSanitizeOpenCodeText_RewritesCanonicalSentence(t *testing.T) {
in := "You are OpenCode, the best coding agent on the planet."
got := sanitizeOpenCodeText(in)
require.Equal(t, strings.TrimSpace(claudeCodeSystemPrompt), got)
}
func TestSanitizeOpenCodeText_RewritesOpenCodeKeywords(t *testing.T) {
in := "OpenCode and opencode are mentioned."
got := sanitizeOpenCodeText(in)
require.Equal(t, "Claude Code and Claude are mentioned.", got)
}
......@@ -559,6 +559,14 @@ func sanitizeOpenCodeText(text string) string {
if text == "" {
return text
}
// Some clients include a fixed OpenCode identity sentence. Anthropic may treat
// this as a non-Claude-Code fingerprint, so rewrite it to the canonical
// Claude Code banner before generic "OpenCode"/"opencode" replacements.
text = strings.ReplaceAll(
text,
"You are OpenCode, the best coding agent on the planet.",
strings.TrimSpace(claudeCodeSystemPrompt),
)
text = strings.ReplaceAll(text, "OpenCode", "Claude Code")
text = opencodeTextRe.ReplaceAllString(text, "Claude")
return text
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment