Files
llmgw/internal/vscodeext/ext/package.json
T
Ilker ManapandClaude Opus 5.5 38dfe268c9
CI / test (push) Successful in 8m43s
VS Code gets the gateway's models from an extension the gateway serves
llmgw's own extension for VS Code, plain JavaScript with no dependencies,
packed into a .vsix by the binary at /setup/vscode/llmgw.vsix with the
serving gateway's address in it, so it needs no build, no Node and no
marketplace. It registers llmgw as a language-model provider: the chat's
model picker, agent mode and any extension that asks VS Code for a model
get every chat model the key may use, sized and with tool and vision
capabilities as the catalog says, streamed, tool calls both ways.

VS Code is a tool on the account page's Connect your editor: a key, the
install command, and an Open in VS Code link that hands the key to the
extension's secret storage. The extension's Sign In opens the page with a
state of its own; a link without it is confirmed, the gateway named, since
it decides where code is sent.

Tested in VS Code 1.138 against the PoC: 27 models listed, an answer from
qwen2.5-0.5b-instruct, and qwen3-coder-30b calling a tool and using its
result (internal/vscodeext/e2e).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-24 01:39:50 +02:00

47 lines
1.7 KiB
JSON

{
"name": "llmgw",
"publisher": "llmgw",
"displayName": "llmgw",
"description": "The models your llmgw gateway serves, in VS Code's chat and in every extension that asks VS Code for a language model.",
"version": "0.0.0",
"license": "UNLICENSED",
"engines": {
"vscode": "^1.104.0"
},
"categories": ["AI", "Chat"],
"keywords": ["llmgw", "llm", "gateway", "self-hosted", "on-premises"],
"main": "./extension.js",
"extensionKind": ["ui", "workspace"],
"activationEvents": ["onStartupFinished", "onUri"],
"capabilities": {
"untrustedWorkspaces": { "supported": true },
"virtualWorkspaces": true
},
"contributes": {
"languageModelChatProviders": [
{ "vendor": "llmgw", "displayName": "llmgw" }
],
"commands": [
{ "command": "llmgw.signIn", "title": "Sign In", "category": "llmgw" },
{ "command": "llmgw.enterKey", "title": "Enter API Key", "category": "llmgw" },
{ "command": "llmgw.signOut", "title": "Sign Out", "category": "llmgw" },
{ "command": "llmgw.refresh", "title": "Refresh Models", "category": "llmgw" }
],
"configuration": {
"title": "llmgw",
"properties": {
"llmgw.gatewayUrl": {
"type": "string",
"default": "",
"markdownDescription": "The gateway's address, such as `https://llm.example.com`: the one the people running it gave you, without `/v1`."
},
"llmgw.showModelsWithoutTools": {
"type": "boolean",
"default": true,
"markdownDescription": "Offer models whose tool calls the gateway does not vouch for. They answer in chat, but an agent needs a model that makes tool calls to read a file or run a command."
}
}
}
}
}