🌐 MCP本地搜索SillyTavern
MCP本地搜索 是一个强大的、原生风格的SillyTavern扩展程序,它将高质量的本地网络搜索和页面抓取直接交给你的人工智能角色。
建于 剧作家,它实现了与原始产品的完全功能对等 bmen25124/SillyTavern-MCP-Client 同时为非技术用户提供更优化、更集成的体验。
______________________________________________________________________
✨ 主要特点
- 🎲 并行隐形搜索:v1.3.0架构的重大转变,随机化引擎顺序(“自动”模式),并行启动多个引擎,以获得最大速度和抗机器人性能。
- ❄️ 冷启动弹性:自动“零重试”策略,预热浏览器会话并立即重试失败的搜索。
- 🛡️ 反机器人挑战优化:自动检测、多帧轮询(8秒限制)和重定向感应(
rdr=1)用于可靠地处理复杂的Bing/Cloudflare挑战。 - 🚀 自主AI工具调用:角色可以自动搜索网络并提取内容以实时回答您的问题。
- 🛡️ 无冲突架构:完全更名为
mcp-local-search使用唯一的模板和CSS名称,以防止与其他扩展冲突。 - 🧭 多引擎支持:无缝编排 必应, DuckDuckGo,以及 起始页 以获得最可靠、高相关性的结果。
- ⚡ 超高品质出口:一旦达到100%的相关性,自动停止搜索,节省时间和API资源。
- 🎯 动态瀑布:您现在可以在UI中选择您喜欢的引擎,搜索瀑布将动态地对其进行优先级排序。
- 📑 增强型刮刀:使用多阶段瀑布(Axios->Playwright)从最复杂的网站中提取干净、可读的文本。
- 📊 共享浏览器池:高性能实例管理,最大限度地减少内存峰值并提高速度。
- ⚙️ 集成UI:扩展菜单中的专业设置抽屉,带有“管理工具”弹出窗口,用于实时配置。
- 📦 v1.4.0“模块化和可观察”版本:重大建筑大修介绍 依赖注入, 基于策略的发动机解耦,以及 结构化Pino日志记录.
- 🛡️ 强化安全(v1.4.0):专业级防护 DNS级SSRF验证 (阻止私有/保留IP)和可配置 域允许列表.
______________________________________________________________________
🛠️ 安装和部署
该项目由两部分组成:a 服务器插件 (后端)和a UI扩展 (前端)。
1.预构建版本(推荐)
安装或更新的最简单方法是使用 SillyTavern-MCP-本地搜索-v1.4.0.zip 释放:
- 下载最新版
.zip释放。 - 将内容直接提取到您的 愚蠢的藤根 目录。
- 文件夹将自动合并到正确的
plugins/和public/目录。
2.手动配置(先决条件)
先决条件
- Node.js:版本18或更高版本。
- 傻酒馆:已在本地安装并运行。
- 服务器插件:确保
enableServerPlugins: true设置在你的愚蠢的舌头config.yaml. - 函数调用:确保你有 '启用函数调用' 在SillyTavern的AI响应配置菜单中勾选。
______________________________________________________________________
3.手动部署(逐步)
步骤A:服务器插件(后端)
复制文件夹 plugins/mcp-local-search 从这个存储库到您的SillyAvern根目录 plugins/ 目录。
\[!重要\]\ 你 必须 安装插件启动的后端依赖项: 1. 在中打开终端SillyTavern/plugins/mcp-local-search/1. 跑npm install1. 跑npx playwright install chromium
步骤B:UI扩展(前端)
复制文件夹 public/scripts/extensions/third-party/mcp-local-search 从这个存储库到您的SillyAvern根目录 public/scripts/extensions/third-party/ 目录。
______________________________________________________________________
4.最终目录布局
您的SillyAvon安装应该如下所示:
SillyTavern/
├── plugins/
│ └── mcp-local-search/ **提示覆盖** > **主要提示**:
[SYSTEM NOTE: The current date is {{date}} and the time is {{time}}.]
[TOOL SYNTAX: To acquire real-world data, you must output the command exactly as follows on a new line: For broad web page searches: Local Search: Web Search: "short keywords" For detailed detail extraction after finding relevant looking pages to investigate: Local Search: Extract Page: "full URL" Do not add any other text on a tool call line. You must use short, broad keyword queries under 8 words. Do not use full sentences in search parameters. Do not add any other text on that line. SillyTavern will intercept this command and provide you with the results. You must wait for the data before providing your final analysis.]
______________________________________________________________________
## 📜 命令和工具
|命令/工具|操作|描述|
| :--- | :--- | :--- |
| **`/mcp-local-search `** |手动搜索|直接从聊天框执行快速网络搜索。 |
| **`local_search_web_search`** |AI工具|允许AI自主搜索网络信息。 |
| **`local_search_extract_content`** |AI工具|允许AI抓取并读取特定URL的全文|
______________________________________________________________________
## ⚙️ 配置
您可以通过以下方式微调搜索行为 **集成搜索设置**.
### 🧭 如何访问:
1. 打开愚蠢的盒子 **扩展(拼图)** 菜单。
1. 选择 **MCP本地搜索设置**.
1. 点击 **管理工具**.
1. 点击 **⚙️ 设置** 弹出窗口右上角的按钮。
### 🛠️ 可用设置:
- **🔢 结果限制**:控制返回给AI的搜索结果数量。
- *范围*:1到20个结果。
- *小贴士*:较高的值提供了更多的视角,但消耗了更多的上下文标记。
- **📏 最大内容长度(字符)**:在抓取过程中从任何单个网页中提取的最大字符数。
- *范围*:1000到50000个字符。
- *小贴士*:如果长文章被过早删除,请增加此值。
- **🔍 首选发动机**:选择您的主搜索引擎或使用新的智能模式:
- **自动(随机和隐形)** \[默认\]:为每个请求调整Bing、Startpage和DuckDuckGo的顺序。这提供了对IP阻塞的最大隐身性,并避免了模式检测。
- **首页(Axios)**:使用直接HTML解析的高质量结果(非常快)。
- **DuckDuckGo(Axios)**:使用DDG Lite进行快速、轻量级的回退。
- **Bing(浏览器)**:使用完整的Playwright浏览器自动化(功能最强大)的综合结果。
- **⚡ 强制多引擎搜索**:启用后,扩展程序将启动瀑布中的前两个引擎 **同时** (平行搜索)。
- *备注*:如果第一个引擎返回的结果符合您的要求 **质量阈值**,搜索将立即返回以节省时间。
- *智能出口*:v1.3.2引入了“共享状态”,慢速引擎(如Bing)将 **硬流产** 在更快的合作伙伴(如Startpage)找到结果的那一刻,他们的内部计时器。
______________________________________________________________________
## 🚀 性能与内务管理(v1.3.2)
该扩展旨在成为您系统中的“好公民”:
- **💨 2分钟空闲超时**:浏览器在120秒不活动后自动关闭以释放RAM。它们将在您下次搜索时自动重新启动。
- **🛡️ 停机防护装置**:处理标准进程信号(SIGINT/SIGTERM),以确保在SillyAvern关闭时,没有孤立的Chromium进程继续运行。
- **🏊 共享浏览器池**:多个引擎共享同一个浏览器实例,以最大限度地减少启动延迟和内存开销。
- **📊 结构化日志**:集成 `pino` 用于生产级遥测。自动 `pino-pretty` 格式化可确保日志在SillyTavern控制台中具有超可读性。
- **🛡️ DNS级别保护**:v1.4.0在网络交互之前验证每个URL的底层IP,阻止访问专用网段或保留IP范围的尝试。
______________________________________________________________________
## 🙏 致谢
该项目是一个独立的集成,基于以下开发人员的出色工作:
- **[bmen25124](https://github.com/bmen25124)**:用于原版中使用的专业UI架构和模板模式 `SillyTavern-MCP-Client`.
特别感谢SillyTavern社区的持续支持和启发。
______________________________________________________________________
## ⚖️ 许可证
MIT许可证-由Olly Johnston开发。