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>
This commit is contained in:
167
axhub-make/skills/third-party/anything-to-notebooklm/install.sh
vendored
Normal file
167
axhub-make/skills/third-party/anything-to-notebooklm/install.sh
vendored
Normal file
@@ -0,0 +1,167 @@
|
||||
#!/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 ""
|
||||
Reference in New Issue
Block a user