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
Codex
Claude
Gemini
Pi
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, --headoutputs 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
- Add
xurlas an agent skill:
npx skills add Xuanwo/xurl
- 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:
- Bump crate versions in
xurl-core/Cargo.tomlandxurl-cli/Cargo.toml. - Push to
main. - Create and push a tag like
v0.0.14. - GitHub Actions will publish release assets, npm, PyPI, and Homebrew updates.
Projects in This Repository
xurl-core: core URI parsing, provider resolution, thread reading, and markdown rendering.xurl-cli: CLI entrypoint and argument handling forxurl.npm: Node.js wrapper package source for@xuanwo/xurl.pyproject.toml: Python package metadata forxuanwo-xurl.homebrew-tap: Homebrew formula repository (xuanwo/tap).skills/xurl: Codex skill instructions for usingxurl.
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>
- Aggregate header only:
- Resolution order:
- SQLite thread index under
CODEX_HOME(state_<version>.sqlitefirst, thenstate.sqlite) viathreads(id, rollout_path, archived). - Filesystem fallback under
sessions/andarchived_sessions/forrollout-*.jsonl.
- SQLite thread index under
- 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>
- Aggregate header only:
- 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>outputsentriesin 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 pushv*) builds native binaries and publishes GitHub release assets (xurl-<version>-<target>.tar.gz+ checksums + manifest).homebrew-publish.ymlconsumesrelease.ymlmetadata and updatesxuanwo/tapformula.npm-publish.ymlandpypi-publish.ymlkeep their original filenames for trusted publisher compatibility, but now consume artifacts fromrelease.ymlinstead of rebuilding binaries.
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
Built Distributions
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b93ab888d5bfdf3847da6baa83608632846293e6322ac8313ef6101b2b121c63
|
|
| MD5 |
8ef9fabdc8c7a9c1d176537d01594878
|
|
| BLAKE2b-256 |
ddb55de2688686a0a81274cb9c51017358258e351c2b9a879685382e7178ced2
|
Provenance
The following attestation bundles were made for xuanwo_xurl-0.0.15.tar.gz:
Publisher:
pypi-publish.yml on Xuanwo/xurl
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
xuanwo_xurl-0.0.15.tar.gz -
Subject digest:
b93ab888d5bfdf3847da6baa83608632846293e6322ac8313ef6101b2b121c63 - Sigstore transparency entry: 985041096
- Sigstore integration time:
-
Permalink:
Xuanwo/xurl@7c381e978e6d1d178646e1d36ccf97213b692128 -
Branch / Tag:
refs/heads/main - Owner: https://github.com/Xuanwo
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
pypi-publish.yml@7c381e978e6d1d178646e1d36ccf97213b692128 -
Trigger Event:
workflow_run
-
Statement type:
File details
Details for the file xuanwo_xurl-0.0.15-cp311-cp311-win_arm64.whl.
File metadata
- Download URL: xuanwo_xurl-0.0.15-cp311-cp311-win_arm64.whl
- Upload date:
- Size: 1.7 MB
- Tags: CPython 3.11, Windows ARM64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
2156670fccce61f28d1a3be62ed119c6c4918e7c2069fefcbf668859712ceeb3
|
|
| MD5 |
b06576ff1c1642089ff1b1800a56022f
|
|
| BLAKE2b-256 |
bbb799de53373ca78b5e715450362248ee6d8fe9afa5b2128934edb794218d4e
|
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
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
xuanwo_xurl-0.0.15-cp311-cp311-win_arm64.whl -
Subject digest:
2156670fccce61f28d1a3be62ed119c6c4918e7c2069fefcbf668859712ceeb3 - Sigstore transparency entry: 985041139
- Sigstore integration time:
-
Permalink:
Xuanwo/xurl@7c381e978e6d1d178646e1d36ccf97213b692128 -
Branch / Tag:
refs/heads/main - Owner: https://github.com/Xuanwo
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
pypi-publish.yml@7c381e978e6d1d178646e1d36ccf97213b692128 -
Trigger Event:
workflow_run
-
Statement type:
File details
Details for the file xuanwo_xurl-0.0.15-cp311-cp311-win_amd64.whl.
File metadata
- Download URL: xuanwo_xurl-0.0.15-cp311-cp311-win_amd64.whl
- Upload date:
- Size: 1.9 MB
- Tags: CPython 3.11, Windows x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
bfa9978a77dc87cd264bbfa987819b53c229f6621775e091eaea58bada29415c
|
|
| MD5 |
8081ed593c43f17d76cd3bd0325e5481
|
|
| BLAKE2b-256 |
7e5244a0f1a093185c37a8e5ba43f6d602f3f19fa59eb27bec8a42649657f209
|
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
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
xuanwo_xurl-0.0.15-cp311-cp311-win_amd64.whl -
Subject digest:
bfa9978a77dc87cd264bbfa987819b53c229f6621775e091eaea58bada29415c - Sigstore transparency entry: 985041136
- Sigstore integration time:
-
Permalink:
Xuanwo/xurl@7c381e978e6d1d178646e1d36ccf97213b692128 -
Branch / Tag:
refs/heads/main - Owner: https://github.com/Xuanwo
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
pypi-publish.yml@7c381e978e6d1d178646e1d36ccf97213b692128 -
Trigger Event:
workflow_run
-
Statement type:
File details
Details for the file xuanwo_xurl-0.0.15-cp311-cp311-manylinux2014_x86_64.whl.
File metadata
- Download URL: xuanwo_xurl-0.0.15-cp311-cp311-manylinux2014_x86_64.whl
- Upload date:
- Size: 2.4 MB
- Tags: CPython 3.11
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
0ef12e3aa59502064f160838f7d7e18a76b1f0f93116201aeb2562ef94a10934
|
|
| MD5 |
e602398b1e179c469f5c73cbb6538b68
|
|
| BLAKE2b-256 |
1d68aa340afcee061e070fc62518f0a54c608a19698625c3daa7c5aab29d2d1c
|
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
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
xuanwo_xurl-0.0.15-cp311-cp311-manylinux2014_x86_64.whl -
Subject digest:
0ef12e3aa59502064f160838f7d7e18a76b1f0f93116201aeb2562ef94a10934 - Sigstore transparency entry: 985041112
- Sigstore integration time:
-
Permalink:
Xuanwo/xurl@7c381e978e6d1d178646e1d36ccf97213b692128 -
Branch / Tag:
refs/heads/main - Owner: https://github.com/Xuanwo
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
pypi-publish.yml@7c381e978e6d1d178646e1d36ccf97213b692128 -
Trigger Event:
workflow_run
-
Statement type:
File details
Details for the file xuanwo_xurl-0.0.15-cp311-cp311-manylinux2014_aarch64.whl.
File metadata
- Download URL: xuanwo_xurl-0.0.15-cp311-cp311-manylinux2014_aarch64.whl
- Upload date:
- Size: 2.3 MB
- Tags: CPython 3.11
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
7c307268aa30bbc30e87e68b903ca63413786f25dfe6a3bc32d0ad63bd6eaaca
|
|
| MD5 |
ae528fc6f025d56adc57f437cc6a8aa3
|
|
| BLAKE2b-256 |
d7a215e65bc9629c425e46242add8db9d56452cf810db6292c51082cd2eb96b2
|
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
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
xuanwo_xurl-0.0.15-cp311-cp311-manylinux2014_aarch64.whl -
Subject digest:
7c307268aa30bbc30e87e68b903ca63413786f25dfe6a3bc32d0ad63bd6eaaca - Sigstore transparency entry: 985041121
- Sigstore integration time:
-
Permalink:
Xuanwo/xurl@7c381e978e6d1d178646e1d36ccf97213b692128 -
Branch / Tag:
refs/heads/main - Owner: https://github.com/Xuanwo
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
pypi-publish.yml@7c381e978e6d1d178646e1d36ccf97213b692128 -
Trigger Event:
workflow_run
-
Statement type:
File details
Details for the file xuanwo_xurl-0.0.15-cp311-cp311-macosx_11_0_x86_64.whl.
File metadata
- Download URL: xuanwo_xurl-0.0.15-cp311-cp311-macosx_11_0_x86_64.whl
- Upload date:
- Size: 2.2 MB
- Tags: CPython 3.11, macOS 11.0+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
93b627267d3ee385a0d63e9224f7087316b0d0caf2ae724271e3978fcfe5a522
|
|
| MD5 |
fc3c136e23c64b37dfcd783ed288d062
|
|
| BLAKE2b-256 |
3ff12f10ba856c9538a5a11e8bfeead79eb36f05a9b661dd8658c1a65d2c3ebe
|
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
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
xuanwo_xurl-0.0.15-cp311-cp311-macosx_11_0_x86_64.whl -
Subject digest:
93b627267d3ee385a0d63e9224f7087316b0d0caf2ae724271e3978fcfe5a522 - Sigstore transparency entry: 985041116
- Sigstore integration time:
-
Permalink:
Xuanwo/xurl@7c381e978e6d1d178646e1d36ccf97213b692128 -
Branch / Tag:
refs/heads/main - Owner: https://github.com/Xuanwo
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
pypi-publish.yml@7c381e978e6d1d178646e1d36ccf97213b692128 -
Trigger Event:
workflow_run
-
Statement type:
File details
Details for the file xuanwo_xurl-0.0.15-cp311-cp311-macosx_11_0_arm64.whl.
File metadata
- Download URL: xuanwo_xurl-0.0.15-cp311-cp311-macosx_11_0_arm64.whl
- Upload date:
- Size: 2.0 MB
- Tags: CPython 3.11, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
2eb65a82f1e6774e4bc652ce36bd87d44ff0140e2ec5081d3822339e29dd62c7
|
|
| MD5 |
8f1dd06892b6d90cd61086d45a1c6417
|
|
| BLAKE2b-256 |
359afd94ea89e00ae3fc0869644806cd0da2c6864cc2f3d16a95663bb067163a
|
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
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
xuanwo_xurl-0.0.15-cp311-cp311-macosx_11_0_arm64.whl -
Subject digest:
2eb65a82f1e6774e4bc652ce36bd87d44ff0140e2ec5081d3822339e29dd62c7 - Sigstore transparency entry: 985041107
- Sigstore integration time:
-
Permalink:
Xuanwo/xurl@7c381e978e6d1d178646e1d36ccf97213b692128 -
Branch / Tag:
refs/heads/main - Owner: https://github.com/Xuanwo
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
pypi-publish.yml@7c381e978e6d1d178646e1d36ccf97213b692128 -
Trigger Event:
workflow_run
-
Statement type: