Skip to content

feat: JARVIS II Android Thin Client Controller - #2

Draft
MiSTRFiNGA wants to merge 2 commits into
masterfrom
claude/jarvis-android-thin-client-tM8PN
Draft

feat: JARVIS II Android Thin Client Controller#2
MiSTRFiNGA wants to merge 2 commits into
masterfrom
claude/jarvis-android-thin-client-tM8PN

Conversation

@MiSTRFiNGA

Copy link
Copy Markdown
Owner

Summary

  • Adds jarvis_mobile/ module to run JARVIS II in headless CONTROLLER mode on Android (Termux → proot Ubuntu → Samsung Fold 7)
  • All heavy compute (SD, ComfyUI, FastAPI, Ollama, TTS, Whisper) is proxied to the HiVEMiND machine over Tailscale — no GPU required on phone
  • One-shot setup script, Tailscale-aware startup script, and an endpoint patcher for migrating hardcoded localhost references

Files Added

File Purpose
jarvis_mobile/jarvis_config.py Central config: MODE=CONTROLLER, 6 service endpoints → HiVEMiND Tailscale IP, ping + TCP helpers
jarvis_mobile/jarvis_controller.py Local HTTP gateway (port 8765): /status, /probe, /proxy/<svc>/<path>
jarvis_mobile/start_brain.sh Startup: Tailscale check → venv activate → controller launch with log tee
jarvis_mobile/setup_mobile_env.sh One-shot Ubuntu env setup: apt install, repo clone, venv, alias injection
jarvis_mobile/patch_endpoints.py Scan & rewrite localhost:<port> → HiVEMiND IP across the codebase
jarvis_mobile/.env.jarvis.template Template for user's real .env.jarvis (gitignored)

Test plan

  • On Android (Ubuntu proot): run bash jarvis_mobile/setup_mobile_env.sh
  • Edit jarvis_mobile/.env.jarvis — set HIVEMIND_IP=100.<real.tailscale.ip>
  • Run bash jarvis_mobile/start_brain.sh --probe — verify Tailscale ping passes and FastAPI probe returns PASS
  • Curl http://127.0.0.1:8765/status — confirm JSON shows correct mode and endpoints
  • Curl http://127.0.0.1:8765/probe — confirm hivemind_reachable: true
  • Test proxy: curl http://127.0.0.1:8765/proxy/sdwebui/sdapi/v1/options
  • Verify alias jarvis is present in shell after restarting Termux session

https://claude.ai/code/session_01CUna5Kjxy4TCgJzsnGUiCH


Generated by Claude Code

claude added 2 commits May 23, 2026 20:07
Adds the full jarvis_mobile/ module to port the JARVIS II agent system
from HiVEMiND (Windows) to an Android Samsung Fold 7 running Ubuntu
via Termux proot-distro in headless CONTROLLER mode.

- jarvis_config.py: Central config; MODE=CONTROLLER, all 6 service
  endpoints (SD-WebUI, ComfyUI, FastAPI, Ollama, TTS, Whisper) routed
  to HiVEMiND Tailscale IP; ping + TCP reachability helpers.
- jarvis_controller.py: Local HTTP gateway on port 8765; /status,
  /probe, and /proxy/<service>/<path> routes; forwards all calls to
  HiVEMiND; pre-flight probe against FastAPI /health.
- start_brain.sh: Startup script with Tailscale connectivity check
  (ping + TCP fallback), venv activation, optional --probe flag, and
  tee'd log output to jarvis_mobile/logs/.
- setup_mobile_env.sh: One-shot Termux/Ubuntu env setup — apt install,
  repo clone/pull, venv creation, alias injection into .bashrc/.zshrc.
- patch_endpoints.py: Scans codebase for hardcoded localhost:<port>
  references on known service ports and rewrites them to HiVEMiND IP;
  --revert flag for rollback; --dry-run for preview.
- .env.jarvis.template: User-editable env file template (real .env.jarvis
  is gitignored to keep Tailscale IP out of version control).
- webui-user.sh: Documents CONTROLLER mode comment block with usage.

https://claude.ai/code/session_01CUna5Kjxy4TCgJzsnGUiCH
Sets real HiVEMiND network details as defaults so clone+run works
without any manual editing. All three addresses recorded as comments
(IPv4 primary, MagicDNS hostname and IPv6 as alternatives).

https://claude.ai/code/session_01CUna5Kjxy4TCgJzsnGUiCH
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants