Middle Mann  /  Compare  /  AI Workspaces  /  TypingMind

Cherry is the self-hosted alternative to TypingMind.

TypingMind is a browser-first multi-model chat with BYO keys, cloud sync, a Prompt Library and AI Agents. It's a great starting point for individuals. It ships as a licensed frontend layered on cloud-synced storage, and TypingMind Team adds a branded workspace with shared prompts and analytics on top. Cherry is the production-grade workspace that sits underneath: a fifteen-plus entity Postgres data model, per-message UsageEvent attribution across user / workspace / chat / model, private MinIO file storage with presigned URLs, real multi-workspace teams with roles, the Pins/Clipboard/Snippets three-tier reuse system and a Recharts usage dashboard. Self-hosted end to end. Deploy on your hardware. Run it as your own SaaS. You own the whole stack.

Browser

TypingMind stores chats in browser storage by default. Cherry uses Postgres on your infrastructure.

15+

Postgres entities power the Cherry workspace.

3

Cherry ships three content reuse tiers: Pins, Clipboard and Snippets.

Compare
Why It Exists

Four moments a licensed browser chat stops scaling.

TypingMind ships as a licensed chat frontend with BYO keys. It solves the "one interface for many models" problem cleanly for one person. It doesn't try to be the production workspace a real team runs on.

01

Browser-first storage

TypingMind stores chats in browser storage with cloud sync as an add-on. If a browser profile blows up or you switch devices without sync configured, work stops. Cherry ships PostgreSQL through Prisma as the primary store from day one. Every chat, folder, snippet, file and UsageEvent lives in a real database on your infrastructure with real backups.

02

A license, not a codebase

TypingMind is software you buy a license to. Custom behavior means feature requests. Cherry is code you deploy end to end: Next.js 14 frontend, Express backend, Postgres, Redis and MinIO, all orchestrated by Docker Compose. Extend it, brand it, wire it to your own auth, run it as your own SaaS. No license, no vendor gatekeeping.

03

Analytics, not attribution

TypingMind Team surfaces analytics at the account level. Cherry ships a UsageEvent per message with tokens, dollar cost and latency attributed to user, workspace, chat and model. Consultants can pull "what did the ACME project cost in AI last quarter" in a single query. That's attribution, not a dashboard.

04

Prompt Library vs three-tier reuse

TypingMind's Prompt Library is a saved-prompt shelf. Cherry ships three primitives: Pins bookmark any message with scroll-to-highlight, Clipboard saves passages per chat with drag-reorder, Snippets are project-scoped reusable text with tags, folder scoping and source-message tracking. Promote a Clipboard passage into a Snippet when it's worth keeping.

What Cherry Ships

A workspace with a spine, not a chat frontend with cloud sync.

TypingMind ships as a licensed chat with BYO keys, browser-first storage and TypingMind Team as the collaboration surface. Cherry sits underneath that pattern. A real Postgres schema replaces browser storage as the primary store. MinIO with presigned URLs replaces TypingMind Cloud sync. Three reuse tiers (Pins, Clipboard, Snippets) replace a Prompt Library. Per-message UsageEvent attribution replaces account-level analytics. And a full Docker Compose stack replaces "buy a license" as the deployment story.

Beyond the Browser Tab
01Postgres by default. TypingMind lives in browser storage with cloud sync bolted on. Cherry ships PostgreSQL via Prisma as the primary store
02Real file storage. TypingMind Cloud syncs chats. Cherry stores files in MinIO on your infrastructure with presigned URLs and short TTL
03Folder tree. TypingMind ships folders + projects + tags. Cherry ships a self-referential Folder entity with unbounded nesting and integrity guards
04Bulk folder upload. TypingMind uploads files one at a time. Cherry replicates an entire OS folder tree transactionally in one action
Reuse That Actually Scales
01Pins on messages. TypingMind has no per-message bookmarks. Cherry Pins any turn with scroll-to-highlight jump-back from the sidebar
02Per-chat Clipboard. TypingMind has none. Cherry saves passages per chat, drag-reorderable, promotable to a project-wide Snippet
03Snippets with lineage. TypingMind's Prompt Library saves text. Cherry Snippets add tags, folder scoping, source-message tracking and one-click injection
Production Ops & Teams
01UsageEvent per message. TypingMind Team gives account analytics. Cherry logs tokens + dollars + latency per user + workspace + chat + model
02Compare modal. TypingMind can't fire one prompt at every provider. Cherry's Compare modal renders side-by-side answers to diff
03Multi-workspace teams. TypingMind Team is a branded chat. Cherry ships Workspaces with Owner/Admin/Member roles, BillingPlan and StorageUsage
04Own the deployment. TypingMind is licensed software. Cherry is code you deploy on-prem, in your cloud or as your own SaaS. No vendor gatekeeping
Side by Side

