SurfSense/docs/ROADMAP.md
DESKTOP-RTLN3BA\$punk 4dd3ce2f66 docs: cover the work since 2.1.0 so others can pick it up
- chat.md, overview.md: how a streamed token renders only the live reply
  (runSummaries, the 32 ms notice gap, LiveThreadRuntime, the bounded
  highlighter, memoized panels) and that the columns resize.
- model-capabilities.md, agent.md, data-model.md, 07-dev-setup.md: the two
  chat modes, their gates and defaults, where a pick is stored, the 0-id fix,
  and how to re-run the OpenRouter sweep and regenerate capabilities.json.
- RELEASE.md: the steps 2.2.0 was released by, from the bump (with its
  PowerShell form) to the tag on the merge, the Known issues, an optional
  update check and publishing with --latest; dry runs are signed.
- 06-repo-readme.md, AGENTS.md, README.md's comment: the README's structure,
  how to change it and its translations, re-checking the format table, and
  replacing the demo video.
- Stale statements fixed (the Apple agreement, opencode never shipped, three
  languages, Studio's exec(), proposal statuses, the roadmap), and each gap
  still open after the release in its doc's Known gaps, linked to #2219-#2230.
2026-10-11 17:55:51 -07:00

5.4 KiB
Raw Blame History

Roadmap

What the maintainers are working on, grouped by when. This page names the initiatives and points at the design each one builds on; the tasks and their state belong in GitHub issues, not here. There are no target dates here, only deadlines that are already fixed.

Now

  • Release and CI health. v2.0.3 was the first release to carry the llama.cpp, sd.cpp and audio.cpp runtimes, built and packaged on all three runners, and v2.2.0 the first whose installers carry opencode, signed on Windows and notarized on macOS. What is left is CI that catches a break before a release, and the installers' third-party notices (about). See packaging and updates.
  • Egress gaps. The follow-up fetch for a remote image URL leaves without a consent decision, and some stored grants no longer match what Settings › Network shows. See egress.
  • Import from cloud. The hosted export window closes on 18 Oct 2026. Imports need a progress summary, and a re-run must bring back the chat threads an interrupted import missed. See import.
  • Scraper API and MCP license mode. PATs are purged on 18 Oct 2026; after that, license mode is how scraper API and MCP users keep access. See contract 2.
  • Model catalog. One catalog for local and remote models, each classified offline from a reviewed, packaged manifest and keyed by model type. See the proposal.
  • Hosted wind-down to 18 Oct 2026. /sunset lacks the deletion date, the refund offer and the MCP change; background jobs keep running through the export-only tail; and the purge is still ahead. See sunset, the license portal and the page plan in plans/community-local/portal/02-pages.md.
  • Plugins. Redesigned: a plugin is an MCP server the agent, the chat engine and the user call through one Tool Gateway, remote servers hosted by their publishers first, with SurfSense's paid scrapers as the first paid plugin once the scraper API has license mode. The earlier local runner is kept for bundles later. See the proposal and ADRs 0051 to 0054.
  • Agent. In progress: a chat opened in Agentic mode is the agent's, answered in steps by opencode over the workspace's extracted text, on any model a technical gate, such as a stated no on tool calls, does not keep out. It makes Word, PDF, PowerPoint and Excel files as scripts SurfSense runs, revises the user's own Word, Excel and PowerPoint files into new copies, Word's as tracked changes, works on PDFs and analyses data; the user's file itself is never written. opencode ships in every installer and dev run, and a list of measured or assumed models sets each chat's default mode (model capabilities); a model below the bar will also run fixed workflows with structured output. The file agent proposal orders what comes next: engines, versions, jobs such as the contract redline, and linked folders. See agent, the agent proposal and ADR 0039.
  • Docker. The desktop stack without Electron as one container, replacing the legacy self-host compose. The CORS origins setting, the VITE_API_BASE fallback and boot outside index.ts are in; the headless entry is next. See the proposal and ADR 0035.

Next

  • Studio. PowerPoint and Excel break the builder rule: their model-written scripts run in the script runner, but nothing confines a script's network or file access, and they keep no spec, so they have no versions or Refine. Podcasts are WAV only. See Studio.
  • Local models follow-ups. What the llama.cpp runtime left open: bugs in fit and fingerprinting, install screen gaps, adding a .gguf from disk, and constrained decoding. See local models.
  • Desktop app gaps. Small, bounded gaps in documents, freshness and license settings. Library folders shipped in 2.2.0; their Trash and linking a folder on disk are designed in 01 and not built. See documents.
  • Chat eval. Score the chat's answers on every curated chat model: up to 8B on the real files on our own machines, 8B to 32B on Featherless, with 8B in both places as the check. See the proposal.
  • Retrieval: a multilingual embedder. Ranking is done and measured; the remaining gap is that a question in one language does not find its answer in another, which no ranking change reaches. The swap is small and the re-embed migration is the work. See the proposal and search.

Later

  • CUDA backend. Deferred until a measurement shows it is worth 685 MB. See the proposal.
  • Reranker. ADR 0006 names a cross-encoder reranker as a later opt-in; it needs a design first. See search.