Skip to content

Drop a local path from a source comment - #73

Closed
fylorn wants to merge 98 commits into
mainfrom
chore/no-local-paths
Closed

fylorn wants to merge 98 commits into
mainfrom
chore/no-local-paths

Conversation

@fylorn

@fylorn fylorn commented Oct 11, 2026

Copy link
Copy Markdown
Contributor

A comment named a directory on a developer's machine; it now names the repository directory.

🤖 Generated with Claude Code

fylorn and others added 30 commits April 6, 2026 19:47
Pull all 11 docs from /Users/faz/Dev/ThinkWatch/docs (5 EN +
5 zh-CN + secret-rotation EN-only) into a Docs section served at
/docs and /zh-CN/docs.

- New Astro content collection 'docs' loaded via glob from
  src/content/docs/{en,zh-CN}; sidebar order, labels, summaries,
  and per-doc locale availability declared in src/content/docs/_meta.ts
- Strip the upstream language-switcher line at the top of every doc
  (we have a global switcher) before importing
- Configure markdown pipeline: shiki theme github-dark-default,
  rehype-slug for heading IDs, rehype-autolink-headings to expose
  '#' anchors on hover
- New DocsLayout with sticky sidebar navigation, current-page
  highlight, "Edit on GitHub" link, and a custom .prose-tw
  stylesheet for headings, code blocks, tables, blockquotes,
  inline code, and heading anchors (no @tailwindcss/typography
  dependency)
- Dynamic [...slug] routes for both locales with case-insensitive
  filtering on the locale segment (Astro 5 normalizes glob ids)
- Docs index landing pages in both locales with cards summarising
  each doc
- Header gets a Docs nav link; the language switcher gracefully
  falls back to the docs index when the target locale is missing
  the current doc (e.g. secret-rotation only has English)
- Footer Product column gains the Docs link

dist now builds 18 pages (was 5).
- Pull icon.svg, logo.svg, logo-dark.svg, social-preview.svg from
  /Users/faz/Dev/ThinkWatch/assets
- Replace public/favicon.svg with the new icon (navy seal + cyan
  T/W shield) and regenerate apple-touch-icon, favicon-32, -16,
  and favicon.ico via sharp
- Replace scripts/og-image.svg with the upstream social-preview
  design and regenerate public/og-image.png
- Header and footer now render the icon as inline SVG next to a
  Think (medium) + Watch (bold) wordmark — replaces the old
  cyan/violet gradient placeholder square
- Aurora theme on the marketing site is preserved as the site's
  visual identity; the new logo lives on top of it
Docs experience
- Right-rail Table of Contents on every doc, populated from the
  rendered markdown headings (H2/H3). IntersectionObserver tracks
  scroll position and highlights the active entry.
- Prev / Next navigation cards at the bottom of each doc, computed
  from src/content/docs/_meta.ts ordering. The zh-CN reading order
  skips docs that don't have a Chinese translation.
- secret-rotation now appears in the zh-CN sidebar with an "EN"
  badge that links straight to the English page (instead of being
  invisible to Chinese readers).
- Code blocks in markdown get a "Copy" button injected on hover.
  Localized label.
- Removed dead "headings" arrow function from DocsLayout.

Site search (Pagefind)
- New SearchModal: pure HTML <dialog>, lazy-loads /pagefind/pagefind.js
  on first open. Cmd+K / Ctrl+K / "/" shortcuts. Arrow-key navigation,
  excerpt highlighting, click-outside dismissal.
