山东外事大学-简历面试助手skill

SKILL教育学习
教育学习 未标注权限 许可证不明确
安装这个技能

针对毕业生及应届生的简历面试助手,可通过添加模型优化简历。简历导入支持多种格式,优化建议及评分也通过大模型优化。面试题根据导入的简历分为主观题和面试题。特点是可根据简历和想要投递的岗位JD去选择性的优化,适合相同简历投递不同岗位进行对应性优化,同时也根据岗位进行不同面试题参考。

一句话选型结论

按资料字段整理

山东外事大学-简历面试助手skill是教育学习类的 Agent Skill,安装方式未标注,权限级别未标注,许可证不明确,有可直接复制的安装命令。技能本质是给模型读的说明书,效果取决于模型与客户端;装完先用一个小任务验证,再放进正式流程。

分类教育学习 安装方式未标注 权限级别未标注权限 许可证许可证不明确
累计安装 未标注 本周 未标注
GitHub 星标 未标注 仓库 未标注
下载量 未标注 技能市场下载数
权限级别 未标注权限 安装前请确认风险范围
许可证 许可证不明确 未说明

安装

未标注
在支持 Skills 的客户端里执行,装完问一句「你有哪些技能」验证
skillhub install user_2b79e518/resumeagent-skillhub-conghuiming
  1. 1
    确认客户端支持

    确认你的客户端支持 Skills(Claude、Codex、Cursor 等),并升级到较新的版本。

  2. 2
    拿到技能文件

    执行上面的命令安装;也可以把仓库里的 SKILL.md 手动放进客户端的 skills 目录。

  3. 3
    刷新技能列表

    重新打开客户端,或刷新技能列表,让新放进来的技能被加载。

  4. 4
    验证是否生效

    问一句「你有哪些技能」,确认列表里出现它,再拿一个小任务试跑。

技能档案

教育学习
字段来自技能仓库与公开索引,中文说明由本站标注
作者 / 维护方user_2b79e518仓库 未标注 · 版本 未标注
宿主客户端未标注技能可被这些客户端加载
安装方式未标注安装包 community
权限级别未标注权限安装前请确认风险范围
许可证未说明许可证不明确,商用前请自行确认条款
仓库可用性available技能仓库当前是否可访问
最近核验未标注上游最后核验时间 · 数据更新 1791677000
正文体量12.9 KBSKILL.md 原文大小,越大说明说明书写得越细

典型使用场景

3 类
按分类整理的常见用法,具体以 SKILL.md 为准
讲解知识点

按水平把知识点讲清楚。

出练习题

按章节生成练习与答案。

制定学习计划

按目标和时间排学习节奏。

选择建议

装之前先看这几条
按条目字段给出的判断,不替你决定用不用

值得选的地方

  • 有可直接复制的安装命令,不用自己翻文档找入口。

先想清楚的地方

  • 没有标注权限级别,实际能做什么要装好后确认。
  • 许可证不明确,商用或二次分发前先到仓库确认条款。
  • 没有做站内核验,内容以作者仓库为准。
  • 技能只是说明书,实际效果取决于模型与客户端,装完先用小任务试一遍。

更适合

  • 需要在教育学习场景里给模型补一套做法的人。
  • 愿意先读一遍 SKILL.md、确认它会让模型做什么的人。

不太适合

  • 对许可证要求很严、必须明确可商用的人。
  • 只想装完就自动变强、不打算看说明书的人。

同类对比

6 个同类
同分类里挑最接近的几条,字段以各自详情页为准
技能权限级别安装方式累计安装宿主客户端安装命令
山东外事大学-简历面试助手skill当前 未标注权限 未标注 未标注 未标注 有
食谱创建课堂课程 未标注权限 GitHub 仓库 25.5 万 Codex、Claude、Cursor 有
语言学习 联网访问 ClawHub 市场 23.6 万 OpenClaw 有
learning 效率 只读 ClawHub 市场 19.2 万 OpenClaw 有
学习习惯 未标注权限 ClawHub 市场 10.2 万 OpenClaw 有
日语家教 只读 ClawHub 市场 8.2 万 OpenClaw 有

SKILL.md 全文

12.9 KB
模型实际读到的说明书原文,来自技能仓库

resume-agent 运行手册

一、这是什么

