Skip to content

Lite page and docs: the current app, remote core, and the licensing contact - #19

Merged
fylorn merged 3 commits into
mainfrom
seo2/lite-page-docs
Sep 25, 2026
Merged

fylorn merged 3 commits into
mainfrom
seo2/lite-page-docs

Conversation

@fylorn

@fylorn fylorn commented Sep 25, 2026 •

Copy link
Copy Markdown
Contributor

The Lite page and the Lite docs described the app as it was before the navigation was reorganised: a Findings page, three protections, a menu bar showing cost and output rate, system notifications for unreachable upstreams, and a control channel that only runs over a local socket. This brings them in line with the current app, adds the remote core, and fixes the licensing contact.

Lite page (/lite, /zh-CN/lite)

  • Meta and hero in the approved register. The headline now reads "A local AI API gateway for macOS, Windows and Linux"; the share card and og:image:alt are generated from it, so /og/lite.png changes with it.
  • Features, page by page: Overview, Traffic, Clients, Keys, Upstreams, Routing, dry run, Security, MCP (new) and Settings (UI languages). Claims were checked in code rather than in other copy:
    • Security: five protections (outbound redaction, tool-call inspection, hidden characters, content filter, output limit), each Off / Observe / Enforce; all start in Observe except the output limit, which starts Off (tw-config/src/security.rs in Core).
    • Notifications: only warning and critical notices become system notifications; an unreachable upstream is listed in the app only (src-tauri/src/notices/rules.rs in Lite).
    • Menu bar: today's tokens and cost, orange or red as a subscription quota runs low or out; tray on Windows and Linux (src-tauri/src/menubar).
  • Remote core (new section): what connecting to a server changes, the encrypted control channel, where the key is stored (a private file, not the keychain), with links to the server deployment guide and the new docs page.
  • Architecture diagram: the control channel is labelled with its three forms (unix socket on macOS and Linux, loopback port on Windows, TCP port to a remote core) and the encrypted handshake on each.
  • Screenshots come from the Lite repository's pipeline (docs/screenshots/web at ThinkWatchProject/ThinkWatch-Lite@ac57512): requests → traffic, findings → security and mcp, plus keys, routing, settings, three remote-core images, the menu (664×1120) and the menu bar item (178×64, shown at 89 px). Every image has an alt text that describes that image, in the page's language. requests*, findings*, menubar-cost.png and menubar-quota.png are removed; nothing references them. The SoftwareApplication screenshot list follows the feature ids and points at the new files.
  • The Chinese headline keeps the highlighted noun on one line and wraps balanced, so it no longer leaves a single character on the last line.

