Theseus Navigator — Silent Mode's Electron browser with the Ariadne resolver built in.
Find a file
Local Dev 1a31ac0393 Theseus 0.3.122: Settings restructure — General first-rows, top-level Ariadne & Aegis, Sidebar native-apps card
Settings page UX restructure.

- Nav bar: reordered to General, Language, Search, Passwords, Performance,
  Privacy, Names & Certificates, Plug-ins, Ariadne's Thread, Aegis,
  Extensions, Sidebar, Apps. Dropped the top-level Theseus ID entry;
  Theseus ID is reachable from General now. Added two new top-level
  entries — Ariadne's Thread and Aegis — each a small landing section
  that chevrons into the existing plug-in sub-page (Ariadne) or opens the
  wallet panel via openPanel("aegis:main") (Aegis).

- General section: first four rows are now Make-Theseus-default, Theseus
  Shield (chevron + on/off toggle), Startup (restore tabs), Updates
  (version + Check button), followed by a Theseus ID chevron row.
  Appearance / Developer tools / Registries / About stay below in the
  same order. Removed the "Default handling" sub-head; the default-
  browser and file-associations rows moved to the top. The Shield row
  uses listAddons() + setAddonEnabled("blocker", on) for state; the
  chevron falls back to openPanel("blocker:main").

- Names & Certificates: dropped the always-on BNS row at the top.

- Plug-ins main page: Ariadne's Thread and Aegis rows removed — they
  moved to top-level. The page now links into the new landing sections.
  Hidden placeholders keep the DOM ids (ariadneStatusMain, aegisCheckMain
  …) so the shared refresh code keeps working. Sub-pages (plugins-
  ariadne, plugins-aegis) untouched.

- Extensions list: Hermes and Pithos hidden from the list (they live in
  the Sidebar card now). docx-editor and pdf-editor sort last within
  each group so smaller utilities stay near the top.

- Toolbar add-on strip (chrome.html): same last-sort rule for docx-editor
  and pdf-editor, applied to the rank() ordering so unknown keys without
  a saved dockOrder keep registration order and the editors land past
  them.

- Sidebar section: added two cards at the top. "Theseus native apps"
  (Hermes + Pithos) and "Third-party apps" (the sidebar quick-links /
  Web apps). Native apps appear first. The Extension panels section
  still lists everything else that opens from the strip; Hermes and
  Pithos are filtered out of it so they don't appear twice.

- Version bumped to 0.3.122. No new IPCs — reuses listAddons,
  setAddonEnabled, openPanel, sidebarLeftPanels, addonInvoke.
2026-10-27 18:04:49 +02:00
addon-build/docx-editor feat(docx-editor): the page fills the window, and two fonts ship with it 2026-09-22 19:12:56 +02:00
bundled-addons Theseus 0.3.112: AI picker chevron fixed, home polish, performance toggles 2026-10-24 14:20:20 +03: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 feat(addons): let an add-on talk to its own full-tab pages 2026-09-22 08:34:25 +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.122: Settings restructure — General first-rows, top-level Ariadne & Aegis, Sidebar native-apps card 2026-10-27 18:04:49 +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 Theseus: Claude connector, an opt-in MCP server for the signed-in profile 2026-10-23 17:45:02 +03: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 feat(theseus/error): offline banner + BCNR did-you-mean on typos 2026-09-04 20:21:30 +02:00
error.html feat(theseus/error): CF Bot Fight 503 hint with .bch mirror suggestion 2026-10-04 01:50:09 +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.120: Pick-AI button opens its list again; "DuckDuckGo AI" renamed to "Duck AI" 2026-10-27 17:08:33 +02:00
main.js Theseus 0.3.121: default-browser toggle + "Open with Theseus" in file menus 2026-10-27 17:28:32 +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.122: Settings restructure — General first-rows, top-level Ariadne & Aegis, Sidebar native-apps card 2026-10-27 18:04:49 +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 PENDING: retire the translate entry now that 0.1.7 has landed 2026-10-22 15:59:49 +03: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.121: default-browser toggle + "Open with Theseus" in file menus 2026-10-27 17:28:32 +02:00
settings.html Theseus 0.3.122: Settings restructure — General first-rows, top-level Ariadne & Aegis, Sidebar native-apps card 2026-10-27 18:04:49 +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).