Mako-Public
Health Uyari
- No license — Repository has no license file
- Description — Repository has a description
- Active repo — Last push 0 days ago
- Community trust — 29 GitHub stars
Code Gecti
- Code scan — Scanned 12 files during light audit, no dangerous patterns found
Permissions Gecti
- Permissions — No dangerous permissions requested
Bu listing icin henuz AI raporu yok.
Mako — AI Career Intelligence System
Mako
AI Career Intelligence System
Mako 面向计划回国求职的留学生,也服务国内应届生,从官方岗位中匹配、推荐适合你的岗位,把你的经历逐项对照岗位要求,整理出一条专属于你的求职路线。
使用 Mako Skill · 快速启动 · 查看求职流程 · 工程实现
求职信息很多,真正缺的是判断依据
准备回国求职时,招聘信息、经验分享和岗位清单并不难找。真正困难的是把这些信息与自己的经历对应起来:哪些岗位值得投入时间,现有材料能证明什么,还需要补充什么。
- 招聘页面开了很多,却不知道哪些岗位真正适合自己的背景;
- 海外课程、项目、实习和社团经历,很难直接对应国内企业的职责与门槛;
- 简历反复修改,却不清楚哪些内容有事实支撑,哪些关键证据仍然缺失;
- 面对投递、补经历、改简历和准备面试,很难判断下一步先做什么。
Mako 处理的不只是一份简历,而是求职过程中一连串相互关联的判断:先梳理已经发生并且可以说明的经历,再理解岗位要求,找出两者之间的对应关系和信息缺口,最后确定下一步行动。
认识 Finn
Mako 的名字来自 Mako shark,是目前已知游速最快的鲨鱼,短时间内可达 74 公里/小时。流线的身体、深叉的尾鳍、尖细的吻部,都是为速度而生;更特别的是,它能让肌肉和大脑维持比周围海水更高的体温,因此在更冷的水域里依然能保持敏锐和爆发力。
求职也像一片水温不定、信号微弱的海域:机会常常藏在看不见的地方,能不能抓住,取决于谁先感知到,并快速适应。
Finn 是一只刚从校园游进职场的小鲨鱼,鳍尖还留着没褪干净的稚气,游动的时候还带着点不熟练的冲劲。面对陌生的岗位和选择,它也可能会感到茫然——但它的感官很灵,哪怕水浑光暗,也能捕捉到别人错过的一点点信号。它或许能陪着某一刻感到迷茫的你,一起游向那个真正适合自己的方向。
从背景梳理到行动计划
这六项任务对应求职中经常连续出现的六个问题。用户可以从当前最需要的阶段开始,也可以基于同一份个人材料依次完成。
| 阶段 | 求职任务 | 这一阶段解决什么 |
|---|---|---|
| 1. 认识自己 | 背景诊断 | 梳理教育、项目、实习与技能,确认已有优势和仍需补充的信息 |
| 2. 找到方向 | 岗位方向匹配 | 比较不同岗位方向与当前经历,判断值得优先了解的范围 |
| 3. 看懂 JD | JD 分析 | 拆解职责、基本门槛、加分项和需要进一步确认的条件 |
| 4. 讲清经历 | 简历优化 | 在事实范围内调整表达,让相关经历准确回应目标岗位 |
| 5. 准备面试 | 面试准备 | 根据目标岗位准备笔试、面试、项目追问和经历复盘 |
| 6. 安排行动 | 行动规划 | 结合目标、差距和时间,安排投递、准备与能力补强 |
前一步形成的判断,会成为后一步的输入:岗位方向决定需要重点查看哪些 JD,JD 中的要求决定简历和面试应当准备哪些证据,尚未覆盖的要求则进入后续行动计划。
不启动完整系统,也可以先试试 Mako
如果你只想分析一份简历、看懂一份 JD,或者梳理当前求职方向,可以把 Mako Career Skill 安装到 Codex。它不需要启动 Docker、数据库或 Mako Workspace,也不要求单独配置 Mako API Key。
在 Codex 中调用 $skill-installer,并提供下面的 GitHub 地址:
使用 $skill-installer 从下面的 GitHub 路径安装 mako-career:
https://github.com/limingren0803-lgtm/Mako-Public/tree/main/integrations/codex/mako-career
安装后可以直接说:
使用 $mako-career,根据我下面的背景判断适合优先了解哪些岗位方向。
也可以上传简历、JD、项目材料或求职笔记,然后询问是否值得投、如何调整简历、怎样准备面试,或者接下来两周应该先做什么。用户不需要判断应当选择哪个内部流程,Skill 会根据最终需要的结果选择最小必要流程。
轻量版只处理当前 Codex 对话,不连接 Mako 后端,也不会把材料另行写入 Mako Workspace。当前对话、附件和模型用量仍遵循用户所在 Codex 环境的规则。需要跨会话保存材料、管理多个岗位、跟踪投递阶段或使用已审核官方职位记录时,可以再使用完整的 Mako Workspace。
完整的安装方法、文件兼容范围和常见问题见 Mako Career Skill 使用指南。
把分析变成接下来要做的事
六项 Career Skill 用来解决当前问题,Career Workspace 则把用户已经确认的目标、岗位、材料和行动保留下来。连续求职任务会固定当前材料版本和岗位范围;分析结果只有在用户明确保存后才进入任务,候选行动也需要用户确认后才成为待办。
工作区由三个相互关联的页面组成:
- 求职总览汇总今天优先处理的事项、未来七天的截止安排和岗位阶段;
- 目标岗位记录官方已审核职位或用户自行提供的完整 JD,并保留来源和当前状态;
- 今日行动把任务写成可完成的事项,明确完成标准,并可关联到具体岗位;
- 求职任务把同一目标下的材料、岗位、分析阶段和已保存结果串联起来。
这些状态由用户确认和更新。系统不会因为一次分析自动改变投递或面试阶段,也不会把建议直接记成已经接受的行动。工作区使用独立的本地 SQLite 保存数据,支持导出和清空,不反向修改 CareerProfile、官方职位库、Evidence Registry、Redis 或 ChromaDB。