TypingMind vs Cherry.

Both let you route multiple providers with your own keys. The gap opens the moment you scale past one user or want to own the whole stack.

Feature TypingMind Cherry
Primary storageBrowser storage with cloud syncPostgreSQL via Prisma on your infrastructure
Model providersOpenAI, Anthropic, Google, others (BYO keys)OpenAI + Anthropic shipping, typed adapter for any provider
DeploymentSaaS + licensed self-hostSelf-hosted. On-prem, cloud, run as your own SaaS. You decide
OwnershipYou buy a licenseYou own the code, the data, the deployment
Data modelChats + folders + tags + Prompt Library15+ entity Postgres schema (Workspaces, Presets, UsageEvents, more)
Folder nestingFolders + projectsInfinite nested self-referential tree
Per-message bookmarksNoPins with scroll-to-highlight animation
Per-chat clipboardNoDrag-reorderable saved passages, promote to Snippet
Cross-chat snippetsPrompt LibraryTagged, folder-scoped, source-tracked, one-click injection
Model presetsCustom Instructions per assistantAgent Library with model + temp + prompt + tier gating
Model comparisonNot first-classFire one prompt at every provider side by side
Cost per promptAccount-level analyticsTokens, dollar cost, latency on every message
Cost attributionTeam-widePer user, per workspace, per chat, per model
Usage dashboardTypingMind Team analyticsRecharts. Today / 7d / 30d / billing cycle
File storageTypingMind Cloud syncSelf-hosted MinIO with local-disk fallback, presigned URLs
Bulk folder uploadNoReplicates an entire OS folder tree transactionally
Knowledge Base / RAGYes (Knowledge Base)Files + Snippets addressable per chat, RAG roadmap
Plugins / MCPPlugins + MCP serversCherry outbound API + Apps (Canvas, Code Interpreter, Image Gen)
Streaming transportSSEServer-Sent Events with real cancel-mid-stream
Team surfaceTypingMind Team (branded workspace)Multi-workspace with Owner/Admin/Member roles
SSOTeam tierAvailable in Enterprise, configurable on your infrastructure
Keyboard shortcutsBasic18 mapped across Navigation / Chat / Editor / Files
FAQ

Frequently asked questions.

Can I still use my own API keys?

Yes. Cherry runs on shared server-side keys by default, and Enterprise deployments support per-user or per-workspace BYO keys. Every prompt hits the vendor API directly. There's no proxy adding cost or telemetry between you and OpenAI / Anthropic / whoever.

What happens to my TypingMind chats?

TypingMind exports chat history as JSON. Cherry ships an import path that walks the export, recreates folders in the Folder tree, restores messages, files and cloud-sync metadata into Postgres. Presets in the Agent Library capture the equivalent of TypingMind's Assistants.

Is Cherry a chat frontend or a workspace?

A workspace with chat as one surface. The fifteen-plus entity data model, three-tier content reuse, per-message UsageEvent attribution, MinIO file storage discipline, multi-workspace teams with roles and modular Apps (Canvas, Code Interpreter, Image Generation) are all first-class, not add-ons layered on a chat.

Does Cherry support plugins or MCP servers?

Cherry ships an outbound API for third-party integration plus modular Apps (Canvas for live rendering, Code Interpreter beta, Image Generation). MCP support is on the roadmap. Every provider adapter is a typed interface so plugging a new capability is a single-file addition.

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.

Start a Conversation

Ready to graduate from a licensed chat to a workspace you own?

Tell us how your team uses TypingMind today, how many concurrent projects you juggle and where the browser-first architecture starts biting. We'll respond within one business day with an honest read on whether Cherry fits.

Build yours

Want to own your AI workspace?

[email protected]