diff --git a/README.ja.md b/README.ja.md
index 24b58f983..2fca6b6d2 100644
--- a/README.ja.md
+++ b/README.ja.md
@@ -630,14 +630,14 @@ HEARTBEAT_OK 応答 ユーザーが直接結果を受け取る
"agents": {
"defaults": {
"provider": "vllm",
- "model": "MiniMax-M1-80k",
+ "model": "your-model-name",
"model_fallbacks": ["openai/gpt-4o", "anthropic/claude-sonnet-4-5-20250929"]
}
},
"providers": {
"vllm": {
- "api_key": "minimax-key",
- "api_base": "https://api.minimax.io/v1"
+ "api_key": "your-vllm-key",
+ "api_base": "https://api.example.com/v1"
},
"openai": {
"auth_method": "oauth"
diff --git a/README.md b/README.md
index abfbe4aae..9c477e33e 100644
--- a/README.md
+++ b/README.md
@@ -698,14 +698,14 @@ This keeps the runtime lightweight while making new OpenAI-compatible backends m
"agents": {
"defaults": {
"provider": "vllm",
- "model": "MiniMax-M1-80k",
+ "model": "your-model-name",
"model_fallbacks": ["openai/gpt-4o", "anthropic/claude-sonnet-4-5-20250929"]
}
},
"providers": {
"vllm": {
- "api_key": "minimax-key",
- "api_base": "https://api.minimax.io/v1"
+ "api_key": "your-vllm-key",
+ "api_base": "https://api.example.com/v1"
},
"openai": {
"auth_method": "oauth"
diff --git a/pkg/providers/claude_cli_provider_test.go b/pkg/providers/claude_cli_provider_test.go
index 874b22bee..4cf0797a5 100644
--- a/pkg/providers/claude_cli_provider_test.go
+++ b/pkg/providers/claude_cli_provider_test.go
@@ -983,11 +983,11 @@ func TestFindMatchingBrace(t *testing.T) {
// --- XML tool call extract/strip tests ---
func TestExtractXMLToolCalls_Single(t *testing.T) {
- text := `
+ text := `
echo hello
-`
+`
calls := extractXMLToolCalls(text)
if len(calls) != 1 {
@@ -1005,7 +1005,7 @@ func TestExtractXMLToolCalls_Single(t *testing.T) {
}
func TestExtractXMLToolCalls_Multiple(t *testing.T) {
- text := `
+ text := `
golang testing
@@ -1013,7 +1013,7 @@ func TestExtractXMLToolCalls_Multiple(t *testing.T) {
go test ./...
30
-`
+`
calls := extractXMLToolCalls(text)
if len(calls) != 2 {
@@ -1039,11 +1039,11 @@ func TestExtractXMLToolCalls_NoXML(t *testing.T) {
func TestStripXMLToolCalls(t *testing.T) {
text := `Let me run that.
-
+
echo hello
-
+
Done.`
got := stripXMLToolCalls(text)
diff --git a/pkg/providers/factory_test.go b/pkg/providers/factory_test.go
index 584460fa4..424d6bcaf 100644
--- a/pkg/providers/factory_test.go
+++ b/pkg/providers/factory_test.go
@@ -327,8 +327,8 @@ func TestCreateProviderByName_OpenAI_OAuth(t *testing.T) {
func TestCreateProviderByName_VLLM(t *testing.T) {
cfg := config.DefaultConfig()
- cfg.Providers.VLLM.APIKey = "minimax-key"
- cfg.Providers.VLLM.APIBase = "https://api.minimax.io/v1"
+ cfg.Providers.VLLM.APIKey = "test-vllm-key"
+ cfg.Providers.VLLM.APIBase = "https://api.example.com/v1"
provider, err := CreateProviderByName(cfg, "vllm")
if err != nil {
diff --git a/pkg/providers/http_provider.go b/pkg/providers/http_provider.go
index beca92552..3dbc30d1c 100644
--- a/pkg/providers/http_provider.go
+++ b/pkg/providers/http_provider.go
@@ -28,7 +28,7 @@ func (p *HTTPProvider) Chat(ctx context.Context, messages []Message, tools []Too
return nil, err
}
// If provider returned no structured tool_calls but Content has XML
- // tool call blocks (e.g. minimax), parse them as a fallback.
+ // tool call blocks (e.g. ), parse them as a fallback.
if len(resp.ToolCalls) == 0 {
if xmlCalls := extractXMLToolCalls(resp.Content); len(xmlCalls) > 0 {
resp.ToolCalls = xmlCalls
diff --git a/pkg/providers/tool_call_extract.go b/pkg/providers/tool_call_extract.go
index e08f31fc8..addfeecfc 100644
--- a/pkg/providers/tool_call_extract.go
+++ b/pkg/providers/tool_call_extract.go
@@ -57,17 +57,17 @@ func extractToolCallsFromText(text string) []ToolCall {
return result
}
-// extractXMLToolCalls parses XML tool call blocks (e.g. )
+// extractXMLToolCalls parses XML tool call blocks (e.g. )
// into structured ToolCall objects. Used as a fallback when the provider returns
// tool calls as XML in Content but not in the structured tool_calls field.
//
// Expected format:
//
-//
+//
//
// value
//
-//
+//
func extractXMLToolCalls(text string) []ToolCall {
var result []ToolCall
remaining := text
@@ -173,7 +173,7 @@ func extractXMLToolCalls(text string) []ToolCall {
return result
}
-// stripXMLToolCalls removes XML tool call blocks (e.g. ...)
+// stripXMLToolCalls removes XML tool call blocks (e.g. ...)
// from response text. Some providers embed raw XML tool calls in Content alongside
// structured tool_calls; this prevents them from leaking to users.
func stripXMLToolCalls(text string) string {
@@ -187,7 +187,7 @@ func stripXMLToolCalls(text string) string {
if tagStart == -1 {
return text
}
- // Extract namespace (e.g. "minimax" from "")
+ // Extract namespace (e.g. "ns" from "")
ns := text[tagStart+1 : idx]
closeTag := "" + ns + ":toolcall>"
closeIdx := strings.Index(text, closeTag)