mybrowser-skill 1.0.14__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- mybrowser_skill-1.0.14/.gitignore +68 -0
- mybrowser_skill-1.0.14/PKG-INFO +6 -0
- mybrowser_skill-1.0.14/pyproject.toml +27 -0
- mybrowser_skill-1.0.14/src/x5use/__init__.py +26 -0
- mybrowser_skill-1.0.14/src/x5use/constants.py +58 -0
- mybrowser_skill-1.0.14/src/x5use/daemon_server.py +542 -0
- mybrowser_skill-1.0.14/src/x5use/debug_collector.py +196 -0
- mybrowser_skill-1.0.14/src/x5use/installer.py +74 -0
- mybrowser_skill-1.0.14/src/x5use/installer_common.py +95 -0
- mybrowser_skill-1.0.14/src/x5use/installer_linux.py +231 -0
- mybrowser_skill-1.0.14/src/x5use/installer_mac.py +194 -0
- mybrowser_skill-1.0.14/src/x5use/installer_win.py +163 -0
- mybrowser_skill-1.0.14/src/x5use/rpc_client.py +194 -0
- mybrowser_skill-1.0.14/src/x5use/server.py +533 -0
- mybrowser_skill-1.0.14/src/x5use/skill_registry.py +575 -0
- mybrowser_skill-1.0.14/src/x5use/upgrader.py +649 -0
- mybrowser_skill-1.0.14/src/x5use/vnc_proxy.py +36 -0
- mybrowser_skill-1.0.14/src/x5use/vnc_util.py +259 -0
- mybrowser_skill-1.0.14/src/x5use/websocket_manager.py +370 -0
- mybrowser_skill-1.0.14/uv.lock +82 -0
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
# Python
|
|
2
|
+
__pycache__/
|
|
3
|
+
*.py[cod]
|
|
4
|
+
*$py.class
|
|
5
|
+
*.so
|
|
6
|
+
*.pyd
|
|
7
|
+
|
|
8
|
+
# Distribution / packaging
|
|
9
|
+
.Python
|
|
10
|
+
build/
|
|
11
|
+
dist/
|
|
12
|
+
*.egg-info/
|
|
13
|
+
*.egg
|
|
14
|
+
MANIFEST
|
|
15
|
+
wheels/
|
|
16
|
+
*.whl
|
|
17
|
+
|
|
18
|
+
# Virtual environments
|
|
19
|
+
.venv/
|
|
20
|
+
venv/
|
|
21
|
+
env/
|
|
22
|
+
ENV/
|
|
23
|
+
|
|
24
|
+
# uv
|
|
25
|
+
.uv/
|
|
26
|
+
|
|
27
|
+
# Testing
|
|
28
|
+
.tox/
|
|
29
|
+
.nox/
|
|
30
|
+
.coverage
|
|
31
|
+
.coverage.*
|
|
32
|
+
htmlcov/
|
|
33
|
+
.pytest_cache/
|
|
34
|
+
.cache/
|
|
35
|
+
nosetests.xml
|
|
36
|
+
coverage.xml
|
|
37
|
+
*.cover
|
|
38
|
+
|
|
39
|
+
# Type checking
|
|
40
|
+
.mypy_cache/
|
|
41
|
+
.dmypy.json
|
|
42
|
+
dmypy.json
|
|
43
|
+
.pytype/
|
|
44
|
+
.pyre/
|
|
45
|
+
|
|
46
|
+
# IDE / Editor
|
|
47
|
+
.idea/
|
|
48
|
+
.vscode/
|
|
49
|
+
*.swp
|
|
50
|
+
*.swo
|
|
51
|
+
*~
|
|
52
|
+
.DS_Store
|
|
53
|
+
|
|
54
|
+
# Logs
|
|
55
|
+
*.log
|
|
56
|
+
logs/
|
|
57
|
+
|
|
58
|
+
# Environment variables
|
|
59
|
+
.env
|
|
60
|
+
.env.*
|
|
61
|
+
!.env.example
|
|
62
|
+
|
|
63
|
+
# Jupyter Notebook
|
|
64
|
+
.ipynb_checkpoints/
|
|
65
|
+
*.ipynb
|
|
66
|
+
|
|
67
|
+
# pyproject build artifacts
|
|
68
|
+
*.dist-info/
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
[project]
|
|
2
|
+
name = "mybrowser-skill"
|
|
3
|
+
version = "1.0.14"
|
|
4
|
+
description = "QQ Browser Skill - Browser automation toolkit via WebSocket"
|
|
5
|
+
requires-python = ">=3.10"
|
|
6
|
+
dependencies = [
|
|
7
|
+
"websockets>=12.0",
|
|
8
|
+
]
|
|
9
|
+
|
|
10
|
+
[project.scripts]
|
|
11
|
+
mybrowser-skill = "x5use.server:main"
|
|
12
|
+
|
|
13
|
+
[build-system]
|
|
14
|
+
requires = ["hatchling"]
|
|
15
|
+
build-backend = "hatchling.build"
|
|
16
|
+
|
|
17
|
+
[tool.hatch.build.targets.wheel]
|
|
18
|
+
packages = ["src/x5use"]
|
|
19
|
+
|
|
20
|
+
[tool.hatch.build.targets.sdist]
|
|
21
|
+
exclude = [
|
|
22
|
+
"*.sh",
|
|
23
|
+
".env",
|
|
24
|
+
".env.*",
|
|
25
|
+
"SKILL.md",
|
|
26
|
+
"README.md"
|
|
27
|
+
]
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
"""
|
|
2
|
+
QQ Browser Skill - Browser automation toolkit.
|
|
3
|
+
|
|
4
|
+
Provides a set of browser control skills that communicate with
|
|
5
|
+
the QQ browser extension via WebSocket.
|
|
6
|
+
"""
|
|
7
|
+
|
|
8
|
+
from .skill_registry import (
|
|
9
|
+
SkillDefinition,
|
|
10
|
+
SkillParam,
|
|
11
|
+
SkillResult,
|
|
12
|
+
SkillExecutor,
|
|
13
|
+
get_executor,
|
|
14
|
+
SKILLS,
|
|
15
|
+
SKILL_MAP,
|
|
16
|
+
)
|
|
17
|
+
|
|
18
|
+
__all__ = [
|
|
19
|
+
"SkillDefinition",
|
|
20
|
+
"SkillParam",
|
|
21
|
+
"SkillResult",
|
|
22
|
+
"SkillExecutor",
|
|
23
|
+
"get_executor",
|
|
24
|
+
"SKILLS",
|
|
25
|
+
"SKILL_MAP",
|
|
26
|
+
]
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
"""
|
|
2
|
+
常量定义模块。
|
|
3
|
+
|
|
4
|
+
集中管理项目中使用的常量,避免硬编码分散到各处。
|
|
5
|
+
"""
|
|
6
|
+
|
|
7
|
+
import os
|
|
8
|
+
import sys
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
def _get_default_log_dir() -> str:
|
|
12
|
+
"""根据当前操作系统平台返回默认日志目录。
|
|
13
|
+
|
|
14
|
+
- Linux: /usr/local/qqbrowser-skill-log
|
|
15
|
+
- macOS: ~/Library/Logs/qqbrowser-skill
|
|
16
|
+
- Windows: %LOCALAPPDATA%/qqbrowser-skill/logs
|
|
17
|
+
"""
|
|
18
|
+
if sys.platform == "win32":
|
|
19
|
+
base = os.environ.get("LOCALAPPDATA", os.path.expanduser("~"))
|
|
20
|
+
return os.path.join(base, "qqbrowser-skill", "logs")
|
|
21
|
+
elif sys.platform == "darwin":
|
|
22
|
+
return os.path.expanduser("~/Library/Logs/qqbrowser-skill")
|
|
23
|
+
else:
|
|
24
|
+
# Linux 及其他类 Unix 系统
|
|
25
|
+
return "/usr/local/qqbrowser-skill-log"
|
|
26
|
+
|
|
27
|
+
|
|
28
|
+
# 默认日志目录(根据平台自动选择)
|
|
29
|
+
DEFAULT_LOG_DIR = _get_default_log_dir()
|
|
30
|
+
|
|
31
|
+
|
|
32
|
+
def _get_browser_executable() -> str:
|
|
33
|
+
"""根据当前操作系统平台返回 QQ 浏览器可执行文件路径/名称。"""
|
|
34
|
+
if sys.platform == "win32":
|
|
35
|
+
# Windows 下默认安装路径
|
|
36
|
+
local_app = os.environ.get("LOCALAPPDATA", os.path.expanduser("~"))
|
|
37
|
+
return os.path.join(local_app, "QQBrowser", "QQBrowser.exe")
|
|
38
|
+
elif sys.platform == "darwin":
|
|
39
|
+
return "/Applications/QQBrowser.app/Contents/MacOS/QQBrowser"
|
|
40
|
+
else:
|
|
41
|
+
return "qqbrowser-browser-stable"
|
|
42
|
+
|
|
43
|
+
|
|
44
|
+
def _get_browser_process_name() -> str:
|
|
45
|
+
"""根据当前操作系统平台返回 QQ 浏览器进程名(用于进程检测)。"""
|
|
46
|
+
if sys.platform == "win32":
|
|
47
|
+
return "QQBrowser.exe"
|
|
48
|
+
elif sys.platform == "darwin":
|
|
49
|
+
return "QQBrowser"
|
|
50
|
+
else:
|
|
51
|
+
return "qqbrowser"
|
|
52
|
+
|
|
53
|
+
|
|
54
|
+
# QQ 浏览器可执行文件路径(根据平台自动选择)
|
|
55
|
+
BROWSER_EXECUTABLE = _get_browser_executable()
|
|
56
|
+
|
|
57
|
+
# QQ 浏览器进程名(根据平台自动选择,用于进程检测)
|
|
58
|
+
BROWSER_PROCESS_NAME = _get_browser_process_name()
|