deepseek-pp
把DeepSeek网页版武装成带记忆、MCP工具和自动化能力的AI Agent工作台
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
把DeepSeek网页版武装成带记忆、MCP工具和自动化能力的AI Agent工作台
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
想象这样一个场景:你每天在 DeepSeek 网页上对话七八次,但每次都要重新解释项目背景、重复粘贴上下文、费力地管理对话历史。DeepSeek++ 就是来解决这个问题的——它是一个开源浏览器扩展,通过拦截 DeepSeek 的 API 请求,在 prompt 层面注入记忆上下文和 MCP 工具定义,让 DeepSeek 网页版也能像 Claude Code 那样,拥有跨会话记忆、可复用 Skill 和自动化任务执行能力。
DeepSeek++ 的核心开发者 zhu1090093659 在项目介绍中明确表达了一个产品理念:让用户在不离开 DeepSeek 网页生态的前提下,获得完整的 AI Agent 工作体验。项目从 2024 年持续维护至今,v0.7.5 版本覆盖了记忆、MCP、Skill、系统提示词、联网搜索、浏览器控制、对话导出和自动化等完整功能链。 这个项目在 GitHub 上已收获 800+ stars,104 个 forks,并上架了 Chrome Web Store。从技术实现角度看,它本质上是将一个"对话界面"改造成了一个"带工具调用能力的 Agent 平台"——这个跨越并不小,需要在浏览器扩展的沙箱环境内处理网络拦截、存储、进程间通信等多个维度的问题。
DeepSeek++ 的记忆系统是整个插件最核心的能力。模型每次回复时输出 <tool_call name="memory_save"> 格式的块,扩展解析后存入 IndexedDB(通过 Dexie.js 封装)。下次对话时,扩展在 prompt 前注入记忆上下文——模型在不知道记忆机制存在的情况下,自然地"记得"了用户的偏好和项目背景。
这个设计的巧妙之处在于它不依赖 DeepSeek 官方提供任何接口,而是通过 fetch 拦截在客户端层面完成上下文注入。目前支持记忆保存、筛选和置顶,项目记忆按项目分组管理。
图1:DeepSeek++ 记忆管理面板,支持按项目组织、置顶重要记忆
MCP(Model Context Protocol)在这个项目中扮演了扩展性中枢的角色。用户可以在侧边栏添加远程或本机 MCP 服务,配置工具权限和执行状态。模型调用 MCP 工具后,扩展自动执行并将结果回传到同一会话继续生成——整个过程对用户透明,不需要手动复制工具输出。
除了 MCP,扩展还内置了联网搜索和网页获取能力,模型可在需要实时信息时调用 web_search 和 web_fetch,结果自动续跑生成最终回答。
Skill 是 DeepSeek++ 的可复用工作流模板。用户可通过 /skill-name 前缀触发,内置的 Skill 覆盖了翻译、代码审查、数据分析等常见场景。此外,用户可自定义 Skill,也可从 GitHub 导入他人分享的工作流。
这个设计对高频重复任务特别有用——比如每次代码 review 都要输入相同的 prompt 结构,Skill 把这个过程压缩成一条命令。
图2:DeepSeek++ Skill 面板,支持内置、自定义和 GitHub 导入
在 Chrome/Edge 环境下,DeepSeek++ 可以"接管"用户选定的标签页:让模型读取页面结构、执行导航、点击、输入等操作。这是通过 Chrome DevTools Protocol 实现的,模型拿到的是页面文本快照而非截图——这意味着它可以理解页面内容并作出有针对性的操作决策。
这个能力的边界也很清晰:只能操控用户主动授权的标签页,关闭后不会向新会话注入浏览器工具。这是一种"按需授权"的访问控制设计。
图3:DeepSeek++ 浏览器控制界面,支持标签页附着状态查看与切换
DeepSeek++ 借鉴了 Claude Code 的 Agent 式执行模式:模型可以根据工具结果持续决定下一步,而不是执行一次工具调用就停住。多步续跑在每步之间自动留出间隔,减少被 DeepSeek 平台校验机制打断的风险。
自动化任务支持立即运行和定时触发,状态可追踪,也支持手动停止。对于需要定时收集信息、周期性执行 AI 任务的场景,这个功能很有价值。
图4:DeepSeek++ 自动化任务管理,支持定时触发和状态追踪
扩展在 DeepSeek 页面侧边栏提供了完整的对话入口,支持新建独立会话。右键菜单可以将网页中选中的文本快速发送到对话,配合预设的场景模板,适合内容总结、翻译、改写等快速操作。 界面语言可设为简体中文、English 或跟随浏览器,内置工具说明和续跑提示也保持一致语言。用户自建的记忆、Skill、自动化任务内容不会被翻译——这确保了本地数据的纯净性。
扩展内置了一个"DeepSeek 小鲸鱼"悬浮宠物,跟随思考、输出、工具执行等状态切换外观和台词气泡。这个看似娱乐化的设计,实际上承担了运行状态指示器的功能——用户看一眼就知道模型是在思考还是正在执行工具。
图5:DeepSeek++ 悬浮宠物小鲸鱼,跟随模型状态切换外观与台词
DeepSeek++ 支持将对话导出为 HTML、Markdown 或 PDF,默认隐藏内部提示和工具调用标记,导出的文件可直接阅读。代码块可单独保存为本地文件,保存项支持搜索和标签,方便管理常用 prompt 和参考内容。
项目使用 WXT 框架构建,这是专为浏览器扩展设计的构建工具,支持同时构建 Chrome、Edge 和 Firefox 三个平台的扩展包。UI 层使用 React 19 + TypeScript,样式用 Tailwind CSS 4,数据存储用 Dexie.js 封装 IndexedDB。 核心执行逻辑分布在多个模块中:
core/interceptor/ — fetch 请求拦截器,识别 chat.deepseek.com/api/v0/chat/completion 并注入上下文core/memory/ — 记忆存取与注入逻辑core/mcp/ — MCP 协议处理与工具执行core/tool-loop/ — Agent 式持续执行循环(含分步续跑节奏控制)core/skill/ — Skill 模板解析与 /skill-name 路由core/automation/ — 定时任务与状态追踪core/browser-control/ — Chrome DevTools Protocol 通信core/sandbox/ — 沙箱执行环境(使用 Pyodide 运行 Python 代码)packages/shell-host/ — Native Messaging 主机,支持 shell 命令和 OfficeCLI 集成
值得注意的是,项目使用了 Pyodide(通过 sucrase 打包)实现在扩展内运行 Python 代码的能力,这使得插件可以执行本地脚本而无需依赖额外的本地服务。此外,通过 ASCII JavaScript 输出插件,确保所有输出字符在可打印 ASCII 范围内,避免了扩展在某些环境下对非 ASCII 字符的处理问题。安装非常简单:可以从 Chrome Web Store 直接安装,也可以在 chrome://extensions 中开启开发者模式后加载源代码目录。安装后打开 DeepSeek 页面,侧边栏会自动出现。
首次使用需要配置 DeepSeek 账户登录状态,以及可选的官方 API Key(用于在非 DeepSeek 页面使用侧边栏对话)。记忆、MCP 和 Skill 功能在设置页中配置,浏览器控制能力需要在侧边栏单独开启。
整体体验上,扩展在 DeepSeek 页面内融合度很高,几乎感觉不到"插件"的存在——侧边栏和 DeepSeek 原生界面视觉风格一致,工具调用结果以类似官方思考过程的折叠区块展示。这种体验一致性是很多同类插件做不到的。
需要诚实面对几个问题。首先,fetch 拦截是一种脆弱的集成方式——DeepSeek 如果修改了 API 端点或协议,扩展可能直接失效,维护成本较高。其次,记忆注入依赖模型在回复中输出特定格式的块,如果模型更新改变了输出格式,记忆功能也会受影响。 此外,浏览器控制能力只支持 Chrome/Edge,Firefox 用户无法使用。定时自动化功能在浏览器关闭后不运行,不适合需要后台持续执行的任务。隐私方面,记忆数据存储在本地 IndexedDB,扩展不运营数据收集后台——但用户仍需信任扩展代码不会主动外传数据。 最后,DeepSeek++ 的功能深度意味着一定的学习曲线——记忆怎么组织、Skill 怎么编写、MCP 服务怎么接入,这些问题对于普通用户来说不是开箱即用的。
DeepSeek++ 代表了一种"在别人平台上构建 Agent 能力"的技术路线。相比于直接调用 DeepSeek API,这种方案的优势是直接复用官方网页界面的所有能力(登录态、模型选择、对话管理),同时在端侧扩展出 Agent 功能。 从 GitHub 趋势看,2025 年上半年涌现了大量类似的"AI 平台增强插件",覆盖 Claude、ChatGPT、Gemini 等主流模型。这类工具的共同特点是:不依赖平台官方开放 Agent 接口,而是在客户端层面通过拦截/注入实现能力扩展——这是一种在平台能力边界内寻找增量价值的产品思路。 DeepSeek++ 是这个方向上功能最完整的实现之一,800+ stars 和持续更新的维护状态说明了用户对其价值的高度认可。