Docs

  • overview: pages table, the five protections with what each does in Enforce, notifications, connection to Core; the stale "subscription usage is not billed", Findings page and per-launch credential text is gone.
  • install: "Apple silicon", and a link to the remote core page. No winget. Updates as src-tauri/src/updater.rs on Lite dev does them: the first check two minutes after start, then daily; an automatic check that finds a version posts a system notification (unless notices are In app only or Off); the notification, the Install Version menu item and Update to in Settings › About open the update window; then it depends on how the app was installed.
  • overview and the Lite page: sticky sessions are on by default for a rotation group (Group.session_affinity defaults to true in Core) and can be turned off per group.
  • run-from-source: every build, pnpm tauri dev included, needs src-tauri/resources/twcore, so bash src-tauri/scripts/fetch-core.sh runs after pnpm install (as in Lite's CONTRIBUTING on the README pull request); no more "needs no network" or sibling thinkwatch-core checkout.
  • architecture: repository layout including src-tauri/crates/ (tw-adopt, tw-scan), the supervisor and safe mode, and a control-channel section (Noise NNpsk0, listen.control.key, no TLS).
  • New remote-core page, Connecting to a remote core / 连接远程 core: what the server needs, the steps in the app, switching, what changes while connected, and the security of the connection. Registered in the sidebar after "Install and update" (_meta.ts, Lite entries only). A version mismatch is fixed with sudo twcore upgrade --version <the version the app shows> --restart, which moves the server up or down; the Lite page says the same.

License page

The commercial licensing contact is now fylorn@outlook.com; hello@thinkwat.ch has no MX record and cannot receive mail.

Checks

  • pnpm build (pnpm 10) passes with the same warnings as main.
  • The built site validates: JSON-LD against the schema.org vocabulary, canonical, hreflang and Open Graph tags, internal links and anchors, sitemap and RSS — 0 errors, 0 warnings. All 113 external links answer.
  • Checked in a browser at 1200 and 375 px, in both languages: no horizontal scroll, the diagram label on one line per entry.

Notes for review

🤖 Generated with Claude Code

fylorn and others added 2 commits September 25, 2026 12:19
The Lite page and its docs still described the app before the navigation
was reorganised: a Findings page, three protections, a menu bar that shows
cost and output rate, notifications for unreachable upstreams, and a control
channel that only runs over a local socket. None of that is true any more,
and the app can now also connect to ThinkWatch Core on a server.

Lite page:
- Meta and hero rewritten in the approved register; the headline says
  "local AI API gateway", and the share card follows it.
- Features rebuilt page by page from the current app (Overview, Traffic,
  Clients, Keys, Upstreams, Routing, dry run, Security, MCP, Settings),
  each claim checked against the code: the five protections and their
  initial modes against tw-config's security.rs, the notices that become
  system notifications against the app's notices/rules.rs.
- A remote core section: what connecting to a server changes, the
  encrypted control channel, and links to the server deployment guide and
  the new docs page.
- Menu bar section: today's tokens and cost, the menu, the tray on
  Windows and Linux, and the events that raise system notifications.
- The architecture diagram names the three control channels (unix
  socket, loopback port, remote TCP port) and the handshake on each.
- Screenshots replaced with the output of the Lite repository's
  screenshot pipeline (docs/screenshots/web at ac57512), each with an alt
  text that describes that image in the page's language; files nothing
  references any more are removed.

Docs: the overview, install and architecture pages are brought up to
date, and a new page, "Connecting to a remote core", covers the app's
side of a server deployment. "Apple silicon" is spelled as Apple does.

License page: commercial licensing enquiries go to fylorn@outlook.com;
hello@thinkwat.ch has no mail server and cannot receive mail.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…tch-core.sh, the core version a server needs

- Install and update: an automatic check that finds a new version posts a
  system notification (unless notices are in-app only or off); the
  notification, the Install Version menu item and Update to in
  Settings › About open the update window, and what follows depends on
  how the app was installed. The first check runs two minutes after
  start, as in src-tauri/src/updater.rs.
- Sticky sessions are on by default for a rotation group (Group
  session_affinity defaults to true in ThinkWatch Core) and can be turned
  off per group; the Lite page and the docs overview no longer read as if
  they had to be turned on.
- Build from source: every build, pnpm tauri dev included, needs
  src-tauri/resources/twcore, so bash src-tauri/scripts/fetch-core.sh
  runs after pnpm install. The claims that a development build needs no
  network and uses a sibling thinkwatch-core checkout are gone.
- Remote core: the fix for a version mismatch is
  sudo twcore upgrade --version <the version the app shows> --restart,
  which moves the server up or down, not a bare twcore upgrade. The
  server deployment links point at /docs/core/server-deployment on this
  site instead of the file on GitHub, so this has to be merged after the
  pull request that adds that page.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Copy the web variants re-shot at v2026.9.17 (lite docs/screenshots/web), so
the page shows the released interface; the remote connection test now
reports core 0.49.0, and its alt text says so.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@fylorn
fylorn merged commit 88b329b into main Sep 25, 2026
1 check passed
@fylorn
fylorn deleted the seo2/lite-page-docs branch September 25, 2026 11:29
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