让自己的材料参与分析
个人材料库用于保存需要反复核对的简历、项目文档、课程材料和求职笔记。它支持 TXT、Markdown、带文本层的 PDF 和 DOCX;文件会先展示解析预览,用户确认后才保存规范化文本和页码、章节或行号,原始文件不会长期保留。
使用 Career Skill 时,可以让 Mako 自动查找相关材料、只使用指定材料,或者在本次分析中完全关闭个人材料。只有达到相关性要求的内容才会参与回答,结果会列出实际使用的材料及引用位置;没有合适内容时,不会为了补全回答强行加入无关片段。
个人材料库使用独立的本地存储,不会把检索结果自动写成 CareerProfile 事实,也不会改变岗位、行动项或求职阶段。
在工作台里开始
工作台现在提供求职总览、目标岗位、今日行动、个人材料库和六项 Career Skill。用户可以先整理需要持续跟进的岗位与材料,也可以直接进入当前要解决的分析任务。
使用 Career Skill 时,可以直接输入情况,也可以上传 TXT、Markdown、带文本层的 PDF 或 DOCX;系统会先展示本次使用的内容,确认后再生成结果。
这里上传的文件只随本次请求处理,不会自动保存到个人材料库。独立分析还可以明确选择材料库中的当前简历、临时简历或不使用简历;连续任务会记录所选材料版本,内容变化后要求重新确认。
进行岗位方向匹配时,可以选择系统内已经审核的岗位,也可以提供自己的完整 JD。系统岗位会展示经过审核的职责或要求;用户提供的链接仅用于标注来源,页面不会主动访问链接内容。招聘信息来自公开网络及企业官方招聘平台;目录入口不代表具体岗位已经核验,实际岗位、条件和截止时间以企业官网为准。