resume-agent 是一个纯本地的简历面试助手 Web 应用:用户上传 Word/PDF 简历后,
接入自己配置的任意 OpenAI 兼容大模型,进行简历四维诊断与改写,并生成分类面试题
(客观笔试 + 主观问答)。特点:

  • 后端零依赖:纯 Node.js http,无任何 npm 包,无需 npm install。
  • 前端漫画风:单页 UI(public/),REST + SSE 通信。
  • 方法论外置:提示词不写死在代码里,而是运行时读取同级 Skill
    缺失时回退内置精简版。
  • 本地优先 / 隐私友好:API Key 仅本地混淆存储,明文不出后端。

二、功能概览

功能 入口 说明
简历上传解析 POST /api/upload 支持 pdf/docx/dotx/txt/md;返回 resumeId、纯文本、解析统计、告警
文本直贴 POST /api/resume/text 无文件时直接粘贴文本(≥20 字)
模型设置 POST /api/settings/models 等 增/删/切模型,支持「无需 Key」模式;Key 落盘前 AES-256-GCM 混淆
简历优化 POST /api/optimize(SSE) 四维诊断 + 六轴雷达 + 技能缺口 + 模板推荐 + 待核实清单
面试题生成 POST /api/interview(SSE) 客观题(含选项/答案/解析)+ 主观题(含回答框架/要点/追问)
健康检查 GET /api/health 返回服务状态、是否已配模型、方法论是否接入

优化输出结构(四大维度 + 六轴雷达)

overall   : { score:0-100, grade:"A".."E", summary }
radar     : 6 轴,各 0-100
            ATS兼容性 / 结果导向 / 量化程度 / JD匹配度 / 结构清晰度 / 表达专业度
dimensions: 4 项(每项含 issues 列表)
            format   格式优化  满分 25
            content  内容优化  满分 35
            skill    技能优化  满分 25
            template 模板优化  满分 15
skills    : { matched, missing, weak, roadmap[gap+steps] }
templateRec: { name, reason, color, rules[] }
todo      : 需用户补充确认的信息(数字口径、真实性存疑处)

面试输出结构

objective : 客观笔试题(可选类型:单选/多选/判断/填空/简答/代码)
            { level:"L1"|"L2"|"L3", type, tag, q, options[], answer, analysis }
subjective: 主观问答题
            { type:"项目深挖"|"行为面试"|"技术原理"|"系统设计"|"自我介绍"|"反问环节",
              q, focus[], framework, good[], bad[], followup[] }

难度配比默认 L1 基础 40% / L2 进阶 40% / L3 挑战 20%;提供简历时主观题 ≥60% 基于简历原文。

三、系统架构

组件关系

