Commit Graph

41 Commits

Author SHA1 Message Date
leetcrypt 9959e09fe2 docs(scripts): add --help to remaining scripts; document scripts + layout in README
CI / rust client (hh) (macos-latest) (push) Waiting to run
CI / rust client (hh) (ubuntu-latest) (push) Waiting to run
CI / rust coverage (push) Waiting to run
CI / python server (3.10) (push) Waiting to run
CI / python server (3.11) (push) Waiting to run
CI / python server (3.12) (push) Waiting to run
CI / headless e2e smoke (push) Waiting to run
CI / dependency audit (push) Waiting to run
CI / secret scanning (push) Waiting to run
- Add a -h/--help guard (prints the usage header) to the five scripts
  that lacked one: smoke.sh, smoke-e2e.sh, test-features.sh,
  demo-save-load.sh, sandbox-bootstrap.sh. All 15 hh/scripts/*.sh now
  respond to --help.
- README: new "Scripts" section detailing every script (setup, hosting,
  sandbox provisioning, tests) and noting each takes --help; plus an
  archive note for the film-* recording scripts.
- README: new "Window layout" section documenting live pane resizing
  (F4 fullscreen, click/F5 to select + arrows to resize) and the
  /layout save/load/list/rm/reset presets, with matching keybinding-table
  rows.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-06-07 13:20:07 -07:00
leetcrypt 1fa8c332ed chore: consolidate all shell scripts into hh/scripts/
CI / rust client (hh) (macos-latest) (push) Waiting to run
CI / rust client (hh) (ubuntu-latest) (push) Waiting to run
CI / rust coverage (push) Waiting to run
CI / python server (3.10) (push) Waiting to run
CI / python server (3.11) (push) Waiting to run
CI / python server (3.12) (push) Waiting to run
CI / headless e2e smoke (push) Waiting to run
CI / dependency audit (push) Waiting to run
CI / secret scanning (push) Waiting to run
Move the 14 hack-house scripts (bootstrap, lets-hack, host-room, smoke,
demo/film harnesses, connect/join, ensure-docker/vbox) into hh/scripts/
and fix their path resolution for the deeper location. Update cross-refs:
sbx.rs script consts, app.rs hints, CI, direnv .envrc, README, and docs.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-06-06 17:49:32 -07:00
leetcrypt 9222fa8ad7 feat(ai): name agents after their model, not hardcoded "oracle"
Agents now join under their model tag (e.g. "qwen2.5:3b" — model name +
parameter size) or profile label, derived at /ai start and tracked on
App.agent_name, so the roster shows what's actually answering. Updates the
broker re-grant + /ai stop revoke paths, the Python --name default
(falls back to provider.model), and the demo/bootstrap/README/docs refs.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-06-06 17:26:17 -07:00
leetcrypt 5676216a2f feat(ui): stacking role badges in roster + chat; drop default pentagram
- introduce a Role model + App::host()/roles_of(): the host is the first
  occupant of the roster (shown the moment they join, no sandbox required),
  and roles are additive — a host who summoned a sandbox and can drive reads
  ✝◆. Badges read the same ACL the broker enforces, so they can never
  advertise a power the room won't honour
- render the stacked badge in the clergy panel and inline next to the author
  on every chat message; split VirtualBox commands into their own help cluster
- default styling: the startup handle prompt now prints ✝ (crypt sigil)
  instead of the inverted pentagram
- README: document VirtualBox VMs, snapshot save/load, AI streaming + recall,
  the badge system, and the expanded theme set
- gitignore out-of-tree experiments, the heavy demo-build kit, and logs

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-06-04 22:56:10 -07:00
leetcrypt 40c9a72186 docs: embed demo GIF (multipass sandbox share) in README
4.7MB looping GIF rendered from the latest demo capture (alice+bob
sharing a multipass box: summon, drive, per-user sudo).

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-06-01 15:27:29 -07:00
leetcrypt 65df12de9e feat(ai): model profiles, capability discovery, and agentless /ai list|models
Make connecting any model a config step, not a code change:
- models.toml named profiles (api_key_env names an env var, never the key)
- providers gain available_models(); add preflight + --list-models/--check
- /ai list and /ai models in-room; client probes local Ollama for
  /ai models when no agent is running, and /ai list hints to summon one
- docs/providers.md provider guide + examples/echo_provider.py
- README: command table, AI section, layout updated

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-06-01 15:25:07 -07:00
leetcrypt 4fd1b70cb3 docs: document the local-first /ai agent
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-06-01 11:38:21 -07:00
leetcrypt cf92b358c4 docs: restore hand-typed intro from old main
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-06-01 00:00:16 -07:00
leetcrypt 3f6430d759 Merge remote-tracking branch 'gitea/main'
# Conflicts:
#	README.MD
2026-05-31 23:53:51 -07:00
leetcrypt 36adc310f4 docs: point clone URLs at leetcrypt/hack-house
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-05-31 23:50:25 -07:00
leetcrypt 3da0a23f84 docs: expand README coverage of shipped features
Add brief-but-thorough sections for the shared sandbox (backends/isolation),
terminal driving, two-layer unix permission control, file/directory sharing,
live theme switching, reconnect/scrollback, and a configuration table. Lead
Quick start with bootstrap.sh and keep direnv autostart as a separate opt-in.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-05-31 23:43:14 -07:00
trill-technician 611b797166 Update README.MD 2026-05-31 23:39:26 -07:00
leetcrypt ff5186a9d3 feat(hh): graceful shutdown, crypt default theme, neutralize branding, share-prep
- Graceful shutdown: Ctrl+C quits in chat (interrupts PTY while driving),
  RAII TermGuard + panic hook + SIGTERM/SIGHUP always restore the terminal
- Default theme is now "crypt" (neutral monochrome); theme sigil mirrored in
  chat/roster/help so the pentagram only renders under the "church" theme
- Neutralize inverted-pentagram branding across CLI, scripts, docs, and Cargo
  metadata (kept only in themes/church.toml + the render-time placeholder)
- Rewrite root README around hack-house; add bootstrap.sh, SECURITY.md,
  CODE_OF_CONDUCT.md, CHANGELOG.md, and issue/PR templates
- .gitignore cleanup; stop tracking .venv

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-05-31 23:23:19 -07:00
leetcrypt dc1b5e5ccf docs: rewrite README with complete setup, security, and file transfer guide
Clear, concise documentation covering installation, hosting, connection
security (Tailscale/LAN/public), password sharing, file transfer protocol,
CLI reference, helper scripts, and architecture overview.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-05-26 10:57:39 -07:00
mirai 467d942877 New storage scheme 2026-01-06 21:42:50 +08:00
mirai 5cbe355660 feat: add SRP authentication, improve security
- Replace RSA key exchange with SRP (Secure Remote Password)
- Password never transmitted over network
- Add unit tests for endpoints
- Fix datetime.UTC compatibility for Python < 3.11
- Fix logger.exception usage
- Update README with new auth flow diagram
2026-01-02 23:09:00 +03:00
mirai e3a3dd3f0f New README + Demonstartional video 2026-01-02 20:37:11 +03:00
mirai 95f8a192b5 feat: complete client-server architecture refactoring
Server:
- Split into views, routes, helpers, models modules
- Merged /ws/talk and /ws/update into single /ws/chat endpoint
- Replaced polling with push-based broadcast model
- Added username uniqueness validation on connect
- Fixed run_server arguments bug (workers parameter)
- Removed deprecated loop argument from Sanic listeners
- Replaced datetime.utcnow() with timezone-aware datetime.now(timezone.utc)

Client:
- Rewrote client as single-file module
- Migrated from websocket-client to websockets (asyncio)
- Fixed websocket-client conflict with asyncio event loop on Windows
- Added progress indicators for key generation, exchange, connection
- Added animated 3D spinning cube in UI
- Updated RSA key from 512 to 2048 bits

CLI:
- Removed unnecessary asyncio.run() wrapper
- Simplified entry point
2026-01-02 14:42:33 +03:00
mirai b0ff612023 Password update 2025-09-10 19:58:59 +03:00
mirai 28cbbf2cad Update README.MD 2025-09-10 16:21:12 +03:00
mirai ea3c7d310f Update README.MD 2025-09-10 16:15:55 +03:00
mirai 6a044ecaf8 Working on 1.1.22 2023-12-03 16:18:09 +03:00
mirai 316a0e3e1e Reworked setup.py, now you can run cmd_chat directly. Reworked sanic http webserver to make it work. Update readme, etc... 2023-11-27 14:30:01 +03:00
mirai c5fa982f65 Add CLI run options, update README 2023-11-27 06:50:16 +03:00
mirai 5506b2d8a6 Update README.MD 2023-09-15 21:45:02 +03:00
mirai 278cedff4f Update README.MD 2023-09-15 21:44:25 +03:00
mirai b3ba0199bb Update README.MD 2023-09-15 21:43:51 +03:00
mirai 01398af43c Update README.MD 2023-09-15 21:43:07 +03:00
mirai 3ea50f5ba9 Update README.MD 2023-09-15 21:42:01 +03:00
mirai 6ae30e4f30 Update README.MD 2023-09-15 21:38:09 +03:00
mirai e6ea017d25 Update README.MD 2023-09-03 01:45:56 +03:00
mirai 574e2b8d2f Update PyPi and README, another time 2023-03-08 19:43:59 +03:00
mirai b99ccbc2f9 Update README & pypi 2023-03-08 19:38:28 +03:00
mirai b773f3bdb4 Update pypi 2023-03-08 19:32:44 +03:00
mirai bad818c7e9 Create pypi package 2023-03-08 19:10:49 +03:00
mirai a8f296c0f1 Code refactoring 2023-03-08 18:59:38 +03:00
mirai 0f066d367f Code refactoring. Add config for customize colors, add services, fixed bugs & glitches 2023-03-08 18:30:26 +03:00
mirai 89cf019e19 Update README.MD 2022-12-01 15:23:25 +03:00
mirai 88fb61efb1 Update README.MD 2022-12-01 15:22:49 +03:00
mirai 34a65a1cbe Update README.MD 2022-12-01 11:51:48 +03:00
mirai 7544ff8c63 Add readme 2022-12-01 11:37:05 +03:00