如果问题、经历、文件、JD 或岗位选项发生变化,工作台会要求重新确认材料,避免沿用已经过时的输入。结果可以复制、下载为 TXT,也可以保留当前输入后重试。当前页面仍是本地单用户工作区,不提供云端账户、跨设备同步或线上多人平台。
判断从哪里来
Mako 给出建议时,会同时说明使用了哪些材料、哪些结论已有证据支持,以及哪些地方仍然缺少信息。这样做的目的不是替用户下结论,而是让用户能够检查依据,再决定是否采纳。
- 简历与经历分析只使用用户提供的事实,不补写未提供的职责、技能、证书、数据或成果;
- 匹配结果分别呈现已有证据、信息缺口和适用范围,不用一个缺少解释的综合分数代替判断;
- 职位记录保留企业官方来源、内容版本和最近核验时间,便于回到原始信息核对;
- 官网内容暂时无法可靠解析时,只提供已登记的官方招聘入口,不将入口描述成具体在招职位;
- 用户可以选择职位信息的核验时间范围和来源,最终是否投递仍由用户决定;
- 独立分析默认不写入对话记忆,不触发 CareerProfile 更新;明确截止日期已经过去时会显示过期状态。
项目当前进展
当前稳定版本为 v2.9.0。以下数据来自本次公开候选与已发布功能的可验证状态。
| 项目 | 当前状态 |
|---|---|
| 求职任务 | 6 项 |
| 企业官方来源 | 109 个 |
| 已审核结构化职位样本 | 35 个 |
| 当前版本 | v2.9.0 |
| 公开回归测试 | 144/144 通过 |
| Docker 服务 | 5 个 |
快速启动
环境要求:Docker Desktop、Docker Compose v2,以及 Anthropic API Key 或支持 Anthropic 协议的兼容服务密钥。
cp .env.example .env
docker compose up -d --build
在本地 .env 中填写服务地址、模型名和 API Key,同时设置随机的 REDIS_PASSWORD 和至少 32 个字符的 MAKO_ADMIN_API_KEY。
启动后打开:
http://localhost/mako/:Mako 求职工作台http://localhost:8000/health:应用健康状态
查看运行状态与停止服务:
docker compose ps
docker compose logs -f mako
docker compose down
完整环境准备和部署步骤见 Mako 从 0 到 1 部署指南。
工程实现
Mako 的产品流程由 Agent、Skills、记忆、知识检索、职位数据治理和可观测性共同支撑。
| 模块 | 实现 |
|---|---|
| Agent | GeneralAgent、TechnicalAgent、CareerAgent |
| Skills | 6 个 Career Skills,另有 General 和 Technical Skill |
| 用户画像 | Structured CareerProfile、schema-guided extraction、conservative merge |
| 画像更新 | 只在检测到新增职业信息时异步更新 |
| 工作记忆 | Redis Working Memory |
| 长期记忆 | ChromaDB Episodic Memory 与跨会话画像复用 |
| 能力加载 | Dynamic SkillManager,按 Intent 注入单个 Career Skill |
| 知识检索 | RAG knowledge retrieval、文档版本与回滚 |
| 职位情报 | 109 家企业招聘入口目录、JobPosting 审核、时效与用户来源选择 |
| V2 匹配 | 已审核 JD 要求、用户确认材料、逐项证据状态与请求级结果 |
| 求职工作区 | CareerTask、JobTrack、ActionItem、独立 SQLite、本机会话、修订冲突检查与数据导出 |
| 可观测性 | /monitor、Prometheus、evaluation、模型请求与 token 用量指标 |
| 回答可靠性 | 完整性检测、一次有界续写和质量状态返回 |
| API 契约 | Request ID、幂等请求、结构化错误、职位来源和安全验证摘要 |
| 部署 | Nginx 外部入口、FastAPI、Docker Compose |
Nginx
-> FastAPI POST /chat
-> Redis Working Memory + ChromaDB
-> 已选 Career Skill / IntentRecognizer 回退
-> AgentOrchestrator
-> GeneralAgent / TechnicalAgent / CareerAgent
-> Dynamic SkillManager
-> LLM response
-> memory / CareerProfile / monitor / evaluation
工作台明确选择 Career Skill 时,请求直接进入对应任务;没有提供选择的 API 客户端继续使用自动意图识别。每次 Career 请求只注入一个与 Intent 对应的 Skill。本地知识上下文和 /search 直接查询现有知识库,不额外调用模型改写或重排查询。
CareerProfile 组织用户的教育、经历、技能和目标信息,只在检测到新增职业信息时异步更新。Redis 保存 Working Memory,ChromaDB 提供 Episodic Memory、画像复用与 RAG 检索。
方向匹配的 V2 请求级流程允许用户选择已审核职位、确认 JD 原文中的要求和关键词,并按已覆盖、部分覆盖、存在差距及待补充查看逐项结果。请求材料和结果不会写入证据库、CareerProfile、Redis、ChromaDB 或职位库。
官方职位数据治理企业招聘来源目录当前登记 109 家企业招聘入口。部分来源包含经过核验的招聘方向摘要,其余来源只提供目录入口,不表示具体岗位已经核验。
GET /jobs/sources 提供只读来源目录。招聘信息来自公开网络及企业官方招聘平台;目录入口不代表具体岗位已经核验,实际岗位、条件和截止时间以企业官网为准。
JobPosting 继续记录企业、职位、地点、职责、要求、招聘类型、发布时间、有效期、更新时间和官方链接。新职位或内容变化先进入待审核状态,审核前不会替换当前有效版本。聊天过程中不会实时访问招聘网站,也不会绕过登录、验证码或访问限制。
Swagger 默认关闭。本地需要接口文档时,可以在 .env 中设置:
ENABLE_SWAGGER_UI=true
| 地址 | 用途 |
|---|---|
http://localhost/mako/ |
Mako 求职工作台 |
http://localhost:8000/docs |
Swagger UI,需启用 ENABLE_SWAGGER_UI |
http://localhost:8000/health |
应用健康和 Agent 统计 |
http://localhost:8000/skills |
Skill 加载摘要,需 X-Admin-Key |
http://localhost:8000/monitor |
监控摘要,需 X-Admin-Key |
http://localhost:8000/search |
本地知识检索 |
http://localhost:8000/jobs/sources |
官方职位来源只读目录 |
http://localhost:8000/v2/workspace/* |
求职工作区会话、岗位、行动、总览与导出 |
http://localhost:9090 |
Prometheus |
curl -X POST "http://localhost:8000/chat" \
-H "Content-Type: application/json" \
-d '{"user_id":"demo-user","job_max_age_days":30,"job_source_ids":["src_cn_tencent","src_cn_baidu"],"job_data_mode":"official_links_if_missing","message":"我准备回国求职,主修信息系统,有数据分析实习经历,适合关注哪些岗位?"}'
响应中的关键字段包括:
responseintentagent_typereview_requiredlatency_msknowledge_usedjob_data_usedjob_sourcesjob_max_age_daysjob_source_idsjob_data_modejob_source_optionsrequest_idresponse_completecontinuation_usedquality_flags
当模型输出因 token 上限或结构未闭合而可能中断时,Mako 最多执行一次有界续写。调用方可以根据完整性和质量字段决定是否重试或转入人工检查。
验证、已知边界与安全边界v2.4.0 公开版本完成了以下验证:
| 检查项 | 结果 |
|---|---|
| 公开基线回归 | 141/141 通过 |
| Python syntax / import | 通过 |
| Python 依赖审计 | 执行 pip-audit;ChromaDB 三项暂无修复版本的公告使用精确临时例外 |
| Docker Compose config | 通过 |
| V2 请求级岗位匹配与权限边界 | 通过 |
| Career Workspace 会话、岗位、行动、冲突与删除边界 | 通过 |
| 求职总览、目标岗位、今日行动与六个 Career Skill | 通过 |
| 个人材料预览、导入、检索、引用、导出和删除边界 | 通过 |
模型用量指标、幂等请求与 /chat 独立限流 |
通过 |
公开仓库的 CI 会运行公开基线回归、依赖审计、Python 编译检查、Compose 配置检查和凭据模式扫描。本地运行公开基线测试:
.\.venv-win\Scripts\python.exe -m unittest discover -s tests -v
当前边界:
- 不同企业官网的数据呈现方式不同,未验证的站点不会启用自动分页或批量刷新;
- 职位信息反映最近一次成功核验的官网状态,投递前仍应打开返回的官方链接确认;
/chat和/search尚未提供终端用户身份系统,公网多用户部署还需要身份层与 TLS;- Career Workspace 面向本机单用户使用,通过 12 小时 HttpOnly 会话保护;它不是线上账户或跨设备同步系统;
/chat的五分钟幂等缓存适用于当前单进程部署,多实例运行需要共享协调层;- V2 工作台只对具备已审核结构化 JD 条目的系统岗位提供逐项状态,其他有效岗位和用户 JD 继续使用常规方向匹配;
- Career Skill 的请求级材料不会自动变成工作区行动;扫描 PDF、旧 DOC、DOCM、PPT、Excel、图片和音视频尚未开放;
- 个人材料库不提供 OCR、云端账户、跨设备同步或多人协作,原始二进制文件不会长期保留。
v2.4.0 保持既有 API 路径、Redis key、CareerProfile Schema 和知识登记库结构不变。个人材料使用独立 SQLite 文件和独立 ChromaDB collection,复用 Career Workspace 的持久化 volume。普通材料操作不会写入画像、岗位、行动、记忆、职位库或证据登记库。
管理、调试、知识库、职位刷新和评测接口使用独立的 X-Admin-Key。应用、Redis、ChromaDB 和 Prometheus 的直连端口默认只绑定本机;外部招聘内容作为不可信事实背景处理,不能修改 Agent 身份、系统规则或工具权限。
agents/ Agent 实现与编排
api/ FastAPI 入口和 HTTP 路由
core/ Intent、CareerProfile、职位模型与 Skill 加载
memory/ Redis 与 ChromaDB 记忆层
skills/ 动态业务规则
mcp/ 工具管理、知识库和职位适配器
monitor/ 运行监控
evaluation/ 意图与对话评测
tests/ 公开基线回归与安全边界测试
tools/ 维护工具
ui/ 求职工作台、交互脚本和品牌图标
项目文档
Yorumlar (0)
Yorum birakmak icin giris yap.
Yorum birakSonuc bulunamadi