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 registers the observer against your journal over the local http://localhost:5015 link, so there's no URL to type. If this machine reaches your solstone host directly instead, run solstone-tmux setup --server-url <journal-url>.
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:5015",
"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 registers against your journal automatically — over the local http://localhost:5015 link by default, or pass --server-url for a direct-to-remote journal.
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
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 solstone_tmux-0.3.0.tar.gz.
File metadata
- Download URL: solstone_tmux-0.3.0.tar.gz
- Upload date:
- Size: 46.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c7b6c658b8e64665dc89121ad5bfa93ad311cba94ce6d509fa207e00763c4d2a
|
|
| MD5 |
cb27953a07668998f7aecac5725952f8
|
|
| BLAKE2b-256 |
a7aff282976ad02eba2e3136a5527bd95b7ef81e69807bf44dfaebef1014ffab
|
File details
Details for the file solstone_tmux-0.3.0-py3-none-any.whl.
File metadata
- Download URL: solstone_tmux-0.3.0-py3-none-any.whl
- Upload date:
- Size: 36.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
1fb002333b35f371d5c240f75b399eacd22f446ff6084dd25f60bb8a003bcabb
|
|
| MD5 |
165fa90578c09580bc152c017ac7d5df
|
|
| BLAKE2b-256 |
580673bbe158b079a6393ced51793c1c45eca99bb1a47c5c437dfca243e6b267
|