Skip to content
| Marketplace
Sign in
Visual Studio Code>Other>VertexAgentNew to Visual Studio Code? Get it now.
VertexAgent

VertexAgent

vertexlabs

|
56 installs
| (0) | Free
VertexLabs AI Agent
Installation
Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter.
Copied to clipboard
More Info

VertexAgent — Autonomous Private AI Coding Agent

Developed by VertexLabs Copyright Zafer Kılıçaslan www.vertexlabs.de

VertexAgent is a VS Code extension providing an autonomous AI coding agent with multi-provider LLM support, non-destructive file editing, persistent memory, and a hardened security model — built for developers who want full control over their AI tooling.


Why VertexAgent?

Feature VertexAgent GitHub Copilot Cursor Continue.dev
100% local / air-gapped ✅ ❌ ❌ ✅
Bring your own model ✅ ❌ partial ✅
Non-destructive diff edits ✅ ❌ ❌ ❌
API keys in OS keychain ✅ n/a ❌ ❌
Persistent cross-session memory ✅ ❌ ❌ ❌
Duplicate edit protection ✅ ❌ ❌ ❌
CSP-compliant webview ✅ n/a n/a n/a
Zero telemetry ✅ ❌ ❌ partial

Features

Multi-Provider LLM Support

  • Google Gemini — Direct API integration (gemini-2.0-flash-latest, 1M context)
  • Anthropic Claude — Claude 3.5 Sonnet / Claude 3 Haiku
  • OpenAI-compatible — llama.cpp, LiteLLM, any OpenAI-format server
  • Ollama — Local models, no API key required
  • Custom — Any OpenAI-compatible endpoint with optional Bearer token

Non-Destructive File Editing

  • Smart diff detection — Distinguishes real diffs from markdown lists by matching minus-line content against context lines
  • Patch application — applyDiffPatch() applies changes surgically; untouched lines are never modified
  • Auto-detection of implicit additions — Lines not present in the original file are automatically treated as additions, even without + prefix
  • Deduplication — Identical edits targeting the same file are applied only once, even if the LLM outputs them multiple times
  • Full replacement fallback — Non-diff content replaces the file atomically

Intelligent Intent Recognition

  • Line-level vs file-level — "lösche zeile 3 in requirements.txt" routes to diff format; "lösche datei X" routes to DELETE
  • Version number protection — 7.4.3 is never misread as a filename to delete
  • Content-edit detection — "entferne flask aus requirements.txt" never triggers file deletion
  • Command-only mode — Folder/file structure requests return clean Bash commands (mkdir, touch)

Auto File Context Injection

  • Referenced files are automatically read and injected into the LLM prompt with a concrete diff-format template
  • The template uses the actual filename, ensuring the LLM produces structured diffs rather than full file replacements
  • File context uses code fences matching the file language for better LLM comprehension

Persistent Memory System

  • Design decisions and architecture notes persist across sessions in .vertex/memory.json
  • Last 20 memory entries are injected into every new chat request
  • Auto-initialized — no manual setup required

Hardened System Prompts

  • Explicit prohibition of simulated correction loops ("Versuch 2:", "Erneuter Versuch:")
  • Concrete diff examples with worked requirements.txt cases
  • Security rules: no hardcoded secrets, no eval(), no unsafe YAML loading
  • Logging standards: JSON-format structured logging
  • Type safety requirements: Python type hints, strict TypeScript types

Streaming for All Providers

  • Token-by-token live rendering for Gemini, Claude, OpenAI-compatible, and Ollama
  • Files are written to disk as soon as their code blocks complete — no waiting for the full response

