更新日志
预览版 0.1.16 新增可恢复的工作区快照、存储迁移、指令个性化,并带来测试版补全及更新后的网页研究功能。
0.1.16 工作区恢复与个性化 (2026-11-03)
- 新增每轮变更审查和工作区恢复,使用有界快照保护已有及后续编辑。
- 为每个聊天独立保存草稿和图片附件,支持重新加载后恢复,并修复跨窗口历史冲突。
- 新增全局和工作区指令、可编辑模板及聊天输入框中的指令引用。
- 新增可选编辑器补全、手动聊天建议和测试版代码生成工具,分别提供开关及用量统计。
- 使用已安装的 Chromium 浏览器读取网页和截图;未找到时自动下载并更新 Chrome Headless Shell。网页搜索仍使用 DeepSeek,但网页读取不再调用其 Fetch API。
- 通过受管理应用会话、Wayland 原生窗口截图和更准确的裁剪改进视觉测试。
- 命令作为内部进程执行,输出显示在聊天中,不打开或聚焦 VS Code 终端。保留超时、取消和每个聊天的进程归属,并更新设置、菜单及自动生成元数据的隐私控制。
- 迁移旧存储,整合草稿和恢复数据,并更新依赖。
0.1.15 路径工具、视觉与上下文窗口
- 新增 move_path 工具:在工作区内移动或重命名文件或整个目录,并自动创建目标路径的父目录。目标必须不存在,因此不会意外覆盖;可选的 expectedBeforeHash 会在源文件于预览之后发生变化时拒绝该移动。
- 新增 delete_path 工具:删除文件,或在 recursive: true 时删除目录及其全部内容。除非传入 permanent: true,路径会进入操作系统回收站;recursive 从不自动推断,因此删除目录时缺少它会直接失败,而不会连带删除其中的内容。
- 路径变更现在可以依据 Git 事实决定。在自动权限模式下,当 Git 证明变更可以撤销时,move_path 与 delete_path 会跳过安全审查:路径位于仓库内、已被跟踪、未被忽略,且没有未提交的改动。未跟踪、被忽略、已修改或不在仓库中的路径仍保留原有的确认流程,因此不可撤销的删除不会被当作常规的工作区写入。
- DeepSeek V4 Pro 重新可选,其图像能力交由 Flash 代理。模型注册表现在记录能力标志,因此扩展知道 V4 Pro 自身无法读取图像:带有有效附件的 Pro 生成会获得 analyze_images 工具,它向 Flash 询问当前消息中指定的附件,发送 DeepSeek 文件 ID 而不是 Base64 或本地路径,关闭思考,将自身输出限制为 8K tokens,拒绝已过期或上传到其他 API 源的图片,并把委托用量记在 Flash 的 vision_analysis 阶段。使用 Flash 的生成仍会原生读取图像,聊天与工具轮次均如此。
- 用量弹窗现在显示上下文窗口,并可按需压缩。它会在请求发出后报告实测用量、在此之前报告估算值,并给出窗口大小、软性与硬性上限、自动压缩的触发点,以及该会话已压缩的次数。压缩上下文 会执行一次手动压缩,并报告释放的 tokens,或说明没有可压缩的内容。
- 新增 low 推理强度,位于 off 与 high 之间,可在不完全关闭推理的前提下用速度换取更少的思考。
- 会话历史可以按工作区筛选与分组,提供 所有工作区 选项、每个工作区的分组标题以及各组会话数。
- 终端结果保留完整输出供查看。行内仍显示有界预览,查看保留的输出 折叠区会打开所保留的 stdout 或 stderr,因此预览看起来被截断的命令无需重新运行即可检查。
- 提示气泡改由单一传送层绘制。data-tooltip 锚点由 TooltipLayer 渲染,当指定位置没有空间时会翻转方向并对齐,因此提示不会被裁剪子元素的面板和狭窄的侧边栏截断。组合器选择器与 select 现在共享同一套控件度量,模型菜单与权限选择器保持一致,而不再各自带有边框与高度。
- 工具流量中的凭据会被剥离。工具结果、已存储的工具调用参数以及确认后交回的内容都会经过脱敏处理,在文本进入 transcript、工具台账或检查点之前,把形如凭据的键与模式替换为 [REDACTED]。结构化输出仍可解析,因此工具消费者读取的路径与结果不受影响。
0.1.14 迁移到 DeepSeek V4.1 Flash
- 扩展迁移到 deepseek-flash(DeepSeek-V4.1-Flash),它取代已下线的 V4 Flash 系列模型,并从 2026 年 9 月 14 日起承接 deepseek-v4-pro 请求。
- 移除 DeepSeek V4 Pro 选项、analyze_images 委托工具以及隐藏的 Vision 到 Flash 传输回退:当前模型可直接读取 DeepSeek Files API 图像引用,聊天和工具轮次均如此。
- 移除已下线模型的兼容映射:官方端点只接受 deepseek-flash,因此旧版本遗留的模型名称会被拒绝而不再自动改写,需要在设置中重新选择。
- 官方 USD 成本目录更新为当前 DeepSeek-V4.1-Flash 价格,并应用文档规定的工作日高峰与闲时差异。
- 使用费用可在 Settings 中按美元或人民币显示。每种货币都使用 DeepSeek 官方公布的价格表(闲时每 1M Token:缓存命中/缓存未命中/输出分别为 $0.003/$0.15/$0.6 与 ¥0.02/¥1/¥4,高峰时段翻倍),因此不会凭空换算汇率。已保存的合计仍以 USD 为准,仅在显示时重新计价。
- 修复长对话中最大的可避免开销:系统消息以分钟级时间戳结尾,导致每次生成的首个请求都会让 DeepSeek 的缓存前缀(工具 schema 与全部历史)失效。当前日期现在随最新的用户消息一起发送(该消息本身即为新增内容),序列化前缀在轮次之间保持字节级一致。
- 评审指引不再造成整段缓存未命中:进度检查点与补全恢复提示改为追加为最新消息,不再拼接进系统消息——此前每注入一次检查点都会让整段对话记录重新计费。两个评审器在读取用户请求时都会忽略该指引。
- 编程提示现在会限制代码注释:只在代码本身没有说明意图时才写,绝不重复代码内容,并与文件现有的注释密度保持一致。一条注释要作为输出计费一次,并在之后每一次重新读取该文件的轮次中再次作为输入计费。
- 用量弹窗改为显示扩展宿主计算的整个对话总量,而不是累加 webview 当前加载的消息,因此当历史分页把较早消息移出内存后,长对话不会再显得花费更少。
- 辅助上下文压缩按阶段使用各自的输出上限(散文摘要 2,048 Token,行范围选择 512),不再是共享的 4,096 上限;缓存命中率按请求阶段显示;同时移除了已声明并赋值但无人读取的模型能力标记。
- 新增 list_workspace 工具:一次调用即可将整个项目绘制为缩进树,新会话无需再串联 list_directory。隐藏条目同样显示,内容过多的文件夹以 ... 概括,而不是倾倒或静默排除。
- 新增 read_func 工具:只返回源文件中指定的函数、方法或类型,并支持按外层声明链式指定(Class.method、outer.inner);名称有歧义时返回候选项而不做猜测。读取单个函数不再把整个文档拉入上下文。符号由编辑器的语言服务解析,而非文本启发式。
- read_file 通过 offset 和 limit 读取行范围,作为编辑器无法按符号命名的内容的回退方案:由 search_content 定位名称后只读取对应行,并返回范围边界、hasMore 与整文件哈希。
- 提示词与两个读取工具现在声明同一条读取顺序:命名声明用 read_func,编辑器无法命名的内容用 search_content 加 read_file 行范围,只有跨声明的上下文才读取整个文件,因此查看单个函数不再倾倒整个文档。该偏好随每次请求一同发送,因为它写在系统提示词与工具描述中,而不是某次对话的习惯。
- 完成的轮次现在以已编辑文件摘要收尾:每个被写入的文件一行,包含增删行数,超过三个文件时显示 Show N more files,Review 可打开该轮次的全部改动。宿主会在本次会话中保留精确的前后内容,因此即使工具结果中的 diff 为模型上下文做了限制,改动仍可完整查看。本版本不包含撤销功能。
- 待确认的 edit_file 与 apply_patch 预览不再抢占焦点:内联预览会复用已显示目标文件的编辑器,否则在文件已打开的分栏中打开临时预览标签页,并在平台(如 macOS)无视保留焦点的请求而激活所显示的编辑器时,把焦点交还给用户的编辑器。因此确认操作不会再打断聊天输入、终端工作或其他位置的输入。
- 附件图像可从输入框缩略图和已发送消息中的图像打开放大查看器。查看器默认适配窗口、保持宽高比,并支持拖动放大后的图像平移,而不是压缩变形。
- 长会话改为惰性渲染:仅挂载最新消息,更早的消息按需显示且保持正在阅读的位置不动,记忆化行让输入保持流畅。
- 聊天时间线中的推理块现在渲染 Markdown,代码块、列表与强调在推理中的阅读体验与最终回答一致。
- 在输入框文本区与其工具栏行之间增加间距,并修正工具调用展开箭头的方向,使其在展开后向下。
- 安全判定现在优先依据机器可验证的事实,而不是在事实足以证明操作受限时再走一轮模型。在自动模式下,只要宿主证明目标位于工作区内且路径不敏感,create_file、edit_file 与 apply_patch 无需安全审查即可执行,因此常规的工作区编辑不再停下来等待确认;诸如 dotnet --version && node --version && npm --version 这类有限的版本、帮助与可用性查询直接执行;工作区脚本只有在路径受包含、字节仍与智能体写入时的哈希一致、且声明的效果保持在限定范围内(仅 localhost 网络、单个自有子进程、有限等待、精确进程清理、产物位于工作区内,无动态求值、策略更改、提权、凭据、交互输入或后台任务)时才可无人值守运行。传给 powershell 的 -ExecutionPolicy Bypass 视为进程级而非提权。任何无法证明的操作仍交给独立审查,且审查现在还会收到命令所运行脚本的正文;正面决定仅在对话、工作区、权限指纹、命令、内容哈希与效果配置完全一致时才会被缓存。
- 完成度审查第二次给出 incomplete 判定时不再丢弃该轮次:已交付的回答会被保留,而不会被错误横幅取代;并且明确告知审查者,等待用户确认、授权、选择或补充信息的回复即为完整,即使它提到了用户答复后将要执行的操作。对用户自身决策请求的边界判断,也不会再把一个已完成的轮次变成失败。
0.1.13 按需压缩、长输出与输入框布局
- 新增 compact_context 工具,以只读方式请求在下一轮对工具循环上下文进行压缩;模型应信任此前成功的工具结果,不重复已完成的修改。
- 将默认最大输出预留提高到 DeepSeek 文档记载的 384K 上限,使长时间推理和文件生成轮次不再被提前截断。
- 用 webview 内的 Workspace Mismatch 模态框取代 VS Code 原生的工作区重新绑定提示,提供 Open here 或 Cancel,并支持英语、西班牙语和中文。
- run_terminal_command 现在会在连续命令之间复用同一个专用 VS Code 集成终端,使 scrollback 和历史保持可见;只有在超时、取消、工作目录不匹配或扩展关闭时才关闭终端。
- 修正生成事件的作用域,使在下次 React 渲染前更新会话与生成引用的协议处理器能够在准入后立即接受第一条用户消息。
- 使用 CSS grid 与 container queries 重构聊天输入框底部:在窄侧边栏中模型与权限选择器折叠为带内联用量明细的设置齿轮,活动与工具面板采用更简洁的左缩进布局,并移除状态胶囊。
0.1.12 原生工具调用与维护清理
- 移除了提供商专用的 DSML 文本检测器、流式缓冲区、隐藏重试和恢复提示。只有 API 原生 tool_calls 可以执行工具;形似工具调用的助手文本仍按普通内容处理。
- 将聊天生成、历史、设置、Webview 协议、附件、用量统计、工具调用收尾和 SearXNG 安装拆分为职责明确的服务,同时保持外部契约不变。
- 移除了过时的兼容层、转发模块、未使用的提供商与 FIM 路径和重复的工具结果别名。恢复并强化了不可变的 SearXNG 运行时发布工作流,在发布前校验元数据和校验和。
- 启用了 TypeScript 未使用代码检查和 Knip 生产门禁,并删除只验证实现细节的简单测试,同时保留行为与集成覆盖。
- 所有受支持语言中的界面语言自动选项均改名为 Auto。
0.1.11 托管搜索与持续代理执行
- 用扩展管理的本地 SearXNG 运行时替代 Chromium 驱动的搜索。它按需启动、公开可用引擎目录、支持自定义引擎选择,并且不需要系统 Python、Docker、Podman 或浏览器。
- 代理命令现在会在专用的 VS Code 集成终端中可见运行,保留有界结构化结果,并在完成后关闭。系统会拒绝分离式启动器并禁用 .NET 构建服务器复用,以避免产生孤儿进程。
- 移除可配置的轮次检查点和每块调用预算。工具循环会持续到真实终止条件;长时间任务在完成 20 轮后进行独立进度审查,此后每五轮再次审查。
- 重复调用抑制会在工作区发生修改后重置,既允许合理的重新构建,也继续阻止无效重复。
- 流式片段之间出现的助手文本内异常 DeepSeek DSML 会被抑制,并通过原生工具调用重试一次。独立完成度审查会识别过早的纯文本停止,但不会把第二次不完整结果误报为成功。
- 进度审查会接收紧凑的累计活动历史,并可在请求的交付物已经构建成功后停止代理自行发起的验证循环;不确定或不可用的审查不会阻塞工作。
- 用量信息移至会话级弹出面板,提供按模型汇总;当 DeepSeek 省略部分请求的用量时,会显示可计算的最低费用。
- 已移除 issue #61 所跟踪的旧版历史和 checkpoint 兼容逻辑。激活时会直接删除不兼容的会话和 checkpoint,不再迁移或隔离。
0.1.10 视觉、权限、输入框与取消
- 用 DeepSeek V4 Vision (Flash) 替代非视觉 Flash。Vision 直接读取 Files API 引用;只有提示包含图像时,V4 Pro 才获得 analyze_images。
- 当实验性 Vision 不可用时,由提供商执行一次稳定 V4 Flash 重试。图像聊天会明确说明视觉输入已省略;V4 Pro 的委托图像分析则显式失败,不会接受虚假的图像描述。
- 文件和图像统一使用 + 选择器,支持 Ctrl+V/Cmd+V 粘贴、按签名检测 JPEG/PNG/GIF/WebP、30 天 Files API 到期、本地预览和兼容撤销的清理。
- 权限简化为 default、auto-approve 和 full-access;移除逐工具矩阵与本地危险分析器,将 Web search 放到 Permission mode 下并提供统一开关。
- 聊天输入区重构为紧凑单一 composer,并使用一个上下文生成按钮:草稿为空时为 Stop,有内容时按 Enter 为 Guide,按住 Ctrl 或使用 Ctrl+Enter 时为 Queue。
- Stop 会将提示、部分 timeline 和已完成工具结果保留为 cancelled。Steering 现在会验证源生成任务,按最新指导明确继续原始任务,并隐藏内部 interrupted 传输边界。
0.1.9 并发对话隔离、取消与校准上下文
- 并发生成现使用按对话和生成任务关联的协议事件、导航 ID、后台活动状态与快照恢复,不会将更新泄漏到其他对话。
- Stop 会删除完整的已取消轮次,并将提示词恢复为草稿。取消会贯穿上下文发现、流式输出、浏览器、确认、工具、终端子进程和持久化,且只产生一个终止结果。
- 自动压缩使用提供商校准的生成预算、有界 UTF-8 文本和合并的文件范围;仅记录有效缩减,并在接近上下文硬限时安全转换已闭合的工具周期。
- 推理密集型回复获得预防性输出溢出恢复,同时保留可见的未完成状态,并兼容旧版历史和检查点。
- Marketplace 现通过正常渠道接收构建,package.json 仍保留 preview: true;GitHub Release 继续标记为预发布。从其他 VS Code 工作区或窗口恢复的对话会自动开始一个绑定当前工作区的新对话。
0.1.8 拟人化无头搜索与隔离语义读取
- 搜索会打开所选 Bing、Google 或 Baidu 首页,聚焦搜索框,以短暂逐键延迟输入并按 Enter 提交。默认使用 Bing;CAPTCHA、阻止和超时均为终止失败,不会升级到可见浏览器或自动重试。
- 搜索最多返回十个规范化的自然 HTTPS URL 字符串。read_web 仅接受与 search_id 精确登记的 URL;直接 URL 仍限于用户明确提供的地址。
- 页面读取仅保留 document.body 中的标题与段落,将相邻内容组合为稳定编号分段,在段落边界拆分过长分段,并通过不透明游标分页且不重新编号。
- 每次读取都使用新的 128 位加密 nonce 包围 JSON 安全的不可信内容,在网页数据前后提醒忽略提示注入,并在 nonce 冲突时重新生成。
- 设置新增独立的 API 与网页搜索标签页;移除旧版原生网页设置、可见浏览器、手动 CAPTCHA 流程和可配置用量预警预算,同时保留隔离代理与浏览限制。
0.1.7 集成浏览器搜索重构与上下文压缩
- 将集成浏览器搜索重构为单个可复用的 VS Code 页面:搜索输入到当前引擎,已注册结果点击打开,导航通过浏览器历史返回;缺少新版浏览器工具时仍提供兼容模式。
- 新增 DuckDuckGo、Bing、Google 和 Yahoo 的本地化回退、语义化自然结果解析、Bing 重定向解码、公网 HTTPS 校验、有界缓存、紧凑响应、语义化页面提取和经过净化的浏览器诊断。
- 用不透明的搜索/文档 ID 与仅有的两个受限工具 search_web 和多模式 read_web,取代模型可见的页面 ID、DOM 引用、任意导航和通用链接跟随。
- 将已完成的会话上下文压缩为用户/最终回答对,仅为进行中或未完成的恢复保留完整提供商记录,并在历史再次保存时惰性压缩重复的旧版网页输出。
0.1.6 隐私、可靠性与用量可观测性
- 新增无痕模式:提示、引用、检查点和用量仅保留在内存中,直到用户明确保存或丢弃会话。
- 新增按请求阶段、生成和会话聚合的提供商用量,包括嵌套推理 Token 以及独立的缓存命中/未命中计数;缺失值显示为不可用,而不是零。
- 新增当前 DeepSeek V4 Flash/Pro 官方价格估算及持久化目录版本、本地用量明细、脱敏诊断,以及辅助调用、缓存未命中输入、输出和生成成本预警预算。
- 强化工具调用完整性、未保存缓冲区、并发存储、部分流、进程关闭、Webview 协议协商、提供商验证、诊断、CI 和打包 VSIX 发布门禁。
0.1.5 打包热修复
- 在 VSIX 打包规则中显式排除 *.log,避免分发 debug.log 等本地文件。
0.1.4 预览版:凭据安全、命令审查和聚焦的工具界面
- API 凭据按规范化来源隔离存储在 VS Code Secret Storage 中。旧密钥会自动迁移;更改来源需要确认;webview 只接收配置状态和用于占位符的遮罩预览。
- DeepSeek 请求在重定向过程中强制保持所选凭据来源,并从错误、日志、历史记录、设置、checkpoint 和可见消息中移除凭据。
- Auto-approve 会先运行保守的本地分析器。对于仍不确定但位于工作区内的终端命令,可使用初始用户请求以及显式命名工作区文件的受限、非敏感预览进行独立 DeepSeek 审查。
- 审查器可以批准、要求更安全的重新规划或转为手动确认。自动决定至少需要 medium-high 置信度,且绝不会绕过工作区边界,也不会委托凭据、提权、发布、部署、远程修改、外部访问、广泛终止进程或破坏性操作。
- 相邻的推理和工具调用会折叠为可展开的 Activity 面板,并显示步骤数和汇总状态。
- 成功的 read_file 内容不再重复显示在聊天中。文件工具提供 Open file;已完成的创建、编辑和补丁可将该次工具调用记录的精确变更作为 VS Code 原生 diff 打开。
- 确认面板、Settings、工具控件和输入区会充分使用宽侧边栏,并在窄侧边栏中避免全局横向溢出。
- 契约、内置工具、命令审查、聊天编排、VS Code 工作区适配器、Settings、Chat UI 和测试均按领域重组,同时保留公共消息、工具名称、设置和历史兼容性。
0.1.3 工作区安全与生成任务协调
- 将 DeepSeek 默认输出预留从 8,192 提高到 65,536 Token,保留 384K 上限,并说明其与 1M Token 上下文窗口的关系。
- 将工具轮次上限改为检查点:无人值守模式由 DeepSeek 判断继续、请求指示或停止;有人值守模式保留用户决定。
- 改进 Settings、工具权限、聊天输入区/底栏和历史记录在极窄宽度下的响应式布局,包括 VS Code 最窄的侧边栏。
- 每个会话最多运行一个生成任务,不同会话的并发数可配置为 1 到 16,默认值为 8。
- 新增 Queue message 和 Interrupt and guide 控件、定向取消,以及绑定到生成任务的流式和工具事件。
- 新增原子生成 checkpoint;重启后可恢复部分输出、取消未完成工具,并将排队提示作为草稿提供。
- 引入带生成任务归属的会话 schema v2,并在激活时对有效旧历史或部分迁移历史执行经过验证的迁移;兼容逻辑会保留到计划的清理版本发布。
- 每个生成任务固定到其会话工作区;变更类工具按工作区串行执行,只读工作可并发进行。
- 新增带修订号的工作区绑定、确定性多根别名、断开历史重新绑定、仅 ./ 自动补全,以及不会授予工具访问权限的受限外部文件快照。
- 新增协调式 provider 关闭流程,在扩展停用时保存 checkpoint、取消活动任务并刷新写入。
- 新增仅由扩展宿主持有的 DeepSeek 规范工具 transcript,完整保留推理、JSON 参数、工具结果、协议顺序、checkpoint 恢复和安全重放。
- 新增总请求预算、原子会话摘要和大型引用的原始相关行提取;每次发送最多使用四次辅助 DeepSeek 调用,并提供确定性的本地 fallback。
0.1.2 可选 auto-approve、更清晰的设置与技术 wiki
- 新增可选的 auto-approve 权限模式,对所有未禁用的工具将批准委托给 DeepSeek,同时保留工具 schema 与工作区路径校验。
- 将设置重组为更清晰的 General 分区,并改进英语、西班牙语和中文界面翻译。
- 当对话达到工具调用轮次上限时,加入显式确认后才继续;并将最大输出 Token 设置对齐 DeepSeek 的 384K 上限。
- 修复取消后仍然显示待确认工具的问题,以及历史更新后活动对话身份丢失的问题。
- 新增仓库内技术 wiki,涵盖架构、工具、存储、DeepSeek API、测试与维护。
0.1.1 可靠性和安全性
- 以原生的推理、内容和工具组时间线替换文本控制标记。
- 统一工具状态,并修复拒绝、取消、宿主确认、过期 pending 调用、重复调用和最大轮数终止。
- 加入真正的进程树取消和结构化非交互终端结果,并提供有界输出及平台感知的危险分析。
- 强化 SSE、响应验证、URL 拼接、超时、遵守 Retry-After 的重试,以及 React 流批处理。
- 将设置和历史记录迁移到 ~/.yrs-dpsk-copilot/。历史记录每个会话使用一个经过验证的 JSON 文件,不再依赖单独索引。
- 加入多根工作区会话关联、上下文裁剪、Git staged 上下文、二进制检测、分隔引用、AGENTS.md 限制和乐观文件哈希。
- 修复历史删除:删除当前会话会清空 Chat 视图,删除其他会话则保留当前聊天。
- 完成无障碍和 UX 改进:模态框焦点管理、可控自动滚动、流式生成期间的草稿、本地化 UI、工作区权限、可恢复设置和分页历史记录。
0.1.0 预览版
- 引入分层源代码架构、React 聊天 webview、History、Settings、工具配置、路径自动补全和 Marketplace 打包。
- 产品专注于 DeepSeek,并将 API key 保存到 VS Code Secret Storage。