f6386bd
chore: add a taskfile and default golangci-lint config
Andrey Nering created
f6386bd
chore: add a taskfile and default golangci-lint config
Andrey Nering created
a83fec2
chore: add a `.editorconfig` file
Andrey Nering created
bc67c13
fix: tui: use KeyPressMsg instead of KeyMsg
The `tea.KeyMsg` type can match both key presses and releases, which can lead to unexpected behavior in the TUI. Use `tea.KeyPressMsg` explicitly to ensure we match only key presses.
Ayman Bagabas created
9c4a47b
fix tools calls
Kujtim Hoxha created
25e9651
add anim to the messages
Kujtim Hoxha created
abbbc05
refactor tool rendering
Kujtim Hoxha created
c891295
fix: tui: properly calculate quit dialog size
This uses the style frame size to calculate the quit dialog width.
Ayman Bagabas created
b364394
initial chat refactor
wip
Kujtim Hoxha created
af838d1
move to v2
Kujtim Hoxha created
05b0570
refactor: upgrade Anthropic SDK to v1.4.0 and adapt provider code
### CHANGES - Upgrade Anthropic Go SDK dependency to version 1.4.0. - Adapt provider code to breaking changes in the SDK. - Update constructors for tool use and thinking parameters. - Use new `OfText` field for accessing message content. - Add Claude 4 Opus and Sonnet to documentation.
Kayvan Sylvan created
18f020c
fix(provider/gemini): prevent empty parts in assistant messages
Tom X Nguyen created
d4c8d05
add openrouter deepseek free
Kujtim Hoxha created
0c38c0f
update readme and gemini
Kujtim Hoxha created
12a98d6
Update readme & use provided logging package
Pietjan Oostra created
a2524a1
Add local provider
Pietjan Oostra created
94d5fe0
add sonnet 4
Kujtim Hoxha created
103f1c1
feat: non-interactive mode
Radu Topala created
9e065cd
docs(readme): add demo GIF (#160)
Christian Rocha created
a9fa918
feat: support VertexAI provider (#153)
* support: vertexai fix fix set default for vertexai added comment fix fix * create schema * fix README.md * fix order * added pupularity * set tools if tools is exists restore commentout * fix comment * set summarizer model
mineo created
49c710b
Add completion menu for file paths (#145)
* feat(context-dialog): init * chore(simple-list): refactor with generics * fix(complete-module): fix fzf issues * fix(complete-module): add fallbacks when rg or fzf is not available * chore(complete-module): code improvements * chore(complete-module): cleanup * fix(complete-module): dialog keys cleanup * fix(simple-list): add fallback message * fix(commands-dialog): refactor to use simple-list * fix(simple-list): add j and k keys * fix(complete-module): cleanup and minor bug fixes * fix(complete-module): self review * fix(complete-module): remove old file
Adictya created
3e42475
Improve summary to keep context (#159)
* improve summary to keep context * improve loop * remove debug msg
Kujtim Hoxha created
4f0c1c6
feat: add configuration persistence for model selections (#154)
Aiden Cline created
e8b4bb0
allow configuring shell (#157)
Ed Zynda created
36faca4
feat: Support named arguments in custom commands (#158)
* Allow multiple named args * fix: Fix styling in multi-arguments dialog * Remove old unused modal * Focus on only one input at a time
Ed Zynda created
1617685
update readme
Kujtim Hoxha created
16103e0
update aur
Kujtim Hoxha created
44bf462
update aur
Kujtim Hoxha created
b04faf0
update readme
Kujtim Hoxha created
90084ce
Context Window Warning (#152)
* context window warning & compact command * auto compact * fix permissions * update readme * fix 3.5 context window * small update * remove unused interface * remove unused msg
Kujtim Hoxha created
9345830
Fix filepicker manual input (#146)
* fix: allows to type i while manual inputting filepath * fix: file selection in filepicker focus mode * remove duplicate code
Nicholas Hamilton created
5307100
small fix
Kujtim Hoxha created
a58e607
feat: custom commands (#133)
* Implement custom commands * Add User: prefix * Reuse var * Check if the agent is busy and if so report a warning * Update README * fix typo * Implement user and project scoped custom commands * Allow for $ARGUMENTS * UI tweaks * Update internal/tui/components/dialog/arguments.go Co-authored-by: Kujtim Hoxha <kujtimii.h@gmail.com> * Also search in $HOME/.opencode/commands --------- Co-authored-by: Kujtim Hoxha <kujtimii.h@gmail.com>
Ed Zynda and Kujtim Hoxha created
cd04c44
replace `github.com/google/generative-ai-go` with `github.com/googleapis/go-genai` (#138)
* replace to github.com/googleapis/go-genai * fix history logic * small fixes --------- Co-authored-by: Kujtim Hoxha <kujtimii.h@gmail.com>
mineo and Kujtim Hoxha created
88711db
Config fix correcting loose viper string check, default model now set correctly (#147)
Joshua LaMorey-Salzmann created
9fec8df
add support for images (#144)
phantomreactor created
603a3e3
add xai support (#135)
Kujtim Hoxha created
e14de7a
fix: tweak the logic in config to ensure that env vs file configurations merge properly (#115)
Aiden Cline created
004cfe7
feat: test for getContextFromPaths (#105)
* feat: test for getContextFromPaths * fix: use testify
Garrett Ladley created
58705a1
fix: more intuitive keybinds (#121)
Adam created
82de143
feat: themes (#113)
* feat: themes * feat: flexoki theme * feat: onedark theme * feat: monokai pro theme * feat: opencode theme (default) * feat: dracula theme * feat: tokyonight theme * feat: tron theme * some small fixes --------- Co-authored-by: Kujtim Hoxha <kujtimii.h@gmail.com>
Adam and Kujtim Hoxha created
61d9dc9
fix: allow text selection (#127)
Adam created
76275e5
fix(openrouter): set api key from env (#129)
Hunter Casten created
98e2910
feat: Add support for OpenRouter (#92)
* Add support for OpenRouter as a new model provider - Introduced `ProviderOpenRouter` in the `models` package. - Added OpenRouter-specific models, including `GPT41`, `GPT41Mini`, `GPT4o`, and others, with their configurations and costs. - Updated `generateSchema` to include OpenRouter as a provider. - Added OpenRouter-specific environment variable handling (`OPENROUTER_API_KEY`) in `config.go`. - Implemented default model settings for OpenRouter agents in `setDefaultModelForAgent`. - Updated `getProviderAPIKey` to retrieve the OpenRouter API key. - Extended `SupportedModels` to include OpenRouter models. - Added OpenRouter client initialization in the `provider` package. - Modified `processGeneration` to handle `FinishReasonUnknown` in addition to `FinishReasonToolUse`. * [feature/openrouter-provider] Add new models and provider to schema - Added "deepseek-chat-free" and "deepseek-r1-free" to the list of supported models in `opencode-schema.json`. * [feature/openrouter-provider] Add OpenRouter provider support and integrate new models - Updated README.md to include OpenRouter as a supported provider and its configuration details. - Added `OPENROUTER_API_KEY` to environment variable configuration. - Introduced OpenRouter-specific models in `internal/llm/models/openrouter.go` with mappings to existing cost and token configurations. - Updated `internal/config/config.go` to set default models for OpenRouter agents. - Extended `opencode-schema.json` to include OpenRouter models in the schema definitions. - Refactored model IDs and names to align with OpenRouter naming conventions. * [feature/openrouter-provider] Refactor finish reason handling and tool call logic in agent and OpenAI provider - Simplified finish reason check in `agent.go` by removing redundant variable assignment. - Updated `openai.go` to override the finish reason to `FinishReasonToolUse` when tool calls are present. - Ensured consistent finish reason handling in both `send` and `stream` methods of the OpenAI provider. [feature/openrouter-provider] Refactor finish reason handling and tool call logic in agent and OpenAI provider - Simplified finish reason check in `agent.go` by removing redundant variable assignment. - Updated `openai.go` to override the finish reason to `FinishReasonToolUse` when tool calls are present. - Ensured consistent finish reason handling in both `send` and `stream` methods of the OpenAI provider. * **[feature/openrouter-provider] Add support for custom headers in OpenAI client configuration** - Introduced a new `extraHeaders` field in the `openaiOptions` struct to allow specifying additional HTTP headers. - Added logic in `newOpenAIClient` to apply `extraHeaders` to the OpenAI client configuration. - Implemented a new option function `WithOpenAIExtraHeaders` to set custom headers in `openaiOptions`. - Updated the OpenRouter provider configuration in `NewProvider` to include default headers (`HTTP-Referer` and `X-Title`) for OpenRouter API requests. * Update OpenRouter model config and remove unsupported models * [feature/openrouter-provider] Update OpenRouter models and default configurations - Added new OpenRouter models: `claude-3.5-sonnet`, `claude-3-haiku`, `claude-3.7-sonnet`, `claude-3.5-haiku`, and `claude-3-opus` in `openrouter.go`. - Updated default agent models in `config.go`: - `agents.coder.model` now uses `claude-3.7-sonnet`. - `agents.task.model` now uses `claude-3.7-sonnet`. - `agents.title.model` now uses `claude-3.5-haiku`. - Updated `opencode-schema.json` to include the new models in the allowed list for schema validation. - Adjusted logic in `setDefaultModelForAgent` to reflect the new default models. * [feature/openrouter-provider] Remove unused ProviderEvent emission in stream function The changes remove the emission of a `ProviderEvent` with type `EventContentStop` in the `stream` function of the `openaiClient` implementation. This event was sent upon successful stream completion but is no longer used.
Isaac Scarrott created
2941137
fix diagnostics for deleted files
Kujtim Hoxha created
b3c0285
feat: model selection for given provider (#57)
* feat: model selection for given provider * tweak: adjust cfg validation func, remove duplicated logic, consolidate agent updating into agent.go * tweak: make the model dialog scrollable, adjust padding slightly for modal" * feat: add provider selection, add hints, simplify some logic, add horizontal scrolling support, additional scroll indicators" * remove nav help * update docs * increase number of visible models, make horizontal scroll "wrap" * add provider popularity rankings
Aiden Cline created
805aeff
feat: add azure openai models (#74)
YJG created
bce2ec5
fix duplicate context
Kujtim Hoxha created
292e9d9
remove unnecessary var
Kujtim Hoxha created
2b4441a
fix context
Kujtim Hoxha created
8f3a94d
feat: configure context paths (#86)
Garrett Ladley created