Home
Softono

Shushu Internship Tool

Open source Python
1.3K
Stars
62
Forks
0
Issues
0
Watchers
2 months
Last Commit

 About Shushu Internship Tool

把岗位描述变项目,把项目变简历,把简历变面试。

Platforms

Web Self-hosted

Languages

Python

Links

Need Help Installing Shushu Internship Tool?

We provide expert installation service for this software. Our team will install, configure, and secure Shushu Internship Tool on your server. plans start at just $30.

Shushu Internship Tool

View on GitHub

鼠鼠实习妙妙工具

鼠鼠实习妙妙工具 Logo

SIT —— shushu internship tool

中文 | English

Version License Audience Workflow

把岗位描述变项目,把项目变简历,把简历变面试。

推荐使用方式:优先使用 Codex,并开启 Plan / 计划模式,以获得完整的 yes/no gate、偏好选择弹窗和自定义输入体验。 其他 coding agent 如果支持 Plan / Planning / Ask 这类交互式规划模式,也建议先开启;否则项目偏好流程可能降级成普通文本输入。

鼠鼠实习妙妙工具是一个AI驱动的实习项目准备工具包(skill):把目标 JD(Job Description,岗位描述/招聘需求)快速转成能投递、能面试、能讲清的项目素材闭环。这里的 JD 通常包括岗位职责、任职要求、技术栈、业务方向、地点、学历/毕业时间限制等信息。

它适合后端、前端、全栈、移动端、测试开发、数据工程、云原生/DevOps、安全、系统、AI/算法等计算机方向,旨在帮 0 经验或低经验候选人(鼠鼠)用最短路径完成:选题、理解、复现、简历表达、面试拷问和展示材料。

如果只给 JD(岗位描述/招聘需求),工具会先做 JD 初步理解,再补一个短 intake:你的知识水平、技术栈现状、时间预算、资源条件,以及希望运行到什么深度。近期新增的“项目偏好”流程可作为开源项目筛选和排序的小权重使用。

欢迎加入鼠鼠实习就业交流群,QQ群号:976187338。

强联动新项目:VibeResume

VibeResume 是一个 AI 友好、网页优先、可稳定导出 PDF 的简历模板:把简历维护成 HTML + CSS,让 AI 直接改内容和排版,再一键导出一页 PDF。

它可以作为 SIT 的“最后一公里”联动项目:SIT 负责把 JD 转成项目与面试材料,VibeResume 负责把最终简历内容沉淀成漂亮、可版本管理、可持续迭代的网页简历。

友情链接与灵感来源

  • 友情链接:鼠鼠实习简历优化器:把实习代码仓库、项目总结和业务背景材料整理成简历成果、STAR 草稿和面试复盘材料。
  • 友情链接:ProjectProof:面向单薄实习和 AI 项目的证据化审核与面试追问补强工具,帮助把真实经历讲深讲透。
  • 灵感来源:leilon,本 skill 的想法受到其相关实践与分享启发。

它能做什么

  • 根据 JD(岗位描述/招聘需求)找 2-3 个合适的 GitHub 项目,并按岗位匹配度、上手速度、可讲亮点、运行成本和改造空间排序。
  • 审计已 clone 的项目,生成 audit.jsonoverview.mdoverview.html,帮助快速理解代码结构、入口、依赖、API/页面/数据流/任务流。
  • 规划 baseline run:优先本地最小路径跑通,不够再设计云服务器、数据库、对象存储、GPU/AutoDL 或其他远程环境方案。
  • 推进可面试的改造点:加 API、加页面、换数据库、加缓存、加测试、加监控、加 CI/CD、改数据流、优化性能、补 demo 或做 AI/算法实验。
  • 生成面试包:STAR 简历项目、核心代码讲解、面试官拷问 Q&A、PPT 提示词和投递检查表。

项目偏好

项目偏好是近期新增流程,用来在找开源项目之前确认用户是否有筛选偏好。建议在支持交互式规划的 coding agent 中打开 Plan / Planning / Ask 模式;在 Codex 中对应 Plan mode,并通过 request_user_input 获得最完整的弹窗体验。不开启这类模式时,偏好确认可能降级成普通文本输入。

流程是:先弹出“有 / 没有偏好”,选择“没有”就走原 workflow;选择“有”后再弹出 3 个开源项目筛选建议,并把客户端自带的自定义输入作为第 4 个选项 D。推荐使用 Codex 以获得最稳定、最完整的结构化选择体验。

偏好只影响后续 GitHub 开源仓库筛选和排序中的小权重,不改变“找 2-3 个开源项目,再做可面试改造”的主流程。带有“不要 / 不想 / 避免 / 不希望”的内容会被当成避雷项,而不是正向偏好。

推荐用法

把目标 JD(岗位描述/招聘需求)和自己的基础情况发给 AI 助手,并说明想要的运行深度;如果你已经有明确项目偏好,也可以直接写在初始输入里,工具仍会先确认后再使用:

使用鼠鼠实习妙妙工具,根据下面这份 JD(岗位描述/招聘需求)帮我规划一个能投递、能面试、能讲清的计算机实习项目。

我的情况:
- 当前水平:学过课程但项目少
- 熟悉语言/框架:Python、FastAPI、一点 React
- 时间预算:2 天
- 本地/远程资源:本地电脑 + Docker,无 GPU
- 希望运行深度:interview-only / smoke-test / local-full-run / remote-full-run
- 项目偏好 / taste:更想做后端 + AI 应用;希望能本地跑通,适合面试讲;不想做纯前端,不想依赖多机多卡或复杂云服务。

JD(岗位描述/招聘需求):
...

如果你暂时没有偏好,可以写“项目偏好 / taste:无,按 JD 推荐”,或者只给 JD。工具会在 JD 初步分析后一定先问一次 yes/no:你是否有自己的项目偏好 / taste?如果你已经在初始输入里写了偏好,工具会先确认是否将这段内容作为自定义偏好。

Star 趋势

Star History Chart

安装本地脚本

cd shushu-internship-tool
python3 -m venv .venv
. .venv/bin/activate
python -m pip install -e ".[dev]"

脚本

审计本地项目:

python -m shushu_internship_tool.repo_audit --repo /path/to/repo --out reports/audit --name my-project

给候选项目排序(无 taste,兼容旧用法):

python -m shushu_internship_tool.candidate_score --jd jd.txt --candidates candidates.json --out reports/ranking

给候选项目排序(带可选项目偏好 / taste):

python -m shushu_internship_tool.candidate_score --jd jd.txt --candidates candidates.json --taste taste.json --out reports/ranking

candidate_score 会先计算 raw_score,再按 max_raw_score 归一化到 0-100:无有效 taste 时分母为 104;带正向 prefer_tags 的有效 taste 会新增 user_preference 小权重,分母为 114。--taste 未传、文件为空、只有空白,或文件里没有结构化 prefer_tags / avoid_tags 时,都按无有效 taste 处理;脚本不解析自然语言偏好。

候选项目排序同样不从自由文本里猜 JD、license、可运行性或资源分:AI 助手需要在候选 JSON 中显式写入 matched_jd_termslicense_scorerunnable_scoreresource_fit_score

taste.json 示例:

{
  "taste_text": "更想做后端 + AI 应用,不想做纯前端,希望 Docker 本地跑通,适合面试讲",
  "prefer_tags": ["backend", "ai-app", "local-docker", "interview-friendly"],
  "avoid_tags": ["pure-frontend", "multi-gpu", "cloud-heavy"]
}

生成面试材料包骨架:

python -m shushu_internship_tool.interview_pack --project-notes reports/audit --out reports/interview-pack

安装后也可以使用命令入口:

shushu-repo-audit --repo /path/to/repo --out reports/audit --name my-project
shushu-candidate-score --jd jd.txt --candidates candidates.json --out reports/ranking
shushu-candidate-score --jd jd.txt --candidates candidates.json --taste taste.json --out reports/ranking
shushu-interview-pack --project-notes reports/audit --out reports/interview-pack

候选项目 JSON 示例

[
  {
    "name": "tiny-ticket-system",
    "repo_url": "https://github.com/example/tiny-ticket-system",
    "license": "MIT",
    "license_score": 4,
    "stars": 320,
    "last_commit": "2026-04-20",
    "tags": ["fastapi", "postgresql", "docker", "rest-api"],
    "matched_jd_terms": ["后端开发", "接口设计", "数据库", "容器化部署"],
    "jd_match_score": 20,
    "runnable": true,
    "runnable_score": 20,
    "resources": "local Docker smoke-test",
    "resource_fit_score": 10,
    "mod_ideas": ["add JWT auth", "add Redis cache", "add integration tests"],
    "risk_notes": ["database migration needs setup"],
    "taste_tags": ["backend", "local-docker", "interview-friendly", "api", "database"],
    "project_taste_notes": [
      "偏后端工程落地形态",
      "Docker 本地 smoke test 路径清楚",
      "API / 数据库 / 缓存改造适合面试讲"
    ],
    "avoid_tags": ["cloud-heavy"]
  }
]

候选项目的 taste 字段都是可选字段:taste_tags 用于匹配用户正向偏好,avoid_tags 表示项目自身可能让部分用户避雷的属性,project_taste_notes 只做展示说明,不参与脚本打分。

求职效率原则

  • 第一目标是帮候选人尽快拿到面试:JD(岗位描述/招聘需求)命中、项目标题、4-5 行简历表达、面试问答要优先产出。
  • 不要把时间耗在“完整复现论文级结果”或“重写整个系统”上;先做 smoke test、核心流程理解和能讲清的 demo/改造点。
  • 魔改不追求大而全,优先选面试官听得懂、自己说得明白、能快速推进的增量,比如 API、页面、测试、缓存、部署、性能、数据处理或算法实验。
  • 指标有就写具体数字;暂时没有指标就改写成工程产出、方法理解、系统设计、实验设计和下一步计划。
  • 面试准备比完美实验更重要:让 AI 助手扮演面试官反复拷问,直到能讲清 input/output、方法选择、失败原因和改进方向。

运行深度

  • interview-only:不完整跑项目,优先做项目选择、简历、核心代码阅读路线、面试 Q&A、PPT 提示词。
  • smoke-test:跑最小可运行路径,只证明项目能启动或核心流程能走通。
  • local-full-run:在本地完整跑通 baseline/demo,并尽量产出可展示结果。
  • remote-full-run:使用云服务器、数据库、GPU 或其他远程环境完整跑通,适合时间和预算更充足的情况。

开发

cd shushu-internship-tool
. .venv/bin/activate
pytest

核心作者

LiuMengxuan04
Liu Mengxuan

发起者
owner
GateJustice
GateJustice

collaborator

License

Apache-2.0