wisp-science v0.16.1
wisp-science v0.16.1
这是 v0.16.0 之后的补丁版本,重点加强远程 SSH 的认证与失败保护:现在可选择使用系统钥匙串保存 SSH 登录密码,所有 Agent 管理的远程操作必须先通过一次使用已保存主机配置的 Probe;连接、认证或主机密钥失败后,Wisp 会停止重复尝试并引导用户先修复配置。同时,本版支持添加任意自定义服务凭证,并补充 DOCX/BibTeX 对话资源的不可变预览绑定。
下载
- macOS(.dmg,已签名 + 公证):区分 Apple Silicon(aarch64)与 Intel(x86_64),请下载对应架构。
- Windows 安装包(MSI / NSIS):尚未签名,可能触发 SmartScreen,可选择「仍要运行」。
见下方 Assets。
本版更新
SSH 认证与远程安全
- 支持 SSH 密码认证:新增“SSH 密钥 / agent”和“密码”两种认证方式。密码只保存在操作系统钥匙串,不写入 SQLite、项目文件或同步数据;密钥认证仍是推荐默认方式。
- Probe 后才允许 Agent 使用:SSH 主机必须使用当前保存的别名、用户、端口和密钥/密码成功探测后,才能被当前对话选为计算资源。自由拼装的 shell
ssh/scp被禁用,远程运行、Runtime、Files 和终端统一使用注册主机配置。 - 阻止失败登录循环:遇到超时、认证失败、IdentityFile、主机密钥或网络错误后,同一主机的后续托管请求会立即失败,不再反复连接而触发服务器爆破防护。修复网络或认证配置后,由用户明确重新 Probe 即可恢复。
- 可操作的故障诊断:失败弹窗会区分认证、IdentityFile、超时、DNS、host key 等常见原因,并提供“编辑主机配置”“去配置并探测”等入口;远程 Files 也会直接跳转到对应环境,而不是只提供盲目重试。
- 探测过程与结果反馈:环境页会在探测期间显示“正在连接服务器、验证 SSH 认证并读取环境信息”,防止重复点击;完成后明确区分密码认证、密钥认证、网络、Host Key 和受限 shell 等失败原因。
- 能力采集不再误伤连通性:
uname -s、架构和 hostname 属于可选能力信息。只要 SSH 认证通过且远程非交互命令可以执行,即使部分信息缺失也会通过 Probe;仅当账号完全禁止远程命令执行时才阻止 Agent 使用。 - 主机管理与弹窗修复:环境列表新增逐主机“编辑服务器”入口;Escape 现在只关闭最上层主机/SSH 诊断弹窗,不会误关底层设置页。
自定义凭证与文档资源
- 自定义服务凭证(#244):在“设置 → 凭据”中可添加服务名称、环境变量名和密钥/令牌,并支持替换、清除和删除。秘密值只保存在系统钥匙串,配置后的值会注入新启动的本地 Python 与内置 MCP 进程。
- 安全的凭证元数据:SQLite 只保存自定义凭证的名称和环境变量映射;环境变量会校验格式和重复占用。自定义凭证不会复制到 SSH/WSL 主机。
- DOCX/BibTeX 资源绑定:对话中的
.docx与.bib本地文件引用现在会绑定到不可变 artifact version;即使原文件随后变化,历史消息仍能打开当时的文档或参考文献内容。
界面一致性
- 统一中间文件、右侧面板、artifact modal 与终端 dock 的标签页激活样式、圆角和关闭图标尺寸,减少不同工作区之间的视觉跳变。
兼容性与升级说明
- 可直接覆盖安装
v0.16.0;没有需要手动执行的数据库迁移,现有项目、会话、模型、连接和 SSH 主机配置会继续保留。 - 升级后,已有 SSH 主机需要重新成功 Probe 一次,Agent 才能使用。 这是有意的安全收紧;本地计算和手动环境配置不受影响。
- 原有 SSH key/agent 认证保持默认且完全兼容。若改用密码认证,请在主机设置中保存密码并重新 Probe;密码不会进入项目同步。
- 自定义凭证只提供安全存储和环境变量注入,不会自动安装对应服务的技能、客户端或 MCP 连接;使用方仍需按约定读取该变量。
已知限制
- Windows 安装包仍未签名,可能触发 SmartScreen。
- 自定义凭证只注入新启动的本地 Python 与内置 MCP 进程,不会下发到 SSH/WSL 主机,也不会自动重启正在运行的远程任务。
- SSH Files 支持浏览、预览和下载,不支持远程创建、重命名或删除。
- 需自备模型与第三方科研服务的 API Key;对应费用、配额与可用性由用户及服务商负责。
测试与交付
- Rust workspace 测试、WASM UI 编译和格式检查通过。
- Playwright 桌面 UI 回归测试 157/157 通过,新增覆盖自定义凭证、SSH 主机编辑、探测进度、密码错误分类、可选
uname信息和弹窗 Escape 层级。 - 推送版本标签后由 GitHub Actions 构建 macOS Apple Silicon / Intel DMG 与 Windows MSI / NSIS,并附加到本 Release。
反馈
欢迎在 GitHub Issues 反馈问题。若涉及 SSH,请附上操作系统、认证方式、主机配置中非敏感字段、Probe 错误和复现步骤;API key、token、密码和 SSH 私钥请勿上传。
English: wisp-science v0.16.1 adds keyring-backed SSH password authentication, requires a successful probe before an SSH host can be used by the Agent, stops repeated managed login attempts after connectivity/authentication failures, and provides actionable host-edit and re-probe guidance. It also adds custom keyring-backed credentials exposed to new local Python/MCP processes, immutable DOCX/BibTeX message-resource previews, and consistent tab styling across the workspace.
What's Changed
- Add SSH key/agent and OS-keyring password authentication modes for registered hosts.
- Require a known-good probe and route managed remote tools through the saved host configuration; block free-form shell
ssh/scp. - Fail fast after SSH connectivity or authentication errors and guide users to edit the host and explicitly re-probe.
- Show live probe progress and classify password, key, network, host-key, and restricted-shell failures; missing optional
uname/architecture/hostname data no longer fails an otherwise usable SSH connection. - Add an explicit per-host Edit action and make Escape close only the topmost SSH/host dialog.
- Add custom credentials with validated environment-variable mappings; secret values never enter SQLite and are not copied to SSH/WSL hosts.
- Bind local DOCX and BibTeX references to immutable artifact versions and unify active tab styling.
Compatibility: Existing SSH hosts keep their configuration but must pass Probe once after upgrading before the Agent can use them. Custom credentials provide secure storage and environment injection only; the corresponding skill, client, or MCP integration must consume the configured variable.
Full Changelog: v0.16.0...v0.16.1