The Shepherd's Console โ offline AI with visible conservation fences for Raspberry Pi
Project description
๐ The Shepherd's Console
A box on a boat. Offline AI with visible conservation fences. Costs less than a fishfinder.
What Is It?
The Shepherd's Console is a physical device โ a Raspberry Pi in a waterproof box โ that runs AI locally, with no internet, no cloud, no API keys. You talk to it. It talks back. And it shows you, on a small screen, exactly what its conservation fences are blocking.
Think of it like a fishfinder. A fishfinder shows you the bottom structure โ the rocks, the drop-offs, the hazards. The Shepherd's Console shows you the cognitive hazards โ the hallucinations, the scope creep, the budget overruns โ in real time, as the model generates.
You see what the model wanted to say. You see what the fence blocked. You see what was allowed through.
That visibility is the point. Black-box AI on a boat is a liability. Glass-box AI is a tool.
Why Offline?
Because the ocean doesn't have Wi-Fi.
Because a fishing vessel in the Gulf of Alaska, a research station in the Antarctic, a sailboat crossing the Pacific โ these places exist. Real people work there. They deserve AI assistance too.
Because your data shouldn't leave your boat.
Because a device that bricks when the cloud goes down is worse than no device at all.
What's a Conservation Fence?
A conservation fence is a deterministic bytecode policy that checks every AI output before it reaches you. It's not a prompt. It's not a suggestion. It's compiled FLUX bytecode running in a sandboxed VM. The model cannot argue with it, trick it, or route around it.
Fences enforce conservation laws:
- Token budgets โ the model can't talk forever
- Scope discipline โ the model stays on task
- Information density โ the model can't pad with fluff
- Category restrictions โ block entire topics
- Repetition limits โ catch circular outputs
You can see all of this on the display. The fence isn't hidden in a config file โ it's right there on the screen, showing you what it caught.
Hardware
| Component | Cost | Notes |
|---|---|---|
| Raspberry Pi 5 (8GB) | $80 | Pi 4 works but slower |
| 3.5" TFT display | $15 | SPI or HDMI |
| USB microphone | $8 | Push-to-talk button |
| Mini speaker | $10 | 3.5mm or USB |
| 64GB microSD | $8 | For models + OS |
| Waterproof case | $20 | IP67+ rated |
| Total | ~$141 | Less than a Garmin Striker 4 |
Power: Runs on 12V marine systems (5V via step-down converter, ~5W idle, ~15W generating).
Quick Start
# On your Raspberry Pi (or any Linux machine):
curl -sSL https://raw.githubusercontent.com/SuperInstance/shepherds-console/main/install.sh | bash
That's it. No API keys. No cloud signup. No docker-compose up (unless you want to).
The Display
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ ๐ SHEPHERD'S CONSOLE 87% ๐ โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโค
โ โ
โ MODEL: llama-3.2-3b-q4 โ
โ FENCE: marine_fence.flx โ
โ WATTS: 12.4W โก 432J/inf โ
โ โ
โโ LAST EXCHANGE โโโโโโโโโโโโโโโโโโค
โ โ
โ YOU: What's the quota for โ
โ halibut in Area 3A? โ
โ โ
โ AI: The Pacific halibut quota โ
โ for Area 3A in 2025 is 3.84 โ
โ million pounds. โ
โ โ
โโ FENCE STATUS โโโโโโโโโโโโโโโโโโโค
โ โ Scope: ON-TOPIC โ
โ โ Budget: 247/500 tokens โ
โ โ Density: LOW (flagged) โ
โ โ BLOCKED: "I recommend you โ
โ exceed the quota because..." โ
โ Reason: category_violation โ
โ Code: 0x03 โ
โ โ
โ [๐ด = BLOCKED] [๐ก = FLAGGED] โ
โ [๐ข = PASSED] โ
โ โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโค
โ ๐๏ธ HOLD BUTTON TO TALK โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
Software Stack
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ Shepherd's Console โ
โโโโโโโโโโโโฌโโโโโโโโโโโฌโโโโโโโโโโโโโโโโโค
โ Display โ Voice โ Wattage Mgr โ
โ (visible โ (Whisper โ (energy budget,โ
โ fences) โ + TTS) โ throttle) โ
โโโโโโโโโโโโดโโโโโโโโโโโดโโโโโโโโโโโโโโโโโค
โ Local Model Runner โ
โ (llama.cpp / MLX / ONNX runtime) โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโค
โ skรฉnna (negative-space nav) โ
โ + Conservation Enforcer (FLUX) โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโค
โ Raspberry Pi OS โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
Fences
Fences live in fences/ as .flx bytecode files. You can:
- Use the defaults (
default_fence.flx,marine_fence.flx) - Write your own (compile from FLUX assembly)
- Chain multiple fences
Marine Fence
The marine-specific fence enforces:
- Quota awareness โ won't suggest exceeding catch limits
- Catch logging discipline โ reminds you to log
- Safety topic priority โ weather/emergency gets budget boost
- Offline honesty โ won't fabricate real-time data it doesn't have
Project Structure
shepherds-console/
โโโ README.md # You are here
โโโ install.sh # One-command install
โโโ Dockerfile # Container deployment
โโโ docker-compose.yml # Full stack
โโโ pyproject.toml # Python project
โโโ src/shepherds_console/
โ โโโ __init__.py # Main console
โ โโโ display.py # Visible fence display
โ โโโ models.py # Local model runner
โ โโโ voice.py # Voice interface
โ โโโ wattage.py # Energy budget manager
โโโ fences/
โ โโโ default_fence.flx # General conservation
โ โโโ marine_fence.flx # Marine-specific
โโโ tests/
โ โโโ test_console.py
โ โโโ test_display.py
โ โโโ test_models.py
โ โโโ test_wattage.py
โ โโโ test_integration.py
โโโ hardware/
โโโ SETUP.md # Hardware assembly guide
Philosophy
- Offline first. If it needs the internet, it's not a shepherd's tool.
- Visible fences. What the model wanted, what was blocked, what got through โ all on screen.
- Conservation over capability. A model that says less but means it is worth more than one that hallucinates freely.
- Cheaper than a fishfinder. If it costs more than $200, it failed.
- Open. You can read every fence. You can write your own. The bytecode is auditable.
License
MIT. Build your own. Fix your own. Own your own.
Shepherd's Console โ Navigate by where the rocks aren't.
Project details
Release history Release notifications | RSS feed
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 shepherds_console-0.1.0.tar.gz.
File metadata
- Download URL: shepherds_console-0.1.0.tar.gz
- Upload date:
- Size: 34.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.15
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
5e6a25ca267eedb8cffe8eac6da5e08162850433fb1c6e08e967f6f23fbe9b6b
|
|
| MD5 |
3d7d6be64ab36951bbfaeb3971e07109
|
|
| BLAKE2b-256 |
5b6afbc79a2a58dbbea0d2a3d28bd5848f05288139b1f77324465d8cc0c163b3
|
File details
Details for the file shepherds_console-0.1.0-py3-none-any.whl.
File metadata
- Download URL: shepherds_console-0.1.0-py3-none-any.whl
- Upload date:
- Size: 31.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.15
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b218ece7ccb69a442fcca0ced3d403503b2e7be4bdb42c30cda590b1944517a7
|
|
| MD5 |
549ced7d242e9d172848287dbbdf633a
|
|
| BLAKE2b-256 |
2bd72cc27501d93bcd25650bf3f0cf221bd5a73b96ce7e3e2cd5ad42d5b4c987
|