┌─────────────────────────┐         REST + SSE          ┌──────────────────────────┐
│  浏览器(public/ 单页)   │ ───────────────────────▶  │  Node http 后端           │
│  index.html + app.js     │ ◀───────────────────────  │  server.js + lib/*        │
│  (漫画风 UI)            │      JSON / text/event-stream│                          │
└─────────────────────────┘                            └───────────┬──────────────┘
                                                                  │ 读取
                                                                  ▼
                                                    ┌──────────────────────────┐
                                                    │ resume-interview-assistant│
                                                    │ Skill/references/*.md     │
                                                    │ (四维方法论/命题规范/评分卡)│
                                                    └──────────────────────────┘

关键数据流

优化流程
1. 上传 → /api/upload → parser.parseFile(PDF 走 ToUnicode CMap 中文反查,docx 走手写 ZIP 读取器)→ 文本存入内存 resumes Map(3 小时 TTL)→ 返回 resumeId。
2. 调用 /api/optimize({ resumeId, targetRole?, jd? })→ 解析激活模型 → 开启 SSE →
llm.chatStream 边流式累加边推送 status/delta。
3. 流式结束后 prompts.extractJson 解析 → 推送 result(overall+radar+dimensions+…)
或 error。前端渲染四维卡片 + 六轴雷达。

面试流程:同上,但 interviewUser 携带 counts(客观/主观题数,分别限 1–60 / 1–30),
结果含 objective + subjective 两组。

设计要点

  • 提示词与代码解耦:lib/prompts.js 运行时拼接 system 提示词,方法论文本来自同级
    Skill 的 resume-optimization.md / interview-questions.md / scoring-rubric.md;
    Skill 改 → 应用行为即变,无需改代码。
  • 内存态简历:解析结果只在服务端内存保留 3 小时,过期的 resumeId 会被 sweep() 清理。
  • SSE 线格式:event: <name>\n\ndata: <json>\n\n,事件名 status/delta/result/error。

四、运行方式

前置:Node.js ≥ 18(用到 async/await、crypto.randomBytes),无需装包。

cd C:\skill\resume-agent
node server.js                 # → http://127.0.0.1:5173
PORT=8080 node server.js       # 自定义端口
  • 仅绑定 127.0.0.1(本机);默认端口被占用时自动 +1 递增(最多 +12)。
  • 停止:Ctrl + C。

验证:

curl -s http://127.0.0.1:5173/api/health
# → {"ok":true,"hasModel":false,"activeModel":null,"skillRefFound":true,"resumes":0}

在本工具内常驻(开发服务器)

用 Bash 工具 run_in_background=true 启动,使其成为持久前台任务。勿用 shell &,
否则进程会随父 shell 退出被回收,预览连不上。

五、使用方式(终端用户视角)

  1. 启动服务并打开 http://127.0.0.1:5173。
  2. 配置模型:点右上角「模型设置」→ 填 Base URL、模型 ID、API Key(本地无 Key 服务可勾
    「无需 Key」)→ 保存并设为启用;可用「测试连接」验证。
  3. 上传简历:拖入或选择 PDF/Word,或直接在文本框粘贴。解析后显示预览与统计。
  4. 简历优化:(可选填目标岗位 / JD)→ 点「优化」→ 实时看到流式进度,最终展示
    总评 + 六轴雷达 + 四维问题清单 + 技能缺口补强路线 + 模板推荐 + 待核实项。
  5. 生成面试题:选客观/主观题数 → 点「生成面试」→ 得到客观题(含答案与解析)与
    主观题(含考察点、回答框架、加分/扣分点、追问)。

> 第 2 步完成前,优化/面试接口会返回「请先配置模型」;上传解码、设置、健康检查等无需模型。

六、漫画风视觉规范(当前态,用于改版)

整套风格由 public/style.css 的 :root 变量驱动。换主题时只改这些变量和
app.js 里列出的颜色字面量,不要重命名 class。

糖果色板(当前值):

--brand:        #ff7a59   /* 珊瑚橘 · 主操作色 */
--brand-dark:   #fa5a3a
--brand-light:  #ffb39c
--brand-bg:     #fff1ea
--c-blue:       #4dabf7   /* 维度芯片配色 */
--c-yellow:     #fcc419
--c-green:      #51cf66
--c-purple:     #b197fc
--ink:          #2f2a3d   /* 漫画墨色(深蓝紫) */
--outline:      #2f2a3d   /* 漫画硬描边 */
--bg:           #fdf3e6   /* 奶油底 */
--paper:        #ffffff   /* 卡片纸面 */
--line:         #e7ddcb   /* 浅暖分隔线 */

视觉特征(保留以维持「漫画感」):

  • 背景:奶油底 --bg + 漫画网点 radial-gradient(rgba(255,122,89,.10) 1.6px, transparent 1.7px),尺寸 22px。
  • 卡片:白纸 --paper + 2.5px solid var(--outline) + 硬投影 4px 4px 0 rgba(47,42,61,.12)(贴纸感);悬停 translateY(-3px)。
  • 按钮:2px solid var(--outline) + 3px 3px 0 投影;按下 translate(1px,1px)。
  • 字体:圆体栈 var(--sans) = "Comic Sans MS","Chalkboard SE","Comic Neue","Segoe Print","YouYuan","Yuanti SC",...。
  • 入场动画 popIn 弹跳。

app.js 需同步的颜色字面量(改主题时一并改):

  • 维度芯片:['#ff7a59', '#4dabf7', '#fcc419', '#51cf66']
  • 雷达 SVG:stop-color="#ff7a59"/"#4dabf7",网格 stroke="#ece3d4",坐标轴 stroke="#f3ecdf",数据点 fill="#ff7a59",标签 fill="#736c84",多边形 stroke="#ff7a59"
  • 模板默认色:const c = t.color || '#ff7a59';

七、关键文件清单(职责)

