Skip to content

a4api v0.3.1

Choose a tag to compare

@eogee eogee released this 21 Sep 14:38
· 13 commits to master since this release

a4api v0.3.1

修复

技能管理 / MCP 管理页一直「加载中…」(v0.3.0 回归)

  • 根因:v0.3.0 合并「本地模型」时,llama.js 对 tab(main-tab) 的重复注册覆盖了 app.js 的监听器——layui 对同一 filter 的 element.on 是覆盖式注册(后注册替换先注册),导致技能/MCP 两个页签的懒加载回调永远不触发
  • 修复:app.js 保持唯一注册位置,tab 切换改派发 main-tab-changed 自定义事件,llama.js 改听该事件;技能管理、MCP 管理、本地模型三个页签全部恢复正常

技能发现接口偶发 500(Windows 11 24H2「不受信任的装入点」)

  • ~/.codex/skills 等目录下的 junction(如指向项目目录的 video-use)会被 Windows 11 24H2 安全防护间歇性拒绝遍历(WinError 448),该错误码不在 pathlib 的可忽略名单里,直接把整个发现接口炸成 500
  • 现在扫描对单个无法访问的目录记警告并跳过,不再影响整体;同类防护覆盖了技能读取、路径校验与迁移冲突扫描
  • 该 junction 在被 Windows 拦截期间会临时从列表消失、放行后自动恢复,属预期行为

新增

技能迁移支持「自选项目文件夹」

  • 迁移对话框新增自选项目文件夹目标:目标项目无需事先存在任何 skill(哪怕只有 Agent 工作记录),.{tool}/skills 目录缺失时自动逐级创建
  • 桌面端直接调用系统原生目录选择框(pywebview),浏览器调试模式退化为输入路径
  • 与既有保护完全兼容:非法路径整体预校验拦截、源=目标自动跳过、同名旧版先入回收站;从自选路径迁出(作为源端)同样支持

安装器运行中服务刹停确认

  • 运行安装包/卸载程序时检测到 a4api 正在运行(主界面或后台代理),弹中文确认框:确认后一键刹停全部相关服务再继续,拒绝则中止安装
  • 刹停策略:优雅终止 3 秒 → 强制结束 → 最多再等 10 秒;杀不掉明确报错中止,绝不留半装状态
  • 静默安装(应用内更新触发)自动按确认处理,不再弹框卡住

改进

  • 接口错误可观测:桌面打包版此前接口 500 的堆栈完全不可见(uvicorn 默认日志不落盘、窗口化程序无 stderr);现改为沿 root logger 落盘,异常堆栈写入 ~/.a4api/logs/a4api.log

校验

  • 安装包:a4api-setup-0.3.1.exe
  • SHA256:DB729E1E0989BF13779DC2120EA2B5FC5EFEB5F74AB116B294165E5FDEF5673D