AppSite AI — CLI Extension
Your tenant's AppSite AI and the appsite CLI, inside VS Code. Select code, ask, and type / for commands.
Appsations, Inc. · British Columbia, Canada · Business Number 789127487 · appsations.appsite.ca
Prefer the file? Download the .vsix
What it does
- Ask your tenant's AI. Select code and ask, or right-click for Ask · Explain · Write Tests · Find Bugs. It is the same service the AI module's own pages use, called as you — so your tenant's allowance and rules apply, and a refusal is shown with the reason the server gave.
- Or use your own plan. Switch to My CLI and the
appsite CLI on your computer answers instead — on your Claude Code subscription, then Google's agy, GitHub Copilot or Codex. No tenant tokens are spent.
- It looks in your AppSite records. Name a kind of record — "the blog post is done, can you see it?", "unpaid invoices for Dianne" — and before the question is answered it searches your tenant's records for it, as you: your own sign-in, so the same access rules as in the browser decide what comes back. Under your question it says what it looked at and what you are not allowed to read. Both modes; signed out, nothing is searched (the chat says that signing in lets it look).
- Local mode can read your open folder. With Local (My CLI) chosen, the
appsite CLI may read the first folder of your workspace (or the open file's folder) for each question — read-only tools for that folder alone, through Claude Code, with .env, key and credential files blocked. The chip under the box says so before you send. Never in a window VS Code does not trust.
- Type
/ for commands. /update shows which of your modules have an update; /billing shows this period's AI usage. They are answered from your tenant's own records, cost no AI tokens, and a mistyped one is never sent on to the model.
- See exactly what is sent. Before you send, the chat shows the selection (or open file) and about how many tokens it is. Keys and tokens are removed first;
.env, *.pem and similar files are never attached whole.
Requirements
You need
- Visual Studio Code 1.85 or newer, on macOS, Windows or Linux. It is the desktop editor — there is no browser (vscode.dev) version.
- An AppSite account on a tenant, to sign in (
/signin). Cloud answers are metered to your tenant's AI allowance. Installing needs no account.
- An internet connection to your AppSite AI module (
https://ai.appsite.ca, or your tenant's own address in the appsite.ai.moduleUrl setting).
Only if you use My CLI (your own plan)
- The
appsite CLI on your computer (or its path in the appsite.cli.path setting).
- A signed-in AI tool for it to use — your Claude Code subscription first, then Google's agy, GitHub Copilot or Codex. No tenant tokens are spent.
Only if you install from a terminal
- Node 18 or newer and VS Code's
code command. The Install button's double-click file needs neither — only VS Code.
Tested on macOS, end to end. The Windows and Linux installers are tested but have not yet been run on those systems.
Get started
Install — press Install on appsite.ca/vscode and double-click the file it gives you. No terminal, no sign-in, no AI; the only thing you need is Visual Studio Code. On a Mac, open the zip and double-click Install AppSite AI; on Windows, double-click the .cmd; on Linux, run sh Install-AppSite-AI-for-Linux.sh. These files are not signed with a paid certificate, so macOS or Windows may ask you to confirm once — choose Open / Run anyway.
Prefer a terminal? One line, needs Node 18+ and VS Code's code command:
curl -fsSL https://ai.appsite.ca/downloads/install-appsite-ai-extension.cjs | node # macOS / Linux
irm https://ai.appsite.ca/downloads/install-appsite-ai-extension.cjs | node - # Windows PowerShell
Either way it checks the download's size and SHA-256 against the release manifest before installing. Prefer to look first? The installer is one short file you can read at the same address (each double-click installer is that file plus a few lines of shell or batch), or install the .vsix by hand: Extensions → … → Install from VSIX….
Sign in — click the AppSite AI icon in the activity bar, type /signin, and press Connect VS Code in the AI module that opens.
Ask — select code and press Cmd/Ctrl+Alt+A, or use the right-click menu.
Only VS Code on macOS has been tried end to end — including the Mac double-click installer, run on a machine with no Node. The sign-in page also accepts links from Cursor, VSCodium and Windsurf; the Windows and Linux installers are tested but have not yet been run on those systems.
Slash commands
| Command |
What it does |
/signin |
Sign in. Opens the AI module in your browser; press Connect VS Code there. |
/logout |
Sign out and clear the conversation (/signout also works). |
/revoke |
Remove this installation's registration with AppSite. |
/update |
Each of your tenant's modules at the version it runs, against the version AppSite runs — which have an update available. Lists only; installs nothing. |
/repos |
The state of your tenant SDK and its modules — branches, what is behind, uncommitted work — from AppSite Vault - CLI Extension (the two are built to work together). Reads Git; changes nothing. |
/billing |
This period's AI usage and billing from your tenant's meter, with buttons for the usage details (AI module) and Subscriptions. |
/help |
The list. |
A module's version is <tenant>.<generation>.<AppSite build count>, and every module publishes it at /version.json. An update is available when AppSite's generation is higher, or its build count is higher in the same generation. A module served from AppSite itself is always current; your own custom apps have no AppSite version; a version that cannot be read is shown as unknown, with the reason.
/billing shows the numbers tenantUsageSummary reports — the same ones as the AI module's Usage page — and the server's own verdict for the AI module. The extension counts nothing itself.
Settings
| Setting |
Default |
|
appsite.ai.mode |
cloud |
cloud (tenant tokens) or cli (your own plan) |
appsite.ai.tier |
fast |
smart runs the stronger model, about twice the tokens |
appsite.ai.moduleUrl |
https://ai.appsite.ca |
A tenant on its own domain sets that domain |
appsite.ai.includeContext |
true |
Send the selection or open file with your question |
appsite.ai.maxContextKb |
48 |
Cap on what is attached |
appsite.ai.searchRecords |
true |
Look in your tenant's AppSite records for what a question names, as you, before it is answered (both modes) |
appsite.cli.path |
(auto) |
Full path to appsite if it is not found. An editor started from the Dock has a thin PATH; Homebrew, ~/.local/bin and npm-global are searched too. |
appsite.cli.readWorkspace |
true |
Local mode: let the CLI read the open folder (read-only, secret files blocked, never in Restricted Mode) |
The command palette also has Ask the CLI…, CLI: Doctor, CLI: Tools on This Computer and CLI: Open appsite Terminal.
Privacy
- Your open folder (Local mode only). With My CLI, the model may be given your open folder, read-only: by the
appsite CLI itself (ask --read, secret files denied) — or, when your CLI is older than that, by the editor, which picks at most 8 files (28 KB) matching your question's words, removes obvious secrets, and tells the model exactly which ones. The line under your question says what was read ("Read 2 files of my-sdk: runner.mjs, README.md"), or that no folder is open. Never in cloud mode. Turn it off with appsite.cli.readWorkspace.
- Only what the chip under the box shows is sent: the selection, or the open file when nothing is selected, capped at
appsite.ai.maxContextKb. Turn it off with the checkbox or appsite.ai.includeContext.
- Obvious secrets are removed first (private keys; Google, Anthropic, GitHub, AWS and Slack keys; JWTs;
password = "…" style values). Files that exist to hold secrets (.env*, *.pem, id_rsa*, service-account JSON, .npmrc, *.tfvars) are never attached whole. This is a safety net, not a guarantee — check the chip.
- Code is attached to the question it was sent with; earlier turns resend only the words, and only the last 4 exchanges.
- Your AppSite records (
appsite.ai.searchRecords). When a question names a kind of record, the extension asks Google's Firestore (firestore.googleapis.com) for that kind, with your own sign-in — the database's rules decide, exactly as in the AI module, and a collection you may not read is reported as not allowed, never worked around. Only the tenant you are working in, only rows marked with that tenant, at most 200 records from each of at most 6 collections, at most 24,000 characters attached. Where your tenant's records live is read from AppSite's registry (your tenant's entry, else its public copy). Collections that hold credentials are never asked for; fields named like passwords, tokens or keys are dropped; card- and SIN-shaped numbers are removed. What is attached goes with that one question — to AppSite AI (counted against your tenant's tokens) in CLI runner mode, or to the AI tool on this computer in Local mode. The line under each question says what was looked at. A tenant whose records live in its own Google project cannot be read from VS Code yet: nothing is attached and the chat says so.
- Your folder (Local mode,
appsite.cli.readWorkspace). The appsite CLI hands Claude Code read-only file tools (Read, Grep, Glob) for that one folder — nothing that writes or runs commands, nothing outside it, and .env*, *.pem/*.key, id_rsa*, service-account and *credentials*.json, credentials, .npmrc/.netrc/.pypirc, .git-credentials, .pgpass, .htpasswd and *.tfvars are denied. What it reads is sent to Anthropic under your own Claude plan, as part of that question. A secret kept in an ordinary file could still be read — this is a safety net, not a guarantee. When Claude Code cannot answer and another tool does (agy, Copilot), the folder is not read, and the answer's footer says so. The folder is never offered in Restricted Mode, and needs an appsite CLI that knows --read (an older one answers without the folder, and the chat says so).
- Your session's refresh token is kept in VS Code's secret storage (your OS keychain), never in settings or files.
/logout deletes it from this computer.
- A sign-in the extension did not start is ignored. Your ID token is only ever sent to Google's own sign-in and database addresses (
securetoken.googleapis.com, firestore.googleapis.com) and to AppSite's Cloud Functions / Cloud Run addresses.
Installation registry — what is sent, and how to revoke it
AppSite keeps a registry of installations. The installer registers when it finishes, and the extension registers when VS Code starts, every 30 minutes, and when you sign in.
- Sent: a random id made on this computer (not derived from it), the extension and editor versions, your OS family and CPU, whether the editor is remote or web — and, only when you are signed in, your ID token, from which the server takes your tenant and email.
- Not sent: IP address, hostname, user name, paths, workspace or file names, anything you typed. Registration carries none of your questions or code.
- Your control: the
appsite.ai.registerInstall setting, VS Code's own telemetry switch, or --no-register on the installer.
- Revoke:
/revoke in the chat, AppSite AI: Revoke This Installation's Registration, or the installer's --revoke <id>. The record is erased and the extension never registers again until you turn it back on.
- Administrators: a tenant's owner or admin sees and can revoke that tenant's signed-in installations; AppSite platform staff can act on any (AI module → Connections → Installations). A revoked extension signs out and refuses cloud answers until it is reinstated. Every action is audited.
Good to know
- Status (2026-10-12): the deployed
appsiteAiProxy predates the allowance and role gate (built, not yet deployed), so today it does not refuse on allowance or role. The extension does not enforce either itself.
- Version numbers read
<tenant>.<type>.<changes>: the first number is the publisher (0 is Appsations, Inc.; AppSite's own modules use 1), the middle is the type of release, and the last counts changes.
- Develop: open the
vscode/ folder of the AI module's repository and press F5 to run an Extension Development Host. npm test runs the extension's tests; the extension has no dependencies and no build step.
- Release:
npm run package builds the .vsix; npm run release:site re-packages and publishes it to the AI module's downloads together with its manifest (size + SHA-256) and the three double-click installers; node scripts/release-site.mjs does the same without re-packaging (use it when only the installer or launchers changed — vsce does not build byte-identical files).
Support
Something not working, or a question? Write to paul@appsite.ca or see appsite.ca/support — say which extension and version, what you did, what you expected and what happened. Never send passwords, API keys or tokens.
From AppSite
 DEVELOPER PROGRAM AppSite Developer Seat One additional developer seat on your Enterprise tenant. Includes AppSite Academy — training to code, vibe-code, and become an AppSite developer. |  ACADEMY AppSite Developer Certificate Earned in three levels — your company and platform, then CRM, Cybersecurity and Subscriptions, then AI and agents |  PLAN AppSite Enterprise Owner-controlled platform — independent architecture with full infrastructure ownership |
More AppSite extensions
| Extension |
What it does |
| AppSite Vault - CLI Extension |
The AppSite Vault on this computer, inside VS Code — see, sync and open the offline copies of the AppSite platform and every tenant, through the appsite CLI. |
Every AppSite extension: Appsations Enterprises Inc on the Visual Studio Marketplace

AppSite · made by Appsations, Inc. British Columbia, Canada · Business Number 789127487 © 2026 Appsations, Inc. All rights reserved.
| |