用途:把自然语言课程查询转换为柏林 VHS 的结构化搜索,执行确定性的抓取+解析脚本,并整齐呈现结果。
主要能力:从自然语言中提取 district、category、level、time、keyword、max_price 等参数,构建 query-json;通过配置读取查询规则与提取规则;支持直接 HTTP 抓取与 Jina reader 回退;用 cheerio 解析课程链接;将结果 upsert 到 SQLite 数据库(若已初始化);输出 JSON,包含 courses、url、tier、via、verification。还会检查报名限制规则,如 Integrationskurs/Alphabetisierung 需咨询、A1/A2/B1/B2 语言课可能需要分级测试、Seniorenkurs/für Frauen 可能有资格限制。
用法:数据库路径从 .claude/vhs-berlin-agent.local.md 的 frontmatter db_path 读取,否则默认 ~/.local/share/vhs-berlin/vhs.db。解析 bun:BUN=$(command -v bun 2>/dev/null || echo "$HOME/.bun/bin/bun")。运行搜索:$BUN run ${CLAUDE_PLUGIN_ROOT}/scripts/search.ts --query-json '{"district":"Neukölln","category":"German","level":"A2"}' --db-path "<db_path>" --limit 20。检查 verification.ok:为 true 则解析并展示课程;为 false 须显式报告原因,不得静默返回空结果,并建议打开 https://vhsit.berlin.de/VHSKURSE/BusinessPages/CourseList.aspx。
适用场景:查找指定区域、类别、等级、时间或价格的 VHS Berlin 课程,并提示特殊报名规则。
限制:相关资料未提供官方收费、价格细节或性能保证;若脚本报告验证失败需如实反馈。