Skip to content
| Marketplace
Sign in
Visual Studio Code>Programming Languages>LiyaAI Coding AgentNew to Visual Studio Code? Get it now.
LiyaAI Coding Agent

LiyaAI Coding Agent

liyalabs

|
15 installs
| (0) | Free
AI-powered coding assistant for VS Code — powered by LiyaAI
Installation
Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter.
Copied to clipboard
More Info

LiyaAI Coding Agent for VS Code

AI-powered coding assistant for VS Code — powered by LiyaAI Platform.

Why LiyaAI?

LiyaAI is not just a model provider — it's an intelligent AI platform with:

  • 🚀 Performance Middleware — Smart caching, context optimization, and request batching
  • 💰 Cost Optimization — Up to 65% cost savings with intelligent token management
  • 🔄 Multi-Model Support — Access Claude, GPT-4, and other models through unified API
  • 🎯 Custom Assistants — Pre-configured assistants with domain-specific instructions
  • 📊 Usage Analytics — Track costs, tokens, and performance per project
  • 🔒 Enterprise Security — API key management, audit logs, and data privacy

Features

  • 🤖 AI Chat Panel — Sidebar chat with your custom coding assistants
  • 🔧 Agentic Tool Execution — AI can read, write, and edit files autonomously
  • 🔍 Code Search — Fast grep and file search (ripgrep/fd powered)
  • 📝 Git Integration — Status, diff, and log commands
  • 💻 Terminal Commands — Run commands with safety checks; auto-executed in Accept mode (dangerous patterns always confirmed)
  • 💰 Real-time Cost Tracking — See token usage and costs per session
  • 🛡️ Security First — Workspace sandboxing, command blocklist, sensitive file protection
  • 🧩 MCP Support — Connect to any Model Context Protocol server
  • 🤝 Sub-agents — Delegate tasks to specialized built-in agents
  • 🪝 Hook System — Automate actions on prompt submit, tool use, and stop events
  • 🔐 Permission Modes — Fine-grained tool access control (plan / default / acceptEdits / bypassPermissions)
  • 🧠 Project Memory — Persistent workspace memory via LIYAAI.md with periodic re-injection on long tool chains (hash-diff + adaptive cadence), and a plugin-maintained ## 📍 Current live status block
  • 📓 Jupyter Notebook Support — Read and edit .ipynb files directly
  • 🖼️ Image & Screenshot Input — Paste screenshots, pick files via button, or drag-and-drop images into chat
  • ⚡ Auto-compact — Automatic context window management at 85% usage
  • ⏪ Prompt Rewind — Snapshot and revert file changes per message
  • 📎 File Attachments — Attach files to chat via paperclip UI
  • 🛠️ Script Runner — Run custom scripts from .liyaai/scripts/
  • 🌐 Web Fetch Tool — AI can fetch URLs (SSRF-protected)
  • 📈 Analytics — Session and tool-use event tracking
  • 🎙️ Speech to Text — Dictate prompts hands-free using your microphone
  • 🔊 Text to Speech — Have AI responses read aloud automatically
  • 🏷️ Smart Chat History Titles — New chats are titled automatically from the first user message
  • ♿ Accessibility First — Full voice I/O support designed for visually impaired developers

Requirements

  • VS Code 1.85.0 or higher
  • LiyaAI Account & API Key (get one at ai.liyalabs.com)
  • Developer Documentation
  • macOS 12+, Ubuntu 22.04+, Fedora 38+, or Windows 10+

Getting Started

  1. Install the extension from VS Code Marketplace
  2. Click the LiyaAI icon in the Activity Bar (or move it to the right sidebar)
  3. Enter your Backend URL and API Key
  4. Select a coding assistant from your LiyaAI project
  5. Start chatting with your AI coding partner!

Commands

