Fixed
- Windows release builds can pack the remote Host program again. Git on Windows checks Tectonic version pins out with CRLF line endings; the packer used to treat the first comment line as the version, so packaging stopped before the installer was built.
Fixed
- Production installers now ship the remote Host program. The 0.9.2 packages were built without the Host payload (
prismnext-host.tar.gz), so connecting to a remote machine failed with payload_missing_local; dev builds were unaffected because pnpm host:pack had run locally. The release CI now packs the payload before electron-builder and asserts the tarball exists, so a silent skip fails the build instead of producing a broken installer.
Agent
- Chat can search the public web and fetch a page (
websearch / webfetch) using your own Tavily API key. Add it in Settings → Literature → Web search (free Tavily plan is 1,000 credits/month). Academic catalog search still goes through literature-discover; these tools are for general web pages.
- New
document-read tool converts project Word / PowerPoint / Excel / OpenDocument / RTF / EPUB / CSV / PDF files to Markdown (local AnyDoc, no API key). Library paper PDFs on the intensive-reading list still use literature-read-pdf (MinerU). Password-protected files and scanned PDFs return a clear error instead of a binary dump.
- Composer
@ / file-strip attachments now actually convert via AnyDoc into the send turn. The conversion library existed, but promptFiles was dropped before agent:send, so attaching a Word file left the model with only your sentence — it then guessed some other project manuscript. If conversion is missing, the turn now names the attached file and tells the model to say it cannot read it instead of inventing or substituting another draft. Chat no longer extracts attached PDFs with pdf.js or unzips DOCX as a special case.
- Composer
@ / paperclip / drop of Word, PowerPoint, and other non-image files insert an inline file chip at the caret (same as @ file), not a strip above the input like images. Sent bubbles show that chip and your sentence — not the converted Markdown dump (## Attached files). Images still use the strip.
- After a turn finishes — or as soon as the final reply starts — thinking, tool calls, and in-between notes fold into Worked for; only the final answer stays open. Inside Worked for: a leading Thought is its own text fold (no tool-panel box); dense tool lists sit in a second Activity fold; process prose stays visible between those folds and is not nested inside Activity. The last process paragraph after tools is folded when we can split it from the real answer (blank line then a heading while streaming; a short preamble vs longer body after the turn settles). Thinking-only turns never grow a Worked-for shell. Streaming no longer forces folds back open; collapsing no longer resets the thought timer.
- New Local documents prompt module routes those project files to
document-read and keeps library PDF intensive reading on literature-read-pdf.
- New Web research prompt module routes docs, packages, datasets, APIs, and similar live web knowledge to
websearch / webfetch (examples + search judgment, not an exhaustive list). Chat paper citations stays focused on literature-discover and staging.
- Plus 5 more agent improvements in this release.
Settings
- Settings → Literature has a Web search card for the Tavily API key (encrypted like Semantic Scholar / PubMed keys). Without a key,
websearch / webfetch return a clear error instead of calling Tavily.
- Prompt stack preview follows the active team (composer picker or Settings → Teams). It used to keep showing the previous lead until a manual refresh because switching team does not fire the experts-sync event. The header now names the team as well as the lead.
- Built-in modules and Preview stack in Settings → Prompts show names, tokens, and injection paths only. Full assembled prompt text is behind Help → Developer → Show full prompt text (Windows / Linux: Alt to show the menu bar). Built-in tools still show the descriptions the model sees.
- Settings → About → Pro: the early-test key
PRISM-PRO-DEV-TEST is click-to-copy (and fills the activation field when it is empty).
Website
- The official site is redesigned from scratch in a "research journal" style: warm-paper light and deep-ink dark modes, Fraunces / Outfit / JetBrains Mono type, and the app screenshot as the first thing you see. A living orbit loop animation walks a glowing particle through the seven research beats (ideate → read → think → design → run → write → review), lighting each stage as it passes. The top bar becomes a portal (Home / Changelog / Pricing / About); the changelog page mirrors the project's GitHub release notes; screenshots adapt to the page theme. READMEs get the same treatment: rewritten around the AI-agent story with light/dark-adaptive screenshots.
Under the hood
- Embedded Pi agent host replaces OpenCode — chat, providers, skills, MCP, Plan mode, and Task delegation run through the product agent API.
- Workbench storage moves to ~/.prismnext/ and <project>/.workbench/; sessions, libraries, worktrees, and skills use the new layout.
- TypeScript 7 type-checking, Vite 7 / electron-vite 5 toolchain, and Electron 43 runtime upgrade.
Remote
- Connecting to a Host no longer fails the whole session when AnyDoc’s Linux native cannot be placed. The native is ~8 MB.
curl 23 on a server with free disk is the HTTP stream resetting — typical from China Aliyun to registry.npmjs.org, not a missing runtime of several GB. Install now prefers the GitHub release .node (same channel as Tectonic / Tinymist, which already succeeded on that Host), then npm / npmmirror. If it still fails, connect continues and Office document-read on that Host stays unavailable.
- Connect status dialog: step details wrap instead of clipping on the right (
10/10 was cut to 10/1 by the nested scrollbar). Progress shows a percentage. All ten gates stay in view with no step-list scroll; only the opened Connection log scrolls.
Agent
- Experiments, Research design, and Project brief modules aligned as a trio: execution vs live research thinking vs
.brief.md on disk; positive module openings; deeper roadmap/When/Judgment; no hard-coded subagent Task lines (orchestrator-judgment owns roster); brief tool how-to stays on research-brief-* tools.
- Orchestrator judgment and Subagent role modules deepened: direct-handling-vs-Task judgment, Task brief, synthesis discipline, expert grounding/deliverable; impersonal/role-noun module voice (no profile meta); roster varies by team; experts may use tools inside Task without nesting Task.
- Project rules memory module expanded: scope vs brief, AGENTS.md, skills, and chat; explicit vs heuristic persist with
question confirm; append-before-create; project-rule-write only for RULE.md.
- Removed
latex-root and typst-root agent tools — manuscript entry comes from the Workspace Manuscript folder pin (Workspace Folder Descriptions + manuscript-compile module). Kept LaTeX/Typst manuscript build tools and LaTeX/Typst standalone figure builds for skills.
- Citation & bibliography audit module slimmed to when/boundary/compliance model (LaTeX + Typst auto-scan); how-to moved to
citation-health tool. Library papers not cited are informational — not audit failures.
- Literature agent tools (search, discover, stage, citation-health, export-bib, …): shorter descriptions, clearer when-to-call guidance for citation-health, and intensive-reading list labeling. External discovery hits now return full abstracts (only extreme outliers truncated) so the model can screen candidates properly.
- Chat sessions now actually receive the built-in capability modules (literature, compile, citations, …) after the Team lead text. Settings → Prompt stack preview shows that same live join — not the old OpenCode
agent.md bake-in — so what you read in Settings is what the model gets. Team files stay user-editable and do not store those modules.
- Plus 2 more agent improvements in this release.
Literature
- Citation health and “export cited keys to
.bib” now read Typst @key / #cite(<key>) as well as LaTeX \cite{}, against the same .bib. A Typst paper’s #bibliography("refs.bib") is how the .bib path is found. Hayagriva YAML is still later.
Under the hood
- Embedded Pi agent host replaces OpenCode — chat, providers, skills, MCP, Plan mode, and Task delegation run through the product agent API.
- Workbench storage moves to ~/.prismnext/ and <project>/.workbench/; sessions, libraries, worktrees, and skills use the new layout.
- TypeScript 7 type-checking, Vite 7 / electron-vite 5 toolchain, and Electron 43 runtime upgrade.
Compile
- LaTeX manuscript PDFs and build aux now live under
.workbench/compile/latex/ (sibling to typst/), not flat in .workbench/compile/. Preview hydration still reads the old flat path once when upgrading an existing project.
Files
- Typst export is a Dialog (PDF / PNG / SVG / HTML), not a format menu that then pops the system Save As. The file lands next to the source in
export/<stem>/, which Files can show — .workbench/compile/ stays hidden. After a successful export, that file opens in Files (PDF preview or image). The Tinymist live pane is unchanged. Remote Hosts return those relative paths instead of shipping PNG/PDF bytes back for Save As; reconnect after this so the Host speaks the new protocol. Fully quit the app once (preload).
Skills
- New figure-typst skill: copy a CeTZ / fletcher catalog template, edit the contract labels,
typst-compile-standalone. TikZ stays on LaTeX papers (.tex root). Wiring a finished figure into the manuscript (figure-pipeline) uses #figure / #image on Typst and \includegraphics on LaTeX.
- Template Center is not growing a Universe gallery this round.
Remote
- Connect from the Workbench add menu using hosts in
~/.ssh/config (ProxyJump, ssh-agent, and your keys work as in a terminal). A first-time host key is confirmed in the connection panel. Remote Workspace does not require a Pro license.
- The first connect pushes a slim Host program; the Linux server then downloads Node, Git, and Tectonic into
~/.prismnext-host/current/. Reconnect skips engines that are already installed. Chat on the Host uses keys from Settings → Models (BYOK); a laptop Gateway is opt-in if the server cannot reach the vendor.
- Launch no longer SSHs on startup. Sidebar lists chats for every remote workbench project; clicking a remote chat (or sending) is what connects. Offline you can still read the laptop copy of those transcripts.
- Chat, Files, Git, compile, literature, Plan, Interaction, and experiments on a remote project run on the Host. Worktrees checkout on the server. Unconnected remote tabs show a centered Connect instead of pretending the Host is there.
- Remote compile returns PDF bytes into the preview (no temp path outside your home). Remote Typst live runs Tinymist on the server; this computer only forwards the preview port. Auto-compile on remote TeX starts off and is remembered per folder.
- Opening a remote copy of a folder you already have locally gets its own workbench row. Switching to a remote project while that Host is already connected fills the file tree, Workspace folders, library, and experiments.
Files, TeX & Typst
- Open
.tex / .typ in Files. Compile options and template backups live under Settings → Workspace. The manuscript folder can pin a .tex or .typ, or leave the main file empty.
- Typing in Typst talks to Tinymist: live preview is an iframe, not a PDF split and not
typst watch SVG. Play / PDF / export / Agent compile use tinymist compile. Compile problems use the Files toolbar red mark (click for the list; click the preview to jump to source).
- LaTeX still auto-compiles the PDF after a short pause in typing; Typst live updates as you type. Auto-compile pauses during a chat turn so the engine is not fighting the agent.
Workbench & chat
- Chat’s homepage toolbar has a Host control (local vs server IP). Worktree sits under Host, not as its own button. A chat with messages shows a copyable locus (project · branch · worktree, or IP · branch · worktree).
- Session rows use the full title; pin / archive / time overlay on hover. Titlebar status lists this computer and each live Host.
- Dialogs follow Settings → Appearance (UI font and size). New Project on a remote host uses the same panel as local create.
Workbench
- The left sidebar is a workbench tree: open projects stay listed with their chats underneath. Switching chats changes the file tree, library, and panels without stopping the previous project’s agent.
- Quit and reopen restores your last project and chat tabs. The default project can leave the workbench like any other folder; add it back from Recents (marked Default).
- Drag project rows to reorder; filter chats by Workbench or Updated; archived chats live in a footer view. Project rows use folder marks.
- Sessions live in
~/.prismnext/sessions/; per-project libraries and worktrees under ~/.prismnext/projects/; project metadata in <project>/.workbench/.
- A background chat waiting for approval no longer steals focus — the sidebar marks the row and a title-bar chip names the project.
- The Welcome / environment page is gone. Opening lands on a real default project at
Documents/PrismNext.
Chat & agent
- Session rows show waiting, running, unread, and read. Right-click to pin, rename, pick an icon, mark unread, archive, or copy session ID / branch / a markdown transcript.
- Chat runs on the embedded Pi host in the desktop app: send, history, permissions, Plan mode, Task delegation, MCP, skills, and the provider catalog go through
agent:*.
- Teams v2 staffs the desk — one Lead voice, Task specialists, skills, and team MCP — with PermissionGate Allow / Deny cards.
- Conversation UI follows Pi’s turn model: thinking/tool folds, undo/rollback, permission cards above the composer, and a “show earlier” bar after context compress.
- Empty homepage composer includes a project picker. After the first reply, PrismNext asks the model for a short title.
- New and Default chat backgrounds are paper planes. Choosing a Git branch in AI Chat checks it out, same as the Git panel.
Git
- The Git panel shows ahead/behind against any remote, plus Fetch, Pull (fast-forward), Push / Publish, and Add remote when none is configured.
- After a feature branch is pushed, Create PR can open a GitHub pull request via
gh.
- Changes lenses: last agent turn, uncommitted / staged / unstaged, per-commit history, and Branch changes (net
default...HEAD).
- Isolated worktree checkouts stay under the app home, not inside the paper folder.
Shell
- Pixel shell: Left / Content / Right use remembered pixel widths. Content shrinks first; RightArea maximizes after Content hits 400px plus 140px of sash travel.
- Desktop glass is the left rail only (Electron 43 vibrancy / Windows Mica). Title bars stay opaque.
- Customize visible workspace modules from the left-sidebar context menu. RightArea shortcuts: ⌥⌘B split, ⌃⌘B maximize.
Browser, literature & logs
- Browser address bar suggests bookmarks, recents, URLs, and search.
- Library no longer double-lists papers on first open.
- Application Logs load the full ring buffer and record compile, agent host, project/git, and IPC events — without chat text or secrets.
Website
- Homepage, Privacy, and Terms now match 0.8: five-pillar architecture, Workbench + embedded Pi,
.workbench/ vs ~/.prismnext/, and Git remote / change-lens copy.
- Privacy Policy, Terms, Open Source Notices, and Security stay linked from the site footer and Settings → About.
Under the hood
- Electron 43 (Chromium 150 / Node 24), TypeScript 7 type-checking, Vite 7 / electron-vite 5.
- See
changelog/series/0.8.x.md for the full development log.