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_context、get_run、monitor_run与cancel_run;图表、论文、文献和自定义工作流改用明确的委派、图像和文件工具,不再依赖不存在的host.*Python SDK。 - 诚实暴露平台边界:移除已失效的 Operon provider adapter、环境和锁文件;尚未支持的 Modal、托管 endpoint 与调度器生命周期会明确提示限制,不再伪装为可用能力。
- PDF 探索适配 Wisp:
pdf-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
/compactfrom 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-pptworkflow 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