ARTICLE · INTELLIGENCE

战地情报 · 详情页

来自尧图项目组的一线实战观察与深度解析

DeepChat 本地优先 AI Agent 桌面客户端完全指南:Tape 会话体系、Skills、ACP 与远程控制实战

DeepChat 本地优先 AI Agent 桌面客户端完全指南:Tape 会话体系、Skills、ACP 与远程控制实战 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-firstAI Agent 桌面客户端将模型、工具、Skills、Agent 运行时、Tape 会话记录与长时间运行会话统一收敛到单一桌面应用中。本文基于官方日文版文档结合仓库源码系统讲解其 Tape/Trace 会话架构、可携带 Skills、ACP 原生集成、IM 远程控制等核心能力并给出从安装、配置模型到本地开发与多平台构建的完整实战路径。读完本文你将掌握如何安装部署 DeepChat、接入云端与本地模型、按会话启用 Skills以及如何把它接入 Telegram、飞书、Discord 等消息渠道远程驱动。项目定位与技术架构概览DeepChat 的核心定位是本地优先的 Agent 桌面客户端无论是接入 OpenAI、Gemini、Anthropic 等云端 API还是连接本地部署的 Ollama 模型都在同一个应用内完成保持流畅一致的使用体验。其会话与 Agent 进程设计遵循 Tape.systems 哲学——保留过程keep the process上下文、工具调用、请求与结果都保持可恢复recoverable、可追踪traceable、可检查inspectable。在此基础上DeepChat 提供完善的 MCPModel Context Protocol支持、可安装的 Skills、ACPAgent Client ProtocolAgent 集成以及来自 Telegram、飞书/Lark、QQBot、Discord、微信 iLink 等 IM 工具的远程控制能力。从代码结构看这是一个标准的 Electron 三进程应用详见 CONTRIBUTING.md主进程src/main/承担窗口/标签管理、配置、模型提供商、MCP、知识库、同步等运行时编排与持久化会话数据存放在 SQLiteapp_db/chat.db设置存放在 Electron Store知识库使用 DuckDB。预加载层src/preload/上下文隔离的桥接层对外暴露类型化的window.deepchatAPI。渲染进程src/renderer/基于 Vue 3 Pinia 的界面层业务代码位于src/renderer/src组件、stores、视图、i18n。这种数据交互与 UI 行为分离的架构使模型提供商、MCP 服务高度解耦便于以最小成本定制扩展。为什么选择 DeepChat核心优势与其他 AI 工具相比DeepChat 的差异化优势可以归纳为以下几点本地优先的 Agent 桌面客户端DeepChat Agent、ACP Agent、支持远程控制的 Bot 可以同时运行在同一个本地应用中。Tape.systems 哲学保留可恢复的会话历史当 Agent 工作变复杂时可以检查请求上下文与 token 预算。可携带的 Skills按会话安装、导入、导出、启用 Skills覆盖代码审查、文档、前端、Office/PDF 等任务。原生 ACP 集成把 ACP 兼容的编码/任务 Agent 作为模型同级的入口来使用。出色的 MCP 支持支持 Resources、Prompts、Tools 三大核心支持多种 Transport、inMemory 服务与一键安装。远程就绪的工作流从 Telegram、飞书/Lark、QQBot、Discord、微信 iLink 操作 DeepChat 会话。统一的多模型管理主流云端 LLM 与本地 Ollama 模型在单一应用中统一管理无需在多个应用间切换。隐私优先本地数据存储与网络代理支持降低信息泄露风险。商业友好基于 Apache License 2.0 开源适合商业与个人使用。核心功能全景本地优先的 Agent 桌面客户端在接近模型选择的统一入口中选择 DeepChat、ACP 与支持远程的 Agent支持带项目文件夹、权限模式、工具输出与可恢复上下文的长时运行会话。Tape 与 TraceSession Tape 记录结构化的作业历史为恢复、续跑与未来的 Agent memory 流程提供支撑Trace 预览可查看请求序号、提供商/模型元信息、Tape view manifest、包含的条目与 token 预算。Skills支持从文件夹、ZIP 文件、URL 安装 Skills按会话启用 Skills让 DeepChat 加载任务专属指令、参考资料与可选脚本可与 Claude Code、Codex、Cursor、Windsurf、GitHub Copilot 等兼容工具互相导入/导出内置 Skills 覆盖生成艺术、代码审查、DeepChat 设置、文档协作、DOCX、前端设计、git commit 消息、信息图语法、MCP 构建、PDF、PPTX、Skill 创建、Web Artifacts、XLSX 等工作流。ACPAgent Client ProtocolAgent 集成将 ACP 兼容 Agent内置或自定义命令作为可选择的模型运行当 Agent 提供时通过 ACP Workspace UI 展示结构化计划、工具调用与终端输出。远程控制从 Telegram、飞书/Lark、QQBot、Discord、微信 iLink 操作 DeepChat 会话支持将远程端点绑定到会话远程切换模型、回答待处理交互、停止运行、在桌面打开会话。丰富的聊天能力基于 CodeMirror 的完整 Markdown 渲染含代码块渲染多窗口 多标签架构支持跨维度多会话并行像用浏览器一样使用大模型支持 Artifacts 渲染多种结果展示消息支持重试生成多个变体对话可自由分叉fork支持图片、Mermaid 图表等多模态内容渲染支持 GPT-4o、Gemini、Grok 的文本生图能力支持在内容中高亮搜索结果等外部信息来源。搜索增强能力内置博查搜索、Brave Search 等主流搜索 API让模型智能判断搜索时机通过模拟用户网页浏览支持 Google、Bing、Baidu、搜狗公众号搜索等主流搜索引擎支持读取任意搜索引擎只需配置搜索助手模型即可把内网、无 API 的引擎、垂直领域搜索引擎接入为模型的信息源。MCP 支持完整支持 Resources / Prompts / Tools 三大核心支持 StreamableHTTP、SSE、Stdio 等 Transport内置 Node.js 工具链按需从设置安装npx/node 系服务开箱即用支持代码执行、Web 信息获取、文件操作等 inMemory 服务清晰展示工具调用、参数与返回值便于调试通过 DeepLink 支持 MCP 服务一键安装。更深入的主进程 MCP 实现可参阅 docs/architecture/mcp-v2-protocol/spec.md。其他能力多平台支持Windows、macOS、Linux本地模型部署集成 Ollama 的完整管理能力无需命令行即可控制、管理 Ollama 模型的下载、部署与运行DeepLink 支持通过链接发起会话、与其他应用无缝集成也支持 MCP 服务一键安装安全优先设计聊天数据与配置数据预留加密接口与代码混淆能力隐私保护支持屏幕投影隐藏、网络代理等方式降低信息泄露风险商业友好清晰代码结构、模型提供商与 MCP 服务高度解耦、架构合理拒绝简单 Web 套壳充分利用 Electron 能力。深入 Tape 与 Trace可恢复的会话事实存储Tape 是 DeepChat 最具辨识度的架构特性。仓库中的 docs/architecture/tape-system.md 详细规定了其设计Tape 是与 Session 同寿命的append-only fact store只追加的事实存储在同一物理条目序列中承载三族语义隔离的事实Context Tape保存可回放的消息事实、anchor、ViewManifest、provider attempt 与 Subagent lineage服务于上下文组装、召回、回放与审计Execution Journal保存 Run、工具副作用与终态的原生边界事实服务于失败分类与崩溃后对账Contract lineage保存冻结的任务语义与验收裁决服务于实时委派live delegation的约束、交接、评价与审计。Tape 条目只能追加更正、压缩与交接都通过新 fact/anchor 表达不原地改写旧 entryanchor 改变后续读取起点或重建状态但不删除被覆盖的历史。这保证任何时刻都能回溯完整作业轨迹。在 Trace 预览中你可以看到请求序号、提供商/模型元信息、Tape view manifest、包含/排除的上下文条目与 token 预算——这正是长时 Agent 会话易于调试与续跑的原因。模型只可调用tape_search与tape_context两个工具tape_info、tape_anchors为诊断用途且这五个名称均为 reservedMCP 不能 shadow持久化 disabled-tool 配置也不能关闭这一 system capability。关键实现与测试路径领域纯逻辑src/main/tape/domain/应用服务与SessionTape兼容 facadesrc/main/tape/application/存储实现entry store、search projection、lifecycle adaptersrc/main/tape/infrastructure/sqlite/运行时组装与策略src/main/agent/deepchat/runtime/tapeViewAssembler.ts、tapeViewPolicy.ts行为测试test/main/session/data/tape*.test.ts、test/main/tape/layerBoundaries.test.tsSkills可携带的领域能力DeepChat Skills 按标准Agent Skills 规范兼容设计一个 Skill 可包含任务指令、参考资料、资产与可选脚本启用后 DeepChat 会像该领域的专家助手一样工作。快速上手三步打开设置 → Skills安装或导入 Skill支持文件夹、ZIP 文件、URL 三种来源在需要的会话中启用该 Skill。Skills 可与 Claude Code、Codex、Cursor、Windsurf、GitHub Copilot、Kiro、Antigravity、OpenCode、Goose、Kilo Code 等兼容工具互相导入/导出因此可以在不同工具之间随身携带你的领域能力。从源码看Skills 的实现采用**渐进披露progressive disclosure**三层设计详见 docs/architecture/skill-progressive-disclosure/spec.mdRoute系统提示中的有界路由目录→ Discover通过skill_list的有界本地搜索与游标分页→ Activate按激活作用域投影的有效内容构建器并由 Tape fact 背书。这种设计让已安装的 Skills 始终可发现又不会让每次首个请求都随完整目录膨胀而变慢。相关主进程代码位于 src/main/skill/路由目录routingCatalog.ts、发现 workerdiscoveryWorker.ts、导入服务agentSkillImportService.ts、工具定义skillTools.ts等。ACP 集成把外部 Agent 运行时变为一等公民DeepChat 内建对Agent Client ProtocolACP的支持可将外部 Agent 运行时原生集成到应用中。启用后ACP Agent 会出现在模型选择器中作为模型供选择并可与 ACP Workspace UI 一起在 DeepChat 内使用编码/任务类 Agent。快速上手三步在设置 → ACP 代理ACPエージェント中启用 ACP启用内置 ACP Agent或添加 ACP 兼容命令在模型选择器中选择该 ACP Agent 启动会话。底层实现位于 src/main/agent/acp/包含 Agent 仓库acpAgentRepository.ts、启动逻辑launch/、运行时runtime/、兼容层compatibility/与路由routes.ts。从架构文档看ACP 兼容请求保留有界的 Route 元数据但不会把本地完整 Skill 正文投射到 providerACP 绕过 DeepChat 的 materialization 与权威上下文准入路径因此不会在 ACP 侧注入无 Tape authority 的可变本地指令。远程控制从 IM 渠道驱动 DeepChat 会话远程控制让你离开桌面时仍能继续同一会话。配置入口在设置 → Remote。支持 Telegram、飞书/Lark、QQBot、Discord、微信 iLink 五个渠道从源码目录结构看每个渠道在主进程 src/main/remote/channels/ 下有独立实现telegram/、feishu/、qqbot/、discord/、weixinIlink/。远程端点可绑定到单个 DeepChat 会话支持的操作包括从远程聊天创建新会话、列出最近会话并切换、停止生成、在桌面打开当前会话、回答待处理的问题与权限请求、切换模型、查看运行状态。主要命令/start、/help、/pair、/new、/sessions、/use、/stop、/open、/pending、/model、/status。在命令路由实现 src/main/remote/conversation/commandRouter.ts 中还可以看到处于待处理交互状态时仅允许start、help、status、open、pending五个命令TELEGRAM_PENDING_ALLOWED_COMMANDS其余操作需先处理完待办交互。支持的模型提供商DeepChat 支持大量云端 LLM 提供商与本地部署方案包括DeepSeek、OpenAI含 Responses API、Moonshot/Kimi、Grok、Gemini、Anthropic、Ollama、七牛云Qiniu、New API、智谱Zhipu、PPIO、MiniMax、Fireworks、AIHubMix、豆包Doubao、阿里云百炼DashScope、Groq、JieKou.AI、ZenMux、GitHub Models、LM Studio、腾讯混元Hunyuan、302.AI、Together、Poe、Vercel AI Gateway、OpenRouter、Azure OpenAI、TokenFlux、BurnCloud、CherryIn、ModelScope、AWS Bedrock、Voice.ai、Vertex AI、GitHub Copilot、小米Xiaomi、o3.fan、Novita AI、Astraflow、SiliconFlow、OrcaRouter、Synthorai 等。关键兼容性声明与 OpenAI/Gemini/Anthropic API 格式兼容的任何模型提供商都可以接入。这意味着你可以通过自定义端点或兼容网关把内网部署、私有化模型与各类聚合平台统一接入同一套配置体系。模型提供商相关实现位于 src/main/provider/。典型使用场景日常助手回答问题、提供建议、辅助写作开发辅助代码生成、调试、技术问题排查学习工具概念讲解、知识探索、学习引导内容创作文案撰写、创意灵感、内容优化数据分析数据解读、图表生成、报告撰写。快速上手下载与安装DeepChat 提供三种安装途径方式一GitHub Releases从 GitHub Releases 页面下载对应系统的最新版本Windows.exe安装文件macOS.dmg安装文件Linux.AppImage或.deb安装文件。方式二官方网站从官方网站的下载页获取安装包。方式三Homebrew仅 macOSbrew install --cask deepchat配置模型启动 DeepChat 应用点击设置图标选择模型提供商标签页添加 API Key或配置本地 Ollama。开始对话点击 按钮新建会话选择要使用的模型开始与 AI 助手对话。开发指南开发前请先阅读 CONTRIBUTING.md。从 package.json 可以看到项目对工具链有明确版本约束Node.js 需满足24.18.0 25pnpm 需满足10.34.5 11且通过preinstall钩子强制使用 pnpm。克隆与安装依赖git clone https://gitcode.com/GitHub_Trending/dee/deepchat cd deepchat pnpm install pnpm run installRuntime若出现No module named distutils错误需要先安装 setuptoolspip install setuptoolsWindows 注意非管理员用户需要开启开发者模式或使用管理员账户才能创建符号链接/硬链接否则 pnpm 操作会失败。启动开发pnpm run dev项目还提供带调试能力的变体pnpm run dev:inspect附加调试端口 9229、pnpm run dev:linuxLinux 下以--noSandbox启动。构建# 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构建链路本身包含类型检查pnpm run typechecknode web 双目标、electron-vite 构建与 CLI 构建pnpm run build。Windows 与 Linux 由 GitHub Action 自动打包macOS 相关签名与打包流程可参阅 docs/release-flow.md 及维护者发布规范pnpm run release:ff -- release/version --tag vversion快进发布流程。测试与质量门禁单元测试pnpm run testVitesttest/main、test/renderer两套用例渲染层测试pnpm run test:renderer端到端测试pnpm run e2e:smokePlaywright配置见 test/e2e/playwright.config.ts格式与 lintpnpm run format、pnpm run lintoxfmt oxlint国际化校验pnpm run i18n。社区与贡献DeepChat 是一个活跃的开源社区项目欢迎以多种形式参与报告问题、提交功能建议、提交代码改进、完善文档、参与翻译。完整的参与流程fork 工作流、dev分支目标、PR 检查清单、代码风格规范请查阅 CONTRIBUTING.md。开源许可DeepChat 基于Apache License 2.0开源详见 LICENSE适用于商业与个人使用场景。【免费下载链接】deepchatDeepChat - A smart assistant that connects powerful AI to your personal world项目地址: https://gitcode.com/GitHub_Trending/dee/deepchat创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
RELATED READING

延伸阅读

更多一线实战笔记与深度复盘,助您持续精进