Command Shortcut Description
LiyaAI: Set API Key & Backend URL — Configure connection
LiyaAI: Select Assistant — Choose coding assistant
LiyaAI: New Chat Session Cmd+Alt+N Start new chat
LiyaAI: Focus Chat Panel Cmd+Alt+L Focus chat + mention current line
LiyaAI: Explain Selected Code Cmd+Alt+E Explain code
LiyaAI: Fix Selected Code Cmd+Alt+X Fix code
LiyaAI: Optimize Selected Code Cmd+Alt+O Optimize code
LiyaAI: Add Comments Cmd+Alt+D Add comments
LiyaAI: Generate Tests Cmd+Alt+U Generate unit tests
LiyaAI: Refactor Selected Code Cmd+Alt+R Refactor code
LiyaAI: Insert Line Reference Cmd+Alt+A Insert line reference to chat
LiyaAI: Cancel Current Request Cmd+Alt+. / Escape Cancel ongoing request
LiyaAI: Show Balance — Show account balance
LiyaAI: Open Project Memory — Open LIYAAI.md
LiyaAI: Initialize Project Memory — Create LIYAAI.md
LiyaAI: Create Workspace Config — Create .liyaai/ config folder

Settings

Setting Default Description
liyaai.maxIterations 15 Max iterations for agentic loop
liyaai.autoApplyEdits false Auto-apply file edits
liyaai.showCostPerMessage true Show cost per message
liyaai.enableThinking true Enable extended thinking
liyaai.enablePromptCaching true Enable prompt caching (up to 90% savings)
liyaai.language en Display language (en/tr)
liyaai.autoConnect true Auto-connect on startup

Workspace Configuration

Create a .liyaai/ folder in your project root to customize behavior:

File Description
.liyaai/rules.md Project-specific AI instructions
.liyaai/ignore Files/folders to hide from AI
.liyaai/memory/ Persistent project memory files
.liyaai/commands/ Custom slash commands (.md files)
.liyaai/scripts/ Runnable scripts via run_script tool
.liyaai/output-style.md Customize AI response format and tone
LIYAAI.md High-level project memory (auto-loaded)

Hook System

Configure automated hooks in .liyaai/settings.json:

{
  "hooks": {
    "UserPromptSubmit": [{ "command": "echo 'prompt submitted'" }],
    "PreToolUse": [{ "matcher": "write_file", "command": "lint-check.sh" }],
    "PostToolUse": [{ "matcher": "terminal", "command": "run-tests.sh" }],
    "Stop": [{ "command": "notify-done.sh" }]
  }
}

Hooks can allow, block, or modify tool inputs.

Permission Modes

Mode Description
plan Read-only — no file writes or commands
default Standard — confirms before writes and commands
acceptEdits Auto-applies file edits and runs terminal commands without confirmation (dangerous patterns still require confirmation)
bypassPermissions Fully autonomous (env/user setting only)

Per-tool rules support glob and regex patterns in .liyaai/settings.json.

MCP (Model Context Protocol)

Connect any MCP server in .liyaai/settings.json:

{
  "mcpServers": {
    "my-server": {
      "command": "npx",
      "args": ["-y", "@my-org/mcp-server"],
      "env": { "API_KEY": "..." }
    }
  }
}

Sub-agents

Delegate tasks to built-in specialized agents:

Agent Purpose
code-reviewer Code quality review
debugger Error diagnosis
planner Task decomposition
explorer Codebase exploration
general-purpose Open-ended research

Platform Architecture

┌─────────────────────────────────────────────────────────┐
│                    VS Code Plugin                        │
│  (Tool Execution, Context Collection, Security)          │
└─────────────────────┬───────────────────────────────────┘
                      │ API Request
                      ▼
