Skip to main content

Locate and read local code-agent thread files

Project description

xURL

xURL is a client for AI agent URLs.

Also known as Xuanwo's URL.

Features

  • Multi-agent thread resolution:
    • Amp logo Amp
    • Codex logo Codex
    • Claude logo Claude
    • Gemini logo Gemini
    • Pi logo Pi
  • OpenCode logo OpenCode
  • Unified URI scheme: agents://<provider>/<thread_path> is the primary format.
  • Default output is markdown with YAML frontmatter header plus provider-specific body.
  • -I, --head outputs frontmatter only.
  • -o, --output <path> writes rendered output to a file.
  • For Codex/Claude/Pi main URIs, head output includes discovery fields (subagents / entries) that replace list-mode aggregation.
  • Subagent markdown views print full parent/subagent URIs in agents://... format.
  • Non-fatal diagnostics are kept internal; only fatal errors are printed to stderr.
  • Automatically respects official environment variables and default local data roots for each supported agent.

Install

Homebrew:

brew tap xuanwo/tap
brew install xurl

PyPI via uv:

uv tool install xuanwo-xurl
xurl --version

npm:

npm install -g @xuanwo/xurl
xurl --version

Quick Start

  1. Add xurl as an agent skill:
npx skills add Xuanwo/xurl
  1. Start your agent and ask the agent to summarize a thread:
Please summarize this thread: agents://codex/xxx_thread

Repository Usage

Run xurl directly from source:

cargo run -p xurl-cli -- --help

Run the test suite:

cargo test --workspace

Run CLI integration tests only:

cargo test -p xurl-cli --test cli

Release process summary:

  1. Bump crate versions in xurl-core/Cargo.toml and xurl-cli/Cargo.toml.
  2. Push to main.
  3. Create and push a tag like v0.0.14.
  4. GitHub Actions will publish release assets, npm, PyPI, and Homebrew updates.

Projects in This Repository

URL Format

Primary URI format:

agents://<provider>/<thread_path>

ASCII breakdown:

agents://codex/019c871c-b1f9-7f60-9c4f-87ed09f13592/019c87fb-38b9-7843-92b1-832f02598495
^^^^^^   ^^^^^   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
scheme   provider thread_path (provider-specific: main thread, optional child thread)

Agents

Amp

  • Supported URIs:
    • agents://amp/<thread_id>
  • Thread id format:
    • T-xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
  • Resolution:
    • XDG_DATA_HOME/amp/threads/<thread_id>.json
    • fallback: ~/.local/share/amp/threads/<thread_id>.json
  • Example:
xurl agents://amp/T-019c0797-c402-7389-bd80-d785c98df295

Codex

  • Supported URIs:
    • agents://codex/<session_id>
    • agents://codex/threads/<session_id>
    • agents://codex/<main_session_id>/<agent_id>
  • Subagent modes:
    • Aggregate header only: xurl -I agents://codex/<main_session_id>
    • Drill-down: xurl agents://codex/<main_session_id>/<agent_id>
  • Resolution order:
    • SQLite thread index under CODEX_HOME (state_<version>.sqlite first, then state.sqlite) via threads(id, rollout_path, archived).
    • Filesystem fallback under sessions/ and archived_sessions/ for rollout-*.jsonl.
  • Examples:
xurl agents://codex/019c871c-b1f9-7f60-9c4f-87ed09f13592
xurl agents://codex/threads/019c871c-b1f9-7f60-9c4f-87ed09f13592
xurl -o /tmp/codex-thread.md agents://codex/019c871c-b1f9-7f60-9c4f-87ed09f13592
xurl -I agents://codex/019c871c-b1f9-7f60-9c4f-87ed09f13592
xurl agents://codex/019c871c-b1f9-7f60-9c4f-87ed09f13592/019c87fb-38b9-7843-92b1-832f02598495

Claude

  • Supported URIs:
    • agents://claude/<session_id>
    • agents://claude/<main_session_id>/<agent_id>
  • Subagent modes:
    • Aggregate header only: xurl -I agents://claude/<main_session_id>
    • Drill-down: xurl agents://claude/<main_session_id>/<agent_id>
  • Example:
