
DeepChat 本地优先 AI Agent 桌面客户端实战指南安装配置、Tape 会话追踪、Skills、ACP 与远程控制【免费下载链接】deepchatDeepChat - A smart assistant that connects powerful AI to your personal world项目地址: https://gitcode.com/GitHub_Trending/dee/deepchatDeepChat 是一款开源、本地优先local-first的 AI Agent 桌面客户端将模型、工具、Skills、Agent 运行时、Tape 会话记录与长生命周期会话整合进一个桌面应用中。本文以仓库根目录的 README.md 为主线结合 docs/README.md 文档索引、docs/ARCHITECTURE.md 架构说明、docs/FLOWS.md 流程文档以及src/main/下的模块源码完整讲解 DeepChat 的功能全景、Tape 会话体系、Skills、ACP 集成、远程控制、模型配置以及从安装到开发构建的完整实操路径。读完本文你将掌握 DeepChat 的安装配置方法、核心架构心智模型以及如何利用 Tape、Skills、ACP 和远程通道搭建一套可恢复、可追踪、可远程驱动的个人 AI Agent 工作台。一、项目概览一个应用整合 Agent 全链路DeepChat 的核心定位是本地优先Local-First的 AI Agent 桌面客户端无论你使用的是 OpenAI、Gemini、Anthropic 等云端 API还是本地部署的 Ollama 模型都能在同一个应用内获得流畅体验。其会话与 Agent 进程遵循Tape.systems 哲学——保留过程让上下文、工具调用、请求与结果始终可恢复recoverable、可追踪traceable、可检查inspectable。在能力矩阵上DeepChat 同时提供强大的MCPModel Context Protocol支持可安装的Skills技能包ACPAgent Client Protocol外部 Agent 集成对Telegram、Feishu/Lark、QQBot、Discord、WeChat iLink等消息应用的远程控制。从 docs/FLOWS.md 可以看到桌面端、远程端Remote与定时任务Scheduler共用同一套 Session 生命周期Scheduler 每次运行创建新的 detached SessionRemote 保存自己的 endpoint bindingDesktop 只保存 renderer binding。这意味着同一套会话基础设施可以同时服务三种入口这也是 DeepChat 一个应用整合 Agent 全链路在架构层面的直接体现。二、为什么选择 DeepChat核心优势对照 README 的 Why Choose DeepChat 章节DeepChat 与其他 AI 工具相比的差异化优势如下本地优先的 Agent 桌面客户端在同一个本地应用中运行 DeepChat Agent、ACP Agent 与远程就绪remote-ready的 BotTape.systems 哲学Agent 工作复杂时保留可恢复的会话历史、追踪请求上下文、检查 token 预算可随行迁移的 Skills按会话安装、导入、导出并启用可复用的 Skills覆盖代码审查、文档、前端、Office/PDF 等任务原生 ACP 集成把 ACP 兼容的编程与任务 Agent 作为模型选择器中的一等公民运行强大的 MCP 支持支持 Resources、Prompts、Tools、多种 transport、inMemory 服务与一键安装远程就绪工作流从 Telegram、Feishu/Lark、QQBot、Discord、WeChat iLink 控制 DeepChat 会话统一多模型管理一个应用支持主流云端 LLM 与本地 Ollama 模型无需在多款应用间切换隐私优先本地数据存储与网络代理支持降低信息泄露风险商业友好基于 Apache License 2.0 开源适合商业与个人使用。三、核心功能全景3.1 本地优先的 Agent 桌面客户端从同一个类模型入口选择 DeepChat、ACP 以及具备远程能力的 Agent运行长生命周期会话支持项目文件夹、权限模式、工具输出与可恢复上下文。从 docs/architecture/agent-system.md 可知AgentManager只按 canonicalAgentDescriptor.kind选择 backendkinddeepchat走DeepChatAgentRuntime - DeepChatAgentInstance - DeepChatLoopEnginekindacp走AcpAgentRuntime - AcpAgentInstance - ACP process/protocol。其中kinddeepchat providerIdacp是兼容组合仍运行 DeepChat loop仅把 ACP 当作 provider。相关实现集中在 src/main/agent/ 下入口文件包括 src/main/agent/manager/agentManager.ts 与 src/main/session/turn.ts。3.2 Tape 与 TraceSession Tape记录结构化工作历史用于恢复recovery、续跑resume与未来的 Agent memory 流Trace 预览展示请求序列、provider/model 元数据、Tape view manifest、包含/排除条目与 token 预算让长时运行的 Agent 会话更容易调试与续跑。详见本文第四节。3.3 Skills从文件夹、ZIP 文件或 URL 安装 Skills按会话启用 Skills让 DeepChat 加载任务特定指令、参考文件与可选脚本支持与 Claude Code、Codex、Cursor、Windsurf、GitHub Copilot 等兼容工具互相导入导出。详见本文第五节。3.4 ACPAgent Client Protocol集成将 ACP 兼容的 Agent内置或自定义命令作为可选择的模型运行ACP 工作区 UI 展示结构化计划、工具调用与终端输出由 Agent 提供时。详见本文第六节。3.5 远程控制从 Telegram、Feishu/Lark、QQBot、Discord、WeChat iLink 控制 DeepChat 会话绑定远程 endpoint 到会话、切换模型、回答待处理的交互、停止运行、远程打开桌面会话。详见本文第七节。3.6 多模型与多模态聊天能力完整的 Markdown 渲染代码块渲染基于 CodeMirror多窗口 多标签架构支持跨维度的并行多会话操作像用浏览器一样用大模型Artifacts 渲染支持多样化的结果呈现消息支持retry生成多个变体对话可自由fork支持渲染图片、Mermaid 图表等多模态内容支持 GPT-4o、Gemini、Grok 文生图支持在内容中高亮外部信息源如搜索结果。3.7 搜索扩展能力内置集成 BoSearch、Brave Search 等头部搜索 API让模型智能决定何时搜索通过模拟用户网页浏览支持 Google、Bing、百度、搜狗公众号搜索等主流搜索引擎让 LLM 像人类一样读取搜索引擎支持读取任意搜索引擎只需配置一个搜索助手模型即可把内网、无 API 引擎或垂直领域搜索引擎接入作为模型信息源。3.8 强大的 MCP 支持完整支持 Resources / Prompts / Tools支持 StreamableHTTP、SSE、Stdio 等 transport官方 Node.js 工具链npx/node 风格服务可按需在 Settings 中安装inMemory 服务涵盖代码执行、网页信息检索、文件操作等常用工具清晰的工具调用展示支持参数与返回数据调试DeepLink支持一键安装 MCP 服务。从 docs/architecture/tool-system.md 看MCP 模块src/main/mcp/负责 server/client 生命周期、OAuth、配置与 MCP 工具调用ToolService.getAllToolDefinitions()组合 MCP 工具与本地 Agent 工具处理 reserved name、disabled 配置与 model-visible capability并为每个 Session 发布独立 source mapping。3.9 平台、安全与商业友好多平台支持Windows、macOS、Linux安全优先设计聊天数据与配置数据预留加密接口与代码混淆能力隐私保护支持屏幕投影隐藏、网络代理等商业友好Apache License 2.0企业集成只需少量配置改动即可使用预留的加密混淆安全能力模型 provider 与 MCP 服务高度解耦可以低成本自由定制合理架构实现数据交互与 UI 行为分离充分利用 Electron 能力而非简单 Web 套壳。关于这些特性的更多使用细节可查阅 docs/README.md 文档索引。四、Tape 与 Trace可恢复、可追踪的会话体系Tape 是 DeepChat 架构中最重要的设计之一。仓库内存在一份独立的架构合同文档 docs/architecture/tape-system.md它揭示了 README 中 Tape Trace 的底层实现。4.1 Tape 是什么Tape 是与 Session 同寿命的append-only fact store只追加的事实存储在同一个物理 entry 序列中承载三族语义隔离的事实Context Tape保存可回放的消息事实、anchor、ViewManifest、provider attempt 与 Subagent lineage服务于 context assembly上下文组装、recall召回、replay重放与审计Execution Journal保存 Run、工具副作用与终态的原生边界事实服务于失败分类与崩溃后对账Contract lineage保存冻结的任务语义与验收裁决服务于 live delegation 的约束、交接、评价与审计。关键原则是Tape entry 只能 append。更正、压缩与 handoff 通过新 fact/anchor 表达不原地改写旧 entryanchor 改变后续读取起点或重建状态但不删除被覆盖的历史。4.2 分层与所有权Tape 代码严格分层能力与 owner 的对应关系如下能力Ownerentry/fact/ref、effective semantics、ViewManifest/replay 纯逻辑src/main/tape/domain/消费方能力与 storage portssrc/main/tape/ports/Fact、Execution Journal、Contract、Reconciler、Recall、Lineage、View/Replay servicessrc/main/tape/application/SessionTape兼容 facadesrc/main/tape/application/sessionTape.tsappend/read/query storesrc/main/tape/infrastructure/sqlite/tapeEntryStore.tssearch projectionsrc/main/tape/infrastructure/sqlite/tapeSearchProjectionStore.ts物理 lifecycle deletesrc/main/tape/infrastructure/sqlite/tapeLifecycleAdapter.tsruntime assemblysrc/main/agent/deepchat/runtime/tapeViewAssembler.tspolicy selectionsrc/main/agent/deepchat/runtime/tapeViewPolicy.tsmodel-facing toolssrc/main/tool/agentTools/agentTapeTools.ts数据流为ConsumersAgent/Transcript/Memory/Settings/IPC→ PortsTape capability ports→ FacadeSessionTape compatibility facade→ ServicesApplication services→ StoresEntry store/Search projection/Lifecycle adapter→ SQLiteShared Session SQLite connection。Tape 代码只从src/main/tape/或能力 port 导入src/main/session/data/下不再保留 Tape 的兼容转发路径。4.3 Execution Journal崩溃后可对账的 Run 记录每个 loop 或 deferred tool 执行都会创建新的 UUIDrunId一次工具 operation 使用结构化身份(runId, requestSeq, providerToolCallId)。v1 使用四类 immutable event且每个事件都有明确的 commit boundaryeventcommit boundaryexecution/run_startedRun 注册、provider 调用或 deferred tool 执行之前execution/dispatch_committed最后一条本地 policy/argument/abort/refusal gate 之后、真实副作用调用之前execution/tool_outcome已知 success/error outcome 之后、任何 transcript/context/UI result projection 之前execution/run_terminalterminal transcript、status、hook 与 renderer projection 之前Journal 只保存 canonical arguments hash 与已解析 target、canonical response hash 与 error bit不复制 response/error 文本、MCP envelope、二进制或临时路径。DeepChat harness 构造时会先读取原生 Journal facts再构建 runtime graph对indeterminate、corruption或缺少 terminal fact 的 Run 输出结构化parked诊断且不会自动重放遗留 operation。4.4 View 与 ViewManifest每次 provider request 都使用一个明确的 effective viewTape entries anchors linked child head - selected policy and version - TapeViewAssembler - ordered provider messages - ViewManifest - provider request traceViewManifest记录 policy、version、context builder、selection reason、included/excluded entry、synthetic contribution、anchor 与 token budget provenance。每一次确定的 provider payload 只写一个view/assembled以 request sequence 标识每个真正启动的 physical attempt 另 append 一个幂等的provider/attempt_completedevent。4.5 模型可见的 Tape 工具模型只可调用tape_search在授权 view 内查找与tape_context读取已找到 entry 的周边上下文tape_info、tape_anchors是 diagnostic 工具tape_handoff是 runtime-only。五个名称全部 reservedMCP 不能 shadow持久化 disabled-tool 配置也不能关闭这些 system capability。相关实现见 src/main/tool/agentTools/agentTapeTools.ts。4.6 测试保障Tape 关键行为测试位于 test/main/session/data/tape*.test.ts、transcriptAtomicity.test.ts、transcriptProjection.test.ts等分层守卫位于test/main/tape/layerBoundaries.test.ts测试至少覆盖正常 chat、resume、tool interaction、compaction、context pressure、Subagent frozen head、provider attempt outcome 与旧 manifest 读取。五、Skills可安装、可导入导出的领域技能DeepChat Skills 与标准 Agent Skills 规范兼容。一个 Skill 可以包含任务指令、参考文件、assets 与可选脚本启用后 DeepChat 可以更像一个领域专家那样工作。5.1 安装与互操作可从文件夹、ZIP 文件或 URL安装 Skills可与Claude Code、Codex、Cursor、Windsurf、GitHub Copilot、Kiro、Antigravity、OpenCode、Goose、Kilo Code等兼容工具互相导入导出。5.2 内置 Skills内置 Skills 覆盖生成式艺术generative art、代码审查code review、DeepChat 设置、文档协作、DOCX、前端设计、git commit message、信息图语法infographic syntax、MCP 构建、PDF、PPTX、Skill 创建、Web Artifacts、XLSX 工作流。5.3 快速开始打开Settings → Skills安装或导入一个 Skill在需要该能力的会话中启用它。5.4 源码视角Skills 由 src/main/skill/ 负责全局 Skills 包、Agent binding、外部快照导入、Session 选择与 Plugin contribution。根据 docs/architecture/tool-system.md有效 Skills 是Session 持久化选择 ∩ 当前 Agent 有效启用 catalog的交集transfer、rebind、fork 与 Subagent entry 都必须重新计算交集。Skill import 会显式选择目标 Agent、预览操作并在 Main 中重复校验后才在共享根目录暂存独立的包快照并绑定到该 Agent。完整的 Skills 管理产品合同可参考 docs/features/deepchat-skills-management/spec.md。六、ACP 集成把外部 Agent 运行时接入模型选择器DeepChat 内置对Agent Client Protocol (ACP)的支持可以将外部 Agent 运行时以原生 UI 集成进来。启用后ACP Agent 会以模型选择器中的一等条目出现你可以直接在 DeepChat 内使用编程 Agent 与任务 Agent。6.1 快速开始打开Settings → ACP Agents并启用 ACP启用内置 ACP Agent 或添加自定义 ACP 兼容命令在模型选择器中选择该 ACP Agent 启动 Agent 会话。6.2 源码视角ACP 代码集中在 src/main/agent/acp/按 docs/architecture/agent-system.md 分为catalog/registry、migration 与 settingslaunch/安装与 launch specclient/connection 与 protocol session ownerruntime/capability、process、session、filesystem、terminal、permission 与 persistenceinstance/per-session ACP statecompatibility/允许保留的外部格式 adapter。ACP capability 必须来自 initialize result未声明能力失败关闭filesystem 与 terminal 请求受 workspace/path guard 约束取消、process exit、permission resolver 与 session persistence 都由 ACP runtime 自行处理不借用 DeepChat loop 状态。依赖方面package.json 中声明了agentclientprotocol/sdk^0.16.1ACP 相关契约演进可参考 docs/architecture/cua-driver-0-17-contract-migration/spec.md 等文档。七、远程控制从消息应用驱动 DeepChatDeepChat 可以被消息应用控制即使你不在桌面端也能保持会话运行。在Settings → Remote下配置远程通道。7.1 支持的通道与能力支持 Telegram、Feishu/Lark、QQBot、Discord、WeChat iLink。远程 endpoint 可以绑定到一个 DeepChat Session然后支持创建新会话、列出并切换最近会话、停止生成、在桌面端打开当前会话、回答待处理问题或权限提示、切换模型、检查运行状态。7.2 常用命令常见命令包括/start、/help、/pair、/new、/sessions、/use、/stop、/open、/pending、/model、/status。7.3 源码视角从 docs/FLOWS.md 的 Remote 流程图看Remote channel 收到认证后的 command/message →RemoteService解析 endpoint binding 与命令 → 通过 Session ports 执行 create/restore/send/cancel/interact →AgentManager解析 typed backend → 流式/终态投影 →DeliveryService渲染并投递回 channel。Remote 负责 channel runtime、endpoint binding、授权、命令解析与结果发送但不拥有 Session 或 Agent 状态窗口关闭不会终止 Remote-bound Session。实现位于 src/main/remote/。Feishu 通道的 MCP 服务与设置界面见 plugins/feishu/。八、支持的模型提供商8.1 云端与本地模型矩阵DeepChat 内置了大量模型提供商的一等集成包括但不限于DeepSeek、Moonshot/Kimi、OpenAI含 OpenAI Responses、Gemini、AnthropicOllama本地模型提供完整的模型下载、部署、运行管理能力无需命令行操作Zhipu智谱、Doubao豆包、Hunyuan腾讯混元、DashScope阿里百炼、MiniMax、ModelScope魔搭聚合/中转平台OpenRouter、New API、AIHubMix、JieKou.AI、ZenMux、302.AI、TokenFlux、o3.fan、OrcaRouter、Synthorai云厂商服务Azure OpenAI、AWS Bedrock、Vertex AI、Vercel AI Gateway、GitHub Models、GitHub Copilot推理平台Groq、Fireworks、Together、SiliconFlow硅基流动、Novita AI、PPIO、Astraflow、BurnCloud、CherryIn、Voice.ai、Xiaomi小米 MiMo其他Qiniu七牛、Poe、LM Studio、GrokxAI。模型提供商图标资源统一存放在 src/renderer/src/assets/llm-icons/provider 配置、认证与模型执行逻辑位于 src/main/provider/。8.2 兼容任意 OpenAI/Gemini/Anthropic API 格式的提供商除了上述内置提供商DeepChat 还兼容任何采用 OpenAI / Gemini / Anthropic API 格式的模型提供商。这意味着私有网关、企业内部模型服务或自建代理都能通过标准接口接入无需改动应用代码。从 package.json 的依赖ai-sdk/openai-compatible、ai-sdk/openai、ai-sdk/anthropic、ai-sdk/google等可以印证这一统一多模型管理能力的实现基础。九、典型使用场景DeepChat 适用于多种 AI 应用场景日常助手回答问题、提供建议、辅助写作与创作开发辅助代码生成、调试、技术问题求解学习工具概念讲解、知识探索、学习引导内容创作文案撰写、创意灵感、内容优化数据分析数据解读、图表生成、报告撰写。十、快速开始安装、配置与首次对话10.1 下载与安装有以下三种方式可选方式一Releases 发行版从项目的 Releases 页面下载对应系统的最新版本——Windows.exe安装文件macOS.dmg安装文件Linux.AppImage或.deb安装文件。方式二官方下载页面从 DeepChat 官方下载页面获取安装包。方式三Homebrew仅 macOSbrew install --cask deepchat10.2 配置模型启动 DeepChat 应用点击设置图标选择 Model Providers 标签页添加你的 API keys或配置本地 Ollama。10.3 开始对话点击 按钮创建新会话选择要使用的模型开始与 AI 助手交流。关于上手与全部功能的完整指南可参考 docs/README.md 文档索引其中 docs/guides/getting-started.md 提供了当前代码入口与本地开发命令。十一、开发指南从源码构建 DeepChat11.1 环境要求根据 package.json 与 docs/guides/getting-started.mdNode.js24.18.0 25pnpm10.34.5 11Git仓库使用pnpm作为唯一包管理器preinstall脚本通过only-allow pnpm强制packageManager字段固定为pnpm10.34.5。11.2 安装依赖pnpm install pnpm run installRuntime # 如果报错No module named distutils pip install setuptoolsinstallRuntime对应 scripts/install-runtime.mjs用于安装运行时依赖按平台/架构细分还有installRuntime:win:x64、installRuntime:mac:arm64、installRuntime:linux:x64等变体以及installRuntime:duckdb:vss:*DuckDB 向量检索扩展系列命令。注意Windows 上为了让非管理员用户创建符号链接与硬链接需要在 Settings 中启用Developer Mode或使用管理员账户否则pnpm操作会失败。11.3 启动开发pnpm run dev开发时还有一些调试变体pnpm run dev:trace # 关闭 Vue DevTools 浮层 pnpm run dev:inspect # 启用 9229 端口 inspector pnpm run dev:linux # Linux 下禁用 sandbox11.4 构建# Windows pnpm run build:win # macOS pnpm run build:mac # Linux pnpm run build:linux # 指定架构打包 pnpm run build:win:x64 pnpm run build:win:arm64 pnpm run build:mac:x64 pnpm run build:mac:arm64 pnpm run build:linux:x64 pnpm run build:linux:arm64从 package.json 可以看到各平台构建在pnpm run build含 typecheck、electron-vite build 与 CLI 构建之外还会依次执行 plugin bundlecua / feishu 插件与对应平台的 DuckDB VSS 运行时安装。Windows 与 Linux 由 GitHub Action 打包macOS 相关的签名与打包另有专门流程。11.5 当前代码心智模型根据 docs/guides/getting-started.md当前架构遵循Vue component / Pinia store - src/renderer/api/*Client - window.deepchat - src/shared/contracts/routes events - module routes - owning main modulemain 进程只有一个 composition rootsrc/main/app/composition.ts它创建模块、注入窄依赖、注册 route、排定 start/stop但不向业务代码提供模块查找入口。src/main/下的模块划分app、desktop、session、agent、provider、tool、mcp、skill、plugin、memory、knowledge、workspace、file、remote、scheduler、sync、routes详见 docs/guides/getting-started.md。推荐的阅读顺序为docs/ARCHITECTURE.md→docs/FLOWS.md→src/shared/contracts/routes.ts→src/shared/contracts/events.ts→src/preload/createBridge.ts→src/renderer/api/→src/main/app/composition.ts→ 对应模块的routes.ts与 owner。11.6 质量门与测试完成 feature 后运行质量门pnpm run format pnpm run i18n pnpm run lint pnpm run typecheck再按改动范围运行 Vitest。涉及 Agent legacy boundary 时补跑pnpm run lint:agent-cleanup涉及 baseline 时使用pnpm run architecture:baseline。常用测试命令pnpm test运行全部 Vitest 测试pnpm run test:mainmain 进程测试pnpm run test:rendererrenderer 测试pnpm run test:memoryMemory 范围/类型检查加测试pnpm run test:agent:eval离线确定性 Agent 行为基线使用 scripted provider/tool 覆盖 production looppnpm run e2e:smokePlaywright 冒烟测试配置见 test/e2e/playwright.config.ts规格文件在 test/e2e/specs。仓库还提供随桌面应用分发的deepchatCLI 命令薄客户端所有 Provider、凭据、Skill、MCP、OCR、Artifact 与 Agent 状态仍由运行中的 main 进程持有其完整能力清单、退出码约定与安全边界见 docs/guides/cli.md插件打包规则见 docs/guides/plugin-packaging.md。贡献流程请查阅 CONTRIBUTING.md。十二、开源协议DeepChat 基于Apache License 2.0开源完整协议文本见 LICENSE。项目还依赖 Vue、Electron、Electron-Vite、oxlint 等优秀开源项目其中 Bub 的 tape model 启发了 DeepChat 的 session tape 设计。延伸阅读仓库内的 docs/README.md 维护了完整的文档索引涵盖架构docs/ARCHITECTURE.md、流程docs/FLOWS.md、Agent 系统docs/architecture/agent-system.md、Session 管理docs/architecture/session-management.md、Tool/MCP/Skill/Plugindocs/architecture/tool-system.md、Memorydocs/architecture/memory-system.md、Tapedocs/architecture/tape-system.md与事件系统docs/architecture/event-system.md是继续深入 DeepChat 源码的最佳入口。【免费下载链接】deepchatDeepChat - A smart assistant that connects powerful AI to your personal world项目地址: https://gitcode.com/GitHub_Trending/dee/deepchat创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考