┌─────────────────────────────────────────────────────────┐
│                  LiyaAI Platform                         │
│  ┌─────────────┐  ┌─────────────┐  ┌─────────────┐      │
│  │   Caching   │  │   Context   │  │   Billing   │      │
│  │  Middleware │  │ Optimization│  │   & Usage   │      │
│  └─────────────┘  └─────────────┘  └─────────────┘      │
│  ┌─────────────────────────────────────────────────┐    │
│  │         Custom Assistants (Instructions,        │    │
│  │         Knowledge Base, Tool Permissions)       │    │
│  └─────────────────────────────────────────────────┘    │
└─────────────────────┬───────────────────────────────────┘
                      │
        ┌─────────────┼─────────────┐
        ▼             ▼             ▼
   ┌─────────┐   ┌─────────┐   ┌─────────┐
   │ Claude  │   │  GPT-4  │   │ Gemini  │
   │ Models  │   │ Models  │   │ Models  │
   └─────────┘   └─────────┘   └─────────┘

Platform Support

LiyaAI works on macOS, Linux, and Windows with full cross-platform terminal command handling.

Safe Commands (auto-approved, no confirmation needed)

Platform Commands
Unix/macOS cat, head, tail, ls, pwd, echo, which, wc, file, stat, du, df, grep, find
Windows CMD type, dir, where, findstr, tree, hostname, whoami, ver, systeminfo, tasklist, netstat, sort, fc, comp
PowerShell Get-Content, Get-ChildItem, Get-Item, Get-Location, Get-Process, Get-Service, Test-Path, Select-String
Cross-platform git status/log/diff/branch/show, npm list/ls/view, pip list/show/freeze, node -v, npm -v, python --version

Blocked Commands (always rejected)

Platform Commands
Unix/macOS rm -rf /, rm -rf ~, mkfs, dd if=, chmod -R 777 /, curl \| sh, shutdown, reboot, kill -9 -1
Windows format c:, del /f /s /q c:, rd /s /q c:, reg delete, bcdedit, diskpart, net user
PowerShell Remove-Item -Recurse -Force C:, Format-Volume, Clear-Disk, Stop-Computer, Restart-Computer

All other commands require user confirmation before execution.

Auto-Accept Mode — Dangerous Pattern Filter

Even when Auto-Accept Mode (⚡) is active, the following terminal patterns always prompt for confirmation:

Pattern Example Reason
rm -<flag> rm -rf ./dist Recursive/force deletion
sudo sudo npm install -g Privilege escalation
del (Windows) del /f myfile File deletion
rm / rm /etc/hosts Absolute path deletion
dd of= dd if=/dev/zero of=/dev/sda Disk overwrite
format format c: Drive formatting
shutdown/halt/reboot shutdown -h now System shutdown

Security

  • API keys stored in OS keychain (macOS Keychain, libsecret, Windows Credential Manager)
  • Workspace sandboxing — no access outside project
  • Command blocklist for dangerous operations
  • Sensitive file protection (.env, SSH keys)
  • SSRF protection on web_fetch tool

Development

# Install dependencies
npm install

# Watch mode
npm run watch

# Run extension (F5 in VS Code)

# Package
npm run package

Keyboard Shortcuts

Shortcut (Mac) Shortcut (Win/Linux) Command
Cmd+Alt+L Ctrl+Alt+L Focus Chat Panel
Cmd+Alt+N Ctrl+Alt+N New Chat Session
Cmd+Alt+A Ctrl+Alt+A Insert Line Reference
Cmd+Alt+E Ctrl+Alt+E Explain Selected Code
Cmd+Alt+X Ctrl+Alt+X Fix Selected Code
Cmd+Alt+O Ctrl+Alt+O Optimize Selected Code
Cmd+Alt+D Ctrl+Alt+D Add Comments
Cmd+Alt+U Ctrl+Alt+U Generate Tests
Cmd+Alt+R Ctrl+Alt+R Refactor Selected Code
Cmd+Alt+. / Escape Ctrl+Alt+. / Escape Cancel Current Request

Accessibility — Voice I/O for Visually Impaired Developers

♿ LiyaAI is committed to making AI-assisted coding accessible to everyone — including developers with visual impairments.