Modern Chat UI

  • Diff visualization — + lines green, - lines red, +N -M statistics in header
  • Placeholder-based syntax highlighting — Two-phase tokenizer with non-printable placeholder markers prevents HTML artifact leakage (class="tok-number">)
  • Collapsible code blocks — First 4 lines visible, click stats to expand
  • CSP-compliant — No inline onclick handlers; uses event delegation
  • Duplicate block suppression — If the LLM repeats a code block, only the first is shown
  • Command blocks — Terminal-style UI for bash commands
  • Markdown rendering — Lists, headings, inline code
  • Token tracking — "Used Tokens:" counter per response

Security Model

  • API keys in OS keychain — vertexAgent.apiKey and vertexAgent.accessToken use VS Code "secret": true (OS keychain / credential manager, never plaintext settings.json)
  • Zero telemetry — No data sent anywhere except your configured LLM provider
  • Air-gap capable — Works fully offline with Ollama or llama.cpp
  • Safe path resolution — toSafeRelativePath() blocks path traversal (../) and absolute paths
  • Workspace-scoped writes — All file operations are confined to the open workspace root
  • CSP-compliant webview — No eval(), no inline scripts, event delegation only

Installation

Requirements

  • Node.js >= 18
  • VS Code >= 1.85
  • LLM provider — Gemini API key, Ollama, llama.cpp, or any OpenAI-compatible server

From VSIX (Recommended)

  1. Download vertex-agent-x.x.x.vsix from the Releases page
  2. In VS Code: Extensions → ... → Install from VSIX...

From Source

git clone https://github.com/Zafer83/vertex-agent.git
cd vertex-agent
npm install
npm run compile
# Press F5 in VS Code to launch debug instance

Configuration

Open settings via the ⚙️ button in chat or Cmd+Shift+P → "VertexAgent Settings".

Google Gemini

Setting Value
Provider gemini
Server URL https://generativelanguage.googleapis.com
Server Port 443
API Key Your key from makersuite.google.com

Ollama (Local, Free)

Setting Value
Provider ollama
Server URL http://localhost
Server Port 11434
API Key (leave empty)
ollama pull llama3.2
ollama serve

llama.cpp (Local, Free)

Setting Value
Provider openai (compatible)
Server URL http://localhost
Server Port 8080
./server -m model.gguf -c 4096 --port 8080

Anthropic Claude

Setting Value
Provider claude
Server URL https://api.anthropic.com
Server Port 443
API Key Your Anthropic key

Usage

Basic Code Tasks

Create a Python function that validates email addresses with regex
Refactor src/app.ts to use async/await instead of callbacks
Fix the TypeScript errors in src/utils.ts

File Editing with Diffs

Remove the pytest line from requirements.txt
Add numpy==1.24.0 to requirements.txt after requests

The agent outputs a diff (- / +), applies it as a patch — no other lines are touched.

Multi-file Projects

Create a complete REST API with FastAPI:
- src/main.py (app entrypoint)
- src/routes/users.py (user endpoints)
- src/models/user.py (pydantic models)
- tests/test_users.py (pytest tests)
- requirements.txt

File & Folder Management

Create folder structure: src/components, src/hooks, src/utils
Delete the old_tests directory

Architecture

vertex-agent/
├── src/
│   ├── agent/
│   │   ├── loopEngine.ts        # Autonomous agent loop
│   │   ├── memoryEngine.ts      # Persistent memory
│   │   ├── errorAnalyzer.ts     # VS Code diagnostics
│   │   └── contextBuilder.ts    # Project context
│   ├── ai/
│   │   ├── aiClient.ts          # LLM client, intent detection, diff logic
│   │   └── providerAdapter.ts   # Multi-provider API adapter
│   ├── fs/
│   │   └── fileEditEngine.ts    # Non-destructive file operations
│   ├── ui/
│   │   ├── chatPanel.ts         # Chat webview (CSP-compliant)
│   │   └── settingsPanel.ts     # Settings UI
│   └── extension.ts             # Extension entry point
├── tests/
│   └── unit/
│       └── bugfix-regression.test.js  # 61 regression tests
├── .vertex/
│   └── memory.json              # Persistent cross-session memory
└── package.json

Roadmap

