自学资源查找器 (Self-Learning Finder)
概述
自学资源查找器是一个交互式资源搜索组件,用户输入学习主题(如"Python爬虫"),即可在表格中查看相关学习资源的简介和可点击链接。当前使用模拟数据演示,代码结构支持快速替换为真实 API 或爬虫数据。
触发条件
当用户表达以下意图时触发:
- 搜索/查找某个主题的学习资源、教程、资料
- 寻找视频教程、技术文档、博客文章、开源项目
- 表达示例:"帮我搜索 Python爬虫 的学习资源"、"查找 React 教程"、"机器学习有什么好的学习资料"
使用流程
第一步:读取 HTML 模板
读取 assets/finder_template.html 文件获取完整 HTML 组件代码。
第二步:展示交互组件
将 finder_template.html 的完整内容作为 widget_code 参数传递给 show_widget 工具进行渲染。
调用参数:
- title: "自学资源查找器"
- widget_code: finder_template.html 的完整内容
- loading_messages: ["正在加载查找器组件", "准备搜索界面"]
第三步:用户交互
组件渲染后用户可在输入框中输入主题进行搜索。组件内置功能:
- 搜索:输入主题按回车或点击搜索按钮
- 类型筛选:点击类型标签(全部/视频/文档/博客/项目)筛选结果
- 关键词筛选:在筛选框输入关键词进一步过滤
- 排序:点击排序按钮按简介 A→Z / Z→A 切换
- 打开链接:点击"打开 →"按钮在新窗口打开资源
数据源替换
当前使用 MOCK_DATA 数组提供模拟数据。替换为真实数据的方式参见 references/data_integration.md。
三种替换方案:
1. 替换为真实 API:修改 finder_template.html 中的 fetchResources() 函数
2. 使用爬虫脚本:运行 scripts/search_resources.py 获取 JSON 数据,注入模板
3. 混合模式:API 优先,失败时降级使用模拟数据
资源说明
assets/finder_template.html
核心交互式 HTML 组件,自包含所有 CSS 和 JavaScript。直接传递给 show_widget 渲染。包含:
- 搜索输入框 + 搜索按钮
- 类型筛选标签 + 关键词筛选 + 排序
- Loading 动画 / 空结果提示 / 初始引导
- 结果表格(资源简介 + 资源链接两列)
- 资源类型彩色标签(视频=红 / 文档=蓝 / 博客=绿 / 项目=紫)
references/data_integration.md
数据集成指南,详细说明三种数据替换方案及扩展资源类型的方法。
scripts/search_resources.py
搜索脚本框架,预留 B站、GitHub、官方文档三个搜索源接口。当前为 TODO 框架,需根据实际 API 实现。
注意事项
- 组件宽度适配 680px 的 show_widget 面板
- 所有样式内联,无外部依赖,加载速度快
- 资源链接使用
target="_blank"在新窗口打开 - 模拟数据涵盖 Python爬虫、React、机器学习、Vue3、Django 等主题