opencode-codexsess
v0.1.1
Published
OpenCode plugin for CodexSess OpenAI-compatible endpoints
Downloads
17
Readme
opencode-codexsess
OpenCode plugin for CodexSess OpenAI-compatible API (/v1/*).
This plugin keeps setup simple:
- Input
baseURLandapiKey - Verify connection via
GET /v1/models - Auto-register available models in OpenCode as
codexsess/<model> - Enable dynamic context pruning for tool-heavy sessions
What this plugin does
- Uses custom OpenCode provider ID:
codexsess. - Routes requests to your CodexSess endpoint (
/v1/chat/completions,/v1/models, etc). - Registers model keys in OpenCode as:
codexsess/<model_id>
- Uses display name format:
<model_id> CodexSess
- Runtime plugin automatically strips
codexsess/before sending request to CodexSess API. - Adds dynamic message pruning before each model call:
- keeps recent turns untouched
- compacts old/long tool outputs
- removes old reasoning/snapshot noise
- deduplicates repeated tool outputs
Requirements
- Node.js 20+
- Running CodexSess instance
- Valid CodexSess API key (
sk-...)
Quick Start
Option A: via npx (after publish to npm)
npx opencode-codexsessCommand di atas langsung menjalankan setup interaktif:
- Input
CodexSess Base URL - Input
CodexSess API Key - Pertanyaan install
oh-my-opencode-slim(Y/N)
Option B: local workspace
cd ~/workspaces/codexsess-opencode
npm install
npm run build
# install plugin locally into OpenCode runtime
cd ~/.config/opencode && npm i /home/ricki/workspaces/codexsess-opencode
cd ~/workspaces/codexsess-opencode
npm run setupInteractive setup will ask:
- CodexSess Base URL (example:
http://127.0.0.1:3061) - CodexSess API key (example:
sk-xxxx) - Whether to also install
oh-my-opencode-slim
Then setup will:
- call
GET <baseURL>/v1/models - validate API key + endpoint
- write OpenCode config entries to
opencode.json - migrate existing
opencode.jsonctoopencode.jsonand remove.jsonc - merge
provider.codexsesswithout removing existing providers/config - optionally install
oh-my-opencode-slimand generate~/.config/opencode/oh-my-opencode-slim.jsonwithcodexsesspreset - enable OpenCode compaction defaults for context efficiency
OpenCode config changes
Setup updates:
~/.config/opencode/opencode.json~/.opencode/codexsess-plugin.json
Added/updated fields
enabled_providers: merged with existing values, ensuringcodexsessis includedmodel: only set tocodexsess/<model>if currently emptysmall_model: only set to codexsess fallback if currently emptyplugin[]includesopencode-codexsessprovider.codexsess.options.baseURL(normalized to/v1)provider.codexsess.options.apiKeyprovider.codexsess.modelsfrom live/v1/modelsresponse with keycodexsess/<model>and name<model> CodexSess- Known model limits auto-filled in
provider.codexsess.models[*].limit:context = 272000,output = 10000forgpt-5.4,gpt-5.4-mini, and all*-codexvariants (includinggpt-5.1-codex-max)
commandshortcuts:/cstats-> context stats + pruning estimate/csweep-> balanced compaction sweep/csweep-hard-> aggressive compaction sweep
compaction.auto = truecompaction.prune = truecompaction.reserved = 8000(if not already set)~/.opencode/codexsess-plugin.json.contextPruningdefaults:enabled = truekeepRecentMessages = 24keepRecentToolCalls = 8maxToolOutputChars = 4000maxReasoningChars = 1200dedupeToolOutputs = truedropSnapshotParts = trueaiCompaction:enabled = truethresholdChars = 120000cooldownMs = 480000minMessages = 30skipIfModelContextGte = 1000000(skip auto AI compaction for 1M-context models)
Example
If CodexSess returns:
gpt-5.2-codexgpt-5.2
OpenCode model list will include names:
- key:
codexsess/gpt-5.2-codex, name:gpt-5.2-codex CodexSess - key:
codexsess/gpt-5.2, name:gpt-5.2 CodexSess
At runtime, when selected model is codexsess/<model>, plugin rewrites request model to raw <model> before sending to CodexSess API.
Manual Context Controls
/cstats: show current session context composition + estimated prunable chars./csweep: trigger balanced summarize/compaction./csweep-hard: trigger more aggressive summarize workflow (same summarize endpoint, stricter recommendation).
Notes
- Base URL can be localhost or remote server URL.
- Plugin normalizes base URL automatically to use
/v1. - This package currently assumes local install into OpenCode environment (
~/.config/opencode) if not published to npm. - This plugin does not change CodexSess backend behavior; it only configures OpenCode to use existing CodexSess API.