xurl agents://claude/2823d1df-720a-4c31-ac55-ae8ba726721f
xurl -I agents://claude/2823d1df-720a-4c31-ac55-ae8ba726721f
xurl agents://claude/2823d1df-720a-4c31-ac55-ae8ba726721f/acompact-69d537

OpenCode

  • Supported URIs:
    • agents://opencode/<session_id>
  • Example:
xurl agents://opencode/ses_43a90e3adffejRgrTdlJa48CtE

Gemini

  • Supported URI:
    • agents://gemini/<session_id>
  • Session id format:
    • xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
  • Resolution:
    • GEMINI_CLI_HOME/.gemini/tmp/*/chats/session-*.json
    • fallback: ~/.gemini/tmp/*/chats/session-*.json
  • Example:
xurl agents://gemini/29d207db-ca7e-40ba-87f7-e14c9de60613

Pi

  • Supported URIs:
    • agents://pi/<session_id>
    • agents://pi/<session_id>/<entry_id>
  • Session id format:
    • xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
  • Resolution:
    • PI_CODING_AGENT_DIR/sessions/**/*.jsonl
    • fallback: ~/.pi/agent/sessions/**/*.jsonl
  • Rendering:
    • agents://pi/<session_id> renders the latest leaf branch in the session tree.
    • agents://pi/<session_id>/<entry_id> renders the branch ending at the specified entry id.
    • xurl -I agents://pi/<session_id> outputs entries in frontmatter for drill-down discovery.
  • Example:
xurl agents://pi/12cb4c19-2774-4de4-a0d0-9fa32fbae29f
xurl agents://pi/12cb4c19-2774-4de4-a0d0-9fa32fbae29f/d1b2c3d4
xurl -I agents://pi/12cb4c19-2774-4de4-a0d0-9fa32fbae29f

Release Automation

  • release.yml (tag push v*) builds native binaries and publishes GitHub release assets (xurl-<version>-<target>.tar.gz + checksums + manifest).
  • homebrew-publish.yml consumes release.yml metadata and updates xuanwo/tap formula.
  • npm-publish.yml and pypi-publish.yml keep their original filenames for trusted publisher compatibility, but now consume artifacts from release.yml instead of rebuilding binaries.

Project details


Download files

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

Source Distribution

xuanwo_xurl-0.0.15.tar.gz (118.8 kB view details)

Uploaded Source

Built Distributions

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

xuanwo_xurl-0.0.15-cp311-cp311-win_arm64.whl (1.7 MB view details)

Uploaded CPython 3.11Windows ARM64

xuanwo_xurl-0.0.15-cp311-cp311-win_amd64.whl (1.9 MB view details)

Uploaded CPython 3.11Windows x86-64

xuanwo_xurl-0.0.15-cp311-cp311-manylinux2014_x86_64.whl (2.4 MB view details)

Uploaded CPython 3.11

xuanwo_xurl-0.0.15-cp311-cp311-manylinux2014_aarch64.whl (2.3 MB view details)

Uploaded CPython 3.11

xuanwo_xurl-0.0.15-cp311-cp311-macosx_11_0_x86_64.whl (2.2 MB view details)

Uploaded CPython 3.11macOS 11.0+ x86-64

