EpisCloud AI for VS Code
Coding agent that lives in your editor. Chat with files in context,
edit code with Cmd-K, let the agent run multi-step tasks with full
diff-preview approval gates, and pay per-task with transparent
effort-tier pricing.
┌─────────────────────────────────────┐
│ EpisCloud AI · ai-pro · medium ☁ │ ← sidebar
├─────────────────────────────────────┤
│ You │
│ Refactor src/auth.ts to async/await │
│ │
│ EpisCloud AI │
│ ▼ Thinking… (124 chars) │
│ I'll read the file, identify the │
│ callback sites, and rewrite each. │
│ │
│ ● Edit src/auth.ts ✓ │
│ ╔══ MODIFY ══╗ │
│ - function check(token, cb) { │
│ + async function check(token) { │
│ │
│ Done. PR-ready diff applied. │
├─────────────────────────────────────┤
│ Effort: [medium ▾] [Send] │
└─────────────────────────────────────┘
Features
Chat panel
- Sidebar webview, sticks across window reloads (conversation
persisted in your OS keychain-backed storage).
- Streaming Markdown rendering with VSCode font + theme.
- Collapsible Thinking… block for reasoning-tier outputs.
- Auto-scroll with respect for manual scroll-up.
- Auto-compaction when context grows past ~50k tokens.
Composer
- Slash commands:
/plan, /debug, /code-review, /refactor,
/tdd, /explain, /security-review, /algorithms, /research.
Live-filtered as you type /.
#file:<path> mentions with workspace file autocomplete. Mention
resolves to file contents (size-capped, workspace-sandboxed) as a
system overlay on submit.
- Effort tier dropdown with per-tier cost estimate.
Editor integration
Cmd-K inline edit (Ctrl-K on Linux/Windows). Select code →
type instruction → review side-by-side diff → click Apply.
- Quick Fix code action on every compiler/linter error. Pick
"EpisCloud AI: Fix …" from the Cmd-. menu.
- Active file context auto-injected on every chat turn: file +
cursor + selection + diagnostics + open tabs.
- Apply button on every assistant code block. Quick-pick:
insert at cursor / replace selection / open as new file.
- The agent has Read, Glob, Grep, Edit, Write, MultiEdit, Bash, Npm,
RunTests, TodoWrite. Read-only tools auto-approve; mutating tools
open an approval card with a precomputed diff or command summary.
- Three persistence scopes for "always allow":
- this exact path (
Edit src/foo.ts)
- this exact command (
Bash npm test)
- the whole tool kind
- Workspace-scoped, never global. Reset with
EpisCloud AI: Reset tool permissions.
Pricing transparency
- Status bar shows current period spend + effort tier.
- Composer dropdown shows per-task cost estimate for each tier.
| Effort |
Strategy |
~Cost / task |
minimal |
Local-only — sensitive workloads |
$0.01 |
low |
Single-shot cloud agentic |
$0.05 |
medium |
Skill-aware routing (default) |
$0.18 |
high |
Architect → Executor → Reviewer chain |
$0.50 |
max |
Best-of-2 parallel + judge |
$1.50 |
Cost estimates assume a ~50 k-token agentic task. Your bill depends
on actual token usage; see the in-app activity log for exact figures.
Install (dev)
cd vscode-extension
npm install
cd webview-ui && npm install && cd ..
npm run build
Press F5 in VSCode with this folder open to launch the Extension
Development Host. Look for the EpisCloud AI icon in the activity bar.
First-run
- Generate an API key:
https://dashboard.episcloud.com/billing → "Pay-as-you-go" → "New key".
- Run EpisCloud AI: Sign in from the command palette (Cmd-Shift-P).
- Status bar shows
EpisCloud AI · $0.00 · medium.
- Click the EpisCloud icon in the activity bar to open the chat panel.
Commands
| Command |
Default keybinding |
Purpose |
EpisCloud AI: Sign in |
— |
Paste an API key. |
EpisCloud AI: Sign out |
— |
Remove the key from the OS keychain. |
EpisCloud AI: Open chat panel |
— |
Focus the side panel. |
EpisCloud AI: Inline edit |
Cmd-K / Ctrl-K |
Rewrite the selection. |
EpisCloud AI: Set effort tier |
— |
Pick minimal / low / medium / high / max. |
EpisCloud AI: Show usage & balance |
— |
Notification with this period's spend. |
EpisCloud AI: Reset tool permissions |
— |
Wipe workspace allowlist. |
Settings
| Key |
Default |
Purpose |
episcloud.baseURL |
https://paas-ai.episcloud.com/v1 |
Service URL — override for staging. |
episcloud.effort |
medium |
Default tier; override per-request in composer. |
episcloud.permissionMode |
default |
default asks; acceptEdits auto-allows Edit/Write; bypassPermissions disables all prompts. |
episcloud.telemetry.enabled |
true |
Anonymous usage telemetry (Sprint F+ — currently no-op). |
Architecture
Single-process extension host owns the SDK + tool execution; a
sandboxed webview renders chat. Shared protocol.ts types make
host↔webview messages compile-time-checked.
See ../docs/ai/vscode-extension-design.md for the full design
rationale, and ../docs/ai/vscode-extension-audit-vs-claude-code.md
for the v0.5 audit against Claude Code + ChatGPT.
Privacy
- API key lives in VSCode's
SecretStorage (OS keychain on macOS/
Windows, libsecret on Linux). Never written to disk in plaintext.
- All chat traffic goes to
episcloud.baseURL over HTTPS; the
extension does not contact any other host.
- Conversation history is persisted to VSCode
globalState
(capped at 200 items / 200 KB; older items evict LRU). Clear with
the chat panel's "Clear" button.
- Telemetry is gated behind
episcloud.telemetry.enabled and is
off-by-default until Sprint F wires the sender.
Licence
MIT. See LICENSE.