Self-hosted service
ThinkInAIXYZ/deepchat avatar
ThinkInAIXYZ/deepchat

DeepChat: a local-first desktop client that keeps the tape

DeepChat - A smart assistant that connects powerful AI to your personal world.

6,347 stars742 forksTypeScriptApache-2.0

At a glance

What is it?
DeepChat is an Apache-2.0 open-source local-first AI agent desktop client built on Electron and TypeScript, unifying cloud providers and local Ollama models with strong MCP support, installable Skills that import and export across Claude Code, Codex, Cursor and Copilot, native ACP agent integration, remote control from five messaging platforms, and the Tape.systems philosophy that keeps every session's context, tool calls and token budgets recoverable and inspectable.
Who is it for?
Use DeepChat when AI conversations are work sessions rather than questions, long-running agent tasks with tool calls, recoverable history and inspectable token budgets, and you want them on your own machine with local storage and proxy support. Prefer a plain chat client when the need is conversational Q&A with no agent machinery, or a browser tool when nothing should be installed.
Can I use it commercially?
Yes. Apache-2.0 is a permissive licence: you can use, modify and sell software built on it, as long as you keep its copyright and licence notices.
Is it still maintained?
Yes. The repository last received commits 4 days ago.
What is it written in?
Mainly TypeScript, according to GitHub's language statistics.

Answers come from the project's GitHub data, last synced on September 27, 2026, and from our analysis. They are not legal advice.

Editorial analysis

The Tape.systems philosophy, stated up front

DeepChat introduces itself as an open-source, local-first AI agent desktop client designed around the Tape.systems philosophy, and the phrase is defined immediately, keep the process, so context, tool calls, requests and results stay recoverable, traceable and inspectable. The concrete expression is the Session Tape, structured work history recorded for recovery, resume and future agent memory flows, and Trace previews that show request sequences, provider and model metadata, Tape view manifests, included entries and token budgets. In a field where the dominant clients treat a conversation as an ephemeral scroll, committing to a durable, inspectable record of what the agent did is an architectural position, and it pairs naturally with long-lived sessions that hold project folders, permission modes, tool output and resumable context. For anyone debugging why an agent took a path, or auditing what a tool call returned, the tape is the difference between reading a log you designed and reconstructing one you did not.

One entry point for models, ACP agents and bots

The model selector in DeepChat is more than a provider picker, DeepChat agents, ACP-compatible agents and remote-capable bots are all selectable from one model-like entry point. The ACP integration, Agent Client Protocol, runs coding and task agents as first-class entries with built-in or custom commands, and provides a workspace UI for the structured plans, tool calls and terminal output those agents produce when they offer them. The provider layer beneath spans mainstream cloud APIs, OpenAI, Gemini and Anthropic formats, anything compatible with those formats, and locally deployed Ollama models, with a provider database fetched at build time from a public configuration repository. The pitch is consolidation, one desktop application where the question of which model, which agent framework and which runtime becomes a dropdown rather than a different application, and the unified multi-model management is listed among the headline advantages for exactly that reason.

MCP with resources, prompts and one-click install

The MCP support is described as strong, and the qualifier is unpacked rather than left as an adjective, Resources, Prompts and Tools are all supported, alongside multiple transports, inMemory services and one-click installation. That is the full surface of the Model Context Protocol rather than a tools-only subset, meaning servers can expose readable resources and reusable prompt templates in addition to callable tools, and the one-click path lowers the barrier that usually requires editing a JSON configuration by hand. The inMemory services option matters for embedded servers that ship inside the client instead of launching as separate processes, and multiple transports cover the ways MCP servers actually connect. Combined with the Tape, tool activity through MCP servers lands in the recorded history like any other call, so an agent's use of an external server is inspectable after the fact rather than invisible between request and response.

Skills that travel between tools

The Skills system is the feature with the most cross-tool ambition. Skills install from folders, ZIP files or URLs, and enable per conversation, so DeepChat loads task-specific instructions, references and optional scripts only when a session calls for them, code review, documents, frontend work, Office and PDF tasks among the named uses. The interesting half is portability, Skills import and export with Claude Code, Codex, Cursor, Windsurf, GitHub Copilot and other compatible tools, meaning the skill files a team maintains for one assistant can move into DeepChat and back rather than being rewritten per client. That interoperability reflects where the ecosystem has settled, agent skills as a shared artifact format, and it positions DeepChat as a participant in that format rather than a silo. For a team standardizing how agents approach their codebase, one set of skills feeding every tool is cheaper than maintaining parallel instruction sets.

