anime-find

155Star32Fork1Issue11Watching

DeepSeek Harness 对话内多源搜番插件,聚合 Mikan/AniBT/AnimeGarden 结果,按 Bangumi 索引展示卡片、磁力与种子,内置试点流媒体源可在同页选集播放。

机审证据安装命令仓库已核验dsh-plugin Topic许可证READMEAI 百科
语言
TypeScript
License
MIT
分支
main
animeanime-searchbangumideepseekdeepseek-harnessdshdsh-pluginmagnet

安装

$ dsh plugin --profile web add github:cocofhu/anime-find

在终端中运行以上命令,通过 dsh CLI 安装此插件。可在右上角切换 Profile。 第一次用 dsh?看这篇新手教程

对话式安装

帮我安装 DeepSeek Harness 插件 cocofhu/anime-find:先查看仓库 https://github.com/cocofhu/anime-find.git 确认安全性,然后执行安装命令并验证插件加载成功。

把这段指令粘贴给 DSH Web GUI 里的助手,由它代你完成安装与验证。

一句话定位

anime-find 是 DeepSeek Harness Web 上的对话内搜番插件,让 Agent 在回复中直接展示来自 Mikan / AniBT / AnimeGarden 的番剧卡片,并在同页查看磁力、种子和 Bangumi 介绍,还可以基于静态解析的规则直接在对话里选集播放。

核心能力

  • 多源聚合搜索:同时调用 Mikan、AniBT、AnimeGarden 三个站点,按来源合并展示卡片,单源失败不会阻塞其他源
  • 按 Bangumi 索引补全:对每张卡片自动补全评分、原名、标签等信息(带 bgmId 的直接拉,无则按标题搜一次)
  • 资源详情面板:按字幕组浏览集数,提供磁力一键复制与 .torrent 文件下载链接
  • Bangumi 介绍与短评:详情卡加载介绍、评分、类型标签和最多 5 条短评,Bangumi 不可用时自动隐藏对应 Tab
  • 流媒体在线播放:根据搜索结果在静态解析的规则站点试播,整段 HLS 通过 Host 代理后重写分片链接
  • 智能追问:识别"还有吗""换一批""再推荐"等指令,自动翻页取下一批结果
  • 季度感知:说"本季""最近好看的"时按 Asia/Shanghai 时区识别当前季度,支持"2026 夏""2026-07"等显式季度
  • 插件内更新检查:在配置页可手动对照 GitHub 正式 Release,发现新版本提供复制好的更新命令

技术实现

  • 语言: TypeScript(Host 端 src/*.ts,构建到 lib/host.js)+ JavaScript + React(Client 端 src/client.js,构建到 lib/client.js,含 HLS 播放器)
  • 关键依赖: cheerio(HTML 解析)、hls.js(HLS 播放)、@deepseek-ai/dsh-tools(工具注册)、@deepseek-ai/cordis(插件注入)
  • 架构模式: 通过 cordis.patch.yml 向宿主注册 anime-find 插件 ID 与默认配置;Host 端 apply(ctx, config) 同时注入 tools(注册 anime_find_search 工具)、webServer(注册 /anime-find 等代理与封面端点)、systemPrompt(追加段以约束 Agent 调用行为);Client 端经 @deepseek-ai/dsh-client-runtime@deepseek-ai/dsh-client-ui-slots 在 ToolView 渲染卡片与播放器
  • 入口文件: 宿主入口 lib/host.js(package.json#exports['.']),客户端入口 lib/client.js(package.json#exports['./client']);构建由 prepare 脚本(tsc + 资源拷贝)触发

适用场景

在 DeepSeek Harness Web 的对话里直接搜番,不想切换到浏览器标签页。希望看到"本季有什么""某个番的磁力在哪""能不能在线看"的统一答案,而不是逐个站点查找。适合爱好追番、需要常态化在新番季和补旧番之间切换的用户;对只想看具体来源站点的资深用户价值有限,因为本插件不托管任何媒体,规则站点需要用户自行确认可观看性。

前置依赖与兼容性

依赖最低版本说明
DSH Web>= 0.1.0-rc.6peerDependency 声明 @deepseek-ai/dsh-tools(开发时使用 ^0.1.0-rc.6);客户端需 @deepseek-ai/dsh-client-runtime@deepseek-ai/dsh-client-ui-slots
Node.js>= 22package.json#engines.node
运行时Host 端基于 Node.js,不需要原生模块;客户端浏览器原生 ESM + hls.js
平台跨平台macOS / Windows / Linux 均可,运行时只依赖浏览器与 Node
原生模块dependencies 仅 cheerio 与 hls.js;无 node-gyp 构建步骤

安装方式

dsh plugin --profile web add github:cocofhu/anime-find

安装后重启 dsh web,并在浏览器中强制刷新页面。

配置项

配置类型说明默认值
搜索源多选启用的来源:Mikan / AniBT / AnimeGarden,默认仅 Mikan仅 Mikan
搜索结果上限数字每批返回的卡片数;查看本季时自动不低于 3612
Mikan 站点地址URLMikan 的根域名,可换镜像https://mikanani.me
AniBT 站点地址URLAniBT 的根域名,可换镜像https://anibt.net
AnimeGarden API 地址URLAnimeGarden API 入口https://api.animes.garden
上游请求超时(毫秒)数字3 秒到 120 秒之间20000
请求 UA字符串发送至上游的 User-AgentMozilla/5.0 (compatible; anime-find/0.1)
流媒体总开关开关关闭后详情卡不再显示"流媒体"Tab开启
流媒体规则JSON 数组静态可解析的播放源,每条至少含 8 个字段(name、baseURL、searchURL、searchList、searchName、searchResult、chapterRoads、chapterResult);{{keyword}}{{query}} 替换为搜索关键词内置一条 xfdm(试点源)

配置保存即生效,写入 $DSH_HOME/anime-find.json

常见问题

Q: 在对话里说什么才会触发搜番?

A: 任何与番剧相关的问题都会让 Agent 调用 anime_find_search 工具,并在回复中输出可点击卡片。说"最近有哪些好看的动漫""本季""还有吗"会自动按当前季度(Asia/Shanghai 时区)展开。说"搜下无职转生"则按标题搜。

Q: 卡片点开后能看到什么?

A: 按字幕组分组的资源列表,含集数、磁力链接和 .torrent 文件地址;若卡片带 Bangumi ID,详情里还会拉取介绍、评分、类型标签和最多 5 条短评,全部在 Host 侧代理完成,不会写入给 Agent 的工具正文。

Q: 流媒体 Tab 默认能用吗?需要自己准备规则吗?

A: 默认开启,并内置一条试点规则 xfdm(仅静态解析,不托管内容)。如果该站点不可用,可在设置里关闭或粘贴自定义规则 JSON;规则必须可静态解析,至少含 name/baseURL/searchURL/searchList/searchName/searchResult/chapterRoads/chapterResult 八个字段。

Q: 安装后必须重启 dsh web 吗?

A: 是的。安装/更新插件后需重启 dsh web 并强制刷新浏览器;这是因为 HLS 播放器(hls.min.js)由 Host 显式注册,只有刷新后才能被 ToolView 加载。

Q: 配置改完需要重启吗?文件存在哪?

A: 不需要,保存即生效。配置写入 Harness 用户目录下的 anime-find.json$DSH_HOME 未设时为 ~/.dsh/anime-find.jsonDSH_HOME 优先)。版本与安装来源是只读字段,不会写入该文件。

Q: 提示"播放器无法加载该集"怎么办?

A: 该集未解析出可播放地址或源站限制所致。可以在同 Tab 切换其他源,或直接打开源站页面观看;规则解析受限时,流媒体 Tab 会自动隐藏但不影响介绍和资源浏览。

Q: 数据会发给模型或上传到云端吗?

A: 不会。搜索请求由插件发往对应源站(Mikan/AniBT/AnimeGarden),Bangumi 介绍/短评由 Host 代理请求后只渲染到 UI,不会写入给 Agent 的工具正文;配置文件只存在本机。

Q: 怎么更新到最新版?

A: 在插件设置页"版本与更新"区块手动点"检查更新"。发现新版本时按提示在终端执行 dsh plugin --profile web update anime-find,然后重启 dsh web 并强制刷新浏览器;不会自动检查,也不使用预发布/草稿 Release。本地 link: / file: 安装时不会显示该命令。

上手难度

入门 — 在对话里用自然语言即可使用,配置项有合理默认,不需要写规则也能立即搜番并查看磁力;自定义流媒体规则需要理解 CSS/XPath 选择器和 JSON 字段约定,对应"进阶"工作量。

已知问题与限制

  • 流媒体规则首期不支持脚本、函数与文本匹配等动态 XPath 谓词,也不执行页面 JavaScript 或 WebView 拦截;首期不会自动同步社区规则仓库
  • 单集不能播放或解析出 0 个播放地址时,不会回退到同集其他线路,详情卡会提示"播放器无法加载该集"或隐藏整个流媒体 Tab
  • Bangumi 短评来自 next.bgm.tv/p1 非公开接口,可能变更或下线,失败时只隐藏短评 Tab,不影响介绍和资源浏览
  • 单个来源失败不会中断其他来源,但插件不会自动重试;当 AniBT/AnimeGarden 启用但域名无法连通时,搜索结果数会显著减少(默认仅 Mikan)
  • 翻页结果依赖源站返回足够多的资源,本季结果较少时可手动提高结果上限或在设置中启用其他来源
  • dsh plugin update 命令仅对 GitHub 来源可用;本地 link: / file: 安装时更新检查仍生效,但不会提供可复制的更新命令

收录徽章

Listed on deepseek-plugin.org
[![Listed on deepseek-plugin.org](https://img.shields.io/badge/listed_on-deepseek--plugin.org-007EC6)](https://deepseek-plugin.org/plugins/cocofhu/anime-find)

把这段 markdown 粘贴到你的 GitHub README,链接回本插件详情页。徽章只声明已被本站收录,不代表安全认证。

返回插件目录