Skip to content

wisp-science v0.20.0

Latest

Choose a tag to compare

@github-actions github-actions released this 22 Jul 01:53

wisp-science v0.20.0

这是继 v0.19.0 之后的功能与稳定性版本,重点把上下文管理交还给用户,并让长对话、工具执行和模型用量更透明、更可控。Wisp 不再自动改写历史;当上下文接近上限时会提醒,由用户通过 /compact 主动归档并压缩。与此同时,内置科研 Skills 已迁移到 Wisp 原生 Run 与工具契约,聊天中的进度、推理和工具步骤也获得了更清晰的分层展示。

下载

  • macOS(.dmg,已签名 + 公证):区分 Apple Silicon(aarch64)与 Intel(x86_64),请下载对应架构。
  • Windows 安装包(MSI / NSIS):尚未签名,可能触发 SmartScreen,可选择「仍要运行」。

见下方 Assets。

新增功能

用户主导的上下文管理

  • 不再自动压缩历史:移除按 token 和时间触发的自动压缩;达到上下文窗口 80% 时只提醒一次,不会在后台改写消息,模型提供商的前缀缓存也能保持稳定。
  • 归档优先的 /compact:CLI 和桌面对话均可主动执行 /compact。完整历史先写入项目的 .wisp/history/,写入失败则中止;随后仅压缩发给模型的旧内容,界面中的完整视觉记录保持不变,压缩后的占位信息会指向可检索归档。
  • 流式工具输入预算:shell、Python 和 R 的结果在写入模型上下文时默认限制为 16 KiB,并保留头尾与恢复提示;完整输出仍显示在界面中。可通过 WISP_TOOL_RESULT_BUDGET 调整,设为 0 可关闭。
  • 只读 explore 子 Agent:新增隔离的多步检索工具,使用 read、grep 和 search 完成探索,将完整轨迹保存到 .wisp/subagents/,主对话只接收带归档位置的结论摘要。

科研 Skills 与 Run 契约

  • 内置 Skills 迁移到 Wisp 原生能力:GPU 和长任务工作流改用 run_in_contextget_runmonitor_runcancel_run;图表、论文、文献和自定义工作流改用明确的委派、图像和文件工具,不再依赖不存在的 host.* Python SDK。
  • 诚实暴露平台边界:移除已失效的 Operon provider adapter、环境和锁文件;尚未支持的 Modal、托管 endpoint 与调度器生命周期会明确提示限制,不再伪装为可用能力。
  • PDF 探索适配 Wisppdf-explore 改为通过 Python kernel sidecar 注入可用助手,并按 Wisp 的归档与上下文规则工作。
  • 新增 journal-club-ppt:加入期刊俱乐部演示文稿工作流及目录发现回归测试。

对话过程与模型设置

  • 进度、推理和工具分层显示:按真实事件顺序展示紧凑的进度文本、独立折叠的推理和仅包含连续工具调用的 Steps 面板;流式更新期间保持用户的展开状态。
  • 折叠状态也能看到当前步骤:运行中的 Steps 面板折叠后,标题会实时显示最新工具或进度摘要。
  • 逐回复 token 用量:每轮显示输入、输出、缓存命中和推理 token;修正 OpenAI、Anthropic、GLM、Moonshot 与 DeepSeek 兼容接口的统计,并将用量持久化,重开会话后仍可查看。
  • 更贴合模型能力的设置:推理强度选项会根据模型家族调整;新建模型时自动填充已知上下文窗口与输出上限;模型列表支持拖动排序。

修复内容

  • 提前终止无进展工具循环:Agent 会在最近 16 个工具批次中发现同一调用重复五次时停止,覆盖连续与 A/B 交错循环,避免耗尽整轮 token 预算。
  • 不再回放历史 reasoning_content:OpenAI 兼容请求仅保留当前推理过程,不再把旧推理反复发送给模型,减少上下文膨胀和循环强化。
  • 二进制文件读取更安全:read 会通过扩展名、PDF magic 和 NUL 字节识别常见二进制文件,返回可操作的 Python 或图像查看提示,不再输出乱码。
  • SQLite 并发稳定性:导出快照从创建起使用单文件回滚日志;多语句写事务统一通过 BEGIN IMMEDIATE 获取写锁,消除快照导出和并发写入的立即 BUSY 抖动。
  • Run 取消竞态:调用方刚请求取消、后台已确认 Cancelled 时不再误报「已经取消」。
  • 预览与侧边聊天:修复 PPTX/XLSX 预览宽度反馈循环、PNG 裁剪选区定位与 Escape 撤销,以及侧边聊天跨会话串线。

