54 Commits
Author SHA1 Message Date
logan a1ab306821 docs: sdd-template 去掉重复标题行 2026-10-19 21:27:24 +08:00
logan 0c0423d3a1 docs: 锁定 apps/desktop 目录权威与 SDD 短模板
- AGENTS/architecture:目录权威改为 apps/desktop + packages/* + apps/server;根 src 标误迁
- sdd-template:补何时必填与 FR→AC,保留 Shell/DB 短模板体;细流程仍 docs/specs/
- 安全三行钉死;HANDTEST/README 已无浏览器 :5173 工作台口径
2026-10-19 21:27:13 +08:00
logan 9304b0e98c docs: AGENTS/SDD 对齐 Shell·DB,补架构页并清浏览器工作台口径
- 重写 AGENTS:浏览器只站+文档、操作走 ./run.sh gui;目录以现仓 src/src-tauri/server 为准
- docs/sdd-template.md 填成与 Shell/DB 同款短模板;sdd-agents/CLAUDE 指向它与 specs
- 新增 docs/architecture.md(两套壳、数据流、安全三底线)与 docs/README 索引
- HANDTEST/README 去掉用 :5173 当工作台的旧手测口径
2026-10-19 21:23:59 +08:00
logan 64bc8b1552 落地页新增带系统识别的下载区(参考 opsxshell 并增强)
- 四平台卡片:macOS Apple Silicon / macOS Intel / Windows x64 / Linux(deb/AppImage),
  导航新增「下载」入口
- 平台识别三通道:UA-Client Hints 架构位 → WebGL 渲染器(Apple/Intel 判别,
  解决 Chrome UA 恒为 Intel 字样导致 Apple Silicon 误判)→ UA 字面量兜底;
  命中卡描边高亮 + 「✓ 检测到你的系统」徽章,本机实测正确识别 mac-arm
- 公测期按钮统一指 #contact 获取安装包,data-href 已埋各平台产物路径,
  正式发包后改 href 即直连下载;零断链保持
2026-10-16 22:11:22 +08:00
logan fffc475758 pricing 布局对调:「选择适合的授权」升为进页主标(大字号),30 天试用条移至定价卡之后与说明文案同区 2026-10-16 14:10:35 +08:00
logan ebe900c7fc pricing 页移除「授权与定价」大标题:进页只剩试用提示条,直达价格卡 2026-10-16 14:06:27 +08:00
logan d114ce09d1 官网四页评审优化(P0 清单落地)
评审方式:落地页/pricing/license/docs 四页全页截图 + 视觉评审,按优先级修复:
- 落地页信息密度:为什么选 8→6 卡(握手头并入六协议卡、文档分享并入功能区);
  功能区 12→9 卡(删历史重放/系统代理/文档快照三弱卡),g3 三行节奏
- pricing 文案:私有化「(标价)」重复消除(¥8,000/年起、支持买断、成交灵活);
  年/永久 toggle 描边加粗+光晕提升视觉权重
- license:30 天试用 chip 加粗+光晕强调;hero 下新增快捷锚(怎么买/换机断网/查看定价)
  并为对应区块补 id
- docs 首页(=产品介绍):顶部新增「新手从这读起」五步引导(界面导览→首请求→Mock→测试→授权)
- 重建后核验:6 卖点卡/9 功能卡/标价 0/锚点 2/引导 1,五页零断链
2026-10-16 13:39:34 +08:00
logan 7cacf64daf pricing 页首屏直达价格:hero 紧凑化,免费/商用说明长文案移至定价卡之后(deal-note 区) 2026-10-16 13:34:26 +08:00
logan 9561b80f12 修复 pricing 页左上角孤立「>」:favicon link 标签尾部多余的引号尖括号残留 2026-10-16 13:33:40 +08:00
logan 0df0a4069a pricing 页删除「先试用,再决定」说明区:进页直达「选择适合的授权」定价档 2026-10-16 13:32:31 +08:00
logan dbf15c3060 移除 /docs/quickstart 文档页(公测期安装口径与获取方式尚未定稿,暂不公开)
- 删除 02-quickstart.md 与 manifest 目录条目(21→20 页)
- 原指向该页的入口全部改指 /docs 文档首页(落地页 hero 次级按钮、三站页脚)
- intro 提示改指《界面导览》;重建后 /docs/quickstart 404、全站零死链引用
2026-10-16 13:30:33 +08:00
logan 36c7983049 文档站页头移除「打开工作台 ↗」(指向落地页自身的死链按钮),保留官网入口 2026-10-16 13:29:09 +08:00
logan ec9a7b8695 文档站面向用户清理:删摆设组件 + 去实现名词 + 标题去重
- 删「打印/导出 PDF」按钮与「是否有帮助」反馈组件(静态站无后端,纯摆设)及未使用 SVG 图标
- 文档去 Tauri/Gin 等实现层名词(本地代理/隧道等用户语义保留)
- 5 页 markdown 首行 H1 与页面标题去重
- homepage dist 同步重建
2026-10-16 13:20:46 +08:00
logan 946983d599 pricing / license 页移除右上角「快速上手」按钮(与落地页口径一致,导航链接保留文档入口) 2026-10-16 13:13:02 +08:00
logan f6f61b35d8 文档去源码化:公开文档不再引导 git clone / run.sh(商业软件口径)
- 02-快速开始 整篇重写为最终用户视角:官网/微信群获取安装包 → 安装即用 →
  30 秒首请求 → 切换环境 → 试用与授权指引;删除环境要求表/克隆启动/命令表
- 01-介绍「开箱即用」改为安装即用口径;08-WebSocket 隧道说明改为随应用自动运行;
  19-FAQ CORS 排查项去掉 curl/run.sh;18-服务端部署建议改为私有化发行包交付
  (单二进制+静态资源,不依赖源码与构建工具链)
- 重建后 quickstart/落地页 git clone、run.sh、npm、cargo 残留均为 0;五页零断链
2026-10-16 12:19:30 +08:00
logan c0617ffdc8 落地页去本地执行口径 + 设置→关于 增加官网跳转
- 落地页:移除右上角「快速上手」按钮(nav-cta);hero 主 CTA 与底部 CTA
  改指 /pricing(30 天免费试用口径),不再引导网站访客跑 run.sh/quickstart
- 设置 → 关于:新增「官网」按钮(https://opsxapi.rlwj.cn,links.ts SITE_URL 统一维护);
  「官网与价格」从本地 /home 改指公网 opsxapi.rlwj.cn/pricing(打包环境无本地服务时同样可达)
- 浏览器实测关于页四个外链按钮标题正确;落地页 nav-cta 零残留
2026-10-16 11:51:15 +08:00
logan cdaba44373 官网内容质量升级:基于代码真实功能重写卖点与文档
先做全量功能盘点(编辑器/测试/Mock/AI/导入导出/服务端/桌面授权),再对齐内容:
- 落地页:hero 副标与药丸补 AI 用例/Cron 定时/智能 Mock;「为什么选」4→8 卡
  (新增 自动化测试闭环/AI 生成用例/智能 Mock 双引擎/内网文档分享);功能区 6→12 卡
  (新增 测试/AI/智能 Mock/历史重放/系统代理/文档快照);对比表 +3 行(断言/AI/Cron);
  定价卡对齐 3/5 台与真实权益;新增 bot/list-checks/flask/clock 图标
- 文档:03-界面导览 重写为活动栏时代(含授权徽章/空间切换);16-测试 补 5 段 Cron
  章节(示例/15s 巡检/30 条日志/防重入)与 JSON 报告格式;14-Mock 补 61 条规则数、
  独立端口 8798/OPSXAPI_MOCK_ADDR、Mock 管理页、Bearer 与来源控制、一键建 Mock
- 新增 21-授权与激活 文档(试用条款/LIC- vs LICOFF-/解绑/离线容忍/防伪)并注册目录
- 21 页文档全量重建;7 页零断链验证 + DOM 结构核验(卡片/图标/药丸计数)通过
2026-10-16 11:47:45 +08:00
Logan.Li 904a85ab7f refactor(homepage): 官网源码从 server/internal/{site,docs} 迁入 homepage/
- homepage/ 现为唯一源码目录:index.html/docs.html/pricing.html/license.html/terms.html + assets/docs-assets/content
- 删除 server/internal/{site,docs}(模板与资源),后端只托管 homepage/dist
- 新增 tools/homepage-build + scripts/build-homepage.sh 可重跑构建;go build/test 通过;src/ 未改动
2026-10-16 11:22:32 +08:00
Logan.Li 1302acc596 fix(homepage): 页脚底栏文案更正为静态站口径(不再声明「由单二进制内置提供」) 2026-10-16 04:19:36 +08:00
Logan.Li 3cb9545121 refactor(homepage): 官网/文档/定价源码迁出程序 + 新增独立授权与激活页 /license
- 官网源码归拢到 homepage/(index/pricing/terms/license + content/ + assets/ + docs-assets/),
  删除程序内 go:embed 的 server/internal/{site,docs},后端仅静态托管 homepage/dist 做本地预览
- 新增独立静态页 /license(授权与激活):交付与激活四步(邮件交付授权码)、
  在线授权码 LIC- 与离线许可证 LICOFF- 对比、授权服务器 licence.rlwj.cn 通信范围说明、
  授权类型与价格、10 条授权 FAQ
- tools/homepage-build 支持可选单页,产出 <name>.html 与 <name>/index.html
- 导航/页脚接入 /license,跨页锚点补 / 前缀,页脚底栏文案同步为静态站口径
2026-10-16 04:16:16 +08:00
logan 327a265572 补提交被 dist/ 规则误排除的 /pricing 定价页(上两次 add -A 不会纳入 ignored 文件) 2026-10-16 03:45:02 +08:00
logan 0f8e1f75da 定价统一:专业版包年 ¥99 / 永久 ¥199(与 OpsXShell 一致);授权真实链路验证
- /pricing 与落地页:¥299 终身→¥199 永久、¥69→¥99、个人版更名专业版(3/5 台设备);
  补 Apipost 离线版式购买叙事(一机一码/当场发证/无需注册/年 2 次免费换绑)
- 授权服务器(licence.rlwj.cn):opsxapi 永久计划 299→199;注册 opsxdb 产品与
  trial/yearly/perpetual 计划——三产品公开 API 均为 0/99/199
- 真实链路验证:管理端签发 opsxapi 在线 LIC-(activate/verify 全通,Ed25519 签名下发)+
  离线 LICOFF-(绑本机 device_id);新增 4 项 Rust 单测用真实 fixture 跑通
  (离线验签/换设备拒绝/篡改拒绝/在线响应签名)
2026-10-16 03:36:43 +08:00
logan c304b9f251 授权体系落地:30 天试用 + LIC- 在线 / LICOFF- 离线激活 + /pricing 定价页
借鉴 Yaak 授权模型 + 复用自家 OpsXShell 生产级授权协议(opsx-licence 服务端):
- Rust services/license:30 天试用自首次启动自动开始;LIC- 在线激活/周检/解绑
  (双节点容灾 + 响应 Ed25519 签名校验 + 时钟回拨检测 + 30 天离线容忍);
  LICOFF- 离线证本地自验(产品码 opsxapi + 设备绑定 + ≤1 年期限)
- 前端 src/license.ts + 活动栏授权徽章(试用 N 天/已授权/未授权)+
  设置→授权页(状态横幅/激活表单/解绑/定价链接带 ?intent= 追踪)
- /pricing 独立定价页(三站同结构):30 天试用条款、在线/离线激活说明三卡、
  年付↔终身切换、授权 FAQ、独立开发者声明;导航全部接入
- opsxDB 个人 ¥69/年·¥199 终身 / 团队 ¥69 / 私有化 ¥6000(与 API 定位错开)
- GUI 实测:试用 30 天徽章渲染正常;浏览器态授权页正确显示仅桌面端提示
2026-10-16 03:27:45 +08:00
logan d7a9503042 落地页内容修正 + 官网资产入库保全
- v1.0→v0.1 公测(对齐实际版本);「打开工作台」死链三处改指 /docs/quickstart;
  「OpenAPI 双向同步」虚标改「本机 Mock 服务」;定价「桌面端+Web 双形态」改「桌面端单机全功能」
- homepage/dist 此前被通用 dist/ 规则忽略,官网只存在于本机磁盘、清库即丢;强制入库保全
  (后续若落 homepage 源码构建体系,此目录可回归忽略并改跟踪源)
2026-10-16 03:14:50 +08:00
logan 68a933e6fb 端口规划落地:Mock 默认挪 8798,8788 让给 OpsxDB;/home 落地页别名
- 本机端口约定:8787=OpsxAPI / 8788=OpsxDB / 8789=OpsXShell;mock 独立监听默认改 0.0.0.0:8798(run.sh、main.go、api.go 三处同步,README 4 处引用更新)
- mountHomepage 增加 /home、/index.html → / 别名:静态站导航里的 /home 链接不再 404
- 三站资产扫描零断链(含 opsxshell 下载 dmg 已就位)
2026-10-16 03:11:50 +08:00
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
logan 6452026fd6 chore: 官网拆分 homepage + 验收残留清理(当前可用状态基线) 2026-10-14 20:31:38 +08:00
logan 8c850690b0 chore: ignore and remove .ui-review artifacts
Drop tracked UI review/acceptance screenshot dirs and ignore
.ui-review/ and .ui-review-*/ so they stay local-only.
2026-10-14 19:42:57 +08:00
logan dfa559ff59 交互反馈优化:去掉活动栏选中蓝竖线,全按钮补按压态
- 删除 .rail-item.active::before 左侧蓝色竖条(用户反馈多余);
  选中态改为稍深的着色背景 + 1px 内描边
- 新增统一 :active 按压反馈(此前全局缺失,点击无任何视觉变化):
  ops-btn 轻微缩放+微暗、ghost 按压着色;rail-item 按压着色;
  side-seg-item / new-card 缩放;ops-tree-row 按压微暗
2026-09-20 00:54:01 +08:00
logan 02efc13a21 修复桌面应用无限多开:GUI 启动不再走 launchctl submit
launchctl submit 的任务带自动重生语义,open -n 立即退出会被 launchd
反复重启,每次重启 open -n 新开一个应用实例(约 20 秒一个)。
改为直接同步 open(不带 -n),已有实例时聚焦不新开;
实测启动后 45 秒稳定单实例。
2026-09-20 00:48:38 +08:00
logan 39f4d5addc 桌面应用图标替换为 B-brackets 设计(深藏青 + 白/蓝花括号)
- icon.svg 取自 opsx-icon-options/api/B-brackets.svg,全套光栅重生成:
  icon.icns(iconutil)、icon.ico(PNG-in-ICO 6 尺寸)、16-1024 PNG、Windows Square*/StoreLogo
- 替换 Tauri 脚手架默认五角星图标;GUI 重启实测 Dock 图标已生效
- 服务全量重启:server 8787(官网/文档 200)+ web 5173 + 桌面 GUI
2026-09-20 00:14:32 +08:00
logan 71a6d986a4 活动栏移除主题按钮:低频操作收纳进 设置 → 外观
设置弹窗已有 外观 → 界面主题(深色/浅色)选项,活动栏不再重复占位;
底部精简为 文档 / 设置 / 账号
2026-09-18 13:43:54 +08:00
logan d5f90e469e 修复左上角双 Logo:本地空间徽标改用彩色首字标
顶栏品牌 Logo 与活动栏本地空间徽标此前同为产品 Logo,视觉重复;
统一改为 EnvBadge 风格(本),与云端空间徽标语言一致
2026-09-18 13:42:54 +08:00
logan 36df1cec83 团队管理:重命名与删除团队
- 新接口:PATCH /api/teams/:id 重命名(1-40 字符)、DELETE /api/teams/:id 删除(均仅创建者);删除随外键级联清理成员/共享空间/Mock 接口
- TeamDialog:卡片右上 ✎ 内联重命名、🗑 删除二次确认(红色警示条,明示连带删除范围)
- 删除后若当前停留在该团队空间自动切回本地空间
- curl E2E:改名/越权 403/删除/空间级联失效全通过;浏览器验证改名与删除全流程;53 前端测试 + Go 构建通过
2026-09-18 13:40:32 +08:00
logan c6868b0ddd 团队管理:成员擅长标签
- team_members 新增 specialty 列(老库自动 ALTER 迁移,幂等)
- 新接口:GET /api/teams/:id/members 成员列表(仅成员可看)、PUT /api/teams/:id/members/:uid 更新擅长(创建者可改他人,成员仅改自己);邀请接口支持带擅长
- TeamDialog 重构:团队卡片内成员列表(头像/名称/邮箱/角色/彩色擅长 chip,超 3 个折叠 +N)、行内擅长编辑器(10 个预设点选 + 自定义输入)、邀请时顺手点选擅长预设
- 文档 20-account 同步更新(含活动栏新导航说明)
- curl E2E:邀请带擅长/创建者改他人/自改/越权与非成员 403 全部通过;53 前端测试 + Go 测试全绿
2026-09-18 13:36:28 +08:00
logan 6d72264793 新建体验升级:彩色协议图标体系 + Apifox 式卡片新建面板
- 新增 KindIcon:6 协议 + 目录的彩色圆角方块图标(渐变底 + 白色图形 + 内高光),全应用统一配色
- 新增 NewMenu 下拉面板:双列网格卡片(图标 + 名称 + 副标题)、分组标题、通栏「新建目录 / 选择位置新建…」
- 新建弹窗类型选择、侧栏树非 HTTP 请求行、标签页图标全部换用彩色 KindIcon
- 浏览器验证:面板开合/创建联动、弹窗选中态、树与标签页图标;53 项测试全绿
2026-09-18 13:26:51 +08:00
logan 9566a5336c 导航重构:Apifox 式左侧活动栏(空间切换/导航/账号),顶栏瘦身
- 新增 ActivityRail:顶部空间切换(本地/个人/团队组织菜单)、接口/历史/测试/Mock 导航、底部文档/主题/设置/账号(含云端同步状态点)
- TopBar 仅保留新建/导入/导出 + 环境切换,账号/主题/文档/设置全部移入活动栏
- Sidebar 接口|历史 分段切换改由 store sidebarSide 驱动,与活动栏联动;移除底部导航区
- 900px 窄屏顶栏固定 48px 单行验证通过;53 项测试全绿
2026-09-18 13:20:37 +08:00
logan e77b76986e 顶栏固定单行 + 侧栏信息架构重构(接口/历史分段切换)
- 修复窄窗口下顶栏按钮被压缩导致中文逐字竖排:按钮 whitespace-nowrap + shrink-0,
  header flex-nowrap + 横向滚动兜底;协议徽标 xl 以下隐藏;实测 header 恒定 48px、零换行按钮
- 侧栏重构:历史上移——搜索框下「接口 | 历史(计数)」分段切换(历史为高频最近使用),
  历史视图含清空按钮;底部只留跨视图导航(自动化测试)+ 外链(官网与价格),职责单一
- 分段控件样式(panel-3 底、active 白底浮起);复验截图评审通过
2026-09-18 13:01:27 +08:00
logan 838f76c21b UI 精修:全面视觉评审后的集中打磨(浅色/深色双主题复验通过)
- 层次:浅色底色加深(#e8edf5),侧栏白面板与主区对比清晰
- 按钮:secondary 边框加深 + hover 转 accent;禁用态灰字(不再与启用态混淆)
- 方法标签:GET/POST/PUT/… 七色 chip 着色(14% 底 + 方法色文字)
- 设置弹窗:左导航 active 竖条指示、开关 40px + 阴影圆点 + 弹性动画、分组标题层级提升
- 顶栏:主题按钮前补分隔线;只读输入框不再显示聚焦环
- 侧栏:清空历史危险红样式;官网与价格改为 accent 链接
- 登录弹窗提示文案精简
- 评审方式:主界面(浅)25 条 + Mock 弹窗 + 设置弹窗逐条修复;浅/深主题复验截图评审通过
2026-09-18 12:48:47 +08:00
logan 0edd3e674a Mock 地址安全加固:空间 ID → 16 位随机 mock_token
- 问题:/mock/{自增空间ID} 可枚举且服务绑定所有网卡,局域网可猜他人空间
- workspaces 新增 mock_token(UNIQUE,随机 8 字节 hex;老库自动 ALTER + 回填)
- /mock/{token}/path:解析失败统一 404(不暴露存在性);限流 key 沿用 token
- /api/me 与发布响应返回 token 形态 base;弹窗 URL 改用 token
- 验证:token URL 正常随机生成;旧数字 ID 与任意伪造 token 均 404
2026-09-18 12:33:58 +08:00
logan d9ccccd280 本地 Mock 服务 /mock + 限流 20QPS/60QPM + 服务条款
- Go Mock 引擎(与前端同语法 @cname/@integer/... 每次请求随机生成,JSON 叶子保持类型)
- mock_endpoints 表 + 发布 API(PUT /api/workspaces/:id/mock,全量替换,单空间 200 个)
- 路由 /mock/:wsid/*path:状态码/延迟(≤5s)/?_method 覆盖;未发布 404
- 限流(IP+空间 滑动窗口):20 QPS / 60 QPM → 429 + Retry-After + 条款提示
- 官网 /terms 服务条款(七节:含禁止滥用——未经授权或滥用有权采取措施、技术手段规避限流属违规)
- UI:HTTP 编辑器「Mock 链接」弹窗(发布/状态码/延迟/模板预览/复制/试一试);
  发布自动烘焙智能 Mock 表达式;集合端点去重 + INSERT OR REPLACE
- docs:14-mock 增本地 Mock 服务与限流章节;页脚/429 响应均指向 /terms
- 单测:mocksrv 引擎/限流/路径 5 用例;curl E2E(随机×2、201+延迟、404、连发 30 次触发 429);浏览器发布+试一试通过
2026-09-18 12:29:49 +08:00
logan 522e5d6300 顶栏精简:移除 ⋯ 更多菜单,Mock 直达按钮 + 官网入口下沉侧栏
- 原 ⋯ 内容分流:设置/Mock/重置→设置弹窗已有;环境/主题/文档→顶栏已有按钮;
  自动化测试→侧栏底部已有;官网与价格→侧栏底部新增链接
- Mock 数据作为核心能力提升为顶栏一键直达(烧瓶图标 → 设置 Mock 页)
- 53 前端用例绿;顶栏近景截图评审通过
2026-09-18 11:51:27 +08:00
logan 17528a7e9d chore: 忽略 tsbuildinfo 构建产物 2026-09-18 11:42:57 +08:00
logan aabd20bd75 账号与团队:SQLite 云端空间(个人 / 团队共享 + 自动同步)
- 服务端(Gin + modernc.org/sqlite,data/opsxapi.db WAL):
  - users/tokens/teams/team_members/workspaces 表;注册登录(加盐哈希 + Bearer 令牌)
  - /api:auth register/login/logout、me(用户+团队+空间)、teams CRUD/邀请成员、workspaces 读写(20MB 上限,成员鉴权)
- 前端:
  - account.ts 客户端 + store 账号态:登录/注册/登出/团队/空间切换
  - 顶栏账号区:未登录「登录」按钮;登录后用户胶囊(头像+空间名+已同步/同步中/失败)+ 空间切换菜单 + ⋯(立即同步/团队管理/退出)
  - 空间模型:本地(localStorage)与云端(SQLite)隔离,切云端空空间自动播种本地数据;云端改动 1.5s 去抖自动同步;切回本地恢复快照
  - 登录/注册弹窗 + 团队管理弹窗(建团队、邮箱邀请);vite 代理 /api;docs 新增「账号与团队」页
- 验证:curl E2E(注册/冲突 409/错误密码 401/团队共享写/越权 401)+ 浏览器全链路(注册→播种上云 17KB→云端编辑自动同步→本地快照隔离)
2026-09-18 11:42:34 +08:00
logan 045e8c65c3 定时任务 Cron 表达式支持(工作区遗留改动收尾)
- TestSchedule 新增可选 5 段 cron(分 时 日 月 周,本地时区),优先于 intervalMinutes;runLog 调度日志
- cron.ts 解析与匹配引擎 + 单测;scheduler 按最近下次触发时间调度
- ScheduleDialog / TestingView 支持 cron 输入与下次运行提示;AiCaseDialog 微调
- 服务端 internal/echo 调试回显端点;修复 model.ts 注释内 */ 导致的语法错误
- 全量 53 前端用例绿
2026-09-18 11:42:34 +08:00
logan ce6d2d1eff 前置 URL:环境切换自动拼接服务地址(借鉴 Apifox)
- 环境新增「前置 URL」字段;环境管理弹窗独立配置区 + 说明
- URL 输入改为一体胶囊:前缀块(环境徽标 + 域名,点击进环境管理)+ 分隔线 + 相对路径输入
  - 路径以 / 开头(或空)自动拼接当前环境前置 URL;完整 https:// 地址不受影响
  - 光标 / 全选只作用于路径,不再误编辑 {{baseUrl}} 文本
- 覆盖 HTTP / GraphQL / SSE 编辑器与发送链路(含自动化测试执行器、代码生成用完整地址)
- 存量数据一次性迁移:{{baseUrl}}/path → /path,baseUrl 变量 → 环境字段(启动 / 导入 / 备份恢复均生效)
- 顶栏切换环境即换前缀;docs 06-env 增前置 URL 章节
- 验证:48 前端用例全绿;本地 E2E(迁移/发送 200/环境切换前缀联动/胶囊几何对齐)+ 近景视觉评审通过
2026-09-18 02:43:49 +08:00
logan 1bcd7be2ac AI 大模型接入 + 自动化测试(手动/AI/定时三种触发)
- 自动化测试核心(packages/core/src/testing.ts):
  - JSONPath 求值($.a.b[0].c)、断言评估(状态码/耗时/Header/Body × 10 种操作)
  - 变量提取(响应 → 当前环境,{{var}} 链式传值)、Markdown 报告导出
- 用例模型:场景用例 = 有序步骤(引用 HTTP 接口 + 断言 + 提取),失败后继续可选
- 执行器 testRunner + 定时调度器 scheduler(应用运行期间按间隔自动执行)
- TestingView:用例列表 / 步骤编排 / 断言与提取编辑器 / 报告(统计卡+断言明细+过滤+再次运行+导出)
- AI 助手:OpenAI 兼容客户端(DeepSeek/智谱/Kimi/OpenAI/Ollama 预设)
  - 设置 → AI 助手:供应商 CRUD + 测试连接 + 当前使用切换
  - AI 生成场景用例:读取集合接口清单 → 编排步骤/断言/提取 → 预览保存
- 入口:侧栏底部「自动化测试」+ ⋯ 菜单;文档新增 /docs/testing /docs/ai
- 新增 11 个引擎单测(总 48 前端用例全绿);本地 E2E:运行通过+断言通过+petId 提取验证
2026-09-18 01:57:57 +08:00
logan 9a019408ab 设置中心与 Mock 数据功能
- 顶栏:移除 tauri-native 传输徽章;⋯ 更多菜单重做(设置/Mock/环境/主题/文档/官网/重置)
- 设置弹窗重写:左侧导航(外观/网络/Mock 数据/数据管理/关于)+ 分组卡片 + 开关控件
- Mock 引擎(packages/core/src/mock.ts):Mock.js 常用语法子集 + 智能字段匹配
  - 61 条默认规则(通配符/精确/正则 × string/number/integer/boolean)
  - 发送链路接入:Query/JSON Body/urlencoded/form-data/GraphQL Variables
  - Body 工具栏:智能填充(生成可编辑 @表达式模板)+ Mock 预览
  - 设置页规则表 CRUD + 表达式速查表即时预览
- 文档新增「Mock 数据」页(/docs/mock),Manifest 顺序调整
- 新增 16 个 Mock 单测(总 37 前端用例全绿)
2026-09-18 01:35:54 +08:00
logan 6307a017a3 fix: 修复弹出菜单在新按钮点击后即开即关(改用 pointerdown 捕获关闭,WKWebView 下复现) 2026-09-18 01:15:21 +08:00
logan ee3b819fc5 fix: 初始化时落盘迁移结果,确保旧演示地址写入 localStorage 2026-09-18 01:09:34 +08:00