AgentLink CLI
Local runtime connector for AgentLink. It runs on the machine that owns the workspace and agent runtimes, connects to the server over HTTP/WebSocket, executes connector RPC locally, and uploads normalized runtime/session state back to the backend.
Layout
connector/
claude/ Claude Code discovery, adapter, reducer, and transcript logic
codex/ Codex app-server discovery, RPC, adapter, and reducer logic
local/ Local filesystem, shell, and terminal backends
cli.py agentlink-cli CLI
runtime.py Connector config, auth, WebSocket loop, and RPC dispatch
tests/ Connector tests
pyproject.toml Connector dependencies and console script
run.sh Local helper for saved-config startup
Run
Install dependencies:
uv sync
Start with explicit credentials from the web pairing flow:
uvx agentlink-cli start \
--server-url http://127.0.0.1:8000 \
--connector-id conn_xxx \
--connector-token cxt_xxx
Passing a connector token on the command line can store it in shell history. For persistent installations, prefer a saved config or the environment variables listed below.
Or save the config locally and start without arguments:
uvx agentlink-cli configure \
--server-url http://127.0.0.1:8000 \
--connector-id conn_xxx \
--connector-token cxt_xxx
uvx agentlink-cli start
The default config path is ~/.agent-server/connector.json. Override it with
--config or AGENT_CONNECTOR_CONFIG.
Runtime Discovery
The connector discovers Codex and Claude locally and reports attached runtime
capabilities to the server. If a runtime is not on PATH, set one of:
CODEX_BIN=/path/to/codex
CLAUDE_BIN=/path/to/claude
The connector uses local runtime credentials and local filesystem permissions. AgentLink does not proxy Claude or Codex account credentials.
Local Operations
The server can ask an online connector to perform local work:
- read/list/write files inside workspace-safe roots
- upload/download file content through the server
- run one-shot shell commands
- start and wait for shell tasks
- create, write, resize, stream, list, and close interactive terminals
- start, interrupt, sync, and approve runtime turns
Environment
| Variable | Purpose |
|---|---|
AGENT_CONNECTOR_CONFIG |
Connector config path. |
AGENT_SERVER_URL |
Server URL used when --server-url is omitted. |
AGENT_CONNECTOR_ID |
Connector id used when --connector-id is omitted. |
AGENT_CONNECTOR_TOKEN |
Connector token used when --connector-token is omitted. |
AGENT_CONNECTOR_ATTACHMENTS_ROOT |
Runtime attachment download directory. Defaults to ~/.agent-link/attachments. |
CODEX_BIN |
Explicit Codex CLI/app-server path. |
CLAUDE_BIN |
Explicit Claude Code CLI path. |
Verify
uv run ruff check connector tests
uv run pytest -q
Release
Releases are published to PyPI by .github/workflows/publish-agentlink-cli.yml
when a GitHub Release is published. The release tag must match the package
version with a v prefix, for example v0.1.0.
Before the first release, create a GitHub Environment named pypi, then add a
pending trusted publisher in PyPI with these values:
| Field | Value |
|---|---|
| PyPI project name | agentlink-cli |
| GitHub owner | zhoujun0601 |
| GitHub repository | AgentLink |
| Workflow filename | publish-agentlink-cli.yml |
| Environment name | pypi |
The workflow tests the connector, validates the tag and distribution metadata, checks the wheel contents and CLI entry point, and publishes through OIDC without a long-lived PyPI token.
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
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 agentlink_cli-0.1.0.tar.gz.
File metadata
- Download URL: agentlink_cli-0.1.0.tar.gz
- Upload date:
- Size: 198.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
2521f86a85390a7b755d607c9d4abaae2eaeb60ed886f07bb13be78cdda1f1cc
|
|
| MD5 |
ac6f1f01f6c7e59bfed415410c00b162
|
|
| BLAKE2b-256 |
0ca3e70ad482842897f4c51925dc482507aec9b618dc45c9cc83d8eb342d8880
|
Provenance
The following attestation bundles were made for agentlink_cli-0.1.0.tar.gz:
Publisher:
publish-agentlink-cli.yml on zhoujun0601/AgentLink
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
agentlink_cli-0.1.0.tar.gz -
Subject digest:
2521f86a85390a7b755d607c9d4abaae2eaeb60ed886f07bb13be78cdda1f1cc - Sigstore transparency entry: 2529016181
- Sigstore integration time:
-
Permalink:
zhoujun0601/AgentLink@038139f61d9adbc597df783829597f41ffbd0eae -
Branch / Tag:
refs/tags/v0.1.0 - Owner: https://github.com/zhoujun0601
-
Access:
private
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish-agentlink-cli.yml@038139f61d9adbc597df783829597f41ffbd0eae -
Trigger Event:
release
-
Statement type:
File details
Details for the file agentlink_cli-0.1.0-py3-none-any.whl.
File metadata
- Download URL: agentlink_cli-0.1.0-py3-none-any.whl
- Upload date:
- Size: 128.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
40ebe2dc5259d96241d6c67025cfa338ec5e57395ee6dd0433975c7b03636543
|
|
| MD5 |
c9591942c6822f6f474999fcbc504560
|
|
| BLAKE2b-256 |
490977772d341373295b047aa067b1bdd0ba45ef1c1f9299a1d2f65d6fa72fb5
|
Provenance
The following attestation bundles were made for agentlink_cli-0.1.0-py3-none-any.whl:
Publisher:
publish-agentlink-cli.yml on zhoujun0601/AgentLink
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
agentlink_cli-0.1.0-py3-none-any.whl -
Subject digest:
40ebe2dc5259d96241d6c67025cfa338ec5e57395ee6dd0433975c7b03636543 - Sigstore transparency entry: 2529016726
- Sigstore integration time:
-
Permalink:
zhoujun0601/AgentLink@038139f61d9adbc597df783829597f41ffbd0eae -
Branch / Tag:
refs/tags/v0.1.0 - Owner: https://github.com/zhoujun0601
-
Access:
private
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish-agentlink-cli.yml@038139f61d9adbc597df783829597f41ffbd0eae -
Trigger Event:
release
-
Statement type: