Theseus Navigator — Silent Mode's Electron browser with the Ariadne resolver built in.
Find a file
Hermes Dev baf86fc5a6 Claude connector: reach add-on sidebar panels (Aegis, Hermes, Pithos, …)
The connector only drove web pages. Add-on sidebar panels — Aegis's
wallet, Hermes's messenger, Pithos's storage panel, anything with
a sidebar-panel capability — were walled off: list_tabs skipped them
and webContents() refused anything that was not kind:"web".

Panels are now first-class tabs with a negative id, kind:"panel", and
an addon/panelId pair. Each open panel is listed next to the real
tabs; a closed one is still listed so a client can see what exists.
screenshot / snapshot / read_page_text / click / type / press_key /
paste_html / paste_text / wait_for / upload_file / evaluate all work
on them with the same TabDriver a web page uses. navigate /
activate_tab / close_tab refuse panels — the user owns panel
visibility, not the connector.

Approval is per add-on under a synthetic theseus-panel://<addon>
origin, so Aegis is approved once and every Aegis panel is reachable
from then on. The approval modal titles itself "Let Claude control
the Aegis panel?" when the origin is a panel origin, and the body
explains the panel is read, not the whole browser profile. Origin
pinning is skipped (the panel is served from the add-on scheme and
never navigates under us); password-field refusal and the action log
still apply, so a PIN input in a wallet panel is never typed into
and every call is in the connector's log.
2026-10-29 00:06:51 +02:00
addon-build/docx-editor test(docx-editor): the end-to-end suite moves into the repo 2026-10-28 22:31:57 +02:00
bundled-addons Claude connector: reach add-on sidebar panels (Aegis, Hermes, Pithos, …) 2026-10-29 00:06:51 +02:00
dev Theseus ID in Theseus: window.theseusId.signIn and Settings › Theseus ID 2026-10-04 20:48:07 +02:00
docs Theseus docs: pithos is a live extension update channel 2026-10-03 19:20:41 +02:00
engine-icons Theseus 0.3.119: LLMs out of the search dropdown; reorder by popularity; add DuckAI, Alisa, Qwen 2026-10-27 16:47:22 +02:00
home-brand Theseus 0.3.105: fixed-slot left grid + Ariadne dark-bg icon 2026-10-22 21:31:45 +03:00
lib hermes: cloud-wrapped backup (opt-in B) + mobile site polish 2026-10-22 03:46:45 +03:00
nsis Ariadne 0.1.1 + Theseus fetches it from silentmode.st (no more bundling) 2026-09-08 01:27:51 +02:00
scripts Theseus: add-on stores live in memory — no more 16 s "Not Responding" at launch 2026-10-03 16:08:22 +02:00
snapshots Ship Theseus 0.0.8: window.bcnr dApp API + eTLD+1 permission origins 2026-08-31 01:38:55 +02:00
tests Claude connector 0.2.0: connect Claude Code and Claude Desktop from the panel 2026-10-24 00:32:06 +03:00
addon-inject-preload.js WizardConnect "Open in wallet" links that open a new window reach Aegis 2026-10-22 19:15:05 +03:00
addon-tab-preload.js Theseus 0.3.124 (cont'd): sidebar auto-close on click now fires in Settings and add-on tabs too 2026-10-27 21:55:45 +02:00
addon-update-pubkeys.js feat(theseus/addons): bake operator pubkey — signed update endpoint now live 2026-09-07 23:57:47 +02:00
addon-updater.js Theseus: no links in a sandboxed extension's folder 2026-10-05 23:41:30 +02:00
addons-host.js Theseus: Claude connector, an opt-in MCP server for the signed-in profile 2026-10-23 17:45:02 +03:00
address-picker-preload.js Ship Theseus 0.3.4 3d6d3d6a (address-picker delete X, Enter picks highlight, URL bar override) 2026-09-02 04:28:54 +02:00
address-picker.html Ship Theseus 0.3.4 3d6d3d6a (address-picker delete X, Enter picks highlight, URL bar override) 2026-09-02 04:28:54 +02:00
approval-preload.js feat(theseus/bchwallet): per-site payment allowance for remembered sends 2026-09-06 12:43:17 +02:00
approval.html Vault: PIN setup steps, 6-8 digit PINs, save and offer logins, keep sign-ins 2026-10-04 20:23:43 +02:00
auth-prompt-preload.js fix(theseus): prompt for HTTP authentication instead of showing the bare 401 2026-09-15 22:30:29 +02:00
auth-prompt.html fix(theseus): prompt for HTTP authentication instead of showing the bare 401 2026-09-15 22:30:29 +02:00
bcnr-origin.js Ship Theseus 0.0.8: window.bcnr dApp API + eTLD+1 permission origins 2026-08-31 01:38:55 +02:00
bcnr-preload.js Passwords: save and fill logins inside iframes too 2026-10-05 20:34:17 +02:00
blocked.html Theseus: warn before opening a name a blocklist flags 2026-10-04 15:50:35 +02:00
bns-indexer.js Theseus: warn before opening a name a blocklist flags 2026-10-04 15:50:35 +02:00
BROWSER-PROMPT.md docs(theseus/prompts): tool-agnostic phrasing in session-prompt templates 2026-09-10 22:21:19 +02:00
chrome.html Theseus 0.3.128: searchbox expands while typing so a longer query fits 2026-10-27 23:47:42 +02:00
collision-preload.js Collision modes (BCNR/ICANN) + root TLD cert + VPS electrum-source indexer 2026-08-02 11:39:00 +02:00
collision.html Theseus: in-tab collision prompt + toggle-style switcher + auto-switch 2026-08-02 14:43:31 +02:00
DESIGN-bns-indexer-service.md Theseus: read BNS names from Ariadne's indexer; its own is the standby 2026-10-03 17:06:24 +02:00
DESIGN-claude-connector.md Claude connector: the left sidebar's web app (Telegram, WhatsApp, X, the AI chat) is tab 0 2026-10-28 21:45:14 +02:00
DESIGN-integrated-wallet.md Ship Theseus 0.0.8: window.bcnr dApp API + eTLD+1 permission origins 2026-08-31 01:38:55 +02:00
DESIGN-password-manager.md Snapshot in-progress work: Ariadne mobile, Theseus password manager, Hephaestus 2026-08-14 23:17:18 +02:00
DESIGN-wallet-multi-account-amendment.md docs(theseus): draft wallet multi-account amendment 2026-09-09 02:17:01 +02:00
downloads-preload.js Theseus: download tracker, search split, discover-more tier, UX polish 2026-08-02 15:31:47 +02:00
downloads.html Theseus: download tracker, search split, discover-more tier, UX polish 2026-08-02 15:31:47 +02:00
engine-picker-preload.js Theseus: Firefox-style search picker (favicons, catalog, scan) 2026-07-30 22:55:52 +02:00
engine-picker.html Theseus: download tracker, search split, discover-more tier, UX polish 2026-08-02 15:31:47 +02:00
error-preload.js Theseus 0.3.122 followups: AI engines page, Pick-AI edit button, Pithos panel, Did-you-mean on DNS failures, LLM picker UI polish, real-brand icon preference 2026-10-27 20:50:40 +02:00
error.html Theseus 0.3.123: error page's Did-you-mean row gains a Search chip 2026-10-27 20:55:11 +02:00
GOTCHAS.md Theseus: hand-off for moving Aegis to on-demand activation 2026-10-03 16:05:41 +02:00
home-preload.js Passwords: save and fill logins inside iframes too 2026-10-05 20:34:17 +02:00
home.html Theseus 0.3.112: AI picker chevron fixed, home polish, performance toggles 2026-10-24 14:20:20 +03:00
js-dialog-preload.js feat(theseus): Theseus's own prompts use the dialog sheet too 2026-09-27 20:13:06 +02:00
js-dialog.html Theseus: only theseus.x can ask to install an extension, and the sheet is armed 2026-10-04 04:21:05 +02:00
lang-picker-preload.js Theseus: language picker is a floating overlay now, not a native menu 2026-10-03 21:33:16 +02:00
lang-picker.html Theseus: language picker is a floating overlay now, not a native menu 2026-10-03 21:33:16 +02:00
LICENSE Licenses: MPL-2.0 for Theseus, Ariadne and Hephaestus; Apache-2.0 for Argus; CC BY 4.0 for the documents 2026-09-29 00:18:00 +02:00
link-status-preload.js Theseus: link-hover status bar (bottom-left href pill) 2026-08-29 15:49:30 +02:00
link-status.html feat(theseus/chrome): Ariadne's Thread registry menu, address-bar overflow fix, full-width link pill 2026-09-09 11:40:46 +02:00
llm-picker-preload.js Theseus 0.3.106: AI engine picker as a styled overlay with real icons 2026-10-22 22:06:37 +03:00
llm-picker.html Theseus 0.3.122 followups: AI engines page, Pick-AI edit button, Pithos panel, Did-you-mean on DNS failures, LLM picker UI polish, real-brand icon preference 2026-10-27 20:50:40 +02:00
main.js Claude connector: reach add-on sidebar panels (Aegis, Hermes, Pithos, …) 2026-10-29 00:06:51 +02:00
messages-preload.js Hermes: Ermis shortcut (Ctrl+Shift+E), sidebar add-on, vCard import, brand kit 2026-10-21 00:45:25 +03:00
messages.html Hermes: Ermis shortcut (Ctrl+Shift+E), sidebar add-on, vCard import, brand kit 2026-10-21 00:45:25 +03:00
no-badge-preload.js Theseus: no unread counts on the taskbar icon 2026-10-07 22:18:00 +02:00
package-lock.json feat(theseus): Cookie Pop-ups — consent banners answered automatically 2026-09-27 19:55:43 +02:00
package.json Theseus 0.3.128: searchbox expands while typing so a longer query fits 2026-10-27 23:47:42 +02:00
PACKAGING-PROMPT.md Initial commit — Silent Mode baseline (2026-07-29) 2026-07-29 13:54:34 +02:00
panel-grip-preload.js Theseus: the left panel resizes, and steps aside like Opera's 2026-10-04 20:53:16 +02:00
panel-grip.html Theseus: the left panel resizes, and steps aside like Opera's 2026-10-04 20:53:16 +02:00
panel-header-preload.js Theseus: sidebar panels open over the page or push it aside 2026-10-07 23:28:01 +02:00
panel-header.html Theseus: sidebar panels open over the page or push it aside 2026-10-07 23:28:01 +02:00
PENDING.md Claude connector: reach add-on sidebar panels (Aegis, Hermes, Pithos, …) 2026-10-29 00:06:51 +02:00
popover-preload.js Collision modes (BCNR/ICANN) + root TLD cert + VPS electrum-source indexer 2026-08-02 11:39:00 +02:00
popover.html feat(theseus): consume owner-signed DNS records alongside on-chain records 2026-09-16 00:53:13 +02:00
preload.js Theseus: Claude connector, an opt-in MCP server for the signed-in profile 2026-10-23 17:45:02 +03:00
pw-fill-preload.js Theseus UX batch: tabs, address history, password autofill MVP, home cards 2026-08-17 02:17:12 +02:00
pw-fill.html Passwords: save and fill logins inside iframes too 2026-10-05 20:34:17 +02:00
quicklinks-preload.js Theseus 0.3.100: LLM sidebar button, Hermes consolidation, Settings polish 2026-10-21 20:10:11 +03:00
quicklinks.html Theseus 0.3.116: Pick AI is its own strip button; Claude chip no longer crowds the search box 2026-10-27 14:31:26 +02:00
README.md Claude connector 0.2.0: connect Claude Code and Claude Desktop from the panel 2026-10-24 00:32:06 +03:00
RELEASE-HANDOFF.md Ship Theseus 0.0.2 (SameSite cookie shim) 2026-08-05 18:51:16 +02:00
ROADMAP-identity-wallet.md docs(theseus): note the Siacoin wallet's derivation and node-URL policy 2026-09-06 18:49:33 +02:00
SESSION-PROMPT-identity-wallet.md docs(theseus/prompts): tool-agnostic phrasing in session-prompt templates 2026-09-10 22:21:19 +02:00
settings-preload.js Theseus 0.3.124 (cont'd): sidebar auto-close on click now fires in Settings and add-on tabs too 2026-10-27 21:55:45 +02:00
settings.html Theseus 0.3.127 (cont'd): back buttons on Theseus ID and Names & Certificates; drop orphan Ariadne landing 2026-10-27 23:03:18 +02:00
sidebar-preload.js feat(theseus/screenshot): 0.6.1 — text tool fix, category wrap, sidebar close X 2026-09-09 10:55:21 +02:00
strip-icons.js Theseus: Settings › Sidebar shows the apps' icons and suggests well-known ones 2026-10-08 01:38:53 +02:00
test-installer.wsb chore: push-split helper for per-project forge repos + Windows Sandbox installer config 2026-09-09 10:33:23 +02:00
theseus-id-preload.js Passwords: save and fill logins inside iframes too 2026-10-05 20:34:17 +02:00
THIRD-PARTY-NOTICES.md Licenses: MPL-2.0 for Theseus, Ariadne and Hephaestus; Apache-2.0 for Argus; CC BY 4.0 for the documents 2026-09-29 00:18:00 +02:00
TRADEMARKS.md whitepaper: corrections from a review against the code; trademark note covers every brand kit 2026-10-01 22:28:11 +02:00
unlock-preload.js Theseus: quick-unlock PIN for the vault, shared with extensions 2026-10-03 20:33:26 +02:00
unlock.html PIN pads: an Unlock button, Next to set 6-8 digits, bigger keys 2026-10-05 20:59:25 +02:00
webapps.js fix(theseus): an installed app can be closed and removed; Settings lists apps 2026-10-04 19:15:11 +02:00

Theseus Navigator

The browser — the consumer face of the stack. Native .bch support with the resolver built in, so a user installs one app instead of modifying their operating system. Named for the thread through the labyrinth: the chain is the thread.

Scope

  • Electron shell (Chromium engine, no forking): tabs, address bar, history.
  • In-process .bch resolution — no system daemon, no NRPT, no OS trust-store changes; reuses bns.js from the BNS repo as a library.
  • Record handling: h render, ip connect, p/s3 via in-app gateway, u redirect.
  • TLS via cert-verify hook (Electron setCertificateVerifyProc) against the BNS root / on-chain tls fingerprints — no OS store touched.
  • Provenance indicator: shows whether a page came from the chain / Sia / a direct server, with NFT category and record type — the decentralized padlock.

Status: not started

Build it in its own session/repo. The ready-to-paste brief is BROWSER-PROMPT.md (a reference copy in this folder; canonical source is D:\Dev\NameCoin\BROWSER-PROMPT.md — if they diverge, NameCoin wins). It points here and reuses the resolver core. theseus.bch is registered and should eventually serve the browser's own homepage over the protocol it implements.

Roadmap

BUILD-ROADMAP.md Stage 5.

Claude connector (MCP)

A built-in extension, off by default, that lets Claude Code or Claude Desktop on the same computer work in your signed-in Theseus tabs: open and read pages, click, type into rich editors, paste formatted text, upload files. Design: DESIGN-claude-connector.md.

Turn it on. Settings › Extensions › Claude connector. Its panel opens by itself the first time; later it is the connector icon in the toolbar dock. It shows the address, the token, the approved sites, the upload folders and a live log of every action.

Connect Claude. In the panel, click Connect next to Claude Code or Claude Desktop. Theseus registers itself in that app's own configuration (Claude Code through its claude mcp command, user scope; Claude Desktop in claude_desktop_config.json, backup kept beside it) and keeps the entry current: the token changes whenever the connector stops or is revoked, and the entry follows. Remove takes it out again. Claude Desktop needs a restart after a change; a running Claude Code session picks it up with /mcp.

By hand, if you prefer (panel › Set up by hand), the same entry for Claude Code is (once; --scope user makes it available in every project):

claude mcp add --scope user --transport http theseus http://127.0.0.1:47800/mcp --header "Authorization: Bearer <token from the panel>"

Check it with claude mcp list. Claude Desktop speaks stdio only; the panel's Claude Desktop entry is a ready claude_desktop_config.json entry that runs stdio-shim.cjs through the Theseus executable itself (ELECTRON_RUN_AS_NODE=1), so nothing else needs installing.

What protects you

  • Listens on 127.0.0.1 only, behind a random 256-bit token. Requests from web pages (any Origin header) and foreign Host headers are refused. No --remote-debugging-port: each tab is driven through its own webContents.debugger.
  • Theseus asks the first time Claude acts on each site (Allow, Until Theseus restarts, Don't allow). Approved sites are listed in the panel.
  • Never types or pastes into password or one-time-code fields.
  • Uploads only from folders you add in the panel (none by default).
  • evaluate (arbitrary page JavaScript) is a separate switch, off by default.
  • A Claude chip in the toolbar shows while a client is connected, and the tabs it controls get a dashed outline. The chip's ✕ stops the connector at once; Revoke token in the panel issues a new token, cutting off every configured client.

Tools: list_tabs, open_tab, navigate, activate_tab, close_tab, screenshot, read_page_text, snapshot (accessibility tree with element refs), click, type, press_key, paste_html, paste_text, upload_file, wait_for, and evaluate while allowed.

Tests

node tests/claude-connector-unit.test.mjs
node tests/claude-connector.test.mjs

The second starts this checkout on a throwaway profile (THESEUS_USER_DATA, THESEUS_NO_UPDATE_CHECK) and drives a local test page over MCP: typing into a contenteditable editor, paste_html with a heading and a link, a PNG upload, and the refusals (password fields, a file outside the upload folder, no token, a browser origin).