LiyaAI includes built-in voice input/output so you can interact with your AI coding assistant entirely hands-free and screen-independently:

🎙️ Speech to Text (STT)

  • Press the microphone button in the chat panel (or use the keyboard shortcut) to start recording
  • Speak your prompt naturally — LiyaAI transcribes your speech and sends it as a message
  • Fully compatible with screen readers; no mouse interaction required
  • Works offline-capable depending on your platform's STT engine

🔊 Text to Speech (TTS)

  • AI responses are automatically read aloud when TTS is enabled
  • Code blocks, file paths, and technical content are spoken in a clear, structured way
  • Pause, resume, or stop playback at any time via keyboard
  • Adjustable speech rate and voice settings

⌨️ Keyboard-First Workflow

All voice features are fully operable via keyboard — no mouse required:

Action Shortcut (Mac) Shortcut (Win/Linux)
Start/stop recording Cmd+Alt+M Ctrl+Alt+M
Stop TTS playback Escape Escape

Screen Reader Compatibility

The chat panel is built with ARIA labels, live regions, and semantic HTML to ensure compatibility with:

  • macOS VoiceOver
  • NVDA / JAWS (Windows)
  • Orca (Linux)

What's New in 0.2.3

Memory & Long-Run Reliability

  • 🧠 LIYAAI.md periodic re-injection — Long tool chains caused the model to drift away from path/style rules baked into the cached system prompt. The plugin now reloads LIYAAI.md fresh and ships it on the next tool_result; backend appends it as a [SYSTEM REMINDER] block onto the same user-message so the model sees an uncached copy.
  • 🪙 Hash-diff payload — A sha256 prefix of LIYAAI.md is tracked across re-injections in a turn. If the content hasn't changed, a small "unchanged, rules still apply" marker is sent instead of the full ~50 KB payload.
  • 📈 Adaptive cadence — Re-injection frequency reacts to error rate. A sliding window over the last 10 tool calls counts path-style failures; 2+ errors → cadence drops to every 5 calls for fast recovery, otherwise stretches to every 20 calls.
  • 📍 Plugin-maintained ## 📍 Current block — Between <!-- LIYAAI_CURRENT_START --> / <!-- LIYAAI_CURRENT_END --> markers in LIYAAI.md, the plugin writes a live status block on every tool call — task, last action, modified files, pending question, iteration / cadence telemetry, timestamp. Lets the model recover task state after context drift.

Multi-Repo Path Safety

  • 🗂️ Subfolder prefix rule in prompts — Coding-agent system prompts now explicitly require subfolder prefixes on write_file / edit_file / read_file / append_to_file / multi_edit / list_directory / grep_search. These tools have no cwd parameter, so paths like aiapp/views.py were resolving incorrectly relative to workspace root instead of the active subfolder repo.

Bug Fixes

  • 💬 ask_user_question options now render — Field-name mismatch between provider (options:) and webview (questionOptions) was silently dropping the choices and forcing free-text answers.

Chat History Improvements

  • 🏷️ Automatic Session Titles — New chat sessions now generate history titles from the first user message instead of staying as a generic "New Chat"
  • 🔄 Restored Session Titles — Loaded backend sessions rebuild their local title state from the first user message for consistent history display
  • 🧹 Cleaner Title Formatting — Chat titles normalize whitespace and truncate to 50 characters for a compact history tab

What's New in 0.2.2

Auto-Accept Mode — Terminal Command Support

  • ⚡ Auto-Accept Terminal — run_terminal, git commit, and git push now execute without confirmation when Auto-Accept Mode is active
  • 🛡️ Smart Safety Filter — Dangerous commands (rm -rf, sudo, format, shutdown, dd if= etc.) still require explicit user confirmation even in Auto-Accept mode
  • 🔔 Transparency Log — Terminal commands auto-executed in Accept mode show an ⚡ Auto-executing status in the chat for full visibility
  • 🏷️ Updated Banner & Toast — Mode indicator now reads "edits & terminal commands run without confirmation" to accurately reflect the new behavior