xuanwo_xurl-0.0.15-cp311-cp311-macosx_11_0_arm64.whl (2.0 MB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

File details

Details for the file xuanwo_xurl-0.0.15.tar.gz.

File metadata

  • Download URL: xuanwo_xurl-0.0.15.tar.gz
  • Upload date:
  • Size: 118.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for xuanwo_xurl-0.0.15.tar.gz
Algorithm Hash digest
SHA256 b93ab888d5bfdf3847da6baa83608632846293e6322ac8313ef6101b2b121c63
MD5 8ef9fabdc8c7a9c1d176537d01594878
BLAKE2b-256 ddb55de2688686a0a81274cb9c51017358258e351c2b9a879685382e7178ced2

See more details on using hashes here.

Provenance

The following attestation bundles were made for xuanwo_xurl-0.0.15.tar.gz:

Publisher: pypi-publish.yml on Xuanwo/xurl

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

File details

Details for the file xuanwo_xurl-0.0.15-cp311-cp311-win_arm64.whl.

File metadata

File hashes

Hashes for xuanwo_xurl-0.0.15-cp311-cp311-win_arm64.whl
Algorithm Hash digest
SHA256 2156670fccce61f28d1a3be62ed119c6c4918e7c2069fefcbf668859712ceeb3
MD5 b06576ff1c1642089ff1b1800a56022f
BLAKE2b-256 bbb799de53373ca78b5e715450362248ee6d8fe9afa5b2128934edb794218d4e

See more details on using hashes here.

Provenance

The following attestation bundles were made for xuanwo_xurl-0.0.15-cp311-cp311-win_arm64.whl:

Publisher: pypi-publish.yml on Xuanwo/xurl

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

File details

Details for the file xuanwo_xurl-0.0.15-cp311-cp311-win_amd64.whl.

File metadata

File hashes

Hashes for xuanwo_xurl-0.0.15-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 bfa9978a77dc87cd264bbfa987819b53c229f6621775e091eaea58bada29415c
MD5 8081ed593c43f17d76cd3bd0325e5481
BLAKE2b-256 7e5244a0f1a093185c37a8e5ba43f6d602f3f19fa59eb27bec8a42649657f209

See more details on using hashes here.

Provenance

The following attestation bundles were made for xuanwo_xurl-0.0.15-cp311-cp311-win_amd64.whl:

Publisher: pypi-publish.yml on Xuanwo/xurl

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

File details

Details for the file xuanwo_xurl-0.0.15-cp311-cp311-manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for xuanwo_xurl-0.0.15-cp311-cp311-manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 0ef12e3aa59502064f160838f7d7e18a76b1f0f93116201aeb2562ef94a10934
MD5 e602398b1e179c469f5c73cbb6538b68
BLAKE2b-256 1d68aa340afcee061e070fc62518f0a54c608a19698625c3daa7c5aab29d2d1c

See more details on using hashes here.

Provenance

The following attestation bundles were made for xuanwo_xurl-0.0.15-cp311-cp311-manylinux2014_x86_64.whl:

Publisher: pypi-publish.yml on Xuanwo/xurl

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

File details

Details for the file xuanwo_xurl-0.0.15-cp311-cp311-manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for xuanwo_xurl-0.0.15-cp311-cp311-manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 7c307268aa30bbc30e87e68b903ca63413786f25dfe6a3bc32d0ad63bd6eaaca
MD5 ae528fc6f025d56adc57f437cc6a8aa3
BLAKE2b-256 d7a215e65bc9629c425e46242add8db9d56452cf810db6292c51082cd2eb96b2

See more details on using hashes here.

Provenance

The following attestation bundles were made for xuanwo_xurl-0.0.15-cp311-cp311-manylinux2014_aarch64.whl:

Publisher: pypi-publish.yml on Xuanwo/xurl

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

File details

Details for the file xuanwo_xurl-0.0.15-cp311-cp311-macosx_11_0_x86_64.whl.

File metadata

File hashes

Hashes for xuanwo_xurl-0.0.15-cp311-cp311-macosx_11_0_x86_64.whl
Algorithm Hash digest
SHA256 93b627267d3ee385a0d63e9224f7087316b0d0caf2ae724271e3978fcfe5a522
MD5 fc3c136e23c64b37dfcd783ed288d062
BLAKE2b-256 3ff12f10ba856c9538a5a11e8bfeead79eb36f05a9b661dd8658c1a65d2c3ebe

See more details on using hashes here.

Provenance

The following attestation bundles were made for xuanwo_xurl-0.0.15-cp311-cp311-macosx_11_0_x86_64.whl:

Publisher: pypi-publish.yml on Xuanwo/xurl

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

File details

Details for the file xuanwo_xurl-0.0.15-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for xuanwo_xurl-0.0.15-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 2eb65a82f1e6774e4bc652ce36bd87d44ff0140e2ec5081d3822339e29dd62c7
MD5 8f1dd06892b6d90cd61086d45a1c6417
BLAKE2b-256 359afd94ea89e00ae3fc0869644806cd0da2c6864cc2f3d16a95663bb067163a

See more details on using hashes here.

Provenance

The following attestation bundles were made for xuanwo_xurl-0.0.15-cp311-cp311-macosx_11_0_arm64.whl:

Publisher: pypi-publish.yml on Xuanwo/xurl

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

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