Skip to main content

TIBET Home Agent — BYOK Mode 3 relay. Run on your laptop, paired to your `.aint`, your phone's app talks to it via I-Poll. Uses your local Claude Pro / Max / Gemini / ChatGPT session — no API key on the phone. v0.3 adds M110 — TIBET key-pinning on KILL/SHUTDOWN: the daemon refuses any kill-request not signed by the pinned Root_IDD Ed25519 key (Red Specter SWARM-005 remediation, RS-2026-001).

Project description

TIBET Home Agent

PyPI version License: MIT

BYOK Mode 3 — relay your existing Claude / Gemini / ChatGPT subscription to your phone.

Run this on your laptop. Pair it to your .aint sub-identity (e.g. home.vandemeent.aint). Your phone's K/IT app sends prompts via I-Poll to your home agent; the daemon dispatches to whatever upstream AI you have configured locally and sends the answer back over I-Poll.

No API key on your phone. Prompts never leave your hardware. The phone trusts only the .aint you signed in with.

Why this exists

Three BYOK modes for K/IT / AInternet:

  1. API key on phone — works today. You buy a Gemini / Anthropic / OpenAI key.
  2. Local model on LAN — run Ollama or Gemma 4 on a Mac with unified RAM.
  3. Home agent relay (this package) — reuse your existing desktop Claude / ChatGPT / Gemini Pro subscription. No new key, no new account.

Mode 3 is the cleanest for the millions of people who already pay for a desktop AI app and don't want to pay twice.

Quick start

pip install tibet-home-agent[gemini]   # or [anthropic] or [openai]

Set the environment variables:

export HOME_AGENT_AINT="home.vandemeent"            # your home-agent sub-domain
export HOME_AGENT_TOKEN="$(cat ~/.ainternet/.session.json | jq -r .token)"
export HOME_AGENT_PROVIDER="gemini"                  # or anthropic, openai, echo
export GEMINI_API_KEY="..."                          # the *daemon's* upstream key
export BRAIN_URL="https://brein.jaspervandemeent.nl"

Then run:

tibet-home-agent

You should see:

[home-agent] starting  aint=home.vandemeent.aint  brain=https://...  provider=gemini  poll=2s

On your phone (K/IT app): Settings → BYOK → provider = Home agent, home-agent address = home.vandemeent. Send a chat. Watch the daemon log show the dispatch + reply round-trip.

How it works

  1. Phone calls brain's /api/kit/ask with provider=home_agent, api_key=home.vandemeent (the home-agent address).
  2. Brain pushes an I-Poll TASK to home.vandemeent.aint carrying the prompt + thread id.
  3. This daemon polls inbox every 2 s, picks up the prompt, dispatches to the configured upstream (Gemini / Anthropic / OpenAI / echo), and pushes the answer back via I-Poll.
  4. Brain matches reply by thread id, returns answer to phone.

The phone never sees the upstream key. The daemon never sees the phone's user data beyond the prompt itself. Brain is a relay, not a data store.

Provider — echo

For first-run validation, set HOME_AGENT_PROVIDER=echo. The daemon echoes back the user's last message prefixed with [echo]. Round-trip should be < 5 s. Use this to confirm I-Poll plumbing works before connecting a real provider.

Held-lane mode (poll → push)

By default the daemon polls the I-Poll inbox on a short interval. Set HOME_AGENT_EDGE_WS=1 (plus HOME_AGENT_ED25519_SEED for the M2M handshake, and pip install tibet-home-agent[edge] for the websockets dependency) to switch to held-lane mode: the agent makes an outbound-only connection to the edge, holds it open, and reacts in real time — no inbound ports, NAT- and firewall-friendly.

  • it high-fives /api/edge/handshake (M2M-signed) to open its trusted lane, then holds wss://…/api/edge/lane/ws;
  • new I-Poll work arrives as an ipoll-wake push → the agent pulls immediately (no busy-poll);
  • a sealed .tza pushed down the lane is landed under HOME_AGENT_DROP_DIR;
  • a slow fallback poll (EDGE_FALLBACK_POLL, default 30s) and the approval capsule-executor are retained as safety nets; it reconnects on drop.

The edge never unseals what it routes — the held lane carries opaque shells, and only this device opens them.

Roadmap

  • v0.1 (this release) — Gemini / Anthropic / OpenAI / echo provider. Daemon needs its own upstream API key.
  • v0.2 — MCP bridge: dispatch through a locally running Claude Desktop / ChatGPT app via MCP, so users with existing subscriptions don't need a separate API key.
  • v0.3 — local model dispatcher (Ollama, llama.cpp) so privacy users can stay fully on-device.
  • v0.4 — sealed-payload mode: prompts arrive encrypted, decrypted only on the user's device under user-side keys.

License

MIT.

Enterprise

For private hub hosting, SLA support, custom integrations, or compliance guidance:

Enterprise enterprise@humotica.com
Support support@humotica.com
Security security@humotica.com

Credits

Designed by Jasper van de Meent. Built by Jasper and Root AI as part of HumoticaOS.


Stack-positie: Groep agentic · Bootstrap = OSAPI-handshake naar tibet + jis (fail → snaft-rule + tibet-pol-rapport) · ← ainternet · See STACK.md · See demo/golden-path/ for the spine end-to-end.

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

tibet_home_agent-0.5.5.tar.gz (26.1 kB view details)

Uploaded Source

Built Distribution

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

tibet_home_agent-0.5.5-py3-none-any.whl (20.8 kB view details)

Uploaded Python 3

File details

Details for the file tibet_home_agent-0.5.5.tar.gz.

File metadata

  • Download URL: tibet_home_agent-0.5.5.tar.gz
  • Upload date:
  • Size: 26.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.5

File hashes

Hashes for tibet_home_agent-0.5.5.tar.gz
Algorithm Hash digest
SHA256 489ceb48253e6f09693631863f2831ac02e0844165a7c78c59b4121991481969
MD5 41aca8ae75f459b5797d238a4ee1d495
BLAKE2b-256 e697f7eddc33e21cfcadf16ca6212564891b84d215e3113b6899823c921ab3c5

See more details on using hashes here.

File details

Details for the file tibet_home_agent-0.5.5-py3-none-any.whl.

File metadata

File hashes

Hashes for tibet_home_agent-0.5.5-py3-none-any.whl
Algorithm Hash digest
SHA256 0794bc833b5fed231874d89b77084d348541d583214cae3aaac0ab1da53200f3
MD5 44996fc1c23231f51023bf9b35b29b3f
BLAKE2b-256 9cc2cca2cc33fdf8b2d11cbb4c6be711d5829daebcc9226e88235b6f828a0832

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