Sable Chat — VS Code Extension
A Copilot-like sidebar chat panel that connects to your self-hosted Sable AI server. Stream responses, switch personas, manage accounts, and send code context — all without leaving your editor.
Features
- Streaming chat with real-time markdown rendering and thinking-block support
- Smart auto-scroll — stays at bottom during streaming, but respects your scroll position when reading history
- Persona switching via QuickPick from the title bar
- Multi-account support — switch between configured Sable accounts on the fly
- Chat history — browse and restore previous conversations
- Send selection as context — right-click selected code → Sable: Send Selection as Context
- Keyboard shortcut —
Ctrl+Alt+S (Cmd+Alt+S on macOS) to focus the chat panel
- Skill & tool events rendered inline with expandable cards
- Permission prompts for dangerous operations with approve/session/deny controls
- Context usage indicator showing token budget consumption
Requirements
- VS Code ≥ 1.93.0
- A running Sable server (default:
http://localhost:61770)
Configuration
| Setting |
Default |
Description |
sable.serverUrl |
http://localhost:61770 |
Sable server URL |
sable.authToken |
(empty) |
Auth token (auto-detected from server if empty) |
Commands
| Command |
Keybinding |
Description |
sable.focusChat |
Ctrl+Alt+S |
Focus the chat panel |
sable.newChat |
Title bar ➕ |
Start a new conversation |
sable.showHistory |
Title bar 🕓 |
Browse chat history |
sable.switchAccount |
Title bar 👤 |
Switch active account |
sable.sendSelection |
Editor context menu |
Send selected code as context |
sable.clearChat |
Command palette |
Clear current chat |
Development
# Install dependencies
npm install
# Compile TypeScript
npm run compile
# Watch mode
npm run watch
# Package .vsix
npx @vscode/vsce package
Project Structure
src/
├── extension.ts # Activation, command registration
└── chatViewProvider.ts # Webview provider + inline HTML/CSS
media/
├── webview.js # Chat panel client-side logic
├── icon.svg # Activity bar icon
└── icon.png # Fallback raster icon
License
MIT
| |