Cherry is the self-hosted alternative to Perplexity.
Perplexity now exposes GPT-5, Claude Opus and its Sonar family in a per-query model picker, groups research in flat single-level Spaces (50 files each on Pro, 500 on Enterprise Pro at $40/seat) and ships the Comet browser as a separate surface. It hides per-message cost behind a flat Pro subscription and stores every file and Space on Perplexity's infrastructure. Cherry puts a Preset-driven model choice on every message, replaces Spaces with an infinite nested folder tree, logs a UsageEvent per message with tokens and dollar cost and stores files privately in MinIO with presigned URLs. Multi-provider by design (OpenAI + Anthropic shipping, pluggable adapter for any provider). Self-hosted end to end. You own the whole stack.
Five gaps between Perplexity's answer engine and a real workspace.
Perplexity solved a real search-grounding problem. It never solved the workspace problem sitting underneath it.
Per-query model picker
Perplexity's model picker lets Pro users select from GPT-5, Claude Opus, Sonar and others per query, but the choice lives on the query, not the conversation, and there's no way to lock a Space to a specific model + prompt combo. Cherry Presets bundle model + temperature + system prompt + tier requirement so a whole workspace, folder or chat inherits the exact configuration. The Compare modal fires one prompt at every provider side by side, ready to diff.
Spaces are flat knowledge hubs
Perplexity Spaces bundle files (50 per Space on Pro, 500 on Enterprise Pro), a system prompt and shared threads, but you can't put a Space inside another Space and there's no way to organize a research thread across nested subtopics. Cherry's Folder entity is self-referential, with duplicate-name checks per level, circular-reference prevention and delete-only-if-empty guards. The tree nests to unbounded depth, drags between folders and stays indexed for global search across every message in every folder.
Flat pricing hides per-project cost
Perplexity Pro bills flat. There's no per-message cost and no attribution to a project or client. Cherry logs a UsageEvent per message with tokens in, tokens out, dollar cost, latency, model, preset, chat, user and workspace. The Recharts dashboard filters by today / 7d / 30d / billing cycle and breaks down by user, model or chat.
No professional reuse primitives
Perplexity's Spaces (successor to Collections) group threads and files, but there's no way to bookmark a specific message, save a passage per chat or lift a great answer into a project-wide reusable snippet. Cherry ships three tiers: Pins bookmark messages, Clipboard saves passages per chat with drag-reorder, Snippets are project-scoped reusable text with tags and one-click injection.
Comet is a browser, not a workspace
Perplexity's Comet browser bundles the answer engine into your browsing session. Great for research inside a tab, useless as the place your work lives. Cherry is the workspace where a professional team keeps its chats, folders, snippets, files, presets and cost history, accessible from any browser without needing to switch to Comet.
Where Perplexity's answer engine ends, Cherry's workspace begins.
Perplexity nailed search grounding. Cherry does something different. A Preset locks the model choice per chat instead of a per-query picker. A Folder tree nests unbounded where Spaces stay flat at one level. Pins, Clipboard and Snippets add per-message and per-chat reuse Perplexity has no equivalent for. UsageEvents log tokens and dollars per message where Perplexity Pro just bills flat. Files land in your MinIO instead of Perplexity's storage. And when you want Perplexity's search intelligence, Sonar drops in as a pluggable provider adapter.
Perplexity vs Cherry.
Named model routing, real organization, per-message cost, private storage. Everything Perplexity's consumer surface skips.
| Feature | Perplexity | Cherry |
|---|---|---|
| Model providers | Per-query picker: GPT-5, Claude Opus, Sonar, Grok, others | OpenAI + Anthropic shipping, typed adapter for any provider |
| Model choice persistence | Per-query pick, not per-Space | Preset locks model + temp + prompt across chats or workspaces |
| Organization | Spaces (flat, don't nest) | Infinite nested folder tree, self-referential parents |
| Per-message bookmarks | No | Pins with scroll-to-highlight animation |
| Per-chat clipboard | No | Drag-reorderable saved passages, promote to Snippet |
| Cross-chat snippets | Space-level shared context | Project-scoped, tagged, one-click injection to any chat |
| Model presets | Space system prompt + Focus mode | Agent Library. Presets with model + temp + system prompt + tier |
| Model comparison | Not first-class | Fire one prompt at multiple models side by side |
| Search grounding | Native (core feature) | Pluggable via provider adapter (Sonar, Brave, others) |
| Cost per prompt | Not shown | Tokens in, tokens out, dollar cost, latency on every message |
| Cost attribution | Flat Pro subscription | Per user, per workspace, per chat, per model |
| Usage dashboard | None for end users | Recharts. Today / 7d / 30d / billing cycle |
| Bulk folder upload | No | Replicates an entire OS folder tree transactionally |
| File limits per Space | 50 files (Pro), 500 files (Enterprise Pro) | MinIO storage bounded by your infrastructure, no per-folder cap |
| File storage | Perplexity infrastructure | Self-hosted MinIO with local-disk fallback, presigned URLs |
| Companion surface | Comet browser (free worldwide) | Cherry is a workspace, no browser required |
| Conversation history | Vendor-owned | Your Postgres. Exportable, portable |
| Streaming transport | Proprietary | Server-Sent Events with cancel-mid-stream |
| Team workspaces | Enterprise Pro ($40/seat) | Multi-workspace with Owner / Admin / Member roles |
| SSO | Enterprise only | Available in Enterprise, configurable on your infrastructure |
| Keyboard shortcuts | Limited | 18 mapped across Navigation / Chat / Editor / Files |
| Connectors | Limited catalog | GitHub + Google Drive shipping, Notion / Slack / Jira on roadmap |
| Apps | Focus modes | Canvas, Code Interpreter (beta), Image Generation, modular |
| Outbound API | Sonar API only | Cherry outbound API for third-party integration |
| Deployment | SaaS only | Self-hosted. On-prem, cloud, run as your own SaaS. You decide |
| Ownership | Vendor-owned | You own the code, the data, the deployment |
Frequently asked questions.
Does Cherry do search grounding like Perplexity?
Cherry treats search as a pluggable provider capability, not a core product identity. The provider abstraction is a typed interface, so wiring Perplexity's own Sonar API, Brave, Kagi or any search-grounded provider is a single-file adapter addition. You get the citations pattern without being locked into a single vendor's routing.
Which exact model answered my prompt?
In Cherry, always the one you picked. Every Agent Library Preset names the model explicitly. Every UsageEvent records the model, so you can audit any past response and know which exact provider and model produced it. No opaque routing.
How does Cherry replace Perplexity Spaces?
Folders replace Spaces with unbounded nesting depth. Preset-per-Folder gives you Space-level system prompts. Snippets add project-scoped reusable text that Perplexity Collections don't. Pins and Clipboard add per-message and per-chat reuse that Perplexity has no equivalent for.
How granular is cost tracking?
Every message generates a UsageEvent record with tokens in, tokens out, dollar cost, latency in ms, model, preset, chat, user and workspace. The Recharts dashboard filters by today, 7 days, 30 days or billing cycle and shows a daily cost bar chart, breakdown by user / model / chat and storage growth in GB.
Where do uploaded files live?
Files live in MinIO on your infrastructure, with a local-disk fallback if MinIO isn't wired. The storageKey is stored in the File record. The raw bucket path is never exposed. Every file access goes through a short-TTL presigned URL generated per request. Filenames are sanitized. If you shut Cherry down tomorrow, the files stay in your bucket.
How is Cherry deployed?
Cherry is self-hosted. Docker Compose orchestrates nginx, the Next.js frontend, the Express backend, Postgres, Redis and MinIO. Deploy it on your own hardware for internal use, run it in your cloud or spin it up as your own SaaS product. You own the code, the data and the deployment.
What does Cherry cost?
Contact sales for pricing. Every engagement is scoped to how you plan to deploy, who your users are, which provider adapters you need lit up and what support terms fit your organization.
Ready to know which model answered which prompt?
Tell us how your team uses Perplexity today, what search grounding you rely on and where Spaces stopped scaling. We'll respond within one business day with an honest read on whether Cherry fits.