Drfccv的小窝 - 默认分类
type: channel
link: https://www.liuyuan.top/index.php/category/default/
description: 只是一个默认分类
items: Agent Skills开发教程
items: 南京工业大学统一身份认证（智慧南工）登录逆向分析
items: 九江学院统一身份认证系统登录加密逆向分析
items: OpenList WebUI for OpenWrt - 一个独立的 OpenList (Alist分支) OpenWrt LuCI 管理界面
items: 基于MCP协议的12306查询系统
items: 正方教务系统爬虫-微信小程序前后端
items: DeerFlow-CN
items: DeerFlow-ByteDance开源项目分享
items: 旅行规划助手-基于LLM以及高德JSAPI
items: 使用RVC训练AI声音模型

Agent Skills开发教程
type: item
date: 2026-01-24T21:11:00+08:00
description: Agent Skills开发教程 本教程基于Skill Creator核心指南编写，将详细讲解Agent Skills（以下简称“Skill”）的定义、核心原则、结构组成、设计理念及完整开发流程，帮助你快速掌握Skill开发方法，打造可扩展Claude能力的专业化模块。 一、Skill基础认知（About Skills） Skill是模块化、独立的功能包，通过提供专业知识、工作流程和工具集成，扩展Claude的核心能力。你可以将其理解为“特定领域的入职指南”——它能让通用型Claude转变为具备专属流程知识的专业代理，这些流程知识是通用模型无法完全掌握的。 1.1 Skill的核心价值 专业工作流程：针对特定领域的多步骤操作流程（如PDF处理、API调用流程等）。 工具集成能力：提供特定文件格式（如DOCX、PDF）或API的操作说明。 领域专业知识：包含公司专属知识、数据 schema、业务逻辑等定制化内容。 捆绑资源包：整合脚本、参考文档、资产文件等，支撑复杂重复任务的高效执行。 二、Skill开发核心原则（Core Principles） 遵循以下原则可确保Skill的高效性、易用性和上下文友好性，是开发优质Skill的基础。 2.1 简洁为王（Concise is Key） 上下文窗口是宝贵的公共资源，Skill需与系统提示、对话历史、其他Skill元数据及用户请求共享该窗口。开发时需牢记： 默认假设“Claude已足够智能”，仅添加Claude不具备的上下文信息。 对每段信息进行核验：“Claude真的需要这段解释吗？”“这段内容的Token成本是否合理？” 优先使用简洁示例，而非冗长说明。 2.2 设置适当自由度（Set Appropriate Degrees of Freedom） 根据任务的脆弱性和可变性，匹配对应的指令 specificity 级别，如同为Claude规划行动路径——悬崖边的窄桥需严格护栏（低自由度），开阔田野可自由探索（高自由度）。 高自由度（文本型指令）：适用于多种方案均有效、决策依赖上下文或需启发式引导的场景（如创意文案优化、通用咨询）。 中自由度（伪代码/带参数脚本）：适用于有优选模式、允许适度变体或配置影响行为的场景（如带参数的数据分析脚本）。 低自由度（特定脚本/少参数）：适用于操作脆弱易出错、一致性至关重要或需严格遵循固定序列的场景（如系统部署步骤、敏感数据处理）。 三、Skill的结构组成（Anatomy of a Skill） 每个Skill必须包含SKILL.md文件（必需），可选择性包含捆绑资源。标准目录结构如下： skill-name/ ├── SKILL.md (必需) │ ├── YAML前置元数据 (必需) │ │ ├── name: (必需) │ │ └── description: (必需) │ └── Markdown指令 (必需) └── 捆绑资源 (可选) ├── scripts/ - 可执行代码（Python/Bash等） ├── references/ - 按需加载的参考文档 └── assets/ - 输出用资源（模板、图标等） 3.1 必需组件：SKILL.md 该文件是Skill的核心，包含Claude识别和使用Skill所需的全部关键信息，分为前置元数据和正文两部分。 3.1.1 前置元数据（YAML格式） 仅包含两个必需字段，是Claude判断Skill用途和触发时机的核心依据，需清晰、全面描述。 name：Skill名称（简洁唯一，如“pdf-editor”“bigquery-skill”）。 description：Skill描述（核心触发机制），需同时说明“Skill功能”和“触发场景”，避免冗余。示例：“Comprehensive document creation, editing, and analysis with support for tracked changes. Use when Claude needs to work with .docx files for creating/editing documents or handling tracked changes.” 注意：禁止添加其他YAML字段，仅保留name和description。 3.1.2 正文（Markdown格式） 包含Skill使用的指令和指南，仅在Skill触发后才会加载。写作需遵循“命令式/不定式语气”（如“Extract text with pdfplumber”），聚焦核心流程，避免无关信息。 3.2 可选组件：捆绑资源 根据Skill需求选择性添加，用于存储可复用内容，减少正文冗余并提升执行效率。 3.2.1 scripts/（可执…

