Skip to main content

Standalone tmux terminal observer for solstone

Project description

solstone-tmux

Standalone tmux terminal observer for solstone. Experiences your tmux sessions along with you, accumulating observations to a local cache and syncing them to your journal.

Install

solstone (the journal) must already be installed and running on the host this observer reports to. If it isn't, start here: https://solstone.app/install.

On the machine that will host the observer:

pipx install solstone-tmux
solstone-tmux install-service
solstone-tmux setup

setup prompts for your journal URL and registers the observer for you. If this machine can't reach your solstone host directly, mint a key from there with sol observer create <name> and paste it during setup.

From source

For working on solstone-tmux itself:

git clone https://github.com/solpbc/solstone-tmux.git
cd solstone-tmux
make install-service

This installs the solstone-tmux command via pipx and writes the systemd user unit. The manual setup steps below cover registration and config.

Manual setup

If solstone-tmux setup isn't a good fit (no interactive shell, scripted provisioning, custom config layout), work through these steps by hand.

1. Register an observer with your journal

sol observer create solstone-tmux

This prints the journal URL and API key. You'll need both for the next step.

2. Write the config

Create ~/.local/share/solstone-tmux/config/config.json:

{
  "server_url": "http://localhost:8000",
  "key": "<api-key-from-sol-observer-create>",
  "stream": "<hostname>.tmux",
  "capture_interval": 5,
  "segment_interval": 300
}

Set stream to <your-hostname>.tmux (e.g., fedora.tmux, archon.tmux). This matches the stream naming convention used by the built-in observers.

Alternatively, solstone-tmux setup runs an interactive wizard that prompts for your journal URL and auto-registers.

3. Install the systemd service

solstone-tmux install-service

This writes the unit file to ~/.config/systemd/user/solstone-tmux.service, enables it, and starts it.

4. Verify

systemctl --user status solstone-tmux
solstone-tmux status
sol observer list  # should show the observer as "connected"

Manual run

solstone-tmux run         # foreground, ctrl-c to stop
solstone-tmux run -v      # verbose/debug logging

How it works

  • Polls all active tmux sessions every 5 seconds for content changes
  • Accumulates observations in 5-minute segments under ~/.local/share/solstone-tmux/captures/
  • Background sync service uploads completed segments to your journal
  • Works offline — syncs when your journal is reachable
  • Recovers incomplete segments on startup after crashes

Commands

Command What it does
solstone-tmux run Start capture + sync (default if no subcommand)
solstone-tmux setup Interactive config wizard
solstone-tmux install-service Install and start systemd user service
solstone-tmux status Show observer state, sync state, cache size

License

AGPL-3.0-only. Copyright (c) 2026 sol pbc.

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

solstone_tmux-0.2.0.tar.gz (46.3 kB view details)

Uploaded Source

Built Distribution

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

solstone_tmux-0.2.0-py3-none-any.whl (36.5 kB view details)

Uploaded Python 3

File details

Details for the file solstone_tmux-0.2.0.tar.gz.

File metadata

  • Download URL: solstone_tmux-0.2.0.tar.gz
  • Upload date:
  • Size: 46.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.12

File hashes

Hashes for solstone_tmux-0.2.0.tar.gz
Algorithm Hash digest
SHA256 30912bac7d4ef6548406e2d61f006314b5492e12e81f65fd48db885a03a5a5dc
MD5 58ca0d0ee46b5775cf6b9f078f763f21
BLAKE2b-256 007ee00d49fa745c617eaef6e4243ebf6826aeb4150423da2b4ab36621d4ec34

See more details on using hashes here.

File details

Details for the file solstone_tmux-0.2.0-py3-none-any.whl.

File metadata

  • Download URL: solstone_tmux-0.2.0-py3-none-any.whl
  • Upload date:
  • Size: 36.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.12

File hashes

Hashes for solstone_tmux-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 6dcc8261c92cca988d88c75f06eb21d2e945f0b5a35bcb0aed4a9e48cfa870b3
MD5 3af279f8ac25c09445b9c36fc989eeeb
BLAKE2b-256 1162352772c26590d60c2d412d0c3b39371f08b76339e10fade3d1d21851b728

See more details on using hashes here.

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