RiNG 🎤
台灣華語 · English
Realtime Instance Notification Grid — one local board for all active agent-CLI sessions.
When several Claude Code, Codex, or local-model sessions are running, RiNG shows which ones are working, idle, or waiting for you. Sessions that need a response are sorted first.
🎤 RiNG — 3 sessions on stage · 2 agent processes running
🔴 maigo 12s → waiting for permission
🟢 pelican-osm 3s → Edit
🟡 commitizen 8m turn finished, idle
What It Does
- One board for session state: built-in sources for Claude Code and Codex, plus process-liveness detection for interactive Ollama and llama.cpp CLIs.
- Puts waiting sessions first: shows what 🔴 sessions need and sends desktop or phone notifications.
- Returns you to the right terminal: focuses tmux, iTerm2, Terminal.app, Neovim terminals, or Linux X11 windows from the TUI.
- Avoids an extra context switch: reply to permission requests in supported terminals and assign session names from the board.
- Fits existing workflows: status-bar output, JSON, a provider-neutral hook, and plugin extension points.
Get Started in Three Steps
Requires Python 3.13+:
uv tool install 'ring-cli[tui]'
ring --watch
ring install-hooks
ring --watchopens the interactive board. Select a session and pressEnterto return to its terminal.ring install-hooksinstalls Claude Code and Codex hooks for precise 🔴 waiting states and system notifications.- Restart agent sessions after installing hooks. RiNG can then notify you even while its board is closed.
Use pipx install 'ring-cli[tui]' if you prefer pipx. Run ring for a one-shot snapshot.
Common Operations
| Operation | Purpose |
|---|---|
ring |
Print a snapshot of every current session |
ring --watch |
Open the continuously updating interactive TUI |
Enter / Space |
Return to the selected session's terminal |
p |
Reply to the selected session's permission request in place |
n |
Name the selected session |
ring doctor |
Check hooks, notifications, and terminal focus support |
ring --format oneline |
Produce a summary for tmux, SwiftBar, or waybar |
Zero-config mode works without hooks. Precise 🔴 waiting states, pending details, and immediate notifications require hooks. Restart Claude Code or Codex sessions after installing or updating them.
Learn More
- Full guide: commands, TUI controls, hooks, notifications, configuration, extensions, and privacy
- Session states: how RiNG derives 🔴/🟢/🟡/⚫
- Contributing guide: development setup, tests, and PR checklist
RiNG supports macOS and Linux; Windows is not yet supported. By default it only reads local agent data and writes ~/.config/ring/. Network access occurs only for ntfy or webhook notifiers you configure.
License
MIT
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 ring_cli-0.15.0.tar.gz.
File metadata
- Download URL: ring_cli-0.15.0.tar.gz
- Upload date:
- Size: 138.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
6ebd880f8861814b7e7f824af6784dfd3b52a9f5cb2e8cb919fa562b25657339
|
|
| MD5 |
fe0ab5f9db769b3aa3432ee646c55dc4
|
|
| BLAKE2b-256 |
827215d18c5f3f3e84ac864cdfe12b7d9af1125e877581942304c953f585a33c
|
Provenance
The following attestation bundles were made for ring_cli-0.15.0.tar.gz:
Publisher:
release.yml on Lee-W/ring
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
ring_cli-0.15.0.tar.gz -
Subject digest:
6ebd880f8861814b7e7f824af6784dfd3b52a9f5cb2e8cb919fa562b25657339 - Sigstore transparency entry: 2300597172
- Sigstore integration time:
-
Permalink:
Lee-W/ring@4ce579c15e79bb2bfef7f87674f3b60c100f8a93 -
Branch / Tag:
refs/heads/main - Owner: https://github.com/Lee-W
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@4ce579c15e79bb2bfef7f87674f3b60c100f8a93 -
Trigger Event:
push
-
Statement type:
File details
Details for the file ring_cli-0.15.0-py3-none-any.whl.
File metadata
- Download URL: ring_cli-0.15.0-py3-none-any.whl
- Upload date:
- Size: 178.4 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 |
e2e4cba6ffdf654196e2ffc88267cb926a69e1683ba9257edb35d67fb75a2118
|
|
| MD5 |
5c01e61e9859e6190a9150a714dcd3a0
|
|
| BLAKE2b-256 |
4dde6c6bbd6134735b5bc7d74941cd2466bd92b75e1915ae628737f98a2d24e3
|
Provenance
The following attestation bundles were made for ring_cli-0.15.0-py3-none-any.whl:
Publisher:
release.yml on Lee-W/ring
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
ring_cli-0.15.0-py3-none-any.whl -
Subject digest:
e2e4cba6ffdf654196e2ffc88267cb926a69e1683ba9257edb35d67fb75a2118 - Sigstore transparency entry: 2300597198
- Sigstore integration time:
-
Permalink:
Lee-W/ring@4ce579c15e79bb2bfef7f87674f3b60c100f8a93 -
Branch / Tag:
refs/heads/main - Owner: https://github.com/Lee-W
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@4ce579c15e79bb2bfef7f87674f3b60c100f8a93 -
Trigger Event:
push
-
Statement type: