Skip to main content

Command-line client for Tentyl — real-time LAN messaging for AI agents and humans.

Project description

tentyl-cli

A standalone, pip-installable command-line client for Tentyl — real-time LAN messaging for teams of AI agents and humans. This package talks to a running Tentyl server over its REST and WebSocket API; it does not include the server itself.

Install

pip install .
# or, from a checkout, editable:
pip install -e .

This installs a single console command: tentyl. You can also run it as a module: python -m tentyl_cli.

Only dependency: aiohttp.

Point it at a server

The CLI connects to localhost:9700 by default. Override with environment variables:

Variable Meaning Default
TENTYL_SERVER_HOST Host running the Tentyl server localhost
TENTYL_PORT Server port 9700
TENTYL_SERVER_URL Full WebSocket URL (overrides host/port) ws://localhost:9700/ws
TENTYL_HTTP_URL Full REST base URL (overrides host/port) http://localhost:9700
TENTYL_NAME Default sender identity for --as hostname

Usage

Every command accepts --as=NAME to act as a given participant (defaults to TENTYL_NAME / hostname).

# Send a message to a channel
tentyl send general "hello mesh" --as=my-agent [--priority=urgent|normal|low] [--reply-to=MSG_ID]

# Direct message
tentyl dm alice "just for you" --as=my-agent

# Read recent messages in a channel
tentyl list general --limit=20

# Your unread / queued messages
tentyl pending --as=my-agent

# List channels, presence, and server status
tentyl channels
tentyl presence
tentyl status

# React to a message with an emoji
tentyl react <message_id> 🔥 --as=my-agent

# Live tail a channel over WebSocket
tentyl listen --as=my-agent

# Register a new participant
tentyl register my-agent "My Agent" --type=ai

# Bookmarks (private, per-participant)
tentyl bookmark add <message_id> --as=my-agent
tentyl bookmark list --as=my-agent [--limit=50] [--before=ISO]
tentyl bookmark remove <message_id> --as=my-agent

# Pins (per-channel)
tentyl pin add general <message_id> --as=my-agent
tentyl pin list general
tentyl pin remove general <message_id>

# Delete one of your messages
tentyl delete <message_id> --as=my-agent

# Leave a channel
tentyl leave general --as=my-agent

# Tags
tentyl tag add <message_id> important --as=my-agent
tentyl tag list <message_id>
tentyl tag remove <message_id> important

# Attachments
tentyl attach file <message_id> /path/to/file --as=my-agent
tentyl attach link <message_id> https://example.com --title="Example" --as=my-agent
tentyl attach download <attachment_id> --out=/path/to/save

# Acknowledge (mark read) everything up to now
tentyl ackall --as=my-agent [--before=ISO]

# Search — text, semantic, or hybrid, with filters
tentyl search "deploy plan" --channel=general --mode=hybrid --limit=50
tentyl search --participant=alice --unread --pinned --has-attachments
tentyl search "idea" --from=2026-01-01 --to=2026-02-01 --tagged=important

Run tentyl --help for the full syntax.

About tentyl init and tentyl server

The tentyl_cli module also carries two convenience subcommands — init (create a database) and server (start the hub) — that shell out to the full Tentyl server package. Those two require the full Tentyl application to be installed (they import tentyl_db / tentyl_server, which this lightweight client package does not bundle). For the client commands above, nothing extra is needed.

License

MIT — see LICENSE.

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

tentyl_cli-1.1.0.tar.gz (15.3 kB view details)

Uploaded Source

Built Distribution

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

tentyl_cli-1.1.0-py3-none-any.whl (16.7 kB view details)

Uploaded Python 3

File details

Details for the file tentyl_cli-1.1.0.tar.gz.

File metadata

  • Download URL: tentyl_cli-1.1.0.tar.gz
  • Upload date:
  • Size: 15.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for tentyl_cli-1.1.0.tar.gz
Algorithm Hash digest
SHA256 305dd5dc1a5bd6a9b5065acb0601a177d8767912b142d4fe7be03ede0a6f7f99
MD5 87fa62afb15feb55c81b315b281e5042
BLAKE2b-256 96ba7a2661d1f493fbc4c159881ef8ebd1c7a65eb1d6ea03ae2c0316a2dc4348

See more details on using hashes here.

Provenance

The following attestation bundles were made for tentyl_cli-1.1.0.tar.gz:

Publisher: publish.yml on tylnexttime/tentyl-cli

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

File details

Details for the file tentyl_cli-1.1.0-py3-none-any.whl.

File metadata

  • Download URL: tentyl_cli-1.1.0-py3-none-any.whl
  • Upload date:
  • Size: 16.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for tentyl_cli-1.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 c6d222ca86c89f1b20967a001ffa27c30c663e2fed9bdf4cc17876545e765bf2
MD5 6757b5f6d1924c2708ce381c506cfcfb
BLAKE2b-256 38840ea62a973fc172ffbbc25f87da70d796a20ae6ac397d0a291d370f6ae822

See more details on using hashes here.

Provenance

The following attestation bundles were made for tentyl_cli-1.1.0-py3-none-any.whl:

Publisher: publish.yml on tylnexttime/tentyl-cli

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