兼容性与升级说明

  • 可直接覆盖安装 v0.19.0;项目、会话、模型、连接、ExecutionContext、Run 和 Agent workflow 数据会继续保留。
  • 本版本没有需要手工执行的数据库迁移。
  • /compact 创建的历史归档和 explore 创建的轨迹保存在当前项目 .wisp/ 下;请将其视为项目研究记录的一部分。
  • 旧会话没有保存过的逐回复 usage 无法回填;升级后产生或已持久化的 usage 会正常显示。

已知限制

  • /compact 不拦截 ACP 托管的会话,因为外部 Agent 自行管理上下文;生成 LLM 摘要的短暂阶段不可取消。
  • explore 为只读且最多执行 15 轮;它用于隔离检索,不替代需要写入或运行计算的正式委派。
  • Wisp 尚无 Modal、托管模型 endpoint 或调度器感知的 Run 后端;SSH-direct 输出采集仍要求精确 ssh:// 引用,本地与 WSL Run 仍有 300 秒上限。
  • Windows 安装包仍未签名,可能触发 SmartScreen。
  • 需自备模型与第三方科研服务的 API Key;对应费用、配额与可用性由用户及服务商负责。

测试与交付

  • Rust workspace、Rust 1.88 / stable、WASM UI 编译和 Playwright 桌面 UI 回归测试在主分支通过。
  • 新增覆盖主动压缩与归档、输入预算、explore 子 Agent、Skill host 契约、工具循环检测、token usage 持久化、SQLite 快照与事务、Run 取消竞态及各项预览交互。
  • v0.19.0..v0.20.0 包含 25 个非合并提交,涉及 108 个文件。
  • 推送 v0.20.0 标签后,GitHub Actions 会构建 macOS Apple Silicon / Intel DMG 与 Windows MSI / NSIS,并附加到本 Release。

反馈

欢迎在 GitHub Issues 反馈问题。涉及上下文时,请说明是否执行过 /compact 以及归档是否生成;涉及 Agent 循环或 Run 时,请附上脱敏后的工具步骤、状态和执行环境。API key、token、密码、SSH 私钥和未脱敏科研数据请勿上传。


English: wisp-science v0.20.0 puts context management under explicit user control. Automatic history rewriting is gone: Wisp warns near the context limit, while /compact archives the full conversation before reducing model context. This release also adds a read-only explore subagent, migrates bundled scientific skills to Wisp's native Run/tool contract, separates progress, reasoning, and tool activity in chat, and improves per-reply token accounting and model settings.

What's Changed

  • Stop automatic token/age compaction; warn at 80% and let users run archive-first /compact from the CLI or desktop chat.
  • Cap shell, Python, and R results when they enter model context while retaining full UI output; archive isolated read-only exploration traces under .wisp/subagents/.
  • Migrate bundled GPU, figure, paper, literature, PDF, customization, and skill-authoring workflows away from the unavailable host.* SDK to explicit Wisp Runs and tools.
  • Add the journal-club-ppt workflow and catalog-wide checks for legacy host contracts and GPU Run lifecycles.
  • Render progress commentary, collapsed reasoning, and consecutive tool groups in wire order; show the current in-flight step even while Steps is collapsed.
  • Display and persist per-reply input, output, cache, and reasoning tokens across supported providers.
  • Add model-aware reasoning-effort choices, automatic known context/output limits, and drag-to-reorder model profiles.
  • Stop repeated tool-call loops, drop historical OpenAI-compatible reasoning replay, and reject binary files in read with actionable guidance.
  • Stabilize SQLite snapshots and write transactions, resolve Run cancellation races, and fix PPTX/XLSX preview sizing, PNG cropping, and cross-session side chat.

Compatibility: Installs over v0.19.0 in place with no manual database migration. /compact and explore archives are stored under the project's .wisp/ directory. Historical per-reply usage that was never persisted cannot be backfilled.

Full Changelog: v0.19.0...v0.20.0