Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions .vscodeignore
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,9 @@
.vscode/**
.vscode-test/**
node_modules/**
!node_modules/@silvia-odwyer/
!node_modules/@silvia-odwyer/photon-node/
!node_modules/@silvia-odwyer/photon-node/**
src/**
*.vsix
tsconfig.json
Expand Down
11 changes: 11 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,17 @@

All notable changes to the **OpenCode Go BYOK Provider** extension are documented here.

## [Unreleased]

### Added

- **`[Model Picker]` Optional provider prefixes (#92).** Added `opencodego.showProviderPrefix` (default `true`) to hide `OpenCode Go` / `OpenCode Zen` prefixes in narrow model pickers when desired. Changes refresh the registered model names immediately.
- **`[Model Picker]` Kimi context-size selector (#87).** Kimi models with a context window larger than 256K now expose `256K` and the full window in the per-model configuration schema, with the smaller tier selected by default.

### Fixed

- **`[Vision]` Normalize image attachments before OpenCode Go requests (#94).** Image data URLs are resized and re-encoded using the same 2000x2000 / 5 MB base64 limits used by OpenCode's CLI, while preserving the original image when normalization is unavailable.

## [0.4.5] — 2026-08-03

### Fixed
Expand Down
1 change: 1 addition & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -326,6 +326,7 @@ To manage agent API keys separately or see agent vendors in the Manage panel, en
| `opencodego.requestTimeoutSeconds` | `600` | Total request timeout |
| `opencodego.streamIdleTimeoutSeconds` | `120` | Cancel if stream goes idle |
| `opencodego.showUsageStatusBar` | `true` | Show usage summary in status bar |
| `opencodego.showProviderPrefix` | `true` | Include `OpenCode Go` / `OpenCode Zen` in model names |
| `opencodego.freeOnly` | `true` | Zen: free models only. `false` = include paid |
| `opencodego.agentsWindow` | `true` | Expose agent-host model variants (`targetChatSessionType`) for the Agents window |
| `opencodego.showAgentModelsInManagePanel` | `false` | Show agent vendors in Manage Language Models panel |
Expand Down
18 changes: 18 additions & 0 deletions docs/issues/44-20260803-issue94-image-normalization.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
**Status:** Implemented on `fix/open-issues-87-92-94`

# Image Attachment Normalization (#94)

OpenCode Go rejected some image attachments even though the same model and
image worked in the OpenCode CLI. The extension sent the original bytes as an
OpenAI `image_url` data URI, while the CLI normalizes images before sending.

The request path now normalizes image data URLs with the same practical limits
used by OpenCode: a maximum `2000x2000` image size and a `5 MB` base64 payload.
It tries PNG first, then JPEG quality levels. If decoding or the optional
normalizer fails, the original data URI is preserved and the final base64 guard
decides whether it is still safe to send.

Top-level images are normalized before the final `5 MB` base64 guard, so an
image larger than the old `2 MB` raw-byte threshold can still be sent when it
can be reduced successfully. The separate `1 MB` raw-byte guard for tool
results remains in place to bound cumulative MCP screenshot history.
9 changes: 9 additions & 0 deletions docs/issues/45-20260803-issue92-provider-prefix.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
**Status:** Implemented on `fix/open-issues-87-92-94`

# Optional Provider Prefixes (#92)

Model names in the picker now respect the `opencodego.showProviderPrefix`
setting. It defaults to `true`, preserving names such as
`OpenCode Go / DeepSeek V4 Flash`; setting it to `false` displays only the
formatted model name. Changing the setting refreshes Go, Zen, and agent-host
model registrations without requiring a reload.
9 changes: 9 additions & 0 deletions docs/issues/46-20260803-issue87-kimi-context-size.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
**Status:** Implemented on `fix/open-issues-87-92-94`

# Kimi Context Size Picker (#87)

The model configuration schema now exposes `256K` and the full context window
for Kimi models whose resolved metadata advertises more than `256K` (for
example, Kimi K3). The `256K` choice is the default/cheaper tier. Explicit
context tiers from `models.dev` still take precedence, and fixed-size Kimi
models do not receive a redundant selector.
9 changes: 9 additions & 0 deletions package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

8 changes: 8 additions & 0 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -167,6 +167,11 @@
"default": true,
"description": "Show the latest OpenCode prompt/output/cache usage summary in the VS Code status bar after each response."
},
"opencodego.showProviderPrefix": {
"type": "boolean",
"default": true,
"description": "Show the OpenCode Go or OpenCode Zen provider prefix in model names."
},
"opencodego.freeOnly": {
"type": "boolean",
"default": true,
Expand Down Expand Up @@ -331,5 +336,8 @@
"@types/vscode": "^1.125.0",
"@vscode/vsce": "^3.9.2",
"typescript": "^6.0.3"
},
"dependencies": {
"@silvia-odwyer/photon-node": "^0.3.4"
}
}
Loading
Loading