opencode-provider-tabnineOpenCode plugin that exposes Tabnine Agentic as a provider
0
478
46 in 7 days
36.5
Multi-signal model
2 days ago
2026-08-17
Install and configure
opencode.jsonWrites to this project's opencode.json — applies to this repository only.
opencode.json
{
"$schema": "https://opencode.ai/config.json",
"plugin": ["opencode-provider-tabnine@0.1.5"]
}Writes to ~/.config/opencode/opencode.json — applies to every project.
~/.config/opencode/opencode.json
{
"$schema": "https://opencode.ai/config.json",
"plugin": ["opencode-provider-tabnine@0.1.5"]
}If you want to modify the plugin locally, install it into the project and reference the local path.
shell
pnpm add -D opencode-provider-tabnineopencode loads npm dependencies through its embedded runtime on startup and caches them locally — no manual global install needed.
OpenCode plugin that exposes Tabnine Agentic models as provider tabnine.
Install
Install OpenCode, then install the provider plugin from npm:
opencode plugin -g opencode-provider-tabnine
opencode auth login --provider tabnine
Enter your Tabnine tenant URL when prompted, then choose browser or manual login. TABNINE_HOST configures normal provider operation but is not used to prefill the interactive login prompt.
Use From Source
Add the plugin to an OpenCode config:
{
"plugin": ["file:///absolute/path/to/opencode-tabnine"]
}
Then authenticate:
opencode auth login tabnine
For normal provider operation, set TABNINE_HOST or make sure Tabnine CLI has ~/.tabnine/agent/settings.json with general.tabnineHost. Use your Tabnine tenant URL:
export TABNINE_HOST=https://tabnine.example.com
Browser login starts a local callback server and opens Tabnine's custom-token login page. The plugin also honors TABNINE_TOKEN, TABNINE_JWT, and TABNINE_REFRESH_TOKEN for non-interactive configuration.
After the first login, restart OpenCode so the config hook can load the persisted Tabnine host and refresh token, then choose provider tabnine.
Models
When credentials are available, the plugin calls GET /chat/v2/models, filters to models with the agent capability, and registers the live list. Model IDs are tenant-specific, so the plugin does not bundle a fallback catalog.
Development
bun install
bun run check
bun run clean && bun run build
npm pack --dry-run