南京工业大学统一身份认证（智慧南工）登录逆向分析
type: item
date: 2026-01-15T14:39:00+08:00
description: 南京工业大学统一身份认证平台（SSO）逆向分析 📋 目录 1. 概述 2. 系统架构分析 3. 双密钥体系原理 4. 加密算法逆向 5. 前端混淆破解 6. 动态参数分析 7. 登录流程解析 1. 概述 1.1 目标系统 系统名称: 南京工业大学统一身份认证平台 登录地址: https://sfgl.njtech.edu.cn/cas/login 认证协议: CAS (Central Authentication Service) 前端框架: Angular 加密库: CryptoJS 1.2 核心文件 文件名 作用 关键内容 https://sfgl.njtech.edu.cn/cas/login 登录页面主体 密钥2、execution参数 https://sfgl.njtech.edu.cn/gate/public/deploy/deploy.js 脚本加载器 密钥1混淆、配置请求 https://sfgl.njtech.edu.cn/gate/public/utils/loginNew.js 设备检测 PC/Mobile判断 crypto-js.min.js 加密库 DES/MD5/SHA256算法 1.3 加密技术栈 加密算法: DES 加密模式: ECB 填充方式: PKCS7 编码格式: Base64 2. 系统架构分析 2.1 页面加载流程 从 login 可以看到页面加载顺序： 2.2 脚本依赖关系 从 deploy.js 第52-58行可以看到完整的依赖加载： var cptfile = [ baseUrl + '/public/convertBaseUrl.js', baseUrl + '/public/crypto/md5.min.js', baseUrl + '/public/crypto/core.min.js', baseUrl + '/public/crypto/crypto-js.min.js', baseUrl + '/public/crypto/enc-base64.min.js', baseUrl + '/public/crypto/mode-ecb.min.js', baseUrl + '/public/crypto/pad-pkcs7.min. js' ]; 这些文件通过 loadScript() 函数（第38-50行）依次加载。 2.3 页面初始化流程 从 deploy.js 第175行的 _casPageInit() 函数可以看到： function _casPageInit() { var loadedJs = []; var hasRun; function nextLoad(jsPath) { loadedJs.push(jsPath); var hasRuntime; var hasPolyfills; // 等待runtime和polyfills都加载完成 for (var i = 0; i < loadedJs.length; i++) { var path = loadedJs[i]; if (path.indexOf('runtime') !== -1) { hasRuntime = true; } else if (path.indexOf('polyfills') !== -1) { hasPolyfills = true; } } // 加载main脚本 if (hasRuntime && hasPolyfills && !hasRun) { hasRun = true; for (var i = 0; i < jsCssConfig.js.length; i++) { var jsPath = jsCssConfig.js[i]; if (jsPath.indexOf('main') !== -1) { loadOneJS(jsPath); } } } } } 3. 双密钥体系原理 3.1 密钥1：API通信密钥 3.1.1 存储位置与混淆 在 deploy.js 第124行： var url_mseAge = '_%C3%D8%AF%7C%A1%BD%BE%C2%C4%C4%92'; 3.1.2 解混淆函数 在 deploy.js 第16-26行： var uncompile = function (code) { code = unescape(code); let c = String.fromCharCode(code.charCodeAt(0) - code.length); for (let i = 1; i < code.length; i++) { c += String.fromCharCode(code. charCodeAt(i) -…

