fix: 修复 _install_mcporter 函数丢失 + browser-cookie3 硬依赖 + 自动装 birdx
关键修复: 1. _install_mcporter() 函数定义被上次编辑误删(NameError 崩溃) → 恢复为独立函数 2. browser-cookie3 作为硬依赖在服务器上安装失败(缺 dbus/secretstorage) → 改为 optional[cookies] 3. birdx 不在自动安装流程中 → _install_system_deps 增加自动 pip install birdx install 流程现在完整覆盖: gh CLI → Node.js → birdx → mcporter → Exa → XHS → cookies → test
This commit is contained in:
@@ -283,7 +283,26 @@ def _install_system_deps():
|
|||||||
except Exception:
|
except Exception:
|
||||||
print(" ⚠️ Node.js install failed. Install manually: https://nodejs.org")
|
print(" ⚠️ Node.js install failed. Install manually: https://nodejs.org")
|
||||||
|
|
||||||
|
# ── birdx (for Twitter search) ──
|
||||||
|
if shutil.which("birdx"):
|
||||||
|
print(" ✅ birdx already installed")
|
||||||
|
else:
|
||||||
|
if shutil.which("pip3") or shutil.which("pip"):
|
||||||
|
pip_cmd = "pip3" if shutil.which("pip3") else "pip"
|
||||||
|
try:
|
||||||
|
subprocess.run(
|
||||||
|
[pip_cmd, "install", "-q", "birdx"],
|
||||||
|
capture_output=True, text=True, timeout=120,
|
||||||
|
)
|
||||||
|
if shutil.which("birdx"):
|
||||||
|
print(" ✅ birdx installed (Twitter search + timeline)")
|
||||||
|
else:
|
||||||
|
print(" ⬜ birdx install failed (optional — Twitter reading still works via Jina)")
|
||||||
|
except Exception:
|
||||||
|
print(" ⬜ birdx install failed (optional — Twitter reading still works via Jina)")
|
||||||
|
|
||||||
|
|
||||||
|
def _install_mcporter():
|
||||||
"""Install mcporter and configure Exa + XiaoHongShu MCP servers."""
|
"""Install mcporter and configure Exa + XiaoHongShu MCP servers."""
|
||||||
import shutil
|
import shutil
|
||||||
import subprocess
|
import subprocess
|
||||||
|
|||||||
@@ -27,13 +27,11 @@ dependencies = [
|
|||||||
"pyyaml>=6.0",
|
"pyyaml>=6.0",
|
||||||
"rich>=13.0",
|
"rich>=13.0",
|
||||||
"yt-dlp>=2024.0",
|
"yt-dlp>=2024.0",
|
||||||
"browser-cookie3>=0.19",
|
|
||||||
]
|
]
|
||||||
|
|
||||||
[project.optional-dependencies]
|
[project.optional-dependencies]
|
||||||
browser = ["playwright>=1.40"]
|
browser = ["playwright>=1.40"]
|
||||||
cookies = ["browser-cookie3>=0.19"]
|
cookies = ["browser-cookie3>=0.19"]
|
||||||
mcp = ["mcp[cli]>=1.0"]
|
|
||||||
all = ["playwright>=1.40", "mcp[cli]>=1.0", "browser-cookie3>=0.19"]
|
all = ["playwright>=1.40", "mcp[cli]>=1.0", "browser-cookie3>=0.19"]
|
||||||
|
|
||||||
[project.scripts]
|
[project.scripts]
|
||||||
|
|||||||
Reference in New Issue
Block a user