Files
王冕 a27e3b8e43 feat: sync full workspace including web modules, docs, and configurations to Gitea
Optimized the root .gitignore to exclude virtual environments, node modules,
and temp folders to ensure clean and lightweight version tracking.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-09 18:12:25 +08:00

168 lines
4.9 KiB
Bash
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
#!/bin/bash
# anything-to-notebooklm Skill Installer
# 自动安装所有依赖并配置环境
set -e # 遇到错误立即退出
SKILL_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
SKILL_NAME="anything-to-notebooklm"
# 颜色输出
RED='\033[0;31m'
GREEN='\033[0;32m'
YELLOW='\033[1;33m'
BLUE='\033[0;34m'
NC='\033[0m' # No Color
echo -e "${BLUE}========================================${NC}"
echo -e "${BLUE} 多源内容 → NotebookLM 安装程序${NC}"
echo -e "${BLUE}========================================${NC}"
echo ""
# 1. 检查 Python 版本
echo -e "${YELLOW}[1/6] 检查 Python 环境...${NC}"
if ! command -v python3 &> /dev/null; then
echo -e "${RED}❌ 未找到 Python3请先安装 Python 3.9+${NC}"
exit 1
fi
PYTHON_VERSION=$(python3 -c 'import sys; print(".".join(map(str, sys.version_info[:2])))')
REQUIRED_VERSION="3.9"
if [ "$(printf '%s\n' "$REQUIRED_VERSION" "$PYTHON_VERSION" | sort -V | head -n1)" != "$REQUIRED_VERSION" ]; then
echo -e "${RED}❌ Python 版本过低(当前 $PYTHON_VERSION,需要 3.9+${NC}"
exit 1
fi
echo -e "${GREEN}✅ Python $PYTHON_VERSION${NC}"
# 2. 检查并克隆 wexin-read-mcp
echo ""
echo -e "${YELLOW}[2/6] 安装 MCP 服务器...${NC}"
MCP_DIR="$SKILL_DIR/wexin-read-mcp"
if [ -d "$MCP_DIR" ]; then
echo -e "${GREEN}✅ MCP 服务器已存在${NC}"
else
echo "正在克隆 wexin-read-mcp..."
git clone https://github.com/Bwkyd/wexin-read-mcp.git "$MCP_DIR"
echo -e "${GREEN}✅ MCP 服务器克隆完成${NC}"
fi
# 3. 安装 Python 依赖
echo ""
echo -e "${YELLOW}[3/6] 安装 Python 依赖...${NC}"
# 安装 MCP 服务器依赖
if [ -f "$MCP_DIR/requirements.txt" ]; then
echo "安装 MCP 依赖..."
pip3 install -r "$MCP_DIR/requirements.txt" -q
echo -e "${GREEN}✅ MCP 依赖安装完成${NC}"
fi
# 安装 Skill 依赖(包括 markitdown
if [ -f "$SKILL_DIR/requirements.txt" ]; then
echo "安装 Skill 依赖(包括 markitdown 文件转换工具)..."
pip3 install -r "$SKILL_DIR/requirements.txt" -q
echo -e "${GREEN}✅ Skill 依赖安装完成${NC}"
echo -e "${GREEN}✅ markitdown 已安装(支持 15+ 文件格式转换)${NC}"
fi
# 4. 安装 Playwright 浏览器
echo ""
echo -e "${YELLOW}[4/6] 安装 Playwright 浏览器...${NC}"
echo "这可能需要几分钟,请耐心等待..."
if python3 -c "from playwright.sync_api import sync_playwright" 2>/dev/null; then
playwright install chromium
echo -e "${GREEN}✅ Playwright 浏览器安装完成${NC}"
else
echo -e "${RED}❌ Playwright 导入失败,请检查安装${NC}"
exit 1
fi
# 5. 检查并安装 notebooklm
echo ""
echo -e "${YELLOW}[5/6] 检查 NotebookLM CLI...${NC}"
if command -v notebooklm &> /dev/null; then
NOTEBOOKLM_VERSION=$(notebooklm --version 2>/dev/null || echo "unknown")
echo -e "${GREEN}✅ NotebookLM CLI 已安装 ($NOTEBOOKLM_VERSION)${NC}"
else
echo "正在安装 notebooklm-py..."
pip3 install git+https://github.com/teng-lin/notebooklm-py.git -q
if command -v notebooklm &> /dev/null; then
echo -e "${GREEN}✅ NotebookLM CLI 安装完成${NC}"
else
echo -e "${RED}❌ NotebookLM CLI 安装失败${NC}"
echo "请手动安装pip3 install git+https://github.com/teng-lin/notebooklm-py.git"
exit 1
fi
fi
# 6. 配置指导
echo ""
echo -e "${YELLOW}[6/6] 配置指导${NC}"
echo ""
CLAUDE_CONFIG="$HOME/.claude/config.json"
CONFIG_SNIPPET=" \"weixin-reader\": {
\"command\": \"python\",
\"args\": [
\"$MCP_DIR/src/server.py\"
]
}"
echo -e "${BLUE}📝 下一步:配置 MCP 服务器${NC}"
echo ""
echo "请编辑 $CLAUDE_CONFIG"
echo ""
echo "在 \"mcpServers\" 中添加:"
echo -e "${GREEN}$CONFIG_SNIPPET${NC}"
echo ""
echo "完整配置示例:"
echo -e "${GREEN}{
\"primaryApiKey\": \"any\",
\"mcpServers\": {
$CONFIG_SNIPPET
}
}${NC}"
echo ""
# 检查是否已配置
if [ -f "$CLAUDE_CONFIG" ]; then
if grep -q "weixin-reader" "$CLAUDE_CONFIG"; then
echo -e "${GREEN}✅ 检测到已有 weixin-reader 配置${NC}"
else
echo -e "${YELLOW}⚠️ 未检测到 weixin-reader 配置,请手动添加${NC}"
fi
else
echo -e "${YELLOW}⚠️ 未找到 Claude 配置文件,请手动创建${NC}"
fi
echo ""
echo -e "${BLUE}🔐 NotebookLM 认证${NC}"
echo ""
echo "首次使用前,请运行:"
echo -e "${GREEN} notebooklm login${NC}"
echo -e "${GREEN} notebooklm list # 验证认证成功${NC}"
echo ""
# 最终检查
echo ""
echo -e "${BLUE}========================================${NC}"
echo -e "${GREEN}✅ 安装完成!${NC}"
echo -e "${BLUE}========================================${NC}"
echo ""
echo "📦 安装位置:$SKILL_DIR"
echo ""
echo "⚠️ 重要提醒:"
echo " 1. 配置 MCP 服务器后需要重启 Claude Code"
echo " 2. 首次使用前运行 notebooklm login"
echo ""
echo "🚀 使用示例:"
echo " 把这篇文章生成播客 https://mp.weixin.qq.com/s/xxx"
echo ""