Skip to main content
Pre-release

This release is a pre-release and may not be stable for production use.

psi-agent

中文 | English

A portable and componentized agent framework.

Introduction

psi-agent is built on two core principles:

  • Portability: Copy just the workspace directory to migrate your agent completely.
  • Componentization: Agents are assembled from independent components that communicate via Unix sockets, ensuring loose coupling.

Installation

For quick one-off usage without cloning the repository:

uvx psi-agent <component> <subcommand> [options...]
# e.g., uvx psi-agent session --workspace ./workspace ...

Using pip

pip install psi-agent

Using uv

uv add psi-agent

Quick Start

  1. Create a workspace directory with your tools and skills (or use an example from examples/):
mkdir -p workspace/{tools,skills,systems}

See examples/a-simple-bash-only-workspace/ for a minimal example, or examples/an-openclaw-like-workspace/ for a more complete setup.

  1. Start the session:
psi-agent session \
  --workspace ./workspace \
  --channel-socket ./channel.sock \
  --ai-socket ./ai.sock
  1. Start an AI provider (e.g., OpenAI-compatible):
psi-agent ai openai-completions \
  --session-socket ./ai.sock \
  --model <model-name> \
  --api-key <your-api-key> \
  --base-url <provider-api-url>  # e.g., https://openrouter.ai/api/v1
  1. Start a channel to interact with your agent session:
psi-agent channel repl --session-socket ./channel.sock

CLI Interfaces

psi-agent provides two CLI interfaces:

  1. Subcommand interface (preferred): psi-agent <component> <subcommand>

    • Works with uvx without cloning the repository
    • Single entry point, easier to discover
    • Examples: psi-agent ai openai-completions, psi-agent channel repl
  2. Standalone commands: psi-<component>-<subcommand>

    • Shorter to type
    • Useful in scripts
    • Examples: psi-ai-openai-completions, psi-channel-repl

Both interfaces are functionally identical. The subcommand interface is recommended for general use.

Components

psi-agent consists of four component types:

Component Purpose
psi-ai-* LLM provider adapters (OpenAI, Anthropic, etc.)
psi-session Agent runtime loop, handles messages and tool calls
psi-channel-* Message channels (REPL, Telegram, Feishu, etc.)
psi-workspace-* Workspace packaging and mounting tools

Available Commands

After installation, these commands are available:

Subcommand format (preferred):

  • psi-agent ai openai-completions - OpenAI-compatible completion server
  • psi-agent ai anthropic-messages - Anthropic messages server
  • psi-agent session - Agent session runtime
  • psi-agent channel repl - Interactive REPL interface
  • psi-agent channel cli - CLI channel interface
  • psi-agent channel telegram - Telegram bot channel
  • psi-agent workspace pack - Package workspace to squashfs
  • psi-agent workspace unpack - Extract squashfs to directory
  • psi-agent workspace mount - Mount squashfs as overlayfs
  • psi-agent workspace umount - Unmount workspace
  • psi-agent workspace snapshot - Create workspace snapshot

Standalone format (also available):

  • psi-ai-openai-completions
  • psi-ai-anthropic-messages
  • psi-session
  • psi-channel-repl
  • psi-channel-cli
  • psi-channel-telegram
  • psi-workspace-pack
  • psi-workspace-unpack
  • psi-workspace-mount
  • psi-workspace-umount
  • psi-workspace-snapshot

Documentation

For detailed documentation including workspace structure, tool development, and configuration, see CLAUDE.md.

License

GNU Affero General Public License v3.0 - see LICENSE.md for details.

Metadata

Release files for psi-agent 0.0.1a20260507

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for psi-agent 0.0.1a20260507
File Size Uploaded Provenance Actions
psi_agent-0.0.1a20260507.tar.gz 592.4 kB Without provenance Details for psi_agent-0.0.1a20260507.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for psi-agent 0.0.1a20260507
File Interpreter ABI Platform Actions
psi_agent-0.0.1a20260507-py3-none-any.whl Python 3 none any Details for psi_agent-0.0.1a20260507-py3-none-any.whl

Total release size: 711.4 kB

Release files / psi_agent-0.0.1a20260507.tar.gz

Download URL psi_agent-0.0.1a20260507.tar.gz
Size 592.4 kB
Tags Source
SHA-256 checksum
How to use checksums
61c1c9fc7c026cd9625c1e9a7a265558d7b5b714b8f0c3a524bbf15e88bb91c7
BLAKE2b-256 checksum
How to use checksums
207a87dd6c4a88ece73597bb086a67e836e45a3bf90e7f0ddde7863963207878
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.11.11 {"installer":{"name":"uv","version":"0.11.11","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release files / psi_agent-0.0.1a20260507-py3-none-any.whl

Download URL psi_agent-0.0.1a20260507-py3-none-any.whl
Size 119.1 kB
Tags Python 3
SHA-256 checksum
How to use checksums
a974ff88caddef5fbe022504d2d2ef439a37c19438a5ade32aa5829a25aafaa4
BLAKE2b-256 checksum
How to use checksums
be76b8f6ee6c561e49abbc2d693d0523dd63da178cc279400243a9a923e58e29
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.11.11 {"installer":{"name":"uv","version":"0.11.11","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Security for psi-agent 0.0.1a20260507

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.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release
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