mirror of
https://github.com/MODSetter/SurfSense.git
synced 2026-10-20 19:46:13 +00:00
5.4 KiB
5.4 KiB
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. 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.
/sunsetlacks 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 inplans/community-local/portal/02-pages.md. - Plugins. Remote plugins are built: SurfSense's scrapers on its plugin host, a signed registry of third-party plugins, and any server by URL, called by the agent in Agentic threads. Left: long calls as jobs and the host's scale rule, then the chat engine's router step for Basic threads. Bundles stay deferred. See plugins, the plugin host, the proposal for what is not built, 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_BASEfallback and boot outsideindex.tsare 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
.gguffrom 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.