Pursers ACP agent
pursers-acp is a small ACP v1 board assistant for IDE hosts. It uses an
existing human Pursers Personal profile and never onboards, claims work, reads
source files, launches terminals, or accepts a seat token.
The initial intent surface is deliberately deterministic:
my ticketsmy offersboard statuscreate ticket <title> :: <description>annotate TK-… <text>watch <board>(cancel the ACP turn to stop the subscription)
Every create or annotate action is displayed as an exact rawInput payload in
session/request_permission. Only allow_once executes it. Reads need only
Central authorization. Each watch owns a configured pursers-wait-bridge
stdio process, calls a2a_wait with a one-board list, reuses each positive
cursor unchanged, and tears the process down on cancellation. The ACP agent
does not open Central's journal or call board_catchup directly.
Protocol baseline
Verified from the official documentation on 2026-09-14:
- ACP v1 overview
- initialization and capabilities
- session setup
- prompt turns
- tool calls and permission requests
- authentication
The agent advertises only baseline text and resource-link prompts. It does not
advertise loadSession, filesystem, terminal, image, audio, embedded context,
editing, or model capabilities. As ACP v1 requires, session/new accepts and
initializes non-empty stdio mcpServers descriptors; those servers are scoped
to the session and closed with it.
If no usable profile exists, protocol authenticate and the terminal
--login method run the existing pursers-personal setup flow, then reconnect.
The setup child receives a narrow environment that excludes inherited board
tokens and token-file variables. Profile credentials are never placed in ACP
messages, IDE settings, command arguments, or registry metadata.
Development launch
Install the package from tools/acp-agent, then select an existing Personal
profile with ONBOARD_PERSONAL_PROFILE or a project path. --login creates and
activates the Personal setup when the project has no profile yet:
pursers-acp --project /PATH/TO/PROJECT
pursers-acp --project /PATH/TO/PROJECT --login
Published launch
Install the released package in its own environment, or run the exact release
with uvx. Point it at a project that already has a Pursers Personal profile;
add --login only when you want the existing Personal setup flow to create and
activate one:
python -m pip install "pursers-acp==0.1.2"
pursers-acp --project /PATH/TO/PROJECT
uvx --from "pursers-acp==0.1.2" pursers-acp --project /PATH/TO/PROJECT
For current Zed development builds, the custom agent configuration is:
{
"agent_servers": {
"pursers": {
"type": "custom",
"command": "pursers-acp",
"args": ["--project", "/PATH/TO/PROJECT"],
"env": {}
}
}
}
This shape was validated against the official
Zed External Agents documentation
on 2026-09-14. Published installs should use the ACP Registry; extension-based
agent servers are deprecated. pursers/agent.json and pursers/icon.svg are a
ready-to-copy upstream registry directory. They are validated against the
schema pinned in the tests and contain only public launch metadata. See
docs/zed/acp-registry-submission.md
for the exact operator-owned validation and pull-request procedure.
Release files for pursers-acp 0.1.2
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| pursers_acp-0.1.2-py3-none-any.whl | Python 3 | none | any | Details |
Release files / pursers_acp-0.1.2-py3-none-any.whl
| Download URL | pursers_acp-0.1.2-py3-none-any.whl |
|---|---|
| Size | 23.8 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
5b7b51a61a80f7f2fdf75597efed2db8f412c09c6e2efa9d7dc84e9b4c4bec8e
|
|
BLAKE2b-256 checksum How to use checksums |
e003801df6cd211420a11438bdeea088efe8c7ad0cbc4d210f7f7e79fff754d7
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 23, 2026.
Transparency log