九江学院统一身份认证系统登录加密逆向分析
type: item
date: 2026-01-15T01:42:00+08:00
description: 九江学院统一身份认证系统登录加密逆向分析 📋 目录 一、背景介绍 二、初步侦察 三、关键文件分析 四、加密流程深度解析 五、总结 一、背景介绍 1.1 目标系统 系统名称：九江学院统一身份认证平台 登录地址：https://authserver.jju.edu.cn/authserver/login 目标：分析并理解前端密码加密逻辑 1.2 技术栈 前端加密：CryptoJS (AES-CBC加密) 后端框架：基于CAS (Central Authentication Service) 传输协议：HTTPS 1.3 分析工具 Chrome DevTools (网络抓包、调试) HTML源码查看 JavaScript代码分析 二、初步侦察 2.1 网络请求抓包 打开登录页面，按 F12 进入开发者工具，切换到 Network 标签，执行一次登录操作： POST /authserver/login? service=https://ehall.jju.edu.cn/login HTTP/1.1 Host: authserver.jju.edu.cn Content-Type: application/x-www-form-urlencoded username=202012345& password=U2FsdGVkX1%2BabcdefghijklmnopqrstuvwxyzABCDEF... & execution=e7637a06-8937-4197-b207-5986a5a159e6_... & _eventId=submit& cllt=userNameLogin 关键发现： ✅ 用户名明文传输 ✅ 密码已加密（Base64格式） ✅ 存在 execution 参数（类似CSRF Token） 2.2 页面源码分析 右键查看页面源代码，搜索关键字 password、encrypt、salt： 发现： AES加密密钥直接嵌入在HTML页面的隐藏字段中 三、关键文件分析 3.1 加密核心文件：encrypt.js 定位到 /authserver/jjuThemea/static/common/encrypt.js 3.1.1 随机字符串生成器 // 定义随机字符集（排除易混淆字符 I, L, O, 0, 1, 9） var $aes_chars = 'ABCDEFGHJKMNPQRSTWXYZabcdefhijkmnprstwxyz2345678'; var aes_chars_len = $aes_chars.length; // 生成指定长度的随机字符串 function randomString(len) { var retStr = ''; for (i = 0; i < len; i++) { retStr += $aes_chars.charAt(Math.floor(Math.random() * aes_chars_len)); } return retStr; } 原理解析： 字符集包含 48 个字符（26个大写字母 + 22个小写字母和数字） 排除了 I, L, O, 0, 1, 9 等易混淆字符 使用 Math.random() 生成伪随机数 每次调用返回指定长度的随机字符串 3.1.2 AES加密核心函数 // AES加密核心函数 function getAesString(data, key0, iv0) { // 去除密钥首尾空字符 key0 = key0.replace(/(^\s+)|(\s+$)/g, ""); // 将密钥和IV转换为CryptoJS可识别的格式 var key = CryptoJS.enc. Utf8.parse(key0); var iv = CryptoJS.enc.Utf8.parse(iv0); // 执行AES加密 var encrypted = CryptoJS.AES.encrypt(data, key, { iv: iv, // 初始化向量 mode: CryptoJS.mode.CBC, // CBC模式 padding: CryptoJS.pad.Pkcs7 // PKCS7填充 }); // 返回Base64编码的密文 return encrypted.toString(); } 原理解析： 参数 作用 说明 data 明文数据 要加密的内容 key0 加密密钥 16字节AES密钥 iv0 初始化向量 16字节随机IV mode: CBC 加密模式 密码块链接模式 padding: Pkcs7 填充方式 PKCS#7填充标准 3.1.3 完整加密流程 // 密码加密入口函数 function encryptPassword(pwd0, key) { …

OpenList WebUI for OpenWrt - 一个独立的 OpenList (Alist分支) OpenWrt LuCI 管理界面
type: item
date: 2025-08-08T23:17:00+08:00
description: !!! OpenList WebUI for OpenWrt - 一个独立的 OpenList (Alist分支) OpenWrt LuCI 管理界面 项目地址：drfccv/luci-app-openlistui !!! 功能特性 🎯 现代化界面设计 - 采用响应式布局，支持多种设备访问 📊 系统概览 - 实时显示系统状态、服务运行情况和资源使用 🔄 更新管理 - 便捷的组件更新和版本管理 📝 日志查看 - 实时日志监控，支持过滤和自动刷新 ⚙️ 配置管理 - 简化的配置界面，支持各种参数调整 🌐 多语言支持 - 支持中文界面 界面预览 系统概览 系统概览页面提供了完整的系统状态监控，包括： 服务运行状态 系统资源使用情况 快速操作按钮 系统信息展示 更新管理 更新管理页面支持： 组件版本查看 一键更新功能 更新进度显示 更新日志查看 配置设置 配置设置页面包含： 服务配置选项 网络设置 安全配置 高级选项 快速开始 编译安装 # 编译默认架构 (x86_64) ./build.sh # 编译指定架构 ./build.sh aarch64 ./build.sh mips ./build.sh mipsel ./build.sh arm ./build.sh armv7 # 编译所有支持的架构 ./build.sh all # 快速编译（跳过feeds更新） ./build.sh --fast ./build.sh -f x86_64 # 开发模式（包含时间戳） ./build.sh --dev x86_64 # 显示版本信息 ./build.sh version # 清理构建文件 ./build.sh clean # 显示帮助信息 ./build.sh help 构建输出 每次构建会生成： IPK包: output/luci-app-openlistui_架构_时间戳.ipk 构建信息: output/luci-app-openlistui_架构_时间戳.info 构建日志: build-logs/build-架构-时间戳.log 版本信息: 包内 /usr/lib/lua/luci/version-openlistui 配置文件 可以通过 build.conf 自定义构建参数： 默认架构 SDK URLs 构建选项 依赖包列表 支持的架构 x86_64 - x86 64位 (默认) aarch64 - ARM 64位 mips - MIPS 大端序 (ath79) mipsel - MIPS 小端序 (ramips) arm - ARM 32位 (bcm2708) armv7 - ARMv7 (bcm2709) 构建选项 -f, --fast - 跳过feeds更新 (适用于重复构建) --dev - 开发模式，为包文件名添加时间戳 安装说明 编译IPK包: 使用构建脚本编译对应架构的IPK包 安装界面包: 安装编译生成的 luci-app-openlistui IPK包 重启服务: 重启 uhttpd 服务以加载新界面 访问界面: 通过 OpenWrt 管理界面访问 OpenList 管理页面 开发说明 目录结构 luci-app-openlist/ ├── luasrc/ # Lua 源码 │ ├── controller/ # 控制器 │ ├── model/ # 数据模型 │ └── view/ # 视图模板 ├── htdocs/ # 静态资源 ├── po/ # 多语言文件 ├── root/ # 系统文件 ├── screenshots/ # 界面截图 └── CONTROL/ # 包控制文件 开发命令 # 检查版本信息 make version # 生成版本文件（调试用） make gen-version # 查看构建变量 grep "PKG_" Makefile 注意事项 此包为独立的 LuCI 网页界面，无需依赖额外的核心包 使用 openlistui 命名空间避免与原始 luci-app-openlist 冲突 确保 OpenWrt 系统版本兼容性 支持多种主流路由器架构 许可证 MIT License 贡献 欢迎提交 Issue 和 Pull Request 来改进这个项目。 OpenList WebUI

