Skip to main content
██╗   ██╗████████╗██╗  ██╗
██║   ██║╚══██╔══╝╚██╗██╔╝
██║   ██║   ██║    ╚███╔╝
╚██╗ ██╔╝   ██║    ██╔██╗
 ╚████╔╝    ██║   ██╔╝ ██╗
  ╚═══╝     ╚═╝   ╚═╝  ╚═╝

The minimalist, modular coding agent harness

Maximum capability. Minimum overhead.

GitHub PyPI Downloads Python License

A coding agent that keeps its system prompt lean — around ~2,600 tokens for the whole runtime — so your context window stays free for what matters: your code.


Why Vtx?

Most coding agents bury you in thousands of hidden prompt tokens before you type a single line. Vtx is transparent about its footprint. The full runtime — base system prompt, tool guidelines, environment block, and all tool definitions — fits in roughly 2,600 tokens (o200k_base). That means:

  • More of the model's context is spent on your files, not boilerplate instructions.
  • Faster, cheaper turns with any provider you choose.
  • A prompt you can actually read, audit, and shrink.

Vtx is also modular: a keyboard-driven TUI, a headless CLI, a Python SDK, and an optional extension manager — pick the surface that fits the job.


Features

  • Lean by design — ~2,600-token runtime; no hidden prompt bloat.
  • 10 surgical default toolsread, edit, write, bash, find, skill, web, ask_user, task, goal. (grep is a built-in but not enabled by default.)
  • TUI & CLI — a Textual-powered terminal UI, plus a non-interactive headless mode for scripts and CI.
  • Any model, any endpoint — 50+ built-in providers (OpenAI, Anthropic, Azure, DeepSeek, Copilot, Zhipu, Groq, Mistral, Together, Ollama, …) plus OpenAI/Anthropic-compatible custom providers and local models (Ollama, llama.cpp, vLLM).
  • Dynamic context — auto-loads AGENTS.md/CLAUDE.md guidelines and triggers modular Skills.
  • Switchable handoff agents — named profiles (review, security audit, fast impl) cycled live with Shift+Tab, or activated with /agent <name>.
  • Task sub-agents — delegate self-contained work to isolated sessions that stream progress back.
  • Persistent goals — give the agent a durable, file-backed objective with a task tree, live status widget, auto-continue checkpoints, and an independent completion audit. See docs/goals.md.
  • Safe by defaultprompt permission mode gates mutating tools; destructive commands are blocked.
  • Self-extensible — drop a Python file to add tools, intercept calls, register slash commands, or hook lifecycle events.
  • YAML hooks — declarative .vtx/hooks.yml for shell and HTTP lifecycle automation.
  • Extension manager — install extensions and agent packages from PyPI or GitHub with vtx install <name>.

Quick start

# Install with uv (recommended)
uv tool install vtx-coding-agent

# Or the one-liner installer
curl -fsSL https://raw.githubusercontent.com/OEvortex/vtx-coding-agent/main/scripts/install.sh | bash

Launch the terminal UI:

vtx

Run a single task headlessly:

vtx -p "Write unit tests for src/ai/agent/tools/task.py"

The toolset

Tool Does Tool Does
read Read/paginate files, view images web Web search (Exa neural)
edit Precise search-and-replace ask_user Ask a clarifying question
write Create/overwrite files task Dispatch a sub-agent
find Glob file discovery skill Manage skill workflows
bash Run shell commands goal Persistent goals: plan, track, complete w/ audit

See docs/tools.md for full parameter specs.


Permissions & switching agents

Toggle permission mode on the fly. Vtx gates mutating tools (bash, edit, write) behind a permission system. In the TUI:

  • Press Alt+Ctrl+P to cycle between prompt (asks before mutating) and auto (unrestricted) mode.
  • Type /permissions to open the permission menu and switch mode explicitly.
  • Set the default in config.yml (permissions.mode: prompt | auto).

Destructive commands (rm -rf, git reset --hard, force-push, dropping tables) are blocked unless you explicitly ask. See docs/permissions.md.

Switch handoff agents with Shift+Tab. Define named profiles in .vtx/agent/<name>.py (e.g. security-audit, code-review, explorer) and cycle between them live — each bundles its own instructions, tool allow/deny list, and optional model override. See docs/agents.md.


Bring your own provider

Point Vtx at any OpenAI- or Anthropic-compatible endpoint — no source edits required:

# .vtx/providers/acme.yaml
slug: acme
display_name: "Acme AI Gateway"
family: openai_compat
base_url: "https://ai.acme.internal/v1"
api_key_env: ACME_API_KEY
fetch_models: true
export ACME_API_KEY=sk-...
vtx --provider acme -m acme-large

Custom providers show up in the /model picker and auto-fetch their model catalog. Full reference in docs/providers.md.


Build agents programmatically

from vtx.ai.agent.sdk import Agent, Runner, tool

@tool
def get_weather(city: str) -> str:
    """Return the current weather for a city."""
    return f"Sunny in {city}"

agent = Agent(
    name="Weather bot",
    instructions="Be concise.",
    model="gpt-4o-mini",
    tools=[get_weather],
)

result = Runner.run_sync(agent, "Weather in Tokyo?")
print(result.final_output)

See the SDK docs.


Documentation

Topic Link
Documentation index docs/index.md
Monorepo structure docs/developer/monorepo.md

License

Apache License 2.0

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

vtx_coding_agent-1.1.2.tar.gz (43.0 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

vtx_coding_agent-1.1.2-py3-none-any.whl (1.2 MB view details)

Uploaded Python 3

File details

Details for the file vtx_coding_agent-1.1.2.tar.gz.

File metadata

  • Download URL: vtx_coding_agent-1.1.2.tar.gz
  • Upload date:
  • Size: 43.0 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.28 {"installer":{"name":"uv","version":"0.11.28","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Zorin OS","version":"18","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for vtx_coding_agent-1.1.2.tar.gz
Algorithm Hash digest
SHA256 2aa0383b29b301283739100e213aa67f3f753275fe4605c623bb01d487d980c0
MD5 685f0adb15c3e7042200ec602b87bb5b
BLAKE2b-256 d7e6ccc14e063802679716f39a967d98ee3b636876459bceb13e2aa1c55a2183

See more details on using hashes here.

File details

Details for the file vtx_coding_agent-1.1.2-py3-none-any.whl.

File metadata

  • Download URL: vtx_coding_agent-1.1.2-py3-none-any.whl
  • Upload date:
  • Size: 1.2 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.28 {"installer":{"name":"uv","version":"0.11.28","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Zorin OS","version":"18","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for vtx_coding_agent-1.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 4e2b3720f51fa6fa91a8d9b825139dcdcdd8024d7d9e6409a56ee56a28c93979
MD5 039a1dedf235cd90cd6fcfd1947b5939
BLAKE2b-256 a03cc88433f751ee57e1d5446b229eb2f56c0a84969631994d9504911119ab95

See more details on using hashes here.

Release history Release notifications | RSS feed

1.1.3

2 files

This release

1.1.2 This release

2 files

1.1.1

2 files

1.1.0

2 files

1.0.0

2 files

0.2.5

2 files

0.2.4

2 files

0.2.3

2 files

0.2.2

2 files

0.2.1

2 files

0.2.0

2 files

0.1.9

2 files

0.1.8

2 files

0.1.7

2 files

0.1.5

2 files

0.1.4

2 files

0.1.3

2 files

0.1.2

2 files

0.1.1

2 files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page