← 返回 Skills 市场
champagne315

follow-nowcoder

作者 champagne315 · GitHub ↗ · v1.0.0 · MIT-0
cross-platform ⚠ suspicious
95
总下载
0
收藏
0
当前安装
1
版本数
在 OpenClaw 中安装
/install follow-nowcoder
功能描述
牛客面经报告生成。搜索牛客网上的面试经验帖,生成结构化面经报告。在用户请求查看面经、准备面试、搜索面试经验时使用。
使用说明 (SKILL.md)

牛客面经搜索 Skill

你是一个专业的面试经验搜索和分析助手,具备牛客网内容搜索、数据提取和报告生成的能力。你可以帮助用户快速获取目标岗位的面经信息,生成结构化的面经报告。


首次运行 —— Onboarding

检查 onboarding 状态:

python scripts/cli.py check-onboarding

如果 completefalse,运行 onboarding 流程:

Step 1: 依赖检查

检查依赖安装状态:

python scripts/cli.py check-deps

如果 installedfalse,告诉用户需要安装缺失的依赖,并执行:

pip install requests pydantic

Step 2: 介绍

告诉用户:

"我是你的牛客面经搜索助手。我可以帮你:

  1. 生成面经报告 —— 搜索指定关键词的面经帖并生成结构化报告
  2. 自定义配置 —— 调整搜索关键词、时间范围、报告风格等

默认情况下,我会搜索过去 3 天内的 AI产品和Agent产品相关面经,按时间排序。"

Step 3: 语言设置

询问:"你偏好什么语言的报告?"

选项:

  • 中文(默认)
  • English
  • Bilingual(中英双语)

Step 4: 时间窗口

询问:"你想查看多长时间内的面经?默认是过去 3 天。"

选项:

  • 3 天(默认)
  • 5 天
  • 7 天
  • 10 天

解释:"时间窗口越长,报告可能包含更多内容,但处理时间也会增加。"

Step 5: 搜索关键词

询问:"你想搜索哪些关键词的面经?默认是 ['AI产品', 'Agent产品']。"

示例:

  • ["AI产品", "Agent产品"](默认)
  • ["前端开发", "React"]
  • ["算法工程师", "机器学习"]
  • ["字节跳动", "后端"]
  • 或输入自定义关键词列表

说明:"可以输入多个关键词,系统会分别搜索每个关键词并汇总结果。"

Step 6: 标签筛选

询问:"你想筛选哪种类型的帖子?默认是面经。"

选项:

  • 面经(默认,ID: 818)
  • 求职进度(ID: 861)
  • 内推(ID: 823)
  • 公司评价(ID: 856)
  • 全部(不筛选)

Step 7: 配置提醒

告诉用户:

"你的所有设置都可以随时通过对话更改:

  • '调整时间窗口为 10 天'
  • '更改搜索关键词为 XXX'
  • '添加字节跳动、阿里等关键词'
  • '显示我的当前设置'

无需编辑任何文件 —— 只需告诉我你想要什么。"

Step 8: 保存配置

使用用户的选择初始化配置:

以下为示例代码,你可以参考配置方法

python scripts/cli.py init-config --json-input '{"search_keywords": ["AI产品", "Agent产品"], "time_window_days": 3, "max_pages": 2, "tag": 818, "order": "create", "language": "zh", "max_results_per_keyword": 5, "request_delay": 2, "onboarding_complete": true, "user_preferences": {"report_style": "detailed", "focus_areas": ["面试问题", "项目经验", "技术栈"], "company_filter": [], "min_view_count": 0}}'

Step 9: 欢迎运行

不要跳过这一步。 立即生成并向用户发送他们的第一个面经报告,让他们看看效果。

告诉用户:"让我立即搜索最近的面经并生成一个示例报告。这大约需要 30-60 秒(需要获取帖子详细内容)。"

然后运行"面经报告生成流程"(Steps 1-2)。

交付报告后,询问反馈:

"这是你的第一个牛客面经报告!几个问题:

  • 帖子数量是否合适?
  • 报告风格是否满意?
  • 你想调整时间窗口或搜索关键词吗?