- Pagefind runs after astro build via the build script and indexes
  only article bodies (data-pagefind-body on DocsLayout's <article>).
  EN and zh-CN articles get separate language indices.

Other
- Hero version pill now reads from the latest changelog entry
  instead of being hardcoded "v0.1.0".
- 404 page now has both EN + zh-CN copy in the same HTML, swapped
  client-side based on localStorage / navigator.language. Home and
  Changelog CTAs are also re-pointed at /zh-CN/* for Chinese users.
- LogExplorer mock initial 14 rows now span the last ~30 seconds
  using the visitor's local clock instead of all sharing the same
  build-time timestamp.
- Upgrade astro 5.18 -> 6.1, @astrojs/react 4.4 -> 5.0
Sitemap
- Per-URL priority (home 1.0, docs index 0.9, docs 0.8, changelog 0.7)
- changefreq and lastmod on every entry
- Exclude /404 from the index

HTML head (new src/components/Seo.astro partial)
- rel="alternate" hreflang=en / zh-CN / x-default on every page
- og:locale + og:locale:alternate + og:image dimensions + og:site_name
- twitter:image:alt, robots max-image-preview:large
- Always inject Organization + WebSite (with Sitelinks SearchBox
  EntryPoint) JSON-LD. Default SoftwareApplication is still on every
  page unless noJsonLd is set.

Doc pages
- BreadcrumbList (Home > Documentation > <doc>) + TechArticle JSON-LD
  passed through DocsLayout → Base. The schema feeds Google's
  breadcrumb display in search results.
- Richer per-page titles and descriptions (en/zh).

Analytics
- Google Analytics gtag.js (G-R8LX8NCHCJ) loaded async, with a
  Do-Not-Track short-circuit and anonymize_ip enabled.

Other
- robots.txt: block /pagefind/ (search index, not useful to crawlers)
  and note that AI crawlers are allowed by default.
Header
- Add a burger menu + slide-down nav panel below md breakpoint so
  mobile users can reach How/Features/Console/Docs/Changelog again
- Compact right cluster: hide the star count, star icon, lang code,
  and "Get started" CTA on narrow screens; the burger takes over
- Uniform 36px (h-9) touch targets for every icon button

Docs
- Hide the left sidebar on mobile and add a collapsible <details>
  drawer at the top of the article that combines the doc navigation
  and the current page's TOC. Closes automatically when a TOC link
  is tapped.
- Tighter py-8 padding below lg (was py-12)

Hero
- Reduced vertical padding and min-height on < lg
- Responsive h1 scale 4xl → 7xl, body text base → xl
- Stack CTAs vertically on < sm, full-width buttons
- Terminal card hidden on < sm (saves ~30% of first-screen height)

Section polish (Problem, How, Features, LivePanels, QuickStart,
License, StarHistory)
- py-20 sm:py-28 instead of flat py-28 — saves 64px per section
- text-3xl sm:text-4xl md:text-5xl headings
- Tighter card padding on < sm
- LogExplorer top bar hides the macOS traffic lights on < sm and
  truncates the query string
- Dashboard stat cards shrink to p-4 on < sm
- Features tab row becomes a horizontally scrollable snap strip
- QuickStart step cards w-8 icons + 11px code on < sm

Search modal
- Trigger button is now a 36px icon button on < md (was hidden
  entirely — mobile users had no way to open search)
- Dialog uses 4px margin on < sm and top-[15vh] on sm+ so it
  claims more of the viewport on phones
- max-h-[70vh] on < sm

Footer
- 1-col → 2-col at sm → 4-col at md (previously jumped straight
  to 4-col, cramped on tablets)
- Links get py-1.5 for 44px touch targets

Global
- html, body { overflow-x: clip } to kill horizontal scroll from
  decorative absolute elements (aurora orbs)
- -webkit-text-size-adjust: 100% + input font-size: 16px to stop
  iOS Safari from zooming when a search input is focused
…scroll

- Add changelog entry for v0.2.0 (teams, budget caps, RBAC v2, HttpOnly
  cookies, management API, real-time dashboard)
- Sync landing page copy to reflect new capabilities: custom roles,
  fail-closed budget caps, HttpOnly cookie sessions, content filtering,
  management API, live dashboard, teams tab (new feature module)
- Fix nav anchor links scrolling from position 0: intercept hash link
  clicks and use scrollIntoView instead of native URL navigation

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
rehypeAutolinkHeadings was appending a visible # to every h2, making
the changelog body look broken. Changelog prose doesn't need heading
hierarchy — bold lead-in sentences read better and stay clean.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
…erception

- localePath("zh-CN", "/") returns "/zh-CN" (no trailing slash) but
  Astro.url.pathname on the Chinese home is "/zh-CN/", so isHome was
  always false → nav links rendered as "/zh-CN#how" (full-path) instead
  of "#how", causing a full page reload and scroll-from-0 every click.
  Fix: also match pathname === homePath + "/"
- Update both mobile and desktop JS handlers to intercept full-path
  anchor links (href="/zh-CN#how") as well as hash-only ones, so any
  remaining edge cases are caught client-side too.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Mirror the pattern used for docs: changelog entries live under
  src/content/changelog/en/   — English
  src/content/changelog/zh-CN/ — Chinese

content.config.ts adds changelog_zh collection (zh-CN/**/*.md).
The /zh-CN/changelog page now uses changelog_zh with an English
fallback for any version not yet translated.