Completed ✅

  • [x] Multi-provider LLM support (Gemini, Claude, OpenAI, Ollama, Custom)
  • [x] Streaming for all providers with live file writing
  • [x] Non-destructive diff editing with applyDiffPatch()
  • [x] Smart diff vs markdown-list detection
  • [x] Auto file context injection with concrete diff-format templates
  • [x] Persistent cross-session memory
  • [x] Diff visualization in chat (+N -M, green/red)
  • [x] Collapsible code blocks with expand toggle
  • [x] Placeholder-based syntax highlighter (no HTML artifact leakage)
  • [x] CSP-compliant webview (event delegation, no inline scripts)
  • [x] API keys in OS keychain ("secret": true)
  • [x] Safe path traversal protection
  • [x] Workspace-scoped file writes
  • [x] Duplicate edit deduplication (file writes + chat display)
  • [x] Intent disambiguation (line edit vs file delete vs command-only)
  • [x] LLM self-loop prevention
  • [x] Hardened system prompts with security rules and examples
  • [x] Regression test suite (61 assertions)
  • [x] Auto version bump on compile

Planned 🔧

  • [ ] Git integration — Auto-commit after successful file writes, show diff in source control panel
  • [ ] Multi-turn context — Full conversation history sent to LLM (currently stateless per request)
  • [ ] Workspace indexing — Semantic search over project files for relevant context injection
  • [ ] Custom system prompts — .vertex/system-prompt.md per project overrides default prompt
  • [ ] Workspace-specific settings — .vertex/config.json per repository
  • [ ] Test runner integration — Auto-run pytest/jest after writes, feed failures back to LLM
  • [ ] Multi-file diff view — Preview all pending changes before applying
  • [ ] Undo support — Revert last agent action via VS Code undo stack
  • [ ] Plugin/tool system — Custom callable tools (web search, DB query, API calls)
  • [ ] Image input — Send screenshots/diagrams to vision-capable models
  • [ ] Inline completions — Ghost text suggestions alongside chat

Security Backlog 🔒

  • [ ] Rate limiting — Per-session request budget to prevent runaway loops
  • [ ] Sandboxed Bash execution — Full sandboxing for shell commands beyond mkdir/touch
  • [ ] Credential scanning — Detect secrets/API keys in LLM output before writing to disk
  • [ ] Prompt injection detection — Warn when file content attempts to override the system prompt
  • [ ] Audit log — Append-only log of all file operations performed by the agent
  • [ ] Permission scopes — Read-only mode or directory restrictions per workspace

Supported Models

Provider Recommended Model Context Cost
Gemini gemini-2.0-flash-latest 1M tokens Low
Claude claude-3-5-sonnet-20241022 200k tokens Medium
Ollama llama3.2, codestral 128k tokens Free
llama.cpp Any GGUF model Variable Free
OpenAI gpt-4o 128k tokens High

Known Issues

  • LLM diff compliance — Some smaller local models don't reliably output diff format. The patch engine falls back to full-file replacement in that case.
  • Gemini rate limits — Heavy usage triggers 429 errors. Use gemini-flash for lower cost per request.
  • Ollama performance — Local models are significantly slower than cloud APIs for complex tasks.
  • Memory growth — Very large .vertex/memory.json files (>500 entries) may affect prompt performance.

Development

npm run compile      # Bump version + build
npm run watch        # Watch mode (no version bump)
npm run package      # Build .vsix for distribution
npm test             # Run all tests
node tests/unit/bugfix-regression.test.js  # Regression suite only

License

Proprietary — Copyright VertexLabs · Zafer Kılıçaslan The VertexLabs logo and all VertexAgent branding elements are proprietary.

Website: www.vertexlabs.de

  • Contact us
  • Jobs
  • Privacy
  • Manage cookies
  • Terms of use
  • Trademarks
  • Your Privacy Choices
  • Consumer Health Privacy
© 2026 Microsoft