An open-source, local-first multi-agent war room that runs your job search like an operation — while your data never leaves your machine. 一套开源、local-first 的多智能体求职作战系统——把找工作打成一场有章法的战役,数据永远留在你自己的电脑上。
joblander — agents for sourcing, scoring, resumes, briefs & reports—— 扫机会、评分、简历、简报、战报的 Agent 班子
I got laid off in July 2026. Instead of refreshing job boards at 2 a.m., I built my search a war room — agents that scout roles, score them honestly against my real track record, forge tailored resumes, and brief me before every interview.
2026 年 7 月,我被裁了。与其凌晨两点刷招聘网站,不如给求职建一间作战室——Agent 帮我扫岗位、对照真实履历诚实打分、锻造定制简历、每场面试前递上情报简报。
It ran my entire search. I start a new job this month. So the battle's won, and as promised — it's yours now.
它跑完了我整场求职。这个月我入职新公司。仗打完了,那就照约定——它现在是你的了。
ai·layoff·me — three words that read like bad news. This site is the reply.这三个词连起来像一条坏消息。这个网站,是我的回答。
Take it for a run.拿去跑跑看。
Want a heads-up when the hosted version ships, or just want to say hi?想在托管版上线时收到通知,或者只是想打个招呼? Email me →给我发邮件 →
Free either way. If it saved you a weekend,不管怎样它都免费。如果它帮你省下一个周末, ❤️ sponsor me❤️ 赞助我 or,或 ☕ buy me a coffee →☕ 请我一杯咖啡 →
Six rooms, one campaign.六个房间,一场战役。
Open the door, know where you stand: the next four days of interviews, today's decisions, and a diary drafted from what actually happened — not what you wish had.
推门就知道战况:未来四天的场次、今天该拍板的事,以及一份从真实事件里长出来的日记草稿——不是愿望清单。
Scans your inbox and job boards; paste any JD link and a scout agent parses it, scores fit against your achievement bank, and queues it for your yes or no.
扫邮箱、扫职位站;丢一条 JD 链接进来,侦察 Agent 解析岗位、对照你的弹药库打匹配分,排好队等你说要不要。
Every company in play on one board — drag cards through stages, edit inline in table view, two-way sync with your Notion tracker.
所有战线一张看板:拖卡片换阶段、表格原位编辑,和 Notion 追踪表双向同步。
Your STAR stories are the single source of truth. A resume agent forges a per-company PDF from them — versioned, with bullets on exactly what changed and why.
STAR 素材是唯一事实源。简历 Agent 据此为每家公司锻造定制 PDF——版本化留档,附上「改了哪、为什么」。
A capability radar against the JDs you actually target, morning briefs, daily and weekly reports — with a notes section that stays in your own hand.
对照目标 JD 的能力雷达,晨报、日报、周报——并且永远留一栏给你亲笔写的手记。
Random algorithm problems with a built-in Python judge. Warm up your hands before the whiteboard does it for you.
随机算法题 + 内置 Python 判题器。白板考你之前,先自己热热手。
The constraints are the product.这些约束本身就是产品。
No message ever leaves for a real human on your behalf. Drafts, yes — the send button is yours. No auto-apply, ever.
任何发给真人的消息都不会替你发出。可以起草,发送键永远在你手里。绝不自动投递。
Interviews, emails, transcripts, edits, decisions — each company is an append-only file you can audit later.
面试、邮件、转写、修改、决策——每家公司一份只增不删的档案,全程可回溯。
Fit is measured against your actual track record, not wishful keywords. Where you're weak, it says weak — before the interviewer does.
匹配分对照你的真实履历打,不靠关键词自我感动。哪里是短板就标短板——赶在面试官指出来之前。
The code is a public repo. The workspace — resumes, transcripts, pipeline — lives outside it on your machine, and is never committed.
代码是公开仓库;工作区——简历、转写、pipeline——建在仓库之外、留在你本机,永不提交。
Getting laid off hands you two problems: the search itself, and the shapeless days it comes wrapped in. A pipeline you can see beats an anxiety you can't. joblander gives the search edges — stages, files, briefs, reports — so each morning starts with what needs deciding, not where do I even look.
被裁塞给你两个难题:求职本身,和包裹着它的一段没有形状的日子。看得见的 pipeline,胜过看不见的焦虑。joblander 把求职做成一件有棱有角的事——阶段、档案、简报、战报——每个早晨从「今天要拍板什么」开始,而不是「我该从哪看起」。
There's a second bet. Its builder interviews for AI engineering roles, so the tool is built the way you'd build at work: a crew of agents, event-sourced state, proposal-and-approval flows, honest evals. The job search became the demo.
还有第二层打算。作者面的是 AI 工程岗,所以这套工具就按上班的标准造:多智能体分工、事件源状态、提案-批准流、诚实的评测。求职本身,成了最好的 demo。
Events in, rules route, agents propose, a sentinel screens, you approve — and the approval is an event too.事件进,规则派工,Agent 提案,宪兵过检,你拍板——而批准本身,也是一条事件。
Ingestion · gateways only perceive感知层 · 只感知,不判断
Orchestration core · deterministic, no LLM in control flow编排核心 · 纯代码控制流,LLM 不掌舵
Capability layer · 7 domains — a new feature is a new workflow, never a new agent能力层 · 7 个能力域——新功能是新编排,不是新 Agent
The gate闸门
Memory & outputs · local workspace记忆与产出 · 本地工作区
Not a vision diagram — the loop above is the one that ran the author's own search, start to offer.这不是愿景图——上面这个循环,跑完了作者本人从开局到 offer 的整场求职。
Python 3.10+, dependencies kept thin, web UI server-rendered, bound to 127.0.0.1 only. Bring your own LLM key.
Python 3.10+,依赖极薄,Web UI 服务端渲染,默认只绑 127.0.0.1。自带 LLM key 即可。
git clone https://github.com/Shuailong/joblander.git cd joblander cp config.example.yaml config.yaml # point it at your private workspace指向你的私有工作区 pip install -e . joblander onboard # config health check + scaffold配置体检 + 建脚手架 joblander web # → http://127.0.0.1:8899
The workspace (resumes, transcripts, pipeline) is created outside the repo and never committed — see the Local-first rule above.工作区(简历、转写、pipeline)建在仓库之外、永不提交——见上面的 Local-first 规矩。
No — by design. It scouts, scores, drafts and preps; submitting an application and sending a message stay human acts. Recruiters can smell automation, and your name deserves better. This rule is load-bearing.
不会,而且是刻意设计。它负责侦察、打分、起草、备战;提交申请和发出消息永远是人的动作。招聘方闻得出群发的味道,你的名字值得更好的对待。这条规矩是承重墙。
The repo ships code only. Everything personal lives in a separate local folder that git never sees. LLM calls go to whichever provider you configure with your own key — read their terms; nothing else leaves your machine.
仓库里只有代码。所有个人数据放在 git 看不见的独立本地目录。LLM 调用只发给你自己配置、自己掏 key 的服务商——记得读他们的条款;除此之外没有任何数据离开你的电脑。
Today it takes a terminal and a Python install. A hosted, guided version is on the roadmap — that's exactly what this domain is reserved for.
现在需要会开终端、装 Python。托管版和引导式安装在路线图上——这个域名就是给它留的。
Read it three ways: ai·layoff·me, a plain bad-news sentence; "AI laid off me", the era we're in; or AI + layoff + me — the three ingredients this project is made of. The reply to all three readings is the same: land well, then leave the parachute for the next person.
三种读法:ai·layoff·me,一句平铺直叙的坏消息;"AI laid off me",我们正身处的时代;或者 AI + 被裁 + 我——这个项目的全部原料。三种读法的回答是同一个:好好落地,然后把降落伞留给下一个人。