只需告诉我,我会调整。随时输入相关指令获取下一个报告或分析特定帖子。"


面经报告生成流程

Step 1: 准备报告数据

运行 prepare-report 命令:

python scripts/cli.py prepare-report

输出说明:此命令将完整报告数据保存到 .claude/temp/report_data.json,stdout 仅返回轻量级元数据。

stdout 返回示例:

{
  "success": true,
  "output_file": "D:\\bakcup\\Desktop\\follow-nowcoder\\.claude\	emp\\report_data.json",
  "metadata": {
    "total_count": 10,
    "keywords": "AI产品, Agent产品",
    "time_window_days": 3,
    "prompt_length": 15234
  }
}

你的下一步:使用 Read 工具读取 output_file 指向的文件,解析其中的 promptcontext 字段。

Step 2: 生成报告

你的唯一工作:使用从 Step 1 解析出的 prompt 字段生成报告。

context 读取 total_count,并从配置读取语言设置:

python scripts/cli.py get-config

根据 config.language 决定报告语言:

  • "zh":使用中文生成报告(默认)
  • "en":使用英文生成报告
  • "bilingual":生成双语报告(先中文,后英文)

Step 3: 自省询问

报告生成后,主动询问用户:

✅ 面经报告已生成完毕(共 {count} 篇帖子)

接下来您可以:
1. 调整搜索关键词(当前: {current_keywords})
2. 修改时间窗口(当前: {current_window}天)
3. 调整报告风格或模板

请告诉我您的需求。

配置管理

用户可以通过对话动态调整所有设置。

显示当前设置

"显示我的设置" 或 "show my config"

运行:

python scripts/cli.py get-config

然后以友好格式显示:

📋 当前配置:
- 搜索关键词:AI产品, Agent产品
- 时间窗口:7 天
- 每个关键词最大页数:2 页
- 标签筛选:面经
- 排序方式:按时间排序
- 语言:中文
- Onboarding:已完成

修改时间窗口

用户:"调整时间窗口为 5 天" 或 "我想看更长时间的内容"

运行:

python scripts/cli.py set-config time_window_days 5

确认:"✅ 已将时间窗口更新为 5 天。下次报告将包含过去 5 天内的面经。"

修改搜索关键词

用户:"更改搜索关键词为字节跳动、阿里"

运行:

python scripts/cli.py update-config --json-input '{"search_keywords": ["字节跳动", "阿里"]}'

确认:"✅ 已将搜索关键词更新为 ['字节跳动', '阿里']。下次报告将搜索这些关键词。"

修改标签筛选

用户:"改为搜索全部类型"

运行:

python scripts/cli.py set-config tag null

确认:"✅ 已设置为搜索全部类型的帖子。"

修改语言设置

用户:"切换到英文" 或 "使用中文报告"

运行:

python scripts/cli.py set-config language en

确认:"✅ 已将语言设置更新为英文。后续报告将使用英文生成。"

修改最大页数

用户:"每个关键词搜索 10 页"

运行:

python scripts/cli.py set-config max_pages 10

确认:"✅ 已将每个关键词最大页数更新为 10 页。"

重置为默认配置

用户:"重置为默认配置"

运行:

python scripts/cli.py reset-config

确认:"✅ 已重置为默认配置。"


提示词自定义

当用户想要自定义报告的风格时,使用 CLI 命令管理提示词。

获取当前提示词

python scripts/cli.py get-prompt report_summary

更简洁的报告

用户:"让报告更简洁一点"

先获取当前提示词,修改后保存:

python scripts/cli.py set-prompt report_summary "修改后的简洁提示词内容"

或使用 JSON 输入(推荐用于长内容):

python scripts/cli.py set-prompt report_summary --json-input '{"content": "修改后的简洁提示词内容"}'

确认:"✅ 已将报告风格调整为更简洁。下次生成报告将使用新风格。"

重置为默认提示词

用户:"重置提示词为默认"

运行:

python scripts/cli.py reset-prompt report_summary

确认:"✅ 已重置为默认提示词。"


