Astrohacker TermSurf 0.1.103: Our Own Nexus BBS and a Real Chat Client in a Pane
August 2, 2026 · Ryan X. Charles
You start a local server. You open it with ahweb 3456. The page is next
to the shell that launched it. Then you want the other half of a workday:
talk to people—channels, private messages, a console that is not IRC
cosplay in a separate app.
That used to mean leaving TermSurf. Now it can mean ahnexus: a full-pane
Nexus client in the same window, optionally pointed at our BBS.
On July 29 we shipped bare-port localhost open as v0.1.90. This post is the user-facing arc after that—not another browser-feel field note. The biggest thing is Nexus.
The short version
- Hosted BBS — nexus.astrohacker.com runs our production Nexus server (Fargate, durable data, TLS). Operator-grade first; not a claim of a giant public community overnight.
ahnexus— PATH command in the Astrohacker package: multi-channel chat, Console (>_), topics,/me, channel list, PMs, broadcasts, Login avatar (CLI + form), Settings password change, files browse/transfer.- Files in the browser pane — the path that started with “system file open works” is much closer to finished: drag upload, downloads, progress—so panes behave like a real desktop browser for upload/save, and Nexus files can move the same way.
- Honest residual — we closed chat parity as good enough, not “every Nexus frame.” Secrets, some slash polish, and deeper protocol areas continue under a planning epic. Full official desktop client parity is a horizon.
If you only remember one sentence: TermSurf already put the web next to the shell; now it can put a real multi-channel BBS client there too—and we run a host you can log into.
What is Nexus?
Nexus is a modern multi-channel BBS: chat, user messages, broadcasts, files, permissions, TLS—the stack documented for clients that speak its protocol. Upstream lives at github.com/zquestz/nexus (server, client, trackers, docs). We are a client of that protocol, not a fork that reinvented the wire.
The project’s author writes more widely at thoughts.greyh.at—engineering notes, OSS, the kind of terminal-adjacent work that sits next to why a BBS-in-a-pane is interesting at all. Credit where it belongs; Astrohacker’s job is the TermSurf product surface and our deployment of the server.
We use path-pinned nexus-common for framing and types. We do not invent
chat formats.
Why host our own BBS
Third-party servers are fine for exploration. Product work needs a host we control: deploy, passwords, operator accounts, smoke against a stable name.
So we stood up nexus.astrohacker.com—digest-pinned nexusd, durable
storage, public TLS edge. That work closed as nexus host deploy. Chat that
only worked against someone else’s lag box was never going to be a product
story.
What ahnexus is
ahnexus is the Astrohacker Nexus TermSurf app: Rust local server +
React SPA, full pane, same install story as ahcalc / ahhelp.
You connect (host, account, optional avatar). You get:
- Channels — join, leave, send, members, topics (
/topic) - Actions —
/meas realChatAction::Me, not cosmetic italics on normal text - Discovery —
/channelslists the server catalog on Console (not only rooms you already joined) - PMs —
/msg nick text, tabs at/chat/pm/…(no messaging yourself; the protocol forbids it) - Broadcasts —
/broadcastwhen permitted; inboundServerBroadcastas Console lines - Console (
>_) — system lines, lists, broadcasts—not a place for plain room chat - Avatar —
--avatar /path/to.pngor pick/drop on Connect; sent on Login each session (BBS sessions do not magically keep last week’s face after a full disconnect) - Files — browse the user area; download/upload through the product path
It is a usable multi-channel client, not a pixel clone of the official Nexus GUI, and not every protocol module (voice, news, full admin).
How you try it
Apple silicon, Astrohacker cask installed:
ahnexus
Connect to nexus.astrohacker.com (or any Nexus host you use). Prefer the
docs and in-app help (ahhelp) for flags and smoke paths—including
--avatar for scripted login.
Public TermSurf source stays on the usual track:
github.com/astrohackerlabs/termsurf.
Install remains Homebrew cask astrohacker when you want the packaged app.
Files: finishing the pane browser story
The July 28 field note was honest: system file open worked; the rest of transfer was still coming.
Since then, the transfer path moved a long way: drag-and-drop upload, multi-file cases, downloads to disk, progress feedback. That matters for ordinary websites and for Nexus file areas. A chat client that can list files but cannot save them is a museum exhibit.
Password-manager and cloud vault work continue under their own epics. This post does not claim a vault launch.
What we are not claiming
- Not “full Nexus protocol done.” We closed ahnexus chat parity as
good enough for multi-channel use: topics, list,
/me, PMs, broadcasts, avatar. Deferred on purpose: secret channels, join/leave system lines in the transcript, full slash-table polish, every Console notice type. - Not English shell / model marketplace / wallet as available SKUs.
- Not “we are a model lab.”
- Not a soft-open of every Astrohacker cloud product.
Further protocol work (secrets, voice, news, admin, deeper users/files, client hygiene) is planned under epic Nexus protocol client parity—issues and experiments, not a single big-bang rewrite.
The line
Monorepo product crates moved through the late 0.1.9x range into
0.1.103 in this window. Public cask version is whatever your tap last
installed; upgrade when you want host, ahnexus, and file pins together.
Install
Apple silicon, Homebrew:
brew tap astrohackerlabs/astrohacker
brew trust astrohackerlabs/astrohacker
brew install --cask astrohacker
App: /Applications/Astrohacker TermSurf.app. PATH tools include
ahterm, ahweb, ahsh, ahcalc, ahhelp, ahnexus, and the Chromium
helper as packaged.
Close
Localhost by port number was a small gift to a port-heavy day. Nexus in a pane is a larger one: the same layout that holds your agent and your frontend can hold multi-channel chat against a host we operate—or any Nexus BBS you choose.
Upstream protocol and server: github.com/zquestz/nexus.
Author’s writing: thoughts.greyh.at.
Our public TermSurf source: github.com/astrohackerlabs/termsurf.
Open TermSurf. Run ahnexus. Connect. Stay in the window.
