Nanobot
Nanobot unifies configuration while opening a Linear channel
Nanobot proposes one secret-safe configuration contract for TUI and WebUI, replaces its legacy onboarding wizard, and adds a native Linear Agent channel with PKCE, signed webhooks and a durable deduplicated queue.
HKUDS/nanobot PR #5498 is the inspected primary source: “feat(config): unify onboarding in the Agent TUI.” The related records below were inspected as supporting context rather than independent confirmation.
The facts
- HKUDS/nanobot PR #5498 was created 2026-08-23T16:46:05Z and was open at inspection; its title is “feat(config): unify onboarding in the Agent TUI.” - HKUDS/nanobot PR #5497 was created 2026-08-23T16:04:14Z and was open at inspection; its title is “feat(config): add shared complete editor contract.” - HKUDS/nanobot PR #5495 was created 2026-08-23T14:18:31Z and was open at inspection; its title is “feat(channels): add native Linear agent channel.” - The repository reported 47312 stars, 724 open issues, default branch main, and last push 2026-08-23T18:17:59Z. - The latest tagged-release baseline checked was v0.3.0 published 2026-07-25T08:08:47Z.
What changed
HKUDS/nanobot PR #5498 reports: Summary add a transport-neutral, complete configuration editor contract with optimistic revisions and secret-safe snapshots add a schema-driven \/config\ surface to the Agent OpenTUI, keeping essentials on the first screen and all advanced settings searchable keep plain \ anobot onboard\ unchanged while making \ anobot onboard --wizard\ open the Agent directly in Configuration remove the legacy questionary wizard and reuse the same config store from WebUI settings Review stack 1. #5497 — shared configuration contract and channel schemas 2. chengyongru/nanobot#379 — Agent OpenTUI \/config\ 3. chengyongru/nanobot#380 — \onboard --wizard\ migration This aggregate PR contains all three layers for upstream merge. The fork PRs preserve small incremental diffs because GitHub cannot target an upstream PR at a base branch that exists only in a fork. Verification GitHub CI: all 8 checks passed, including Python 3.11, Python 3.14 coverage, Windows Python 3.14, WebUI, Docker, and both TUI platforms full local Python suite: 6,480 passed / 52 skipped; the sole failure requires Windows symlink privilege unavailable on this machine (\WinError 1314\), while the GitHub Windows suite passed focused CLI/config/WebUI regression: 718 passed / 5 skipped TUI: typecheck, 132 tests, compiled win32-x64 build WebUI: production build; 1,094/1,095 tests passed in the broad run, and the single timing-sensitive tooltip test passed on focused rerun (39/39); GitHub WebUI CI passed real gateway + headless browser: Settings loaded
HKUDS/nanobot PR #5497 reports: Summary add a transport-neutral, full-schema configuration editor contract redact and preserve secrets while supporting explicit replacement and clearing share serialized config storage with existing WebUI settings and expose authenticated read/write routes Verification 241 passed, 1 skipped across config and settings suites ruff check on changed files basedpyright on changed files
HKUDS/nanobot PR #5495 reports: Summary add a native Linear Agent channel with OAuth authorization code + PKCE and per-workspace rotating tokens receive signed AgentSessionEvent webhooks through a durable, deduplicated SQLite queue and publish native Linear Agent Activities add a WebUI setup flow with partial configuration saves, a prefilled private OAuth app manifest, automatic enablement after authorization, and localized copy document the complete self-hosted setup, networking, verification, security, and troubleshooting flow Behavior new tasks start only from an explicit @mention follow-ups inside an existing Agent Session continue without another mention the OAuth request uses read, write, and app:mentionable; it deliberately excludes app:assignable ordinary Comment webhooks are not subscribed and are safely ignored if delivered a stable public HTTPS URL is required for the webhook and OAuth callback, but a tunnel or reverse proxy works without a public IP Testing pytest nanobot/channels/linear/tests tests/channels/test_channel_setup.py tests/channels/test_channel_contracts.py tests/channels/test_channel_plugins.py -q — 190 passed ruff check nanobot/ basedpyright — 0 errors cd webui && bun run test — 1,097 passed cd webui && bun run lint cd webui && bun run build Notes Linear's Agent APIs are currently a Developer Preview. The implementation and payload handling were checked against the current official OAuth, webhook, Agent Session, Agent Activity, and manifest schemas. A live smoke test with real Linear credentials and a public HTTPS endpoint has not been run from this development
Why it matters
A growing channel surface needs one configuration owner; otherwise secrets, revisions and setup semantics drift between interfaces. The operator test is whether the system remains bounded and its receipts still describe the action after failure, retry or restart.
Current
The primary record was open when captured on 2026-08-24. The tagged-release baseline was v0.3.0 published 2026-07-25T08:08:47Z. Repository metadata, full source bodies, current pull requests and issues, releases, Google News, Hacker News, Lobsters, Metamesh and the rendered ClawCharts row were inspected. ClawCharts selected the subject; it did not prove the claim.
Evidence
The primary URL is https://github.com/HKUDS/nanobot/pull/5498. Supporting records are https://github.com/HKUDS/nanobot/pull/5497 and https://github.com/HKUDS/nanobot/pull/5495. Source bodies, timestamps and states are preserved in the daily evidence bundle. Test counts and reproductions remain attributed to their authors unless identified as independently rerun.
Source boundary
Open work is described as open, closed work as closed, and operator reports as reports. A pull request is evidence of proposed or reviewed direction, not proof of a shipped release. Search residue, package mirrors and historically published source spines were excluded.
Operator take
Keep snapshots redacted, require optimistic revisions for writes, and treat Linear’s developer-preview API and missing live credential smoke as explicit boundaries. Preserve a before-state receipt, make the smallest reversible change, and verify the original failure independently.
Caveat
Public project records are mutable. Status, scope and evidence can change after publication. This brief records the inspected state and does not authorize changes to a reader’s deployment.
Source inspected; source state, environment and release boundary remain explicit.