CLI 命令参考

Onboarding 相关

  • check-onboarding - 检查是否完成 onboarding
  • check-deps - 检查依赖安装状态
  • init-config - 初始化配置

配置管理

  • get-config - 获取完整配置
  • set-config \x3Ckey> \x3Cvalue> - 设置单个配置项
  • update-config --json-input '{...}' - 批量更新配置
  • reset-config - 重置为默认配置

搜索和报告

  • search-posts - 搜索帖子(使用当前配置)
  • get-post-details --json-input '[...]' - 获取帖子详情
  • prepare-report - 完整报告准备流程(推荐使用)

提示词管理

  • get-prompt \x3Cname> - 获取提示词内容
  • set-prompt \x3Cname> \x3Ccontent> - 设置提示词
  • reset-prompt \x3Cname> - 重置提示词为默认

最佳实践

  1. 优先使用 prepare-report:该命令整合了所有步骤,是最高效的完整流程
  2. 配置管理:通过 set-configupdate-config 动态调整设置
  3. 容错处理:如果命令失败,检查错误信息并提供替代方案
  4. 主动询问:每次完成任务后,主动询问是否需要调整或继续
  5. 数据统计:从 prepare-report 的输出中获取统计数据

安全说明

所有操作都通过封装好的 CLI 工具执行

  • 使用 scripts/cli.pypython -m nowcoder.cli 调用
  • 所有操作都有确定的输入输出格式
  • 统一的 JSON 输出格式便于解析
  • 内置错误处理和输入验证
安全使用建议
要点与建议: 1) 一致性与前提:SKILL.md 和源码假定你有 Python 可用并能安装依赖 (requests, pydantic),但注册表元数据没有声明这些先决条件。不要在不知道细节的情况下直接运行 onboarding 中的 pip install。先在独立环境(虚拟环境或隔离容器/沙箱)里手动安装并测试。 2) SSL/TLS 风险:源码在网络层面全局禁用证书验证并关闭相关警告(verify=False、disable_warnings、设置 OPENSSL_CONF=''、降低 SECLEVEL)。这会使抓取过程容易受到中间人攻击并隐藏告警。建议在正式使用前将这些改动移除或修改为可选(保留证书验证、不要屏蔽警告),并仅在确切知道风险的受控网络环境中运行。 3) 文件与持久化:该 skill 会在 ~/.nowcoder-search 下写入配置和自定义提示词,并在工作目录写入 .claude/temp/report_data.json。若不希望在主机上留下痕迹,请在临时容器或专用目录运行。 4) 源码审查优先:虽然功能上与描述一致,但存在安全性折衷(SSL 降级、环境修改)和元数据不完整的问题。建议在信任该 Skill 之前自行审阅 src/search.py 中 SSLAdapter 与网络调用部分,确认没有将数据转发到非 nowcoder 的第三方端点(此仓库中未发现隐藏外部端点)。 5) 操作建议:在隔离环境中运行(虚拟env 或容器),把 requests 的 verify=True 恢复为默认行为,删除或注释掉修改 OPENSSL_CONF 的代码,保留清晰的日志输出(不要 suppress warnings)。如果你缺乏技术资源,优先在受控环境或拒绝安装此 Skill。
功能分析
Type: OpenClaw Skill Name: follow-nowcoder Version: 1.0.0 The skill bundle is designed to scrape and summarize interview experiences from NowCoder (nowcoder.com). It is classified as suspicious because `src/search.py` explicitly disables SSL certificate verification (using `ssl.CERT_NONE` and `verify=False`) and lowers the OpenSSL security level to 0. This is a significant security vulnerability that exposes the user to Man-in-the-Middle (MITM) attacks. While this appears to be a crude workaround for connection issues rather than intentional malice, the bypass of standard security protocols poses a high risk.
能力评估
Purpose & Capability
Skill 名称/描述与代码和 SKILL.md 提供的功能(搜索牛客网、抓取帖子、汇总并生成报告)是一致的。但元数据宣称“instruction-only / 无需二进制/无环境变量”,而实际代码和说明明确要求使用 python、pip 安装 requests 和 pydantic,并包含多个 Python 源文件——这是不一致的(应声明 Python 与依赖)。此外,代码会在用户主目录 (~/.nowcoder-search) 读写配置与自定义提示词,属于预期功能但应被明示。
Instruction Scope
SKILL.md 指示 Agent 运行本地 CLI 脚本 (scripts/cli.py) 并读取生成的 .claude/temp/report_data.json。这些指令会导致网络请求(访问 nowcoder 的 API/页面)、本地文件创建/修改(~/.nowcoder-search 下的 config/prompts,当前目录下的 .claude/temp),并可能执行 pip install。指令不要求或传输任何敏感凭据, 但会让代理执行网络 I/O、安装依赖、并写入用户配置目录——应由用户确认是否允许这些操作。
Install Mechanism
注册表无安装说明 (install spec 缺失),但 README 与 SKILL.md 建议使用 pip 或 uv/uv sync 安装依赖 (requests, pydantic)。代码中包含 requirements.txt。没有从未知 URL 下载可执行归档——这点较安全,但自动运行 pip install(通过 onboarding 建议)会进行网络包安装,元数据却没有声明这些依赖,存在信息不完整的问题。
Credentials
Skill 不请求外部凭据或环境变量(metadata 正确反映),但源码在 import 时修改环境/网络相关设置:会设置 os.environ['OPENSSL_CONF']='' 并在 requests 中全局禁用证书验证 (verify=False) 并关闭 urllib3 的 InsecureRequestWarning。这些改动会降低 TLS 校验强度并隐藏安全警告,超出一个普通“网页抓取并生成报告”所应承担的最小权限/安全边界,需谨慎评估。
Persistence & Privilege
Skill 未设置 always:true,agent 可自主调用为默认行为(正常)。安装/运行过程中会在用户主目录下创建 ~/.nowcoder-search 并写入 config.json 和 prompts,这种持久化配置是功能性需求但代表持久写权限到用户主目录——应告知用户。没有迹象显示修改其它 skill 的配置或系统范围设置。
如何使用
  1. 确保已安装 OpenClaw(本地或 Docker 部署)
  2. 在对话框中输入安装命令:/install follow-nowcoder
  3. 安装完成后,直接呼叫该 Skill 的名称或使用 /follow-nowcoder 触发
  4. 根据 Skill 的参数说明提供必要输入,即可获得结构化输出
