feat: 完成Chrome启动器
- 新增 app/chrome.py 拼装远程调试启动参数并启动 Chrome - 实现 /json/version 端口探测并禁用环境代理 - 新增 chrome 单元测试覆盖参数、Popen 和端口就绪 - 更新任务看板、API 合约、当前状态和进度记录
This commit is contained in:
+9
-6
@@ -121,16 +121,19 @@ ensure_user_data_dir(slug, root=None, config=None) -> str
|
||||
|
||||
`make_slug()` 使用可读 ASCII 前缀 + 8 位 SHA1 后缀,保证稳定且降低别名冲突;非 ASCII 别名使用 `account_<hash>`。`ensure_user_data_dir()` 拒绝非 `[a-z0-9_]` slug,防止路径穿越。
|
||||
|
||||
## chrome 模块(`app/chrome.py`,待建)
|
||||
## chrome 模块(`app/chrome.py`,已建)
|
||||
|
||||
```python
|
||||
build_launch_args(account) -> list[str] # chrome + --remote-debugging-port + --remote-allow-origins=* + --user-data-dir
|
||||
launch_chrome(account) -> subprocess.Popen
|
||||
wait_debug_ready(port, timeout=60) -> bool
|
||||
is_running(port) -> bool
|
||||
create_shortcut(account, dest_dir=None) -> str # 可选 .lnk,PowerShell WScript.Shell
|
||||
class ChromeLaunchError(RuntimeError): ...
|
||||
build_launch_args(account, config=None) -> list[str]
|
||||
# chrome + --remote-debugging-port + --remote-allow-origins=* + --user-data-dir
|
||||
launch_chrome(account, config=None) -> subprocess.Popen
|
||||
wait_debug_ready(port, timeout=60, host="127.0.0.1") -> bool
|
||||
is_running(port, host="127.0.0.1") -> bool
|
||||
```
|
||||
|
||||
`build_launch_args()` 接受 dict 或对象形式账号;账号需有 `debug_port`,并有 `user_data_dir` 或 `slug/alias`。端口探测访问 `/json/version`,显式禁用环境代理。`.lnk` 快捷方式留给 T-106。
|
||||
|
||||
## cdp 模块(`app/cdp.py`,T-000 由根目录 `cdp.py` 迁入)
|
||||
|
||||
```python
|
||||
|
||||
Reference in New Issue
Block a user