基于MCP协议的12306查询系统
type: item
date: 2025-07-05T20:31:00+08:00
description: 🚄 MCP Server 12306 ✨ 项目简介 MCP Server 12306是一款基于 Model Context Protocol (MCP) 的高性能火车票查询后端，支持官方 12306 余票、票价、车站、经停、换乘查询以及智能时间工具，适配 AI/自动化/智能助手等场景。界面友好，易于集成，开箱即用。 🚀 功能亮点 实时余票/车次/座席/时刻/换乘一站式查询 全国车站信息管理与模糊搜索 官方经停站、一次中转方案全支持 实时查询各车次票价信息 智能时间工具，支持时区和时间戳 Streamable HTTP/STDIO传输协议，支持MCP 2025-03-26标准 FastAPI异步高性能，秒级响应 MCP标准，AI/自动化场景即插即用 🛠️ 快速上手 本项目支持两种运行模式： Stdio 模式：适用于 Claude Desktop 等本地 MCP 客户端（推荐）。 Streamable HTTP 模式：适用于远程部署或通过 SSE/Post 访问。 模式 1：Stdio 模式（Claude Desktop 推荐） 在此模式下，MCP Server 通过标准输入/输出与客户端通信，无需占用网络端口。 方式 A：使用 uvx（推荐） uvx 是 uv 包管理器提供的工具，环境隔离且启动极快。 { "mcpServers": { "12306": { "command": "uvx", "args": ["mcp-server-12306"] } } } 方式 B：使用 pipx 如果您更习惯使用 pipx： { "mcpServers": { "12306": { "command": "pipx", "args": ["run", "--no-cache", "mcp-server-12306"] } } } 方式 C：本地源码运行 适用于开发者调试： { "mcpServers": { "12306": { "command": "uv", "args": ["run", "python", "-m", "mcp_12306.cli"], "cwd": "/path/to/mcp-server-12306" } } } 模式 2：Streamable HTTP 模式 在此模式下，Server 启动一个 Web 服务（默认 8000 端口），支持 MCP 的 SSE（Server-Sent Events）和 POST 交互。 方式 A：本地源码运行 # 1. 克隆并安装依赖 git clone https://github.com/drfccv/mcp-server-12306.git cd mcp-server-12306 uv sync # 2. 启动服务器 uv run python scripts/start_server.py MCP 客户端配置： { "mcpServers": { "12306": { "url": "http://localhost:8000/mcp" } } } 方式 B：Docker 部署 # 拉取镜像并运行 docker run -d -p 8000:8000 --name mcp-server-12306 drfccv/mcp-server-12306:latest 🤖 工具一览 支持的主流程工具 工具名 典型场景/功能描述 query_tickets 余票/车次/座席/时刻一站式查询 query_ticket_price 实时查询各车次票价信息 search_stations 车站模糊搜索，支持中文/拼音/简拼 get_station_info 获取车站详情（名称、代码、地理等） query_transfer 一次中转换乘方案，自动拼接最优中转 get_train_route_stations 查询指定列车经停站及时刻表 get_current_time 获取当前时间与相对日期，帮助用户准确选择出行日期 📚 工具文档 本项目所有主流程工具的详细功能、实现与使用方法，均已收录于 /docs 目录下： query_tickets.md — 余票/车次/座席/时刻一站式查询 query_ticket_price.md — 实时查询各车次票价信息 search_stations.md — 车站智能搜索 query_transfer.md — 一次中转换乘方案 get_train_route_stations.md — 查询列车经停站 get_current_time.md — 获取当前时间与相对日期 每个文档包含： 工具功能说明 实现方法 请求参数与返回示例 典型调用方式 如需二次开发或集成，建议先阅读对应工具的文档。 🧩 目录结构 src/mcp_12306/ # 主源代码 ├─ …