Accessibility — Voice I/O

  • 🎙️ Speech to Text — Dictate prompts hands-free via microphone; no typing required
  • 🔊 Text to Speech — AI responses are read aloud automatically
  • ♿ Designed for visually impaired developers — ARIA-compliant chat panel, screen reader support (VoiceOver, NVDA, Orca), keyboard-only workflow

What's New in 0.2.0

WebSocket Transport

  • ⚡ WebSocket-only — HTTP polling fully replaced; tool call latency drops from ~3 s to ~50 ms
  • 🔗 Persistent connection — Single WS session per conversation; no reconnect overhead between messages
  • 🏓 Ping/pong keepalive — 30 s server-driven heartbeat; 400 s+ agent runs work without timeout
  • 🗑️ useWebSocket setting removed — No fallback path; WS is the only transport

Agent Infrastructure

  • 🪝 Hook System — UserPromptSubmit, PreToolUse, PostToolUse, Stop hooks with allow/block/modify semantics
  • 🔐 Permission Modes — 4-tier access control: plan / default / acceptEdits / bypassPermissions; per-tool allow/ask/deny rules with glob/regex support
  • 🤝 Sub-agents — Spawn specialized built-in agents (code-reviewer, debugger, planner, explorer) within a session
  • ⚡ Auto-compact — Automatic context compaction at 85% usage; /compact slash command; 3 modes (prompt / auto / disabled)

Workspace & Memory

  • 🧠 Project Memory — Persistent memory via LIYAAI.md and .liyaai/memory/; /memory slash command
  • 📋 Custom Commands — Add project slash commands as .md files in .liyaai/commands/
  • ⏪ Prompt Rewind — Per-message file snapshots; rewind button to undo AI edits
  • 🌐 web_fetch Tool — AI can fetch URLs directly (SSRF-protected Python script)
  • 🛠️ Script Runner — Run .liyaai/scripts/ scripts via run_script tool (venv-aware Python)
  • 📦 Multi-project Workspace — workspace.json for managing multiple sub-projects in one session

New Tools

  • 🧩 MCP Client — Connect any Model Context Protocol server; tools auto-registered in agent loop
  • 🎯 Skills System — Reusable, parameterized instruction sets loaded from .liyaai/skills/
  • 🐚 Background Shell — Long-running background processes with background_shell tool
  • ✅ Checkpointing — Save and restore agent state mid-session
  • 📓 Jupyter Notebook Tools — notebook_read and notebook_edit for .ipynb files
  • 🖼️ Image/Screenshot Input — Paste screenshots, pick files via button, or drag-and-drop images into chat
  • 📎 File Attachments — Attach files via paperclip UI; injected as <attached_file> context
  • 📊 Statusline — Live workspace context injection via statusline.sh
  • 🎨 Output Style — Customize AI response format/tone via .liyaai/output-style.md

Platform & Security

  • 📈 Analytics Client — Session and tool-use event tracking
  • 🛒 Marketplace — Feature flag system and /marketplace command
  • ⌨️ New Keybindings — Switched to Ctrl+Alt+* / Cmd+Alt+* to eliminate chord conflicts
  • 🔄 Backend Session Lock — Polling loop for 202 "processing" responses (100 × 3 s, up to 5 min)
  • 🔒 Security Hardening — Content Security Policy on WebView, 10 MB image upload limit, SSRF-protected web_fetch

See CHANGELOG.md for full release notes.

Documentation

  • Developer Documentation

License

LiyaLabs Community License v1.0 — Free for individual use. Commercial use (white-labeling, reselling, SaaS) requires a license from LiyaLabs. See LICENSE for details.

  • Contact us
  • Jobs
  • Privacy
  • Manage cookies
  • Terms of use
  • Trademarks
© 2026 Microsoft