Skip to main content

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

  1. Offline first. If it needs the internet, it's not a shepherd's tool.
  2. Visible fences. What the model wanted, what was blocked, what got through โ€” all on screen.
  3. Conservation over capability. A model that says less but means it is worth more than one that hallucinates freely.
  4. Cheaper than a fishfinder. If it costs more than $200, it failed.
  5. 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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

shepherds_console-0.1.0.tar.gz (34.4 kB view details)

Uploaded Source

Built Distribution

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

shepherds_console-0.1.0-py3-none-any.whl (31.0 kB view details)

Uploaded Python 3

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

Hashes for shepherds_console-0.1.0.tar.gz
Algorithm Hash digest
SHA256 5e6a25ca267eedb8cffe8eac6da5e08162850433fb1c6e08e967f6f23fbe9b6b
MD5 3d7d6be64ab36951bbfaeb3971e07109
BLAKE2b-256 5b6afbc79a2a58dbbea0d2a3d28bd5848f05288139b1f77324465d8cc0c163b3

See more details on using hashes here.

File details

Details for the file shepherds_console-0.1.0-py3-none-any.whl.

File metadata

File hashes

Hashes for shepherds_console-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 b218ece7ccb69a442fcca0ced3d403503b2e7be4bdb42c30cda590b1944517a7
MD5 549ced7d242e9d172848287dbbdf633a
BLAKE2b-256 2bd72cc27501d93bcd25650bf3f0cf221bd5a73b96ce7e3e2cd5ad42d5b4c987

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