正方教务系统爬虫-微信小程序前后端
type: item
date: 2025-07-05T20:25:00+08:00
description: 正方教务系统完整解决方案 - 微信小程序 + 后端 API 项目简介 这是一个完整的正方教务系统第三方解决方案，包含微信小程序前端和 Python 后端 API 服务。该项目为学生提供便捷的教务管理服务，支持课表查询、成绩管理、选课系统等核心功能。 ⚠️ 重要说明：本项目为第三方开发的非官方 API，仅供学习交流使用。 🔗 前端项目: ZFJW-miniprogram 🔗 后端项目: ZFJW-backend 项目架构 整体架构图 ┌─────────────────────┐ ┌─────────────────────┐ ┌─────────────────────┐ │ │ │ │ │ │ │ 微信小程序端 │◄──►│ Python 后端 API │◄──►│ 正方教务系统 │ │ │ │ │ │ │ │ - TypeScript 100% │ │ - Python 99.6% │ │ - 各高校教务系统 │ │ - 本地数据缓存 │ │ - Flask 框架 │ │ - 第三方接口调用 │ │ - 隐私保护设计 │ │ - RESTful API │ │ - 数据获取与解析 │ │ │ │ │ │ │ └─────────────────────┘ └─────────────────────┘ └─────────────────────┘ 技术栈对比 组件 前端小程序 后端 API 语言 TypeScript (100%) Python (99.6%) 框架 微信小程序原生 Flask 2.0+ 特性 本地缓存、隐私保护 RESTful API、多校支持 部署 微信小程序平台 独立服务器/Docker 核心功能 🎯 完整功能矩阵 功能模块 前端实现 后端支持 状态 用户认证 ✅ 登录界面、密码管理 ✅ 验证码登录、Session 管理 已完成 个人信息 ✅ 信息展示、资料管理 ✅ 学生信息查询 已完成 智能课表 ✅ 周视图、手势滑动 ✅ 课表查询 已完成 成绩管理 ✅ 多学期查询、GPA 计算 ✅ 成绩统计分析 已完成 考试安排 ✅ 考试时间展示 ✅ 考试信息查询 已完成 选课系统 ✅ 已选课程显示 🚧 选课操作开发中 部分完成 教学评价 ✅ 一键评教功能 ✅ 评价数据处理 已完成 通知公告 ✅ 通知展示 ✅ 消息推送 已完成 空教室查询 🚧 界面开发中 🚧 查询接口开发中 计划中 🔥 核心特性 前端特性 🎨 现代化界面: 简洁美观的用户界面设计 📱 响应式布局: 适配不同屏幕尺寸 💾 智能缓存: 离线数据查看，减少网络请求 🔒 隐私保护: 数据本地存储，不上传云端 ⚡ 流畅体验: 手势操作，快速响应 后端特性 🚀 高性能: 基于 Flask 的轻量级架构 🏫 多校支持: 灵活的学校配置系统 🔐 安全可靠: 完善的认证和会话管理 🐳 容器化: 支持 Docker 部署 📊 数据处理: 智能的数据解析和统计 详细功能介绍 📅 智能课表系统 前端实现： // 课表周视图组件 interface ScheduleWeekView { currentWeek: number; scheduleData: CourseInfo[]; weekDays: string[]; timeSlots: TimeSlot[]; } // 手势滑动切换周次 const handleSwipeChange = (e: any) => { const { current } = e.detail; setCurrentWeek(current + 1); loadScheduleData(current + 1); }; 后端 API： @app.route('/api/schedule', methods=['GET']) def get_schedule(): """获取课表数据""" week = request.args.get('week', 1) try: schedule_data = zfn_api.get_schedule(week) return jsonify({ 'code': 200, 'data': schedule_data, 'message': 'success' }) except Exception as e: return jsonify({ 'code': 500, 'message': str(e) }) 📊 成绩管理系统 前端功能： 多学期成绩查询 GPA 自动计算 成绩统计图表 学分统计展示 后端处理： def calculate_gpa(grades_data): """计算 GPA""" total_credits = 0 total_grade_points = 0 for grade…

