Files
opsxapi/docs/api-tools-comparison.md
logan 2bb4ef7a95 桌面 GUI 外链修复 + 主题顺序调整(含结构扁平化进行中的工作区基线)
- 集成 tauri-plugin-opener:Cargo/lib.rs/capabilities/npm 四处接线,新增 src/openExternal.ts(桌面走 opener,浏览器回退 window.open,相对路径绝对化)
- 关于页 4 个链接、活动栏官网菜单、代理错误横幅 2 处健康检查链接全部改走 openExternal,桌面端可正常跳转
- 设置→外观 主题顺序调整为 深色/浅色/跟随系统
- release 二进制重编并验证(浏览器实测关于页链接可开文档页)
- 附带工作区中未提交的扁平化重构现状(另一会话进行中)
- homepage 落地页与文档终检通过(8787 / 与 /docs 双 200)
2026-10-16 03:03:36 +08:00

4.9 KiB
Raw Permalink Blame History

OpsxAPI 与 Bruno / Hoppscotch / Yaak 对照(2026-10-15)

评估以本机 /Users/logan/devops/demo/api/{bruno,hoppscotch,yaak} 的源码为准;这里比较交互模式,不代表三个项目的全部功能或版本承诺。OpsxAPI 保持桌面请求工作台 + 内网 Mock / 文档分享的产品方向。

任务 参照实现 OpsxAPI 现状 取舍与优先级
阅读 HTTP 响应 Bruno 的响应格式选择和响应头计数(bruno-app/src/components/ResponsePane/index.js、QueryResultTypeSelector/index.jsx);Yaak 的 Pretty / Raw 与复制、保存动作(yaak-client/components/HttpResponsePane.tsx) 已有 Raw、响应头、状态与耗时。此次补齐 Content-Type 判断、折行、按行数增长的行号、可折叠 Pretty JSON、键/值/标点分色、窄窗布局、图标复制及大响应保护 高,已落地基础项。 下一步优先做响应内搜索;图片/PDF/时间线先按真实需求排期。
请求与响应示例 Hoppscotch 将当前响应保存为具名示例(hoppscotch-common/src/components/http/Response.vue) 文档有响应示例,Mock 可从实际响应生成。此次增加“存为示例”,按状态码写入文档,同状态码先确认覆盖 高,已落地基础项。 后续可考虑为同一状态码保留多条具名示例,但需先扩展内部文档结构和导入/导出格式。
环境与变量 Hoppscotch 在参数和请求体编辑器中突出环境变量(http/Parameters.vue、RawBody.vue);Yaak 将主题、界面与代理设置分组 OpsxAPI 已有环境切换、相对路径拼接、变量补全与本机代理。此次外观新增跟随系统主题 中。 在请求地址旁持续展示解析后的目标;缺失变量应就地提示,不把更多说明塞进设置页。
自动化测试 Hoppscotch 的请求前脚本、测试结果和 runner(http/PreRequestScript.vue、http/test/Runner.vue);Bruno 的测试结果与时间线(ResponsePane/index.js) 已有用例步骤、断言、变量提取、报告和定时运行;没有任意脚本能力 中。 先改善失败步骤定位及上次运行对照。脚本沙箱、变量作用域和权限边界明确后再引入脚本,不直接复制整个测试平台。
设置与快捷操作 Yaak 将代理、证书、快捷键、主题分开(yaak-client/components/Settings/Settings.tsx) 代理、外观、大模型、数据管理、Mock 服务已分区;快捷键和证书管理尚无完整入口 中。 先补“发送 / 保存 / 切换请求 / 搜索”的快捷键及可发现提示,再做冲突处理;证书管理需结合桌面传输实现。
请求数据生成 Bruno 在编辑器补全中提供 $ 动态变量,并在 Mock 响应生成对话框中按 schema 生成示例;Hoppscotch 在编辑器高亮预定义变量(HoppPredefinedVariables.ts),通用设置页未单列随机规则;Yaak 使用请求模板函数及 Faker 插件 OpsxAPI 的 @ 表达式、字段匹配和预览在发送请求时生效,与 8788 内网 Mock 服务独立。保留开关、规则及预览,将“数据生成”从设置一级导航移到“网络 → 请求数据生成”,并在 HTTP Body 编辑器提供入口 保留能力、降低层级。 暂不引入插件市场、脚本式生成器或更多设置开关;如后续发现规则维护频繁,可再做请求级规则作用域。
大模型配置 OpsxShell 的供应商列表、详情表单、连接测试和明确的默认状态(opsxshell/src/components/settings/AiProviderSettings.tsx) 目前仅支持 OpenAI 兼容 Chat Completions,用于自动化测试用例生成;按“模型 / 连接 / 测试与保存”重排并显示默认、未保存与测试反馈 保持协议边界。 OpsxShell 的 Anthropic、Responses、多模型与计费字段依赖其专用客户端和数据结构,不能仅通过增加表单照搬。当前 API Key 随工作区保存,团队空间同步会包含此字段,后续应单独评估系统凭据存储。
分享与 Mock 三者重心分别偏向可复现集合、协作及本地请求体验 OpsxAPI 的文档与 Mock 均能经独立本机服务分享到内网,且有服务开关与访问控制 保持优势。 下一步应优先完善文档与 Mock 的同源状态提示、发布差异预览和真实内网访问反馈。

交互原则:保留“响应体 / Raw / 响应头”这几个稳定入口;把状态、耗时、大小与复制动作做成在窄窗口仍可阅读的工具栏;设置项按任务归类,只有影响安全或数据保存的说明才占据常显空间。暂不引入竞品的全部脚本、插件或媒体预览,以免把请求工作台变成难维护的多套运行时。

本轮验证:npm test -- --run(78 项)、npm run build、git diff --check。本机 GUI 的自动查看被运行环境拒绝,窄窗的实际视觉效果仍待桌面窗口验收。