Releases: zeshuochen/nekoro-browser
Releases · zeshuochen/nekoro-browser
Release list
v0.2.2
v0.2.1
macOS / Linux 的数据目录落点修正。Windows 用户不受影响。
修了什么
data_dir() 原来三平台共用一条 LOCALAPPDATA → XDG_CONFIG_HOME → ~ 的 or 链。
这两个变量在 macOS 上通常都不存在,多数 Linux 发行版也不设 XDG_CONFIG_HOME,
于是 token / pid / port 落在家目录下一个可见的 ~/nekoro-browser/——既不合 XDG 规范
(规范要求退到 ~/.config),也不合 macOS 惯例。
| 平台 | 0.2.1 起 |
|---|---|
| Windows | %LOCALAPPDATA%\nekoro-browser(不变) |
| macOS | ~/Library/Application Support/nekoro-browser |
| 其余 POSIX | $XDG_CONFIG_HOME/nekoro-browser 或 ~/.config/nekoro-browser |
新增 NEKORO_DATA_DIR,任意平台可显式覆盖。
升级注意:macOS / Linux 用户升级后旧的 ~/nekoro-browser/ 不会自动迁移,
里面只有 token / pid / port 三个会自动重建的文件,直接删掉即可。
文档:README 开场重排(对比表前置、新增 AI 安装提示词)、补 Windows 下
PowerShell here-string 写法、SKILL.md 注明 macOS 快捷键走 Meta=4 而非 Ctrl=2。
v0.2.0 — 三个从第一天起就不可用的功能
⚠️ 升级后必须重载扩展
这一版改了 background.js。uv tool upgrade nekoro-browser 只更新 Python 那一侧——Chrome 里已加载的扩展会继续跑旧代码,涉及扩展的改动静默停留在旧行为(不报错,只是新功能不生效)。
uv tool upgrade nekoro-browser
nekoro-browser --reload-ext # 或在 chrome://extensions 点「重新加载」
nekoro-browser --doctor # 确认 service worker 有响应manifest.json 的版本号已同步,可以和 nekoro-browser --version 对照着看。
三个从第一个 commit 起就不可用的功能
都被 try/except 转成了正常返回值,所以一直没人发现:
| 功能 | 症状 |
|---|---|
capture_screenshot() |
helpers 传 format=/quality=,Daemon.screenshot 的签名是 f=/q= → TypeError → 吞成 ok:false |
iframe_target() |
Target.getTargets 是 browser-level 命令,chrome.debugger 的 tab attach 下恒返回 Not allowed → 读起来像「没这个 iframe」。改走 Page.getFrameTree 返回 frameId |
click_text() |
会选中 display:none 的元素(rect 0×0)→ 点在 (0,0) 什么也没点到,却返回 ok:true。改用 find_text 那套带可见性过滤的引擎 |
其余七个修复
nth:N;对text:/index:静默失效 —— 点第 1 个却让调用方以为点了第 2 个。现在直接报permanent- 歧义判定不看可见性 —— 移动端+桌面端各一份导航(一个
display:none)被误判成歧义,逼调用方去数nth - 视口外元素点空报成功 —— rect 是视口坐标,元素在视口外照着点等于点空。新旧两条路径都补了
scrollIntoViewIfNeeded refs()3×N 次串行往返 + RemoteObject 泄漏 —— 改并发 + 一条Runtime.evaluate,同页实测 355ms → 116ms(3.1×),且不再产生objectId- 异常分支缺
kind—— 最需要「该不该重试」信号的分支反而没有 - 类型检查口径 ——
strict实测 2211 error,改挂standard并加 CI 门禁,让标准与现实一致 site_notes↔helpers循环导入、判空x==0误判等
新增
ensure_tab(url) |
复用优先的导航,不用记 reuse=True |
refs() / click_ref(ref) |
backendNodeId 稳定句柄,DOM 小变化后仍命中同一元素 |
wait_for_download() |
等下载完成 → {url, filename, bytes} |
click(loc, tab=id) |
跨标签点击;指名却没 attach 会报错而不是悄悄打到活动标签 |
已知限制(新增两条说明)
- 下载目录改不了。
Browser.setDownloadBehavior(-32601)与已废弃的Page.setDownloadBehavior(-32000 Cannot not access browser-level commands)都是 browser-level 命令,chrome.debugger的 tab attach 下一律被拒。请在 Chrome 自己的设置里改。 - 16 个 helper 收
tab=id,其余 37 个恒跟随活动标签;仍不做并行会话。
完整对比: v0.1.2...v0.2.0