DeerFlow-CN
type: item
date: 2025-05-19T10:27:00+08:00
description: DeerFlow-CN 本项目基于 bytedance/deer-flow 二次开发，专为中文用户优化，支持一键部署、SearXNG 集成、SSL 证书等。 🌐 在线 Demo 体验 项目简介 DeerFlow-CN 是一款面向深度研究与高效信息检索的 AI 工具，结合大语言模型与多种外部工具，适用于学术、科研、知识管理等场景。相比原版，DeerFlow-CN 提供了更好的中文体验、屏幕适配与本地化增强。 环境要求 🟢 Node.js 22 及以上 🐍 Python 3.12 及以上 推荐工具 ⚡ uv：简化 Python 环境与依赖管理，自动创建虚拟环境并安装依赖，无需手动配置 Python 环境。 🔄 nvm：高效管理多版本 Node.js 运行时。 🚀 pnpm：高效安装和管理 Node.js 项目依赖。 主要特点 🇨🇳 全面汉化：界面、交互、设置、提示等全部中文化。 📱 屏幕自适应：支持移动端、4K、竖屏等多种分辨率，体验更佳。 💬 Chat 简单聊天模式：可选择不调用 researcher，仅用 LLM 聊天。 🛠️ Settings 界面优化：修复 Tab 显示异常，交互更流畅。 🔍 SearXNG 集成：支持 SearXNG 作为搜索来源，隐私友好。 🧩 一键安装/启动 SearXNG：内置脚本自动安装并集成 SearXNG。 ⚡ 一键启动脚本：start.js/start-with-searxng.js 支持 SSL，证书自动加载。 🔒 SSL 支持：可直接部署 HTTPS，证书与密钥位于 web/fullchain.pem、web/privkey.pem。 项目架构 ├── main.py / server.py # 后端主入口 ├── src/ # 核心后端逻辑（agents/、llms/、tools/等） ├── web/ # 前端 Next.js + Tailwind + React │ ├── src/app/ # 页面与组件 │ ├── public/ # 静态资源 │ ├── start.js # 一键启动脚本（支持SSL） │ ├── start-with-searxng.js # 启动并集成SearXNG │ ├── fullchain.pem # SSL证书 │ ├── privkey.pem # SSL密钥 │ └── ... ├── conf.yaml # LLM与API配置 ├── .env # API密钥配置 ├── docs/ # 配置与使用文档 └── ... 快速开始 1. 克隆项目 git clone https://github.com/drfccv/deer-flow-cn.git cd deer-flow-cn 2. 安装依赖 uv sync 3. 配置环境变量 复制并编辑 .env： cp .env.example .env # 配置 Tavily、Brave Search、volcengine TTS 等 API Key 复制并编辑 conf.yaml： cp conf.yaml.example conf.yaml # 配置 LLM 接口与模型 详细配置说明见 docs/configuration_guide.md 4. 安装 Marp（PPT 生成）（可选） marp-cli 安装文档 macOS: brew install marp-cli 5. 安装 SearXNG（可选，推荐） bash ./src/tools/install-searxng.sh 6. 安装前端依赖 cd web pnpm install 7. 一键启动（推荐，自动启用SSL） 启动后端+前端+SearXNG（推荐）： node start-with-searxng.js 仅启动后端+前端（不含SearXNG）： node start.js 默认自动加载 web/fullchain.pem、web/privkey.pem 证书。 8. 开发模式 启动前端： pnpm dev 启动后端： uv run server.py --ssl --ssl-certfile=web/fullchain.pem --ssl-keyfile=web/privkey.pem 可省略 --ssl 参数则为 HTTP，添加 --ssl 参数即启用 HTTPS。 主要配置说明 .env：API 密钥（Tavily、Brave、TTS等） conf.yaml：LLM模型与API配置，详见 docs/configuration_guide.md web/fullchain.pem、web/privkey.pem：SSL证书与密钥 主要改进与亮点 全面汉化，适合中文用户 响应式设计，适配多终端 Chat支持“简单聊天”模…

