[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"project-83112":3},{"id":4,"name":5,"fullName":6,"owner":7,"repo":5,"description":8,"homepage":9,"htmlUrl":10,"language":11,"languages":10,"totalLinesOfCode":10,"stars":12,"forks":13,"watchers":14,"openIssues":15,"contributorsCount":15,"subscribersCount":15,"size":15,"stars1d":16,"stars7d":17,"stars30d":17,"stars90d":15,"forks30d":15,"starsTrendScore":18,"compositeScore":19,"rankGlobal":10,"rankLanguage":10,"license":20,"archived":21,"fork":21,"defaultBranch":22,"hasWiki":21,"hasPages":21,"topics":23,"createdAt":10,"pushedAt":10,"updatedAt":24,"readmeContent":25,"aiSummary":26,"trendingCount":15,"starSnapshotCount":15,"syncStatus":27,"lastSyncTime":28,"discoverSource":29},83112,"Qingcao_Tools","H1d3rOne\u002FQingcao_Tools","H1d3rOne","一个集成抖音解析、夸克网盘、视频号助手、闲鱼工具的多功能工具箱","",null,"Python",113,35,80,0,1,15,3,55.67,"GNU Affero General Public License v3.0",false,"main",[],"2026-06-12 04:01:40","\u003Cdiv align=\"center\">\n  \u003Cimg src=\".\u002Fweb-vue\u002Fpublic\u002Fqingcao-logo.svg\" width=\"96\" alt=\"青草工具箱 Logo\" \u002F>\n\n  # 青草工具箱\n\n  \u003Cp>一个基于 \u003Cstrong>FastAPI + Vue 3 + TypeScript\u003C\u002Fstrong> 的多功能工具箱，集成抖音解析、夸克网盘、视频号助手、闲鱼工具、消息推送与统一配置管理。\u003C\u002Fp>\n\n  \u003Cp>\n    \u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FPython-3.10%2B-3776AB?logo=python&logoColor=white\" alt=\"Python 3.10+\" \u002F>\n    \u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FNode.js-18%2B-339933?logo=node.js&logoColor=white\" alt=\"Node.js 18+\" \u002F>\n    \u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FVue-3.4%2B-4FC08D?logo=vue.js&logoColor=white\" alt=\"Vue 3.4+\" \u002F>\n    \u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FFastAPI-0.110%2B-009688?logo=fastapi&logoColor=white\" alt=\"FastAPI\" \u002F>\n    \u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FElement%20Plus-2.6%2B-409EFF\" alt=\"Element Plus\" \u002F>\n  \u003C\u002Fp>\n\u003C\u002Fdiv>\n\n> ⚠️ 本项目仅供学习交流与个人工具化使用。请遵守相关平台服务条款与法律法规，不要用于非法用途或侵犯他人权益。\n\n## 目录\n\n- [功能概览](#功能概览)\n- [技术栈](#技术栈)\n- [项目结构](#项目结构)\n- [快速开始](#快速开始)\n- [配置说明](#配置说明)\n- [功能模块说明](#功能模块说明)\n- [常用开发命令](#常用开发命令)\n- [接口与访问地址](#接口与访问地址)\n- [常见问题](#常见问题)\n- [许可证](#许可证)\n\n## 功能概览\n\n| 模块 | 功能 |\n| ---- | ---- |\n| 抖音解析 | 作品解析、评论获取、无水印下载、用户主页、作品列表、综合\u002F视频\u002F用户\u002F直播搜索、直播间信息与弹幕 WebSocket |\n| 夸克工具 | 扫码\u002F自动登录、网盘文件列表、上传下载、新建文件夹、重命名、移动、删除、分享管理、分享链接转存\u002F下载 |\n| 视频号助手 | 监听视频号资源、视频记录管理、下载任务、下载目录选择、预览与打开目录、监听端口配置、证书检测\u002F安装 |\n| 闲鱼工具 | 登录\u002F扫码登录、商品搜索、详情查看、监控任务、命中商品、聊天会话、AI 自动回复、商品管理、自动发货、订单管理 |\n| 消息推送 | 企业微信、钉钉、飞书 Webhook 配置与测试 |\n| 系统设置 | Cookie 配置、运行状态、统计数据、统一运行态配置初始化与备份 |\n\n## 技术栈\n\n### 后端\n\n- FastAPI \u002F Uvicorn\n- Pydantic v2\n- SQLAlchemy Async + SQLite\n- httpx \u002F requests \u002F websockets\n- Playwright（闲鱼浏览器扫码登录等场景）\n- mitmproxy、websocket-client、BeautifulSoup、lxml 等辅助依赖\n- pytest \u002F pytest-asyncio\n\n### 前端\n\n- Vue 3 + TypeScript\n- Vite\n- Element Plus\n- Pinia + pinia-plugin-persistedstate\n- Vue Router\n- Tailwind CSS \u002F Sass\n- Vitest \u002F Vue Test Utils\n\n## 项目结构\n\n```text\n青草工具箱\u002F\n├── backend\u002F                         # FastAPI 后端\n│   ├── app\u002F\n│   │   ├── api\u002Fv1\u002F                  # API 路由聚合\n│   │   ├── core\u002F                    # 配置、日志、中间件、异常处理\n│   │   ├── db\u002F                      # 数据库连接与仓储\n│   │   ├── models\u002F                  # 数据模型\n│   │   ├── modules\u002F                 # 业务模块\n│   │   │   ├── douyin\u002F              # 抖音解析\u002F搜索\u002F直播\n│   │   │   ├── quark\u002F               # 夸克网盘\n│   │   │   ├── settings\u002F            # 设置与 Cookie 存储\n│   │   │   ├── wechat\u002F              # 视频号助手\n│   │   │   └── xianyu\u002F              # 闲鱼工具、聊天、AI、监控、发货\n│   │   └── utils\u002F                   # 通用工具\n│   ├── config.example\u002F              # 可提交的安全配置模板\n│   ├── config\u002F                      # 本机运行态配置，已被 gitignore 忽略\n│   ├── tests\u002F                       # 后端测试\n│   └── requirements.txt             # Python 依赖\n├── web-vue\u002F                         # Vue 前端\n│   ├── public\u002F                      # favicon \u002F Logo 等静态资源\n│   ├── src\u002F\n│   │   ├── api\u002F                     # 前端 API 封装\n│   │   ├── assets\u002F                  # 样式与资源\n│   │   ├── components\u002F              # 公共\u002F业务组件\n│   │   ├── layouts\u002F                 # 页面布局\n│   │   ├── router\u002F                  # 路由\n│   │   ├── stores\u002F                  # Pinia 状态\n│   │   └── views\u002F                   # 页面视图\n│   ├── package.json\n│   └── vite.config.ts\n├── docs\u002F                            # 设计\u002F实现计划文档\n├── start.sh                         # 一键启动脚本\n└── README.md\n```\n\n## 快速开始\n\n### 环境要求\n\n- Python 3.10+（推荐 3.11）\n- Node.js 18+\n- pnpm（推荐）或 npm\n- macOS \u002F Linux \u002F Windows WSL 均可运行；涉及浏览器自动化、目录打开等功能时，桌面环境体验更完整\n\n### 方式一：一键启动（推荐）\n\nmacOS \u002F Linux：\n```bash\nchmod +x start.sh\n.\u002Fstart.sh\n```\n\nWindows：\n```bat\nstart.bat\n```\n\n`start.sh` \u002F `start.bat` 会先检查环境和依赖；如果缺少 Python、Node.js、后端虚拟环境或前端依赖，只会提示对应安装方法，不会自动安装。\n\n1. 显示当前版本号；\n2. 停止已有的 `3120` \u002F `3121` 端口服务；\n3. 初始化 `backend\u002Fconfig\u002F` 运行态配置；\n4. 兼容迁移旧目录 `backend\u002Fapp\u002Fconfig\u002Fconfig.yaml`；\n5. 从 `backend\u002Fconfig.example\u002F` 补齐缺失的本地配置模板；\n6. 自动设置 `QINGCAO_CONFIG_DIR`、`XIANYU_CONFIG_DIR`、`QUARK_CONFIG_DIR`；\n7. 检查后端虚拟环境与依赖是否齐全；缺失时输出安装命令；\n8. 启动后端 `http:\u002F\u002Flocalhost:3121`，并通过日志\u002F健康检查确认服务可用；\n9. 检查前端 `node_modules` 与 `vite` 是否存在；缺失时输出安装命令；\n10. 启动前端 `http:\u002F\u002Flocalhost:3120`；\n11. 输出前端、后端、Swagger、ReDoc 地址以及日志文件路径。\n\nmacOS \u002F Linux 启动日志默认写入：\n\n```text\n\u002Ftmp\u002Fqingcao-backend.log\n\u002Ftmp\u002Fqingcao-frontend.log\n```\n\nWindows 启动日志默认写入：\n\n```text\n%TEMP%\\qingcao-backend.log\n%TEMP%\\qingcao-frontend.log\n```\n\n如果后端启动失败，脚本会直接打印最近的后端日志，便于定位依赖、端口或配置问题。\n\n### 方式二：手动启动\n\n后端：\n\n```bash\ncd backend\npython3 -m venv .venv\n. .venv\u002Fbin\u002Factivate\npip install -r requirements.txt\npython -m uvicorn app.main:app --host 0.0.0.0 --port 3121 --reload\n```\n\n前端：\n\n```bash\ncd web-vue\npnpm install\npnpm run dev\n```\n\n如果需要使用 Playwright 相关能力：\n\n```bash\ncd backend\n.venv\u002Fbin\u002Fpython -m playwright install chromium\n```\n\n## 配置说明\n\n项目使用统一的本地运行态配置目录，方便 clone 后初始化，也避免真实 Cookie、API Key、设备指纹等敏感数据误提交。\n\n| 路径 | 说明 |\n| ---- | ---- |\n| `backend\u002Fconfig.example\u002F` | 可提交的安全模板，不包含真实账号信息 |\n| `backend\u002Fconfig\u002F` | 本机私有运行态配置，已被 `.gitignore` 忽略 |\n| `backend\u002Fapp\u002Fconfig\u002F` | 旧版配置目录，仅用于迁移兼容 |\n\n首次启动时会自动从 `backend\u002Fconfig.example\u002F` 初始化缺失文件到 `backend\u002Fconfig\u002F`。也可以手动复制：\n\n```bash\ncp -R backend\u002Fconfig.example backend\u002Fconfig\n```\n\n常用配置文件：\n\n```text\nbackend\u002Fconfig\u002Fconfig.yaml                    # 全局 YAML 配置\nbackend\u002Fconfig\u002Fquark_cookies.json             # 夸克 Cookie\nbackend\u002Fconfig\u002Fxianyu_cookies.json            # 闲鱼 Cookie\nbackend\u002Fconfig\u002Fxianyu_fingerprint.json        # 闲鱼指纹信息\nbackend\u002Fconfig\u002Fxianyu_chat_devices.json       # 闲鱼聊天 deviceId 映射\nbackend\u002Fconfig\u002Fxianyu_ai_config.json          # 闲鱼 AI 供应商配置\nbackend\u002Fconfig\u002Fxianyu_ai_sessions.json        # 闲鱼会话 AI 开关状态\nbackend\u002Fconfig\u002Fxianyu_monitor_tasks.json      # 闲鱼监控任务\nbackend\u002Fconfig\u002Fxianyu_manage_items.json       # 闲鱼商品管理缓存\nbackend\u002Fconfig\u002Fxianyu_delivery_rules.json     # 闲鱼自动发货规则\nbackend\u002Fconfig\u002Fxianyu_delivery_runtime.json   # 闲鱼自动发货运行态\n```\n\n关键配置写入时会维护同名 `.bak`，例如：\n\n```text\nbackend\u002Fconfig\u002Fxianyu_ai_config.json.bak\nbackend\u002Fconfig\u002Fxianyu_monitor_tasks.json.bak\n```\n\n如果配置意外丢失，可以优先检查同目录 `.bak` 文件。\n\n### 环境变量\n\n| 环境变量 | 说明 |\n| -------- | ---- |\n| `QINGCAO_CONFIG_DIR` | 覆盖统一运行态配置目录 |\n| `QINGCAO_CONFIG_EXAMPLE_DIR` | 覆盖配置模板目录 |\n| `XIANYU_CONFIG_DIR` | 覆盖闲鱼模块配置目录，默认跟随 `QINGCAO_CONFIG_DIR` |\n| `QUARK_CONFIG_DIR` | 覆盖夸克模块配置目录，默认跟随 `QINGCAO_CONFIG_DIR` |\n\n### Cookie 配置建议\n\n推荐在前端“系统设置”或对应模块登录页配置 Cookie \u002F 登录状态。手动获取 Cookie 的通用方式：\n\n1. 浏览器打开对应平台并登录；\n2. 按 `F12` 打开开发者工具；\n3. 切换到 Network\u002F网络面板并刷新页面；\n4. 找到任意已登录请求，在 Request Headers 中复制完整 `Cookie`；\n5. 粘贴到系统设置对应字段。\n\n## 功能模块说明\n\n### 抖音解析\n\n前端路由：`\u002Fdouyin`\n\n后端接口前缀：`\u002Fapi\u002Fv1\u002Fdouyin`\n\n主要能力：\n\n- 视频作品解析与详情查询；\n- 评论获取；\n- 无水印视频\u002F图集下载；\n- 用户信息与作品列表；\n- 综合搜索、视频搜索、用户搜索、直播搜索；\n- 搜索分页、动态签名参数与风控提示兼容；\n- 直播间信息解析、弹幕 WebSocket、直播缓存管理。\n\n### 夸克工具\n\n前端路由：`\u002Fquark`\n\n后端接口前缀：`\u002Fapi\u002Fv1\u002Fquark`\n\n主要能力：\n\n- 扫码登录、自动登录、登录状态检查、退出登录；\n- 文件列表、目录树、存储空间信息；\n- 新建文件夹、重命名、移动、删除；\n- 文件上传、本地文件上传、原始上传；\n- 文件\u002F文件夹下载；\n- 分享创建、分享列表、分享删除；\n- 分享链接信息解析、转存、下载。\n\n### 视频号助手\n\n前端路由：`\u002Fwechat`\n\n后端接口前缀：`\u002Fapi\u002Fv1\u002Fwechat`\n\n主要能力：\n\n- 启动\u002F停止\u002F查看视频号监听状态；\n- 捕获视频记录并维护列表；\n- 下载目录选择；\n- 创建、重试、取消、删除下载任务；\n- 预览下载文件、打开下载目录。\n- 配置 `local_server` 与 `mitm proxy` 端口；\n- 检测并安装 mitm 证书，安装失败时提供手动安装指引；\n- 默认端口：后端 API `3121`、mitm proxy `8090`、local_server `3122`。\n\n### 闲鱼工具\n\n前端路由：`\u002Fxianyu`\n\n后端接口前缀：`\u002Fapi\u002Fv1\u002Fxianyu`\n\n主要能力：\n\n- 登录状态管理、Cookie 登录、二维码登录、浏览器二维码登录；\n- 商品搜索、商品详情、用户资料；\n- 监控任务：关键词\u002F价格\u002F筛选条件、手动运行、启停、命中商品预览；\n- 聊天会话：会话列表、消息列表、发送文本\u002F图片、撤回、标记已读、清除红点、WebSocket 实时消息、共享连接保活；\n- AI 助手：全局开关、会话级开关、供应商管理、模型选择、API Key 掩码读取、连通性测试、保活间隔、收到消息后标记已读再自动回复；\n- 商品管理：同步在售商品、分页同步、全量同步、编辑商品、删除缓存、擦亮商品、多数量自动发货开关；\n- 自动发货：规则管理、启停规则、运行状态、执行记录；\n- 订单管理：订单筛选、订单搜索、虚拟商品免物流发货。\n\n### 消息推送\n\n前端路由：`\u002Fnotify`\n\n后端接口前缀：`\u002Fapi\u002Fv1\u002Fnotify`\n\n支持：\n\n- 企业微信 Webhook；\n- 钉钉 Webhook；\n- 飞书 Webhook；\n- 配置读取、保存与测试发送。\n\n### 系统设置\n\n前端路由：`\u002Fsettings`\n\n后端接口前缀：`\u002Fapi\u002Fv1\u002Fsettings`\n\n支持：\n\n- 服务状态查看；\n- 抖音\u002F直播\u002F夸克\u002F闲鱼 Cookie 保存；\n- 闲鱼完整 Cookie 读取；\n- 统计数据读取。\n\n## 常用开发命令\n\n### 后端\n\n```bash\ncd backend\n\n# 安装依赖\n.venv\u002Fbin\u002Fpython -m pip install -r requirements.txt\n\n# 启动开发服务\n.venv\u002Fbin\u002Fpython -m uvicorn app.main:app --host 0.0.0.0 --port 3121 --reload\n\n# 运行全部后端测试\n.venv\u002Fbin\u002Fpython -m pytest\n\n# 运行指定测试\n.venv\u002Fbin\u002Fpython -m pytest tests\u002Ftest_config_bootstrap.py -q\n\n# Python 语法检查\n.venv\u002Fbin\u002Fpython -m py_compile app\u002Fmain.py app\u002Fcore\u002Fconfig.py app\u002Fcore\u002Fconfig_bootstrap.py\n```\n\n### 前端\n\n```bash\ncd web-vue\n\n# 安装依赖\npnpm install\n\n# 启动开发服务\npnpm run dev\n\n# TypeScript 类型检查 + Vite 生产构建\npnpm run build\n\n# 仅验证生产产物生成\npnpm exec vite build\n\n# 单元测试\npnpm run test\n\n# ESLint 自动修复\npnpm run lint\n```\n\n> 说明：`package.json` 中的 `pnpm run build` 会先执行 `vue-tsc` 再执行 Vite 构建；如果只想快速验证产物生成，可使用 `pnpm exec vite build`。\n\n## 接口与访问地址\n\n| 服务 | 地址 |\n| ---- | ---- |\n| 前端开发服务 | \u003Chttp:\u002F\u002Flocalhost:3120> |\n| 后端服务 | \u003Chttp:\u002F\u002Flocalhost:3121> |\n| Swagger 文档 | \u003Chttp:\u002F\u002Flocalhost:3121\u002Fdocs> |\n| ReDoc 文档 | \u003Chttp:\u002F\u002Flocalhost:3121\u002Fredoc> |\n| 健康检查 | \u003Chttp:\u002F\u002Flocalhost:3121\u002Fhealth> |\n\n默认 API 前缀：\n\n```text\n\u002Fapi\u002Fv1\n```\n\n常见后端路由：\n\n```text\n\u002Fapi\u002Fv1\u002Fdouyin\u002Fwork\u002F*\n\u002Fapi\u002Fv1\u002Fdouyin\u002Fuser\u002F*\n\u002Fapi\u002Fv1\u002Fdouyin\u002Fsearch\u002F*\n\u002Fapi\u002Fv1\u002Fdouyin\u002Flive\u002F*\n\u002Fapi\u002Fv1\u002Fquark\u002F*\n\u002Fapi\u002Fv1\u002Fwechat\u002F*\n\u002Fapi\u002Fv1\u002Fxianyu\u002F*\n\u002Fapi\u002Fv1\u002Fnotify\u002F*\n\u002Fapi\u002Fv1\u002Fsettings\u002F*\n```\n\n## 常见问题\n\n### 1. 后端启动失败，提示缺少依赖\n\n```bash\ncd backend\n.venv\u002Fbin\u002Fpython -m pip install -r requirements.txt\n```\n\n如果虚拟环境损坏，可以删除后重建：\n\n```bash\nrm -rf backend\u002F.venv\n.\u002Fstart.sh\n```\n\n### 2. 前端无法访问后端\n\n确认后端运行在 `3121`，前端 Vite 代理会将 `\u002Fapi` 转发到：\n\n```text\nhttp:\u002F\u002Flocalhost:3121\n```\n\n### 3. 配置或 AI 供应商“不见了”\n\n优先检查：\n\n```text\nbackend\u002Fconfig\u002Fxianyu_ai_config.json\nbackend\u002Fconfig\u002Fxianyu_ai_config.json.bak\nbackend\u002Fconfig\u002Fconfig.yaml\n```\n\n确认没有把 `QINGCAO_CONFIG_DIR` \u002F `XIANYU_CONFIG_DIR` 指到其他目录。\n\n### 4. Cookie 鉴权失败\n\n- 重新登录平台后更新 Cookie；\n- 闲鱼建议优先使用模块内登录\u002F浏览器二维码登录能力；\n- 避免频繁切换账号或短时间高频请求；\n- 若提示风控或登录失效，等待一段时间后重新登录并更新配置；\n- 闲鱼聊天链路命中风控后会暂停自动轮询\u002F重复建连，避免持续触发 `login.token`。\n\n### 5. Playwright 相关功能不可用\n\n安装浏览器依赖：\n\n```bash\ncd backend\n.venv\u002Fbin\u002Fpython -m playwright install chromium\n```\n\n## 版本与变更\n\n当前版本：`v2.0.0`\n\n近期主要变更：\n\n- 品牌升级为“青草工具箱”，新增青草主题 Logo 与页面标题；\n- 新增统一运行态配置目录 `backend\u002Fconfig\u002F` 与模板目录 `backend\u002Fconfig.example\u002F`；\n- 为关键本地配置加入 `.bak` 防丢失机制；\n- 闲鱼工具接入聊天、AI 自动回复、监控任务、商品管理、自动发货与订单管理；\n- 闲鱼聊天增加共享 WebSocket、保活、会话切换兼容与风控熔断；\n- 视频号助手新增 `local_server` \u002F mitm 端口配置、证书检测与安装指引；\n- 抖音综合\u002F视频\u002F用户\u002F直播搜索链路与分页兼容持续优化；\n- 前端通过 `vue-tsc + vite build` 全量构建校验；\n- 抖音首页\u002F直播页与闲鱼监控\u002F管理等页面持续优化 UI 展示。\n\n## 许可证\n\n本项目采用 GNU Affero General Public License v3.0（AGPL-3.0）许可证，详见 [`LICENSE`](.\u002FLICENSE)。\n\n如果你修改本项目并通过网络向用户提供服务，需要按照 AGPL-3.0 的要求向这些用户提供对应源码。\n\n## 说明\n\n本项目仍在持续迭代中，部分平台接口、Cookie、风控策略可能随平台变化而失效。建议优先使用页面内提供的登录、设置和测试功能，并定期更新依赖与配置。  \n欢迎来[linux.do](https:\u002F\u002Flinux.do\u002F)社区交流、分享和反馈。\n\n---\n\n\u003Cdiv align=\"center\">\n  \u003Csub>Built with ❤️ by H1d3rOne\u003C\u002Fsub>\n\u003C\u002Fdiv>\n","青草工具箱是一个集成抖音解析、夸克网盘、视频号助手、闲鱼工具的多功能工具箱。它基于FastAPI和Vue 3构建，提供包括作品解析、无水印下载、网盘文件管理、视频号资源监听、商品搜索与监控等功能。项目采用Python 3.10+、Node.js 18+等现代技术栈，支持消息推送及统一配置管理。适用于需要对社交媒体内容进行管理和自动化处理的个人或小型团队，如自媒体运营者、电商卖家等，帮助提高工作效率。请注意，使用时需遵守相关法律法规和服务条款。",2,"2026-06-11 04:10:09","CREATED_QUERY"]