文件 职责
server.js 入口:路由表、简历内存暂存(3h TTL)、端口选择/自增、请求分发、CORS
lib/http-utils.js 请求体读取、JSON 响应、SSE 三件套(sseInit/sseSend/sseDone)、静态服务 + 防目录穿越
lib/store.js 模型配置持久化;API Key 用 AES-256-GCM 混淆(密钥 data/.obfkey);maskKey() 一律脱敏;内置 PRESETS
lib/llm.js OpenAI 兼容调用(含 stream=true SSE 转发)、连通性测试、模型列表
lib/prompts.js 拼装 system/user 提示词;运行时读取同级 Skill resume-interview-assistant/references/*.md;缺失则回退内置
lib/parser.js docx(手写 ZIP 读取器 + inflateRaw)与 pdf(ToUnicode CMap 中文反查)/ txt → 纯文本;stats.garbled 为布尔
public/index.html 单页外壳、内联 SVG favicon(珊瑚色 #ff7a59)、挂载 app.js
public/style.css 漫画风 UI,:root 变量为样式唯一真源(见上)
public/app.js 全部前端逻辑与动态渲染;维度调色板为 colors[] 字面量
data/.obfkey data/settings.json 混淆密钥 / 模型配置(Key 已混淆)

八、UI 改风规则(不破坏 app.js)

前端依赖 style.css 中稳定的 class 名。安全改风:

  1. 只改 style.css(优先改 :root 变量)与上文列出的 app.js 颜色字面量。
    绝不重命名已有 class——app.js 依赖它们(card、btn、model-chip、tabs、
    issues、questions 等)。
  2. 改完后重跑冒烟测试(目标 12/12)并自查:style.css 大括号配平、node --check public/app.js 通过、无残留旧色。

九、必记坑

  • Git-Bash / MSYS 路径坑:把 /c/tmp/x.js 作为 node 参数 传入会被改写成
    C:\c\tmp\x.js(错误)。node 文件参数一律用 C:/tmp/x.js(正斜杠 + 盘符);shell 内 cd /c/... 不受影响。
  • maskKey 用 ****(如 sk-m****7890),不是 •。测试断言要查 ****,并断言响应里绝不出现明文 Key。
  • parser.stats.garbled 是布尔(true = 解码疑似乱码)。中文正常解码应为 === false,不是 === 0。
  • SSE 线格式:event: <name>\n\ndata: <json>\n\n。事件名 status/delta/result/error。
  • 明文 API Key 永不出后端;store.toClient() 会脱敏。明文只存在于「用户刚提交的那次请求」和「实际调用模型的那一刻」。
  • 真实优化/面试需已配置模型;不涉及大模型的冒烟(上传解码、设置增/脱敏、health)无需模型。
  • PDF 需有文本层(非扫描件/图片型)。无文本层时返回 warnings 并建议改用 Word 或粘贴文本。

十、测试方法

  • 健康检查:curl /api/health(无需模型)。
  • 冒烟(无需模型) 示例:
    bash curl -s -X POST http://127.0.0.1:5173/api/settings/models \ -H 'Content-Type: application/json' \ -d '{"name":"mock","baseUrl":"http://127.0.0.1:9999/v1","model":"mock","noKey":true}' curl -s http://127.0.0.1:5173/api/settings # 返回的 Key 必须为 **** 脱敏,且无明文
    上传 .docx/.pdf 并断言中文正确解码;检查 stats.garbled === false。
  • E2E(需模型):POST /api/optimize → 期望 overall+radar(6)+dimensions(4);
    POST /api/interview → 期望 objective + subjective 数组。
  • 参考成绩:漫画风改造前全量 E2E 26/26;改造后冒烟 12/12(后端零回归)。

> 完整文件树、接口路由表与数据流细节见 references/architecture.md。

常见问题

5 问
答案由本站依据条目字段整理
山东外事大学-简历面试助手skill怎么安装?

在支持 Skills 的客户端里执行:skillhub install user_2b79e518/resumeagent-skillhub-conghuiming。安装方式为未标注。装完刷新技能列表或重开客户端。

山东外事大学-简历面试助手skill支持哪些客户端?

资料没有标注宿主客户端,但只要客户端支持 Skills(Claude、Codex、Cursor 等),一般都能加载。

山东外事大学-简历面试助手skill权限高吗,安全吗?

权限级别为未标注权限。安装前先看它会读取或写入哪些内容。

山东外事大学-简历面试助手skill收费吗?

本站不代收费用,也没有标注具体价格。是否收费取决于技能本身和所用的模型或客户端,正式使用前按作者说明确认。

山东外事大学-简历面试助手skill用什么许可证?

许可证标注为 未说明(许可证不明确)。商用或二次分发前请到仓库确认条款原文。

热门专题

按场景挑技能
全部专题 →

技能内容以作者仓库为准;分类、权限级别与许可证状态的中文说明为中文整理,最近核验 未标注。