Remote control from five messaging platforms

The remote control feature extends the desktop client outward, sessions are controllable from Telegram, Feishu and Lark, QQBot, Discord, and WeChat iLink, the messaging platforms that dominate the Chinese and international markets respectively. The design reads the local-first philosophy correctly, the agent runtime stays on your machine with local storage, while the control surface travels to wherever you actually are, a phone on Telegram or a work chat on Feishu, so a long-running agent task can be started at a desk, monitored from a phone and resumed later without the runtime ever leaving the local machine. The remote-ready workflows are listed among the reasons to choose the client, and the pairing of local-first storage with messaging remote control is the specific combination, cloud-free execution with pocket-accessible supervision, that neither a pure cloud assistant nor a pure desktop tool offers alone.

Privacy claims made operational

The privacy stance is written as two mechanisms rather than a sentiment, local data storage and network proxy support to reduce the risk of information leakage. Local storage means conversation history, session tapes and configuration live on the user's disk rather than a vendor's cloud, the local-first in the product description doing real work, and proxy support lets all model traffic route through infrastructure the user controls, relevant wherever direct provider connections are restricted or undesired. The Apache-2.0 license is separately framed as business-friendly, suitable for commercial and personal use, so organizations can embed and modify without copyleft concerns. The sponsor block is kept visibly separate from the product, two API relay and discount services with affiliate links, monetization that lives in the README rather than in the data path, consistent with the claim that the client itself holds your data locally.

A test suite with five memory configurations

The engineering underneath is modern and unusually well-instrumented. The client is Electron with TypeScript, built through electron-vite, pinned to Node 24 and pnpm 10 with the package manager enforced at preinstall. The test story goes beyond convention, vitest configurations split by concern, main-process tests, renderer tests, and a family of five memory-specific configurations, memory, memory-eval, memory-native, memory-perf and a shared baseline, with scope-checking and type-checking scripts guarding the memory suite before it runs, plus an agent behavior eval for the native agent and Playwright smoke tests end to end. Formatting and linting run on oxfmt and oxlint, a prebuild step fetches the provider database and ACP registry so the shipped client knows the current landscape, and the repository carries AGENTS.md and CLAUDE.md with a .agents directory, the by-now-standard posture of a project developed partly by coding agents. Releases are fast, v1.1.2 on 2026-09-20 and two betas within the following week, with the last push on 2026-09-26.

Editorial conclusion

Use DeepChat when AI conversations are work sessions rather than questions, long-running agent tasks with tool calls, recoverable history and inspectable token budgets, and you want them on your own machine with local storage and proxy support. Prefer a plain chat client when the need is conversational Q&A with no agent machinery, or a browser tool when nothing should be installed. Verify first which model providers you will configure and their API format, decide whether your workflows need the agent depth of ACP and Skills or only chat, and expect rapid iteration, with the current line shipping beta releases days apart.

Frequently asked questions

What is DeepChat?

DeepChat is an open-source, local-first AI agent desktop client built around the Tape.systems philosophy of keeping sessions recoverable and inspectable. It unifies cloud providers like OpenAI, Gemini and Anthropic with local Ollama models, and supports MCP, installable Skills, ACP agent integration and remote control from messaging platforms including Telegram, Discord and Feishu.

How private is DeepChat?

The client stores data locally rather than in a vendor cloud, supports network proxies so model traffic can route through infrastructure you control, and is designed to reduce information leakage by those two mechanisms. It is Apache-2.0 licensed, so the code can be audited and modified.

Which Skills formats does DeepChat support?

Skills install from folders, ZIP files or URLs and enable per conversation. They import and export with Claude Code, Codex, Cursor, Windsurf, GitHub Copilot and other compatible tools, so skill files move between assistants rather than being rewritten per client.

Official sources

  1. Official documentation
  2. Official README
  3. Project repository
  4. Release notes
Add this badge to your README

If you maintain this project, the badge below links readers to this analysis and shows its maintenance status from the daily GitHub snapshot. Paste the markdown into your README; add ?metric=license or ?metric=stars to the image URL for a different field.

Add this badge to your README

markdown
[![Hysen Labs](https://hysenlabs.com/badge/thinkinaixyz-deepchat.svg)](https://hysenlabs.com/projects/thinkinaixyz-deepchat)