DeerFlow-ByteDance开源项目分享
type: item
date: 2025-05-11T17:29:00+08:00
description: 🦌 DeerFlow 项目分享 一个由社区驱动的深度研究框架，结合语言模型与工具，如网页搜索、爬虫和 Python 执行，致力于回馈开源社区。(GitHub) 📌 项目简介 DeerFlow（Deep Exploration and Efficient Research Flow）是由字节跳动开源的多智能体研究自动化框架，旨在通过协调多个专用智能体（如搜索、编码、内容生成等）来增强复杂研究工作流程。该框架集成了 Python 执行、网页爬虫和 ByteDance 的 MCP 平台等工具，强调人机协作，使其在实际研究和企业应用中高度适应。 (Reddit) ✨ 核心特性 多智能体架构：每个智能体负责特定任务，如任务规划、知识检索、代码执行或报告合成，通过 LangGraph 构建的有向图进行交互，实现任务的稳健编排和数据流控制。 (Learnopoly) LangChain 与 LangGraph 集成：利用 LangChain 进行语言模型推理和记忆处理，LangGraph 实现多智能体的编排，支持复杂的研究流程。(Learnopoly) 工具集成： 网页搜索与爬虫：实时获取知识，聚合外部数据源。 Python 执行与可视化：支持数据处理、统计分析和代码生成，提供执行验证。 MCP 集成：兼容 ByteDance 的内部模型控制平台，支持更深入的自动化流程。 多模态输出生成：不仅限于文本摘要，还可协同生成幻灯片、播客脚本或视觉内容。 (Learnopoly) 人机协作：强调人类在研究流程中的参与，确保结果的透明性和可控性。(Learnopoly) 🚀 快速开始 环境要求 Python：版本 3.12+ Node.js：版本 22+(GitHub) 推荐工具 uv：简化 Python 环境和依赖管理。 nvm：轻松管理多个 Node.js 运行时版本。 pnpm：安装和管理 Node.js 项目的依赖项。(GitHub) 安装步骤 # 克隆仓库 git clone https://github.com/bytedance/deer-flow.git cd deer-flow # 安装依赖，uv 将自动创建虚拟环境并安装所需的包 uv sync # 配置 .env 文件，添加您的 API 密钥 cp .env.example .env 请根据需要配置 .env 文件中的 API 密钥，例如 Tavily、Brave_SEARCH 和 volcengine TTS。(GitHub) 🧠 示例演示 DeerFlow 提供了多个演示示例，展示了其在不同场景下的应用： 埃菲尔铁塔与世界最高建筑的高度对比 GitHub 上的热门趋势仓库 撰写关于南京传统菜肴的文章 如何装饰租赁公寓 更多示例请访问官方项目页面：deerflow.tech(Reddit) 🤝 鸣谢 DeerFlow 构建在开源社区的卓越工作之上，特别感谢以下项目：(GitHub) LangChain：提供了强大的语言模型交互和链式调用框架。 LangGraph：实现了多智能体的编排，支持复杂的工作流程。(GitHub, Learnopoly) 特别感谢核心作者：(GitHub) Daniel Walnut Henry Li 他们的愿景、热情和奉献使 DeerFlow 项目得以实现。 📈 Star 趋势 🖼️ 运行截图 以下是我在本地运行 DeerFlow 的截图： 如需了解更多信息，请访问项目的 GitHub 页面：https://github.com/bytedance/deer-flow

