Skip to main content

⚡ xdh (xdharness)

Autonomous Terminal Agent Harness & TUI
Cross-platform intelligence for Android Termux, Linux, macOS, and Windows

Release License: MIT Python: >=3.10 Platform

FeaturesInstallationQuick StartSlash CommandsDocumentation & WikiArchitectureContributing


🌟 Highlights

xdh is a lightweight, high-performance terminal agent harness and Text User Interface (TUI) built for autonomous code generation, system exploration, and agentic workflows. Designed with first-class support for Android Termux as well as standard desktop operating systems.

  ██╗  ██╗██████╗ ██╗  ██╗
  ╚██╗██╔╝██╔══██╗██║  ██║
   ╚███╔╝ ██║  ██║███████║
   ██╔██╗ ██║  ██║██╔══██║
  ██╔╝ ██╗██████╔╝██║  ██║   xdharness v1.0.9

🚀 Features

  • 🖥️ 3-Segment Layout & Responsive Drawer: Real-time context header (tokens, RAM, latency, provider/model), scrollable history viewport with collapsible blocks, sidecar drawer panel (F2 / Ctrl+B), and dynamic multi-line composer.
  • 🔒 Fortified Security & AST Plugin Scanner: Pre-execution AST security validation for plugins blocking dangerous system calls, strict path traversal guards on session IDs, and zero-trust SSRF protection in fetch_url blocking private, link-local, and loopback IPs.
  • 🐚 Persistent Shell State: Working directory persists across autonomous bash command executions (cd transitions tracked in harness.current_cwd) and all file tool paths resolve against it.
  • 🛡️ Universal Mutation Safety Guards: Comprehensive protection against unauthorized destructive modifications to critical system paths (/etc, /boot, /system, .git, .ssh, .env).
  • 🔍 Semantic BM25 / TF-IDF Search: Score-ranked semantic and keyword relevance search for /index build and /index query.
  • 🧠 True Context Compaction & Summarization: LLM-driven structured bullet summarization of pruned turns preserving goal progress, file states, and user intent.
  • Headless & Pipe Mode: Full CLI non-interactive operation (xdh -p "prompt", --pipe, cat file | xdh -p "..." > out) without launching the full TUI.
  • 🛡️ Configurable Permission Modes: --safe (strict confirmation on state changes), --auto (default guard against destructive commands), and --yolo (unconstrained speed).
  • 🔌 Model Context Protocol (MCP): Native stdio JSON-RPC 2.0 MCP client integration. Configure servers in ~/.xdharness/mcp.json or /mcp add, with automatic dynamic tool discovery.
  • 📑 AST Code Structure Outline: Fast structural inspections via AST / multi-language pattern parser (code_outline and /outline <file>).
  • 💾 Rollback Checkpoints: Instant snapshots of entire workspaces before refactors (manage_checkpoint and /checkpoint create|restore|list).
  • 🚫 .xdhignore & .gitignore Filters: Full workspace scanning exclusion support across search, tree, and index tools.
  • Autonomous Task Scheduling: Schedule recurring autonomous agent triggers via /schedule <interval_sec> <task>.
  • 🎯 Reusable Skills System: Built-in create_skill & call_skill engine. Define, discover, and run skills via /skill list, /skill run <name>, or autonomous agent calls.
  • 🤖 Multi-Agent Orchestration: Built-in create_agent & spawn_agents. Launch multiple specialized subagents concurrently in parallel threads to solve tasks cooperatively.
  • 🔌 Dynamic Plugin Management: Add, install from git repositories, delete, and manage community or personal plugins via /plugin with automated AST safety verification.
  • Interactive User Question Prompting: Agents can invoke ask_question with selectable options to clarify ambiguity during execution.
  • Mid-Run User Guidance Interruption: Send a message or press ESC / Ctrl+C while an agent is executing to immediately pause, incorporate guidance, and pivot smoothly.
  • 🛡️ Fault-Tolerant Resilience: 5-stage connection retry backoff with automatic provider failover.
  • ♾️ Unconstrained Autonomous Execution: Continuous multi-step reasoning without artificial iteration bounds.
  • 🎨 Curated Color Palettes: tokyo_night, dracula, catppuccin, monokai, nord, cyberpunk, gruvbox, and solarized.
  • 📱 Mobile & Termux First: Smooth step-scroll animation for touch gestures, compact mini-banners for narrow viewports (<70 cols), and zero heavy C-extension dependencies.

📦 Installation

From Source (Git)

git clone https://github.com/PwnedBytes0x1/xdh.git
cd xdh
pip install -r requirements.txt
pip install -e .

Direct Execution

python3 -m xdh --version

Termux Quick Setup

pkg update && pkg install python git -y
git clone https://github.com/PwnedBytes0x1/xdh.git
cd xdh
pip install -r requirements.txt
ln -s $(pwd)/xdh.py $PREFIX/bin/xdh
chmod +x $PREFIX/bin/xdh
xdh

⚡ Quick Start

  1. Launch xdh:

    xdh
    
  2. Configure Your Provider & Key: Type /settings inside the interface or edit ~/.xdharness/config.json. You can switch providers dynamically:

    xdh ❯ /provider openrouter
    xdh ❯ /model anthropic/claude-3.5-sonnet
    
  3. Interact: Type plain language prompts to instruct the agent to inspect files, execute tests, refactor code, or run background builds.