New zh-CN entries: v0.1.0 (public preview) and v0.2.0 (teams,
spending controls, RBAC v2, HttpOnly cookies, management API).

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Bold inline lead-ins (**Teams.**) had no visual hierarchy in prose.
Switched to ## h2 headings per section, then:
- Hide .heading-anchor (rehypeAutolinkHeadings appends a # text node)
- Style h2 as small uppercase brand-color labels (0.75rem, tracking-wide)
  with tight margin so they read as section dividers, not full headings

Applied to both /changelog and /zh-CN/changelog page styles.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Points to the existing #pricing anchor (License section).
Inserted between Console and Docs in both en and zh-CN nav.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
The star pill now updates client-side via the GitHub API instead of
only reflecting the build-time value.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Left (cyan) particles funnel into the center; right (violet) particles
fan out from the center — visualising request→gateway→decision flow.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
15 curated MCP server templates for ThinkWatch's Store feature.
Served at /registry/mcp-templates.json for remote sync.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
…gories

23 templates (was 15). New additions:
- Microsoft Docs, AWS Docs, MDN Web Docs, Wikipedia, arXiv
- Notion, Google Drive, Jira

All description and auth_instructions now bilingual {en, zh}.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
- Hero: LIVE req/s + tokens/min pill (jitter every 1.8s) and a 4-column
  stats strip (2 MB · 3+1 · 5 · Rust) pinned below the fold.
- HowItWorks: replaced the 3-col grid with a 6-step horizontal pipeline
  rail that auto-advances every 2.4s, pauses when out of view, and is
  click-to-jump. Top progress bar fills as the active step moves.
- CompatibleWith: mono-chip marquee (32s loop) with masked fade edges
  and hover-to-pause.
- Problem: 80ms stagger fade-in on intersection + 01–05 mono numbering.
- Features: cards now lead with a glowing dot + 01/02 mono index.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Headline the v0.3.0 MCP work on the landing page: a new MCPAdvantage
section (8-row table vs SaaS gateways and DIY mcp-proxy + four "what
this unlocks" cards), strengthened MCP module bullets naming Linear /
GitHub / Slack, and a Hero stat swap to "Per-user MCP OAuth". Bilingual
v0.3.0 changelog entry covers per-user credentials, one-paste DCR, MCP
Store, three-tier subject resolution, Test Connection, scoped cache,
and the security review hardening.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Removed 4 templates that pre-configured neither an endpoint nor any
auth/deploy guidance — `web-search`, `mdn-web-docs`, `wikipedia`,
`arxiv`. Backfilled the 6 self-deploy entries (postgresql, mysql,
redis, mongodb, filesystem, puppeteer→playwright) with real npm
package install commands and upstream docs URLs in place of the
fictional `ghcr.io/thinkwatch/mcp-*` placeholders.

Added 5 meaningful templates: `stripe` (hosted), `memory` and
`sequential-thinking` (Anthropic reference servers), and
`brave-search` / `tavily` to replace the deleted `web-search`
abstract category with vendor-concrete entries that ship a token
help URL.

Also brought every entry in line with the backend `RegistryTemplate`
schema by adding `auth_shape`, `static_token_help_url`, and
`deploy_docs_url` alongside the existing `auth_type` field — sync
was previously coercing everything to `anonymous` because the JSON
shape didn't match what the deserializer reads.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
…3 hosted)

Mirrors the ThinkWatch backend's mcp-store cleanup. Removed 11 slugs
that have no business in a relay catalog — local-stdio MCPs that
the gateway physically cannot proxy (filesystem, puppeteer, memory,
sequential-thinking, brave-search, tavily), name-only shells
(web-search, mdn-web-docs, wikipedia, arxiv), and jira (superseded
by atlassian).

Added 23 hosted MCPs vetted by curl probe, organized across developer,
productivity, database, cloud, communication, knowledge, and utility.
Upgraded sentry and slack with the hosted endpoints that launched
after the original registry was written.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
…slack

Mirrors the ThinkWatch backend cleanup. Removed vercel, hubspot,
workato, and canva — these vendors gate their hosted MCP behind an
explicit AI-client allowlist that a DCR-registered ThinkWatch
client cannot satisfy. Slack reverted to its original manual + bot
token form (same allowlist issue applies to slack.com/mcp).

Catalog now stands at 37 templates, all installable through a
relay gateway without provider-side approval.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Sync the marketing surface with everything that landed in ThinkWatch
between the v0.3.0 cut and today. v0.4.0 changelog (bilingual) leads
with full-body audit capture and bundles the supporting acts: per-
column TTL, S3 / RustFS offload, bloom-filter substring search,
audit:read_bodies permission gate, MCP downstream SSE, per-model
routing (Auto / Manual + drag-to-redistribute + health-aware
failover), pre-call budget check, and allowed_models enforced
uniformly across all three API surfaces.

Feature modules updated: AI Gateway gains per-model routing + the
model-level kill switch; Observability gains the full-body audit
capture bullet; MCP Gateway gains downstream SSE; Security gains
allowed_models enforcement. Hero version pill auto-bumps to v0.4.0.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
The secret-rotation doc was declared en-only in _meta.ts; the docs page
showed an "EN" fallback chip on zh-CN. Add the Chinese translation and
flip the locales array to ["en", "zh-CN"] so the chip disappears.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
The site only described the enterprise gateway. It now presents two
products for different people, ThinkWatch for teams and ThinkWatch Lite
for individual developers, both built on the MIT-licensed ThinkWatch Core.

- Brand: the logo's navy and teal replace the cyan, violet and pink
  gradients, with amber for warnings. Legacy palette classes are remapped
  in the theme so older components follow without per-file edits. Geist,
  Instrument Serif and Noto Serif SC are now actually loaded.
- Home: a chooser between the two products, an animated sample trace, a
  canvas particle flow for "how it works", the console panels labelled as
  sample data, a Lite menu-bar illustration, and an edition comparison.
- New pages: /thinkwatch (takes over the old home content), /lite, /core
  and /license, each in English and Chinese.
- Docs: a product switcher, Lite and Core docs in both languages, and
  search scoped to the current product. ThinkWatch guides keep their
  existing URLs so search rankings survive; GitHub Pages cannot redirect.
- SEO: organization sameAs lists all three repositories, per-product
  JSON-LD, the SoftwareApplication version comes from the latest release
  instead of a hard-coded 0.1.0, sitemap priorities for the new pages, and
  a new OG image.
- Copy: unsourced claims and emoji icons removed from the problem
  section; quick start commands match the ThinkWatch README.
- Removed the unused three.js hero, terminal and magnetic button
  components. The three.js dependencies stay for now to avoid rewriting
  the lockfile.

Co-authored-by: Claude Opus 5 <noreply@anthropic.com>
The redesign set display headings in Instrument Serif with italic
emphasis and wrote much of the copy as slogans and spoken asides. That
reads like a portfolio rather than a product site.

- Headings use Geist, the site's product sans, with weight and tracking
  for hierarchy; Chinese headings use a sans as well. The serif families
  are no longer loaded, italics are gone, and heading sizes are reduced
  to suit the sans.
- Copy across the home page, product pages, license page, docs home,
  Lite and Core docs, changelog and 404 is rewritten in a formal,
  declarative voice in English and Chinese: no rhetorical questions,
  slogan fragments or chatty second person. Facts, numbers, commands and
  links are unchanged; unsupported asides were removed rather than
  reworded.
- Default title and description, OG image tagline and badges follow the
  same tone.
- Section headings no longer append a hard-coded period.

Co-authored-by: Claude Opus 5 <noreply@anthropic.com>
* fix: call the server edition Enterprise in the nav and list it after Lite

The nav showed "ThinkWatch" right next to the ThinkWatch logo, which read
as a duplicate. The nav item is now "Enterprise" (企业版) and follows Lite.
The /thinkwatch URL and the product name are unchanged.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>

* feat: move the request flow animation into the hero

The particle flow had its own full-width "How ThinkWatch works" section,
which read as a separate slide. It now sits in the hero's right column,
blended into the background, so the first screen shows both the offer and
how the gateway works. Phones get a stacked diagram under the product cards.

The sample trace moves next to the "Visibility into every request" items,
which describe the same fields. The standalone flow section is removed.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 5 <noreply@anthropic.com>
…are listed (#4)

The nav now says Enterprise, but the footer, home cards, comparison table,
license page, docs switcher, search labels and 404 links still named the
server edition plain "ThinkWatch", which reads as the brand rather than an
edition next to Lite and Core.

Those places now say "ThinkWatch Enterprise" / "ThinkWatch 企业版". The
brand stays "ThinkWatch" in the logo, copyright, site name and organization
data, and in sentences about the product as a whole. URLs, repository names
and license text are unchanged.

Co-authored-by: Claude Opus 5 <noreply@anthropic.com>
#5)

The hand-drawn 2D request flow did not work as a hero visual. This restores
the original three.js scene from before the redesign as the hero background:
particles flowing into a rotating wireframe core and out again, loaded only
after the page is idle, with the SVG fallback for reduced motion and no
WebGL. It keeps running on phones, as before.

- Colors follow the site: logo teal flowing in, light teal flowing out, a
  faint amber halo. The SVG fallback uses the same palette.
- The typing terminal returns to the right of the hero. Its slogan line is
  replaced by a neutral placeholder, the italic is gone, it is labelled as
  sample output, and typing now advances by elapsed time so it keeps pace
  when the main thread is busy.
- The two product card buttons are pinned to the bottom of their cards so
  they line up regardless of description length.
- The 2D flow component is removed.

Co-authored-by: Claude Opus 5 <noreply@anthropic.com>
fylorn and others added 26 commits October 1, 2026 13:53
#48)

GitHub Pages serves one 404 page for every address, built as an English
page; its script switched the body to Chinese, but the header, the
footer and the search box stayed English.

SiteHeader, SiteFooter and SearchModal take a `bilingual` prop, set only
by the 404 page. With it, every piece of text is rendered in both
languages (a small Bi component), links carry data-localize for the
page's script to point at /zh-CN, attributes such as aria-labels and the
search box's texts carry their Chinese values in data-zh-attrs, and the
language menu marks the visitor's language. Every other page renders
exactly as before.

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
The Lite install section lists each installer's size beside the version
and checksum (the disk image; both Windows installers; both AppImages),
the home and Lite hero download button adds the size of the file it
picked for the visitor to its version line, and the Core page lists each
binary's size beside its link.

Sizes come from the latest release's asset list, read at build time with
the download links, and are shown in decimal megabytes as Finder shows
them. Without the release (rate limit, offline build) no size is shown.

Items in the install section's version line no longer break in the
middle on a narrow screen; the line wraps between them.

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
…, ID and card redaction (#50)

- Features: the get-started checklist and hints; searching the whole history,
  including request and answer text; Pi, oh-my-pi, Grok Build, Qwen Code and
  Hermes Agent on the Clients and MCP pages, and DeepSeek Harness's web and
  desktop apps; the upstream Check-up tab; resident ID and bank card numbers
  in outbound redaction; the shared skills folder; showing hidden hints again.
- Overview: twelve clients in one step, thirteen on the MCP page, ID and card
  numbers, history search.
- Lite page: the client count (12), the client marquee, redaction and search
  in the feature copy.

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
* Lite docs: Plugins

A new page, in English and Chinese, for the JavaScript plugins that
ThinkWatch Lite gains in its next release: what a plugin can change,
adding one (file or pasted code, review, confirmation in a system
dialog, changed files), the API (manifest, hooks, request view, answer
hooks, ctx), permissions, failures, limits, the security model, what
the sandbox cannot prevent, and the five examples in the Core
repository.

Features and the overview gain the Plugins page, which makes ten pages.

This ships with the release and is not to be merged before it.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* Lite docs: Plugins, with the app's labels and the runtime's limits

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* Lite docs: Plugins, request hooks skip token-count requests

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* Lite docs: Plugins on the Responses WebSocket, and how a broken plugin is matched

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* Lite docs: Plugins with route-first request hooks and the built-in plugins

The request hook now runs after routing, once for each attempt to send
to an upstream: the page describes that order (route, plugins,
screening, conversion and redaction, send), failover starting again from
the client's original request, the new ctx fields (model as sent,
requested_model, upstream for every hook), and scope matched per attempt
by client, sent model and upstream.

The examples give way to the six plugins that ship with the app, all off
by default: what each does and its settings. Plugins that can change
tool calls need a system dialog to be turned on or reconfigured.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* Lite docs: Plugins with request kinds, the three built-in plugins and the answer-instance cap

The page now matches the final plugin design in core:

- Order: routing on the client's original request, then for each
  attempt placeholders, plugins, a second content check on what the
  plugins added, conversion, redaction and send. A plugin's model
  change only renames what is sent and still has to be a model the key
  may use.
- Request hooks also run on token counts and Responses compaction; only
  a model change is written back there.
- Request kinds: the manifest's `requests` field, the views for
  embeddings and legacy completions (one message per input, text-only
  edits, token ids read-only, their params), no answer hooks for them,
  undeclared kinds passing untouched whatever `on_error` says, and the
  load rules.
- ctx gains the three new formats; scope applies to every hook.
- Built-in plugins: the three that ship (answer language, WSL and
  Windows paths, DeepSeek request rejections), with their settings and
  how updates and deletions are handled. The dropped ones are gone, and
  the writing example no longer uses one of them.
- Turning on or reconfiguring a tool-call plugin needs the system
  dialog; multi-line string settings; at most 32 answer instances at
  once and what happens when none is free.
- The first launch after the update clears the request history.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* Lite docs: Plugins with the two built-in plugins

Core no longer ships deepseek-flags ("Avoid DeepSeek request
rejections"); reply-language and wsl-paths remain. In both languages:

- Plugins: drop its section and its example in the introduction, and
  say two built-in plugins instead of three, in the introduction, the
  built-in section and the upgrade note. Only wsl-paths can change tool
  calls now, so the system-dialog sentence names it.
- Features and the docs index summary: two built-in plugins.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* Lite docs: Plugins keep their configuration in their own file

A plugin's JS file now holds its scope, its behavior on errors and its
setting values, as in core v0.59.0.

- Adding and editing: one editor with Settings and Code tabs and a single
  Save; Settings changes are written into the manifest, code edits update
  the settings, and Add plugin opens the same editor on the Code tab with
  Import from file. Enabled stays a switch in the app.
- The manifest is pure data; `on_error` joins the fields, settings take
  `value` instead of `default`, and a rewrite replaces only the manifest
  literal in one fixed style, without the comments inside it.
- Confirmation: a system dialog only to install, turn on, change the code
  of, or approve a changed file for a plugin that can change tool calls.
  The config file editor and version history cannot do those steps.
- A plugin that cannot run takes its scope and behavior on errors from the
  approved file.
- Built-in plugins show their shipped manifests; settings changes do not
  count as editing their code when an update arrives.
- Examples use the new manifest shape.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* Lite docs: Plugins, the Install button and the plugin ID

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* Lite docs: the Conversation tab of a session

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
* Docs and product pages for the three request guards

Outbound redaction, tool-call inspection and the content filter are now
the only guards: the output limit is gone (a routing rule that sets
max_tokens caps answers instead) and hidden characters are content filter
rules. Each guard has Off, Observe and a third mode named for what it
does: Replace, Cut off, Enforce.

- Lite features and overview: three protections and their third modes;
  redaction searches the whole request, has email and phone rules (off)
  and named placeholders; the two new tool-call rules; content rules
  that refuse, delete or record, match by code point, and the hidden
  character rules; the Deleted mark on Traffic; max_tokens in Routing.
- Core overview, crate layers and the Core page: three guards, the
  content filter, tw-guard holding the shared rule model, and the
  <<TW_SECRET_1>> placeholder in the illustration.
- Lite page: the security feature in two sentences, three protections.
- Enterprise overview, architecture, configuration and API reference:
  the security.redact, security.inspect_tools and security.content
  settings, their shape and permissions, the conversion of the old keys,
  and a model's maximum output tokens; the product page's guard bullet.
- src/data/core-docs synced from ThinkWatch-Core feat/guard-unify.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* Core documents snapshot from the v0.59.0 release

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
Lite 2026.10.1 shipped JavaScript plugins, but the Lite page never
mentioned them. The bento gains a full-width last tile: the permissions
a plugin can declare as chips, the copy, and the plugins doc's example
cut down to a few lines, so no screenshot is needed. The feature also
joins the Lite band on the home page (its odd last point takes the
whole row) and the featureList in the Lite page's JSON-LD; the JSON-LD
screenshots skip features without one.

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
CI installed "pnpm 10" through pnpm/action-setup while a local pnpm 11
refused to build the site. package.json now names pnpm@10.34.6: the
action reads it, and a local pnpm switches to that version on its own,
so both build with the same pnpm.

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
* docs(lite): auxiliary requests are answered locally or forwarded

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* chore(core-docs): snapshot from Core v0.60.0

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
* Lite: Windows portable downloads and the new release file names

Release files are now named ThinkWatch-Lite-<version>-<os>-<arch>…, and
each Windows architecture gets a portable zip next to its installer.

- Lite page: the Windows tab has a second card for the portable zip, with
  the same architecture switch, version, sizes and sha256 links; the note
  covers SmartScreen and WebView2 for both.
- Install docs (en, zh-CN): new file names; a portable section (data
  beside the program, separate settings, one copy running at a time,
  removing it); what the system uninstaller does, its checkbox and the
  standard-account limitation; how the portable copy updates itself.
- Overview, docs index, home status line and structured data mention the
  portable zip.

Downloads are matched by the end of the file name, which releases from
before the rename share, so the installer links keep working until the
first release with the new names; the portable links fall back to the
release page until then.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* Lite docs: the portable zip's app is ThinkWatch Lite.exe

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* Lite page: the Windows portable zip as one line under the installer

The portable build no longer has a card of its own. A single small line
closes the installer card, "Portable build (ZIP, no installation): x64 ·
ARM64" (zh: 「绿色版(ZIP,免安装):x64 · ARM64」), with the
architecture the page detects listed first, the way the installer button
follows it. The links lead to the latest release page until a release
carries the zips. The copy now reads "portable build" in the SmartScreen
note, and the install guide drops the colloquial 「解压即用」 and
"straight from its folder".

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
…ory only on its own pages (#58)

The pill linked to and counted the enterprise repository on every page. It
now shows ThinkWatch Lite by default, and the enterprise repository on the
enterprise page (/thinkwatch) and its guides (/docs/<slug>). The live count
fetched in the browser follows the same repository.

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
Nineteen descriptions ran past what a result shows (about 155 characters in
English, 80 in Chinese), the home page's at 357, and were cut off mid
sentence. Each now says the same in fewer words. The doc summaries double
as the text under each entry on a product's docs home, which reads better
shorter as well.

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
- /llms.txt: a plain-text map for language models and AI search engines
  (llmstxt.org): what each product is, the facts about ThinkWatch Lite
  stated once, and every documentation page with its summary
- /llms-full.txt: the English documentation of ThinkWatch Lite and Core in
  one file, in sidebar order, each document with its address
- deploy.yml: after a push or a manual deploy, every sitemap address is
  sent to IndexNow (Bing, which ChatGPT search and Copilot use, Yandex and
  others); the key file sits in public/. The scheduled rebuild does not
  notify, and a failed notification does not fail the deploy.

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
Pages for the questions people search for, in English and Chinese, under a
new Guides group in the Lite docs sidebar:

- Claude Code with GLM, DeepSeek or Kimi
- Codex with Claude, Gemini or a Chat Completions-only relay
- Claude Desktop with third-party models
- switching upstreams without restarting the client
- failover and load balancing across relays and keys
- keeping API keys away from relays, and cutting off dangerous tool calls
- Claude Code and Codex in WSL
- ThinkWatch Lite and CC Switch compared, from CC Switch's own v3.20.4
  documentation
- an FAQ, which also carries FAQPage structured data built from its
  headings

Each guide states its answer in the first paragraph and its steps in the
app's own wording, checked against ThinkWatch Lite 2026.10.4 and Core 0.61.0.

Look: the pages use the existing docs layout, with no images. The sidebar
shows short labels; a guide's full title (the searched question) is used
for the browser tab and search results through a new optional `title`.
The Lite docs home keeps its eight cards: guides are left out of them.

Also: the Features page counted six settings sections; 2026.10.4 has seven
with Failover, now described.

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
…n data (#61)

* Lite features: the tool rule for ThinkWatch's own data, and what protects the config file

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* Lite features: model aliases, specified models in routing rules, and Claude Desktop without a Claude upstream

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* Core docs from v0.62.0: model aliases and specified models in routing rules

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
)

ThinkWatch Lite 2026.10.5 (core 0.62.0) no longer appends /v1 to a base
URL that ends with its own version. The Claude Code guide now gives GLM's
OpenAI-compatible addresses next to the Anthropic one it recommends, and
the Codex guide gives GLM as its example of a Chat Completions relay,
including the separate Coding Plan endpoint (…/api/coding/paas/v4).

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
* Lite docs for 2026.10.6: weighted round robin, slow starts, concurrency, model specs, key usage limits

Lite 2026.10.6 (core 0.63.0) changes how groups distribute requests and
adds limits that the features page and the failover guide did not
describe, and it drops the Check-up tab that two pages still sent
readers to.

- Features: weights and "Distribute by" on round-robin groups; moving a
  slow-starting stream to the next upstream; the concurrency limit per
  upstream and the slot wait in Settings › Failover; model specs set by
  hand; usage limits per key with the "Limit reached" mark and
  notifications; the new marks in a request's attempts; Responses
  WebSocket turns as requests; check-up findings on the upstream's row.
- Failover guide: weights and the four distribution modes with their
  factors, slow starts, concurrency limits, and "Lowest latency" now
  measured as time to first token per attempt.
- Relay guide: points at the marks on the upstream's row instead of the
  removed tab.
- Lite page: the keys tile mentions usage limits.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* Deployment guide: external Postgres behind a pooler, Redis Cluster and Redis over TLS

ThinkWatch 3.2.0 takes a session-level advisory lock while it sets up
the schema, so a transaction-mode pooler can leave the lock held and
stall every later start; it also connects to Redis over TLS
(rediss://, rediss-cluster://, REDIS_CA_CERT for a private CA) and to a
Redis Cluster. The guide said nothing about either, and its Helm example
set secrets.databaseUrl and secrets.redisUrl, which the chart does not
have.

- New section 4.6 with the chart's bundled: false / externalUrl values,
  the pooler requirement, the Cluster URL form and the TLS settings,
  following the chart README.
- The Helm install example drops the two values the chart ignores and
  says that it runs the databases itself unless told otherwise.
- The configuration reference points DATABASE_URL and REDIS_URL at the
  new section.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* Deployment guide: an ExternalSecret example that works with the Helm chart

The 4.4 example wrote lower-case keys (jwt-secret, database-url, ...)
that the server never reads, created a Secret the chart also creates
and overwrites, and used the v1beta1 API that current External Secrets
Operator releases no longer serve.

The chart always renders <release>-secrets and the server reads it
through envFrom, with upper-case variable names. The example now merges
JWT_SECRET and ENCRYPTION_KEY into that Secret (creationPolicy: Merge,
external-secrets.io/v1), which the chart reads back on upgrade. The
text says to leave secrets.jwtSecret and secrets.encryptionKey unset,
to restart the server after the first sync, and that DATABASE_URL and
REDIS_URL come from postgres.externalUrl and redis.externalUrl, since
the chart rewrites them on every upgrade.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* Core docs from v0.63.0: weights, distribution, slow start, concurrency, model specs and key usage limits

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
* Lite docs for 2026.10.9: the menu bar menu, model specs in clients, new versions as notices

Lite 2026.10.9 reorders the menu bar and tray menu, and two changes from
2026.10.7 and 2026.10.8 never reached the site.

- Features, menu bar: Open ThinkWatch Lite always comes first, then the
  unread notices and the Today block (today's tokens, requests, failures
  and cost, a chart of tokens per hour, the gateway state and generation
  speed on its top line), a row per quota window, the requests in
  progress, then the actions; Copy Gateway Address shows the address.
  What the menu holds while the gateway is not running. The Windows and
  Linux tray menus write the Today block out as text.
- Features, upstreams and clients (2026.10.7): Specs... also sets
  reasoning and image input, and taking over opencode, Pi, oh-my-pi,
  Grok Build or Qwen Code writes each model's specs, with an update
  offered when they change.
- Features and Install (2026.10.8): a new version is listed among the
  notices, and opens the update window from there.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* Core docs from v0.65.0: reasoning and image input in model specs

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* Deployment guide: the published image names and tags, pnpm 12, a current upgrade example

ThinkWatch 3.2.1 builds the web UI with pnpm 12 (packageManager in
web/package.json); the guide still asked for pnpm 9+, which the
workspace's allowBuilds field already ruled out at 3.2.0.

The images section named ghcr.io/thinkwatch/..., while CI and the
release workflow publish to ghcr.io/thinkwatchproject/..., and it said
every push to main moves latest; since v1.0.2 only a release sets
latest and its version tag, and main pushes get the commit SHA. The
release notes list the same names.

- Images: the thinkwatchproject names with <version>, latest and
  <git-sha>, and which workflow publishes which.
- Compose: pinning takes a version (3.2.1) or a SHA from main.
- Helm: the chart deploys the images of its appVersion unless a tag is
  set.
- Rolling update: 3.2.1 for both images instead of 0.2.0 for the
  server alone.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
* Docs for Lite 2026.10.10: models added by hand, a hidden menu bar item, scan alerts

- features.md (en, zh-CN): an upstream's models are the ones it lists plus
  any added by hand with "Add models…" in its model list; the Manual tag,
  the rules for an ID, removal with Undo, and that routing, failover,
  aliases, rules, key scopes, the clients' model list, the dry run and the
  speed test treat them like listed models. The Menu bar setting's fourth
  choice, Hidden. Editing a scanned file reports only new findings.
- import-links.md (en, zh-CN): the models parameter adds models by hand,
  next to those the service lists.
- failover-and-load-balancing.md (en, zh-CN): a member that leaves a model
  out of its list can be given it by hand; the guide follows 2026.10.10.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* Core docs from v0.66.0

`CORE_DOCS_REF=v0.66.0 pnpm core-docs`: the configuration reference
describes providers[].models as models added by hand and explains which
models an upstream has.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* Import page and link builder: "Models added by hand", as in the app

The app's import dialog now labels the models field "Models added by hand"
(«手动添加的模型») like the rest of the app. The site's import page, the link
builder and their field errors, and the dialog description in
import-links.md (en, zh-CN) follow.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
* Docs for Lite 2026.10.11 and ThinkWatch 3.3.0

- Features, failover guide: the no-response timeout replaces the slow-start
  wait and switch; manual abort of requests and sessions; the new attempt
  labels; models added by hand in the upstream dialog's Models section;
  long names cut short in Traffic; prompt-cache breakpoints for Claude on
  converted requests.
- Codex guide: tools, history and compaction through converted routes;
  prompt caching for Claude; the Models section replaces the manual list.
- Deployment guide: version examples move to 3.3.0.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* Core docs from v0.67.0

The configuration reference replaces stream_start_wait_secs and
next_on_slow_start with idle_timeout_secs, and describes the prompt-cache
marks on requests converted for Claude.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* Prompt caching on Bedrock: only the Claude models AWS lists

Core 0.67.1 adds automatic cache breakpoints on Bedrock only for Claude
3.5 Sonnet v2, 3.7 Sonnet and 4.5 and later, and resends a request
without them when an upstream refuses them.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* Core docs from v0.67.1

The configuration reference limits automatic cache marks on Bedrock to the
Claude models AWS lists, and describes the resend without them.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
* Docs for Lite 2026.10.12 and core 0.68.0

- Features (en, zh-CN): the Overview's six cards (Tokens, Cost, Cache
  hits, Requests, First token, Traffic) with their changes against the
  previous period and synced charts, the strip of what needs attention,
  and the table by model, upstream or key; upload and download on the
  Traffic table's tokens and Egress, Upload and Download in a request's
  timeline; the Content tab's live Parsed and Raw views with the client
  and upstream sides and the security hits marked; the Proxies tab's
  Traffic · 24 h column; requests in flight on the routing map; security
  log entries that open in place with every location, the rule as it
  was and what was done, export as JSON or CSV, and expiry with the
  request records; the menu bar's cost written like the token count.
- Overview (en, zh-CN): the Overview row of the pages table.
- Relay guide (en, zh-CN): an opened log entry shows the placeholder or
  the cut-off tool call.
- Lite page: the overview and traffic tiles follow the new Overview and
  the live content.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* Lite screenshots: the new Overview, and the menu bar's cost written like the token count

The overview, menu bar and connection switcher images come from Lite's
screenshot pipeline at 2026.10.12; their alt texts describe what they show.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* Lite menu bar: the cost is written $9.34

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* Core docs from v0.68.0

The configuration reference and the server guide are unchanged since
v0.67.1; the snapshot now names v0.68.0.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* Deployment guide: version examples move to 3.3.1

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
* Docs for Lite 2026.10.13 and core 0.69.0

- Features (en, zh-CN): the new upstream dialog's Service step; every
  amber warning can be ignored and Show again brings them back; each
  turn's context window and its estimated breakdown in the conversation
  view; a model's reasoning kept across API formats, tool calls written
  into answer text, compressed request bodies and upstream answers, and
  keep-alive pings while a request waits for a slot; the Time condition
  of routing rules; one colour per request on the routing map; the menu
  bar item no longer coloured by a quota.
- Claude Code, Codex and failover guides, CC Switch comparison (en,
  zh-CN): the Service step of the new upstream dialog.
- Lite page: the menu bar tile no longer describes the quota colours.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>

* Core docs from v0.69.0

The configuration reference gains the time condition of routing rules;
the server guide is unchanged since v0.67.1.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>

* Deployment guide: version examples move to 3.4.0

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>

---------

Co-authored-by: Claude Fable 5.1 <noreply@anthropic.com>
* Docs for Lite 2026.10.14 and core 0.70.0

- Features (en, zh-CN): the new upstream dialog's three groups of
  services (model vendors, platforms and relays, local and custom) with
  OpenRouter, ThinkWatch, Sub2API and New API / One API; the
  authentication methods each service has, and the fields a service
  decides filled in or left out; ChatGPT and Z.ai / BigModel sign-in
  inside the dialog, with a copyable sign-in link, ChatGPT's device code,
  and the device code only on a remote core; editing that recognizes the
  service, and Z.ai / BigModel upstreams shown as an account sign-in; the
  Quota / billing column's balances, their sources and the enterprise
  gateway's key or account limits, the balance under Check connection
  and Refresh balance.
- Claude Code, Codex and failover guides, CC Switch comparison, FAQ
  (en, zh-CN): the services to pick for GLM, relays and the account
  sign-in; DeepSeek and Kimi balances; balances in the comparison.
- Remote core guide: the device code's address and code can be copied.
- Overview and Lite page: upstreams show their balances.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* Core docs from v0.70.0

The configuration reference gains an upstream's balance and signed_in
keys; the server guide is unchanged since v0.67.1.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* ThinkWatch 3.5.0 docs: GET /v1/usage, route caps, limits that cannot be checked

- API reference (en, zh-CN): GET /v1/usage in the gateway endpoints,
  with what it answers about (the key, or its owner as a whole), usage,
  limits with scope, kind, window, used and resets_at, expires_at, and
  401, 403 and 503; a section on limits and budgets: what a request is
  checked against, the 429 and its label, route RPM and TPM caps now
  enforced, and security.rate_limit_fail_closed; the Limits tab of an
  API key's edit dialog and the limits endpoints it uses.
- Configuration (en, zh-CN): security.rate_limit_fail_closed in the
  security settings, covering Redis and database failures and route caps,
  with the console setting that holds it.
- Deployment guide (en, zh-CN): GET /v1/usage in the endpoints the
  console's Configuration Guide lists.
- ThinkWatch page: a client can ask what room its key has left, and the
  fail-open default covers the database as well as Redis.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* Deployment guide: version examples move to 3.5.0

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
- Features (en, zh-CN): relays and the enterprise gateway take an API
  key, OAuth stays for custom endpoints; Advanced settings; Next checks
  the connection, with Retry and Continue anyway; Copy link; sign-in goes
  straight to Models with the account on top.
- Claude Code, Codex and failover guides (en, zh-CN): Next checks the
  connection; BigModel is the first site; Forward client identity is
  under Advanced settings; the button is Copy link.

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
… and docs (#72)

* Import links v2: per-service parameters, grouped import page, builder and docs

The import page and the link builder now follow version 2 of the import
link: every parameter the New upstream dialog shows for the chosen service
and authentication method (service, auth, site, OAuth, Bedrock access keys,
headers, client identity, concurrency, balance source, models_only, specs,
billing, price sheet), with the same per-service rules as the app. The
page lists the receiving hosts first and the settings in the dialog's
groups; a parameter from a newer version shows that a newer ThinkWatch
Lite is needed and is passed on to the app. Proxies, AWS profiles,
aliases, routes, weights, the disabled switch and the checking-only access
token are rejected.

The Import links docs are rewritten for v2, the Lite features and
comparison pages updated, and the enterprise docs describe the Add to
ThinkWatch Lite button (Lite 2026.10.16 or later), fix the Configuration
Guide path to /guide, and note that GET /v1/models lists only the models
the calling key may use.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* Import links v2.1: a link without service falls back to custom

Without `service`, the service recognized from the address is used only
when every parameter fits it; otherwise the link is a custom upstream, so
every link written for the first version stays valid (an official address
with another path, an Ollama address with a key, DeepSeek with
protocol=openai-chat). An explicit `service` stays strict. The docs say
so next to the v1 example and under `service`, the balance source is
detected automatically when omitted, and the builder's default reads
Auto-detect like the app.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* Import links v2.2: plain http on private networks

`url` and `oauth_endpoint` accept plain http:// for loopback, private
IPv4 ranges (10/8, 172.16/12, 192.168/16, 100.64/10, 169.254/16), IPv6
fc00::/7 and fe80::/10, names without a dot and names ending in .local,
.lan, .internal, .intranet, .corp, .home.arpa or .localhost, so an
enterprise gateway on the company intranet can be imported. Other http
addresses stay rejected. The import page states under such a host that
the key and request content travel in plain text; the docs list the
rule, and the enterprise docs note that intranet http gateways work.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* Import links: the chat preset for New API sites

A New API or One API admin can add ThinkWatch Lite to every key's chat
menu with one preset; no change to the site's code is needed.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@fylorn

fylorn commented Oct 11, 2026

Copy link
Copy Markdown
Contributor Author

Superseded: the comment was fixed throughout the history instead.

@fylorn fylorn closed this Oct 11, 2026
@fylorn
fylorn deleted the chore/no-local-paths branch October 11, 2026 17:35
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