Skip to content

Run JARVIS on Windows, with phone lines, a business desk and a fallback brain - #40

Open
Usamaliaquat123 wants to merge 1 commit into
ethanplusai:mainfrom
Usamaliaquat123:windows-port
Open

Usamaliaquat123 wants to merge 1 commit into
ethanplusai:mainfrom
Usamaliaquat123:windows-port

Conversation

@Usamaliaquat123

Copy link
Copy Markdown

Summary

This brings JARVIS to Windows and adds a few larger features built on top of that port, squashed into one commit from a fork's windows-port branch (102 commits). Before squashing, the fork owner's personal and company-specific material was taken out:

  • Fixture names, handles and paths are now neutral. They use Tony / Stark, matching .env.example and c59ac10.
  • A company-only receipt integration was dropped, along with the owner's working notes and the record of their own LinkedIn apps.

What it adds

  • Windows
    • The server, preflight, the private data folder (its DACL is written whole rather than with icacls /T), and process-tree handling.
    • A desktop adapter on Windows PowerShell 5.1 (window list, screen capture, toasts) and a console inbox for steering sessions.
    • A per-user scheduled task that starts JARVIS at sign-in, plus scripts/start-jarvis.ps1 and scripts/stop-jarvis.ps1.
  • Phone lines. WhatsApp (via Kapso) and Telegram (Bot API long poll) run under one policy (messaging.py) tied to the paired owner. A message_user tool lets JARVIS reach the owner's phone.
  • Business desk
    • Every connector call is held on its own approval card, approved once, with receipts, retention and soft deletes.
    • LinkedIn posting goes through the desk and stays within LinkedIn's limits.
    • Hand-post cards cover a company page until LinkedIn grants API access.
  • ChatGPT (Codex) fallback brain, behind JARVIS's own gates, for when the Claude subscription is rate-limited.
  • Voice
    • Push-to-talk by default, on-device recognition in Chrome where available, and one listening tab at a time.
    • A sooner first sentence.
    • Sessions are said by their thread names, and a waiting prompt is said with whose it is and where.
  • Hygiene: pinned dependencies (constraints.txt, checked in a clean venv), LF line endings, and a CI matrix on macOS and Windows.

CLAUDE.md and docs/ describe each feature in detail: docs/whatsapp.md, docs/telegram.md, docs/business.md, docs/linkedin.md, docs/chatgpt-fallback.md and docs/operations.md.

Size

288 files, +56.6k / −2.0k, much of it tests. I'm happy to split this into smaller PRs (for example Windows parity first, then phone lines, the desk and the fallback) if that is easier to review.

Testing

  • The full suite with a bare pytest on Windows 11: 4322 passed, 118 skipped, 10 deselected (browser integration).
  • On the fork, the tests workflow was green on all four jobs (macOS and Windows, Python 3.12 and 3.13) before this was squashed. The fork's Actions runs are currently blocked by billing, so this exact commit has not run in CI there.

🤖 Generated with Claude Code

…ck brain

One squashed commit of a fork's windows-port branch (102 commits), with
the fork owner's personal and company-specific material taken out: the
names, handles and paths in fixtures are now neutral (Tony / Stark, as
.env.example already suggests), a company-only receipt integration and
the owner's own working notes and LinkedIn app records are dropped.

What it adds:
- Windows: the server, preflight, private data folder (DACL written
  whole), process trees, the desktop adapter (PowerShell 5.1, window list,
  capture, toasts), a console inbox for steering, a per-user scheduled
  task to start at sign-in, and start/stop scripts.
- Phone lines: WhatsApp (Kapso) and Telegram (Bot API long poll) under
  one policy (messaging.py) tied to the paired owner; a message_user tool.
- A Business desk: connector calls held on one approval card each,
  approved once, with receipts, retention and soft deletes; LinkedIn
  posting through it, within LinkedIn's limits, plus hand-post cards for
  a company page until LinkedIn grants API access.
- A ChatGPT (Codex) fallback brain behind JARVIS's own gates for when the
  Claude subscription is rate-limited.
- Voice: push-to-talk by default, on-device recognition in Chrome where
  available, one listening tab at a time, a sooner first sentence,
  sessions said by their thread names, and who owns a waiting prompt.
- Dependencies pinned (constraints.txt, checked in a clean venv), LF line
  endings, and a CI matrix on macOS and Windows.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
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.

1 participant