⌨️ Slash Commands

Command Description Example
/settings Open interactive settings & quick toggles /settings theme dracula
/provider Switch active provider /provider openai
/model Switch model for active provider /model gpt-4o
/theme Switch color theme palette /theme catppuccin
/tools Enable or disable agent function tools /tools on or /tools off
/thinking Toggle live thought/reasoning token streaming /thinking on
/diff Inspect staged file diffs proposed by agent /diff
/apply Apply pending unified diffs to files /apply
/checkpoint Manage rollback snapshots /checkpoint create pre_refactor
/mcp Manage Model Context Protocol servers /mcp list or /mcp add <name> <cmd>
/permission Configure safety/permission mode /permission safe or /permission yolo
/outline Show AST/regex code structure outline /outline xdh.py
/schedule Autonomous interval task execution /schedule 60 "check git status"
/drawer Toggle sidecar status drawer pane /drawer
/tasks List, inspect, or kill background tasks /tasks list / /tasks logs <id>
/git Execute git status, diff, or commit directly /git status
/scratch Access or update persistent scratchpad memo /scratch set <notes>
/tree Print directory tree of current workspace /tree
/index Build or query workspace keyword index /index build
/copy Copy last response or code block to clipboard /copy
/undo Roll back latest file edit from backups /undo
/clear Clear viewport history (or Ctrl+L) /clear
/help Show command reference table /help
/exit Save session state and exit (or Ctrl+Q) /exit

⌨️ Keybindings

  • Tab: Auto-complete slash command / accept ghost suggestion.
  • Right Arrow: Accept ghost suggestion at line end.
  • Up / Down: Navigate history or smooth-scroll conversation viewport.
  • F2 / Ctrl+B: Toggle sidecar drawer pane (swarm stats, MCPs, checkpoints, tasks).
  • ESC / Ctrl+C: Interrupt running generation / halt active task.
  • Ctrl+T: Cycle color themes dynamically.
  • Ctrl+P: Cycle configured AI providers.
  • Ctrl+O: Toggle block collapse (compact vs expanded summary).
  • Ctrl+L: Clear current viewport.
  • Ctrl+J: Insert newline in composer without submitting.
  • Ctrl+Q: Save session and quit.

📚 Documentation & Wiki

Detailed guides and specifications are organized in docs/wiki/:


🏗️ Architecture

flowchart TD
    User([User Terminal / Touch]) --> UI[XDHApp TUI Container]
    UI --> Layout[3-Segment Layout: Header, Viewport, Composer]
    UI --> Engine[XDHarness Core Engine]
    Engine --> ProviderRouter[Provider Router & Failover]
    ProviderRouter --> LLM[Streaming API / Ollama / OpenAI / OpenRouter]
    Engine --> ToolManager[Autonomous Tool Execution Engine]
    ToolManager --> Filesystem[(Filesystem & Atomic Backups)]
    ToolManager --> Shell[Subprocess Shell & BG Tasks]
    ToolManager --> Web[DuckDuckGo / Web Fetcher]

🤝 Contributing & Community

Contributions are welcome! Please review our community guidelines before getting started:


📄 License

This project is licensed under the MIT License. See the LICENSE file for details.

Download files

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

Source Distribution

xdharness-1.0.9.tar.gz (66.9 kB view details)

Uploaded Source

Built Distribution

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

xdharness-1.0.9-py3-none-any.whl (62.6 kB view details)

Uploaded Python 3

File details

Details for the file xdharness-1.0.9.tar.gz.

File metadata

  • Download URL: xdharness-1.0.9.tar.gz
  • Upload date:
  • Size: 66.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for xdharness-1.0.9.tar.gz
Algorithm Hash digest
SHA256 ea13857494426feb4e38949485e95bef14b07f74df74b54c5a05cb13b5789e20
MD5 671a11529d63a66eeeb8891cb9577ebd
BLAKE2b-256 cb74462367a224ca40ac910d88a340fcb2e9214c020194c713b63740d02ff21b

See more details on using hashes here.

Provenance

The following attestation bundles were made for xdharness-1.0.9.tar.gz:

Publisher: publish.yml on PwnedBytes0x1/xdh

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file xdharness-1.0.9-py3-none-any.whl.

File metadata

  • Download URL: xdharness-1.0.9-py3-none-any.whl
  • Upload date:
  • Size: 62.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for xdharness-1.0.9-py3-none-any.whl
Algorithm Hash digest
SHA256 f92ea57cf620922305d3b642818ab346aef07f0650a51fa08bb24c380f2812b7
MD5 c75e697a2d6bdd1b9da401062ea25c9f
BLAKE2b-256 29bd8463080f8673c5870a27bcec4f0784cdff94365a76f99ee6c6cfd825e43a

See more details on using hashes here.

Provenance

The following attestation bundles were made for xdharness-1.0.9-py3-none-any.whl:

Publisher: publish.yml on PwnedBytes0x1/xdh

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Release history Release notifications | RSS feed

This release

1.0.9 This release

2 files

1.0.8

2 files

1.0.7

2 files

1.0.6

2 files

1.0.5

2 files

1.0.4

2 files

1.0.3

2 files

1.0.2

2 files

1.0.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