-
Notifications
You must be signed in to change notification settings - Fork 68
Open
Description
问题描述
在 macOS 上,opencli-rs CLI 本体安装成功,公开站点/非浏览器模式可以用,但所有需要浏览器链路的命令都会报:
[timeout] Daemon did not become ready within 10s
我已经安装了 Chrome 扩展,但 opencli-rs doctor 仍然显示:
opencli-rs diagnostics
✓ Chrome/Chromium
✗ Daemon running
✗ Chrome extension connected
所以目前看起来不是 CLI 没装好,而是浏览器链路没有建立成功。
运行环境
- 系统:macOS
- 架构:arm64
opencli-rs版本:0.1.1- 安装方式:安装脚本 / GitHub release 二进制
- Chrome 扩展:已从 release 下载
opencli-rs-chrome-extension.zip并手动安装
复现步骤
1. 安装 CLI
curl -fsSL https://raw.githubusercontent.com/nashsu/opencli-rs/main/scripts/install.sh | sh由于 /usr/local/bin 需要 sudo,我实际是手动安装到 ~/.local/bin/opencli-rs。
2. 安装 Chrome 扩展
按照 README 操作:
- 下载
opencli-rs-chrome-extension.zip - 解压
- 打开
chrome://extensions - 开启开发者模式
- 选择“加载已解压的扩展程序”
3. 运行诊断
opencli-rs doctor输出:
opencli-rs diagnostics
✓ Chrome/Chromium
✗ Daemon running
✗ Chrome extension connected
4. 执行浏览器模式命令
例如:
opencli-rs twitter timeline --format json返回:
[timeout] Daemon did not become ready within 10s
期望结果
执行 browser 模式命令时,daemon 应自动就绪,扩展应连上,命令正常返回结果。
实际结果
- CLI 主进程会运行约 10 秒
- 但 daemon 没有 ready
- 命令超时报错
- 没有返回任何浏览器数据
已排查内容
1. 不是端口冲突
我检查过 19824 是否被占用:
lsof -nP -iTCP:19824
netstat -anv | grep 19824结果都是空,没有任何进程监听或占用这个端口。
所以目前看起来不像是端口冲突。
2. 观察启动过程
我在执行下面命令时持续观察:
OPENCLI_VERBOSE=1 opencli-rs twitter timeline --format json现象是:
opencli-rs进程会存活大约 10 秒- 但在这 10 秒里,始终没有看到任何进程监听
19824 - 最后退出并报:
[timeout] Daemon did not become ready within 10s
这更像是:
- daemon 根本没有成功启动监听
- 或者 “daemon ready” 依赖扩展握手,而扩展没有连上
一个可疑线索
我检查了一下扩展包内容,发现扩展默认似乎使用的是 localhost:
const DAEMON_HOST = "localhost";而 CLI/二进制里又能看到 127.0.0.1 相关字符串。
在 macOS 上,localhost / IPv4 / IPv6 有时会导致连接行为不一致,所以这里怀疑可能存在:
- daemon 绑定地址
- 扩展连接地址
- CLI 期待地址
三者之间不一致的问题。
想确认的问题
- 安装扩展后,除了 “加载已解压扩展” 之外,是否还需要额外步骤?
- browser 模式下 daemon 是否应该由 CLI 自动拉起,还是需要手动启动?
- 扩展是否固定连接
localhost?能否改成127.0.0.1? - 是否有推荐的方式查看 daemon 与扩展之间的握手日志?
- 在 macOS 上,这种现象是否已知?有没有推荐排查方式?
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels