Skip to main content

Experimental Python-runner coding agent with a Textual TUI

Project description

uv-agent

简体中文

uv-agent is a portable coding agent with a Textual TUI. Its only external action surface is run_python: the model submits Python scripts to a managed uv run runner, and those scripts do the actual work. This single-tool design keeps agent behavior consistent across platforms—any OS with Python and uv behaves the same way.

Public APIs, config fields, and runtime behavior may still change as the project evolves.

Install And Run

Run the latest published package:

uvx uv-agent@latest

Run from a local checkout:

uv run uv-agent

Ask a single prompt without opening the TUI:

uvx uv-agent@latest ask "Reply with exactly: ok"

Resume an existing thread:

uvx uv-agent@latest ask --thread thr_xxx "Continue from here"

Configuration

User config lives at ~/.uv-agent/config.json. A project can override it with .uv-agent/config.json; that project-local directory is ignored by git. Keep API keys in environment variables or ignored local config.

Minimal shape:

{
  "providers": {
    "main": {
      "base_url": "https://api.example.com/v1",
      "api_key_env": "UV_AGENT_API_KEY",
      "responses": { "path": "/responses" }
    }
  },
  "models": {
    "main": {
      "provider": "main",
      "model": "your-model-name",
      "api": "responses",
      "context_window_tokens": 128000
    }
  },
  "levels": {
    "medium": { "model": "main" }
  },
  "runtime": {
    "default_level": "medium"
  },
  "ui": {
    "language": "auto",
    "completion_notification": {
      "enabled": true,
      "terminal": true,
      "bell": true
    }
  }
}

Use /config in the TUI to switch the default level, language, and automatic compression. Set ui.language to zh-CN for a Chinese UI. Completion notifications can be configured under ui.completion_notification. Non-Windows platforms use the terminal bell for completion sound.

See configuration for all supported options and config.example.json for a detailed example.

Documentation

Core Ideas

  • The agent has exactly one external action surface: run_python.
  • Managed scripts declare third-party dependencies with PEP 723 inline metadata.
  • The distributed package includes both uv_agent and uv_agent_runtime; managed scripts import helpers from uv_agent_runtime.
  • Workspace rules, skills, and MCP declarations are progressively disclosed as context. MCP calls happen from Python runtime helpers, not direct model tools.
  • Thread state, run logs, saved scripts, and attachments live under ~/.uv-agent/projects/<project-id>/.

Development

uv run pytest

Local debug state, screenshots, config, scripts, runs, and thread data belong in .uv-agent/ and should stay out of git.

License

MIT. See LICENSE.

Project details


Release history Release notifications | RSS feed

Download files

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

Source Distribution

uv_agent-0.3.8.tar.gz (323.6 kB view details)

Uploaded Source

Built Distribution

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

uv_agent-0.3.8-py3-none-any.whl (118.5 kB view details)

Uploaded Python 3

File details

Details for the file uv_agent-0.3.8.tar.gz.

File metadata

  • Download URL: uv_agent-0.3.8.tar.gz
  • Upload date:
  • Size: 323.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.14 {"installer":{"name":"uv","version":"0.11.14","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":null,"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for uv_agent-0.3.8.tar.gz
Algorithm Hash digest
SHA256 fa228792ffa7e3b0e1bfaf0cda3f1b80b98e65825482a72586e22d45c2a480bf
MD5 a8b019647feb65b98e0cbde43b8d7ea5
BLAKE2b-256 ec395bb2fce1d90d98d0c998c3baae4c46d69aae7e3dbee3e2686729d76c6ba3

See more details on using hashes here.

File details

Details for the file uv_agent-0.3.8-py3-none-any.whl.

File metadata

  • Download URL: uv_agent-0.3.8-py3-none-any.whl
  • Upload date:
  • Size: 118.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.14 {"installer":{"name":"uv","version":"0.11.14","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":null,"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for uv_agent-0.3.8-py3-none-any.whl
Algorithm Hash digest
SHA256 412e8dd32e9168883f2d51e9c3116122311f1a70b241ac2329a38910bf2861d7
MD5 bb7bfcad24f57b71d3994a9cf8c9662d
BLAKE2b-256 b38fca6f110488742ef7f839b6863d68d0f2515341419579ed42914c2b25cccc

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page