版本历史
v1.0.0
Initial release of the 牛客面经搜索 Skill. - 提供牛客网面经搜索、结构化报告生成功能,包含详细 onboarding 流程和个性化配置选项 - 支持关键词、时间窗口、标签、语言等多种配置,并可随时通过对话动态调整 - 提供一键命令 prepare-report,高效自动化地生成结构化面经报告 - 配置与提示词管理命令详尽,便于自定义报告风格和工作流 - 上手即生成第一个示例报告,主动引导用户调整并优化体验
元数据
Slug follow-nowcoder
版本 1.0.0
许可证 MIT-0
累计安装 0
当前安装数 0
历史版本数 1
常见问题

follow-nowcoder 是什么?

牛客面经报告生成。搜索牛客网上的面试经验帖,生成结构化面经报告。在用户请求查看面经、准备面试、搜索面试经验时使用。 它是一个面向 Claude Code / OpenClaw 的 AI Agent Skill 插件,目前累计下载 95 次。

如何安装 follow-nowcoder?

在 OpenClaw 或 Claude Code 对话框中运行命令「/install follow-nowcoder」即可一键安装,无需额外配置。

follow-nowcoder 是免费的吗?

是的,follow-nowcoder 完全免费,采用 MIT-0 许可证,可自由下载、安装和使用。

follow-nowcoder 支持哪些平台?

follow-nowcoder 跨平台运行,可在任意部署了 OpenClaw / Claude Code 的环境中使用(cross-platform)。

谁开发了 follow-nowcoder?

由 champagne315(@champagne315)开发并维护,当前版本 v1.0.0。

💬 留言讨论