旅行规划助手-基于LLM以及高德JSAPI
type: item
date: 2025-05-09T14:24:00+08:00
description: AI 旅行规划助手 🌍✈️ 一个基于人工智能的旅行规划助手，利用大语言模型和高德地图API为用户定制个性化的旅行计划。 🔗 项目地址 📝 在线体验 Demo ✨ 功能特点 🤖 AI驱动的旅行规划：基于硅基流动Qwen/Qwen3-235B-A22B模型智能生成详细的多日旅程 🗺️ 高德地图集成：准确显示景点位置和路线规划 🌦️ 实时天气信息：获取目的地的准确天气预报 🏨 完整旅行建议：包含住宿、交通、餐饮和景点游览时间推荐 💾 智能缓存机制：减少API调用，提高响应速度 📱 响应式设计：适配各种设备尺寸，提供良好的移动端体验 🚀 快速开始 前提条件 Node.js 16.x 或更高版本 高德地图API密钥 大语言模型API密钥 (如DeepSeek API) 安装步骤 克隆仓库 git clone https://github.com/Drfccv/AI-Trip-Planner.git cd AI-Trip-Planner 安装依赖 npm install 创建环境配置 在项目根目录创建.env文件，添加以下内容： export const ENV = { AMAP_API_KEY: 'YOUR_AMAP_KEY', AMAP_SECURITY_KEY: 'YOUR_AMAP_SECURITY_KEY', DEEPSEEK_API_KEY: 'YOUR_SILICONFLOW_KEY' }; 启动开发服务器 npm run dev 打开浏览器访问 http://localhost:5173 🏗️ 技术栈 前端框架: React + TypeScript 构建工具: Vite UI组件库: Ant Design 地图服务: 高德地图 JavaScript API 状态管理: React Hooks HTTP客户端: Axios AI服务: 硅基流动API (Qwen/Qwen3-235B-A22B模型) 📝 使用指南 在首页填写旅行信息表单: 目的地城市 旅行日期和天数 交通方式偏好 住宿偏好 旅行风格标签 点击"生成旅行计划"按钮 系统将调用AI生成详细的旅行计划并展示: 每日行程安排 景点信息与推荐游览时间 交通与住宿建议 餐饮推荐 天气预报 互动地图 可以随时返回调整参数重新规划 🧩 项目结构 src/ ├── assets/ # 静态资源 ├── components/ # 可复用组件 │ ├── AmapComponent.tsx # 高德地图组件 │ ├── LoadingPage.tsx # 加载页面组件 │ ├── TripInputForm.tsx # 旅行输入表单 │ └── TripPlanResult.tsx # 旅行计划结果展示 ├── pages/ # 页面组件 │ ├── HomePage.tsx # 首页 │ └── ResultPage.tsx # 结果页 ├── services/ # API服务 │ └── api.ts # API调用函数 ├── types/ # TypeScript类型定义 │ └── index.ts # 类型定义文件 └── utils/ # 工具函数 └── mockData.ts # 模拟数据 🌟 核心功能实现细节 AI旅行计划生成 使用硅基流动提供的Qwen/Qwen3-235B-A22B大语言模型生成定制化的旅行计划。该模型是基于通义千问系列的超大规模语言模型，拥有2350亿参数量，具有强大的自然语言理解和生成能力。 系统会将用户的旅行偏好（目的地、日期、天数、交通方式、住宿偏好和旅行风格标签）格式化后发送给模型，模型会返回结构化的旅行计划JSON数据，包括： 每日详细行程安排 景点推荐与描述 游览时间建议 餐饮推荐 交通与住宿安排 根据用户偏好定制的总体建议 模型会基于城市特点、季节因素、用户偏好等多维度信息优化生成结果，并且会考虑景点之间的地理位置关系，合理安排游览顺序。 高德地图集成 景点定位: 通过高德POI搜索API获取景点准确位置 路线规划: 根据交通方式提供合理的游览路线 地图可视化: 直观展示每日或全程的景点分布(BUG) 天气信息 调用高德天气API获取目的地的实时天气预报，帮助用户做好行前准备。 高德JSAPI仅可查询未来3天天气，后续考虑更换API服务 📄 许可证 MIT 🤝 贡献指南 欢迎提交Pull Request或Issue！对于重大变更，请先开Issue讨论您想要改变的内容。 📞 联系方式 如有任何问题或建议，请通过以下方式联系我： Email: 2713587802@qq.com GitHub: Drfccv AI旅行规划助手 - 让旅行计划变得简单而智能，由Qwen/Qwen3-235B-A22B模型提供强大的AI能力支持…

使用RVC训练AI声音模型
type: item
date: 2025-03-29T15:00:00+08:00
description: [hide-toggle name="本文中使用的配置参考"]CPU : AMD R9-7940HX GPU : NV RTX4060Laptop MEM : 32G[/hide-toggle] 下载及使用RVC 项目地址：https://github.com/RVC-Project/Retrieval-based-Voice-Conversion-WebUI 下载对应的版本，此处不多赘述 解压文件至无中文路径中，打开go-web.bat，等待一会会弹出一个网页 准备声音训练数据集 准备5分钟以上的wav格式纯人声音频，如无则可通过RVC自带的人声分离 准备好待处理的音频，并打开刚刚的网页，选择伴奏人声分离&去混响&去人声，分离模型可自行根据说明进行选择，输出格式依然选择wav如图点击转换即可处理。进入rvc/opt即可看到输出的音频文件，复制文件路径 进行训练 在webui中选择“训练”目标采样率建议选择48k，输入训练文件夹路径粘贴刚复制的数据集所在文件夹路径，总训练轮数视情况而定，这里选择了30轮保存，总150轮，其他设置视机器配置而定，4060laptop训练6分钟的数据，耗时约6小时，点击“一键训练”即可开始 模型推理 训练完成后的模型会保存在rvc/assets/weights下，底模文件“在rvc/logs/"实验名"/*.index” 在webui中选择推理，刷新音色列表及索引路径，选择训练出来的模型，接着输入想要变声的音频文件路径 例： 点击开始转换，很快就可以得到输出的结果 实时变声 训练出来的模型可用于RVC实时变声，这里不多进行赘述，网上有很多相关教程，需下载虚拟声卡如VoiceMeeter，使用rvc目录下的go-realtime-gui.bat 训练集及输出模型(提取码：uVIQ)