Skip to content

Commit 34cdd80

Browse files
idoubiclaude
andcommitted
feat: OpenAI-compatible model support (GPT, DeepSeek, Ollama, OpenRouter, etc.)
SDK v0.4.1 adds full OpenAI Chat Completions API adapter: - Auto-detection from BaseURL, API key prefix, model name - Supports: OpenAI, OpenRouter, DeepSeek, Ollama, Together, Groq, vLLM, LMStudio - Full tool calling support (function calling format) - Streaming and non-streaming modes - Request/response format conversion (Anthropic ↔ OpenAI) Config: - "provider" field in settings.json ("anthropic" or "openai", auto if empty) - Works with existing CODEANY_BASE_URL + CODEANY_API_KEY env vars Example configs: # OpenAI {"provider": "openai", "baseURL": "https://api.openai.com/v1", "model": "gpt-4o"} # Ollama (local) {"baseURL": "http://localhost:11434/v1", "model": "llama3.2"} # DeepSeek {"baseURL": "https://api.deepseek.com/v1", "model": "deepseek-chat"} Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
1 parent b1cd6c5 commit 34cdd80

File tree

5 files changed

+8
-5
lines changed

5 files changed

+8
-5
lines changed

go.mod

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ require (
77
github.com/charmbracelet/bubbletea v1.3.5
88
github.com/charmbracelet/glamour v0.9.1
99
github.com/charmbracelet/lipgloss v1.1.0
10-
github.com/codeany-ai/open-agent-sdk-go v0.3.0
10+
github.com/codeany-ai/open-agent-sdk-go v0.4.1
1111
github.com/muesli/reflow v0.3.0
1212
github.com/spf13/cobra v1.9.1
1313
gopkg.in/yaml.v3 v3.0.1

go.sum

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -32,8 +32,8 @@ github.com/charmbracelet/x/exp/golden v0.0.0-20241011142426-46044092ad91 h1:payR
3232
github.com/charmbracelet/x/exp/golden v0.0.0-20241011142426-46044092ad91/go.mod h1:wDlXFlCrmJ8J+swcL/MnGUuYnqgQdW9rhSD61oNMb6U=
3333
github.com/charmbracelet/x/term v0.2.1 h1:AQeHeLZ1OqSXhrAWpYUtZyX1T3zVxfpZuEQMIQaGIAQ=
3434
github.com/charmbracelet/x/term v0.2.1/go.mod h1:oQ4enTYFV7QN4m0i9mzHrViD7TQKvNEEkHUMCmsxdUg=
35-
github.com/codeany-ai/open-agent-sdk-go v0.3.0 h1:Levqy7k0fGFSDhNFUjJakWlqM28dfgq5Y/1YVzwodkk=
36-
github.com/codeany-ai/open-agent-sdk-go v0.3.0/go.mod h1:j9P9/i2oWLD0iMB73vZ6IllaQ9FzgG0LAdPmnqb9VOw=
35+
github.com/codeany-ai/open-agent-sdk-go v0.4.1 h1:sifjkB79SwgiJDDTaU65whTtKoddisT2i0zkQ68m04Y=
36+
github.com/codeany-ai/open-agent-sdk-go v0.4.1/go.mod h1:j9P9/i2oWLD0iMB73vZ6IllaQ9FzgG0LAdPmnqb9VOw=
3737
github.com/cpuguy83/go-md2man/v2 v2.0.6/go.mod h1:oOW0eioCTA6cOiMLiUPZOpcVxMig6NIQQ7OS05n1F4g=
3838
github.com/dlclark/regexp2 v1.11.0 h1:G/nrcoOa7ZXlpoa/91N3X7mM3r8eIlMBBJZvsz/mxKI=
3939
github.com/dlclark/regexp2 v1.11.0/go.mod h1:DHkYz0B9wPfa6wondMfaivmHpzrQ3v9q8cnmRbL6yW8=

internal/config/config.go

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -25,8 +25,9 @@ type Config struct {
2525
SmallModel string `json:"smallModel,omitempty"`
2626

2727
// API settings
28-
APIKey string `json:"apiKey,omitempty"`
29-
BaseURL string `json:"baseURL,omitempty"`
28+
APIKey string `json:"apiKey,omitempty"`
29+
BaseURL string `json:"baseURL,omitempty"`
30+
Provider string `json:"provider,omitempty"` // "anthropic" or "openai" (auto-detected if empty)
3031

3132
// Permission settings
3233
PermissionMode string `json:"permissionMode,omitempty"`

internal/pipe/pipe.go

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@ func Run(ctx context.Context, cfg *config.Config, prompt string, outputFmt strin
1919
Model: cfg.Model,
2020
APIKey: cfg.APIKey,
2121
BaseURL: cfg.BaseURL,
22+
Provider: cfg.Provider,
2223
CWD: cwd,
2324
MaxTurns: cfg.MaxTurns,
2425
MaxBudgetUSD: cfg.MaxBudgetUSD,

internal/tui/model.go

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -204,6 +204,7 @@ func (m *Model) initAgent() tea.Cmd {
204204
Model: m.cfg.Model,
205205
APIKey: m.cfg.APIKey,
206206
BaseURL: m.cfg.BaseURL,
207+
Provider: m.cfg.Provider,
207208
CWD: cwd,
208209
MaxTurns: m.cfg.MaxTurns,
209210
MaxBudgetUSD: m.cfg.MaxBudgetUSD,

0 commit comments

Comments
 (0)