关于 jobseek
Job Seek(jseek.co)是一个聚合企业招聘页面职位的求职搜索服务,支持关注公司、每周邮件提醒和申请跟踪。项目代码为 MIT 开源,并提供托管的 MCP 服务,供 AI 工具调用。
主要功能
- 01聚合多家公司招聘页面的职位
- 02按公司和条件保存观察列表
- 03每周邮件职位提醒
- 04申请、面试与录用状态跟踪
- 05提供托管 MCP 端点与 REST API
适用场景
- 01在 AI 工具中搜索指定公司的职位
- 02为关注的公司设置每周职位提醒
- 03跟踪多个职位的申请进度
MCP 相关
该服务提供托管的 Streamable HTTP MCP 端点,暴露职位搜索、公司查询、筛选项发现和观察列表链接等工具,也可通过 npx @jseek/mcp-server 本地运行。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
工具
9收录的工具列表 · 更新于 2 周前
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| q | string | 否 | 自由文本关键词 |
| wm | string | 否 | 工作模式,使用逗号分隔:onsite、hybrid、remote |
| exp | string | 否 | 工作年限范围,格式:min-max(例如 3-10) |
| loc | string | 否 | 地点 slug,使用逗号分隔(来自 resolve_slugs) |
| occ | string | 否 | 职业 slug,使用逗号分隔(来自 resolve_slugs) |
| sal | string | 否 | 欧元薪资范围,格式:min-max(例如 80000-150000) |
| sen | string | 否 | 资历级别 slug,以逗号分隔(来自 resolve_slugs) |
| lang | string | 否 | 职位文档语言代码,以逗号分隔(en、de、fr、it) |
| tech | string | 否 | 技术 slug,以逗号分隔(来自 resolve_slugs) |
| etype | string | 否 | 雇佣类型,以逗号分隔:full_time、part_time、contract、internship、temporary、volunteer |
| locale | enum | 否 | 响应语言en | de | fr | it |
详细介绍
Job Seek
关注你感兴趣的公司。找到合适的工作。让求职申请持续推进。
Job Seek 汇集数千家公司的招聘页面,让你一站式搜索职位。创建关注列表,接收每周职位邮件提醒,并在一个地方跟踪求职申请。免费起步,提供英语、德语、法语和意大利语界面。
试用 jseek.co → · 查看功能 · 使用 MCP 服务 · 添加公司 · 自行运行
正在追踪 Stripe · Anthropic · OpenAI · Figma · Vercel · Datadog · Mistral · Hugging Face · Linear · Notion · Roche · Nestlé · UBS · Swisscom · ABB · SAP · Siemens · Klarna · N26 · Wise · Monzo 等数千家公司。请查看 companies.csv 中的权威来源目录。
为什么选择 Job Seek
你的下一份工作可能就在你早已欣赏的公司,也可能来自一家你尚未发现的公司。跨招聘网站搜索,关注一组选定的公司,减少反复查看相同页面以获取更新的时间。
- 职位信息来自源头。 浏览雇主招聘页面和 ATS 信息源。每条职位信息都链接到原始招聘页面。
- 筛选条件随你同行。 组合职位、资历级别、地点、技术、工作方式、薪资、经验和发布语言等条件,然后将搜索保存为关注列表。
- 免费的求职工作区。 最多可创建 10 个关注列表,每周接收邮件摘要,并跟踪保存在 Job Seek 上的职位申请。
- 借助 Pro 找到更合适的职位。 Narrowed 会根据你的个人标准分析职位描述,不局限于职位名称和常规筛选条件。
- 开源,可通过你的工具访问。 使用 Web 应用、公共 REST API 或托管的 MCP 服务。
你可以在 jseek.co 上获得什么
跨公司招聘页面搜索职位
无需账号即可浏览。组合筛选条件,在数千家雇主中找到合适的职位,涵盖工程、设计、金融、运营、医疗保健等领域。
关注公司并接收每周职位提醒
为每种求职方向创建关注列表:选择雇主、职位、地点或组合条件。启用通知后,即可每周通过邮件接收新匹配职位摘要。你也可以通过链接与正在寻找类似工作的其他人分享关注列表。
跟踪申请、面试和录用通知
保存职位,记录申请时间,添加面试轮次和日期,并更新结果。申请跟踪器会在记录进展的同时保留原始职位详情;流程统计数据可帮助你了解求职进展。
使用 Narrowed 找到职位名称背后的工作内容
两个职位可能名称相同,但职责大不相同。用通俗语言描述你看重的内容:
我希望直接与用户合作,并将他们遇到的问题转化为产品改进。不负责管理人员。
Narrowed 会检查你关注列表中的职位描述,并找出符合条件的职位。此功能包含在 Job Seek Pro 中;常规搜索、关注列表、每周电子邮件摘要和申请跟踪仍可免费使用。查看 Pro 详情和当前可用情况。
了解雇主的招聘情况
公司页面汇总了当前职位、发布动态和类似雇主。你可以前往职位来源查看,或利用找到的信息创建下一个关注列表。
由瑞士小团队 Colophon Group 打造。提供English、Deutsch、français 和 italiano 版本。
在 AI 工具和代码中使用 Job Seek
托管的 MCP 端点提供用于职位搜索、招聘信息元数据、公司查询、筛选条件发现和预填关注列表链接的工具。它还提供三个写入工具,用于提交错误报告、功能建议和易用性反馈:
https://jseek.co/mcp
该端点使用 Streamable HTTP,无需身份验证。将 URL 添加为自定义 MCP 连接器,或在本地运行已发布的软件包:
npx @jseek/mcp-server
有关特定客户端的设置和工具示例,请参阅 packages/mcp-server/README.md。对于直接 HTTP 集成,公开的 REST 契约见 /openapi.json。
添加公司
带有 company-request 标签的未关闭问题,列出了待添加的公司。生产待办事项由 Hetzner 托管的隔离 Codex 运行器处理;贡献者也可以使用遵循仓库说明的任意功能完备的编码 Agent 来解决问题。
ws是 Agent 实用工具。 它会呈现工作流、管理隔离状态并执行验证关卡;它并非用于手动配置的交互式向导。
环境需要 git、已通过身份验证的 gh CLI、Python 3.13+ 和 Web 访问权限。安装工作流软件包:
pip install jobseek-crawler-setup
然后将以下任务交给你的编码 Agent:
运行
ws task --issue <NUMBER>并遵循打印出的说明。
ws 会获取问题、检查是否重复、调查公司及所有相关的招聘页面、引导选择监控器和抓取器、验证提取的数据和品牌素材,并创建拉取请求。已注册的爬虫类型涵盖常见 ATS API、站点地图、结构化数据、渲染页面、PDF 和特定供应商格式。
没有你想添加的公司的相关问题?提交申请。任何人都可以提交。
维护中的工作流参考文档见 docs/01-agent-workflow.md。
架构
公司和董事会 CSV 是配置的唯一可信来源。爬虫在自己的 Postgres 数据库中维护运行状态,使用 Redis 进行调度,将可搜索文档发布到 Typesense,并将完整描述存储在兼容 S3 的对象存储中。Web 应用在独立的 Postgres 边界中管理身份验证、关注列表和申请跟踪数据。
%%{init: {"flowchart": {"rankSpacing": 24}}}%%
flowchart TD
Requests["Company requests"] --> Agent["Coding-agent PR"]
Agent --> CSV["companies.csv + boards.csv"]
CSV --> Runtime["Crawler runtime<br/>sync · Redis · HTTP/browser workers · crawler Postgres"]
Runtime --> ReadLayer["Published read layer<br/>Typesense · S3-compatible descriptions"]
ReadLayer --> Web["Next.js<br/>web app · REST API · MCP"]
Web <--> WebDB["Web Postgres"]
请先阅读维护中的 文档索引,然后阅读系统概览、爬虫架构和 Typesense 参考。
自行运行
Job Seek 可自托管,但当前仓库要求由运营人员管理服务。根目录下的 docker-compose.yml 是用于 Postgres 和 Typesense 的开发脚手架,并非一键式完整生产部署方案。
前置条件
- Python 3.13+ 和
uv - Node.js 22+ 和 pnpm 10
- 爬虫专用的 Postgres 数据库
- 单独的 Web 专用 Postgres 数据库;两个数据库可以运行在同一台服务器上
- Redis
- Typesense
- 用于存储职位描述的兼容 S3 的对象存储
重要的环境边界如下:
| 组件 | 核心设置 |
|---|---|
| 爬虫数据库 | LOCAL_DATABASE_URL |
| Web 数据库 | 爬虫端读取使用 WEB_DATABASE_URL;Web 应用使用 DATABASE_URL |
| Redis | REDIS_URL |
| Typesense 写入 | TYPESENSE_HOST、TYPESENSE_PORT、TYPESENSE_PROTOCOL、TYPESENSE_OPERATIONS_KEY |
| Typesense Web 访问 | TYPESENSE_SEARCH_KEY、TYPESENSE_WRITE_KEY,以及可选的 TYPESENSE_BROWSER_PARENT_KEY |
| 描述存储 | R2_ENDPOINT_URL、R2_ACCESS_KEY_ID、R2_SECRET_ACCESS_KEY、R2_BUCKET、R2_DOMAIN_URL |
| Web 身份验证 | BETTER_AUTH_SECRET、BETTER_AUTH_URL;OAuth 和电子邮件提供商为可选项 |
配置这些服务后,创建 apps/crawler/.env.local(以其中的 .env.example 为起点)和 apps/web/.env.local,然后按以下顺序初始化:
git clone https://github.com/colophon-group/jobseek
cd jobseek
corepack enable
pnpm install
# Web-owned database
cd apps/web
pnpm db:migrate
# Crawler-owned database and derived stores
cd ../crawler
uv sync
uv run playwright install chromium-headless-shell # required by run-browser
uv run alembic -c src/migrations/alembic.ini upgrade head
uv run crawler setup-typesense
uv run crawler sync
完整的爬虫部署需要保持以下四种进程角色运行:
uv run crawler run # HTTP workers
uv run crawler run-browser # Playwright workers
uv run crawler export # Postgres → Typesense CDC
uv run crawler drain # descriptions → object storage
在 apps/web 中单独启动前端:
pnpm dev # http://localhost:3000
生产环境的运营人员应使用作用域受限的 Typesense 密钥,并阅读 docs/README.md 中链接的部署和恢复操作手册。
仓库内容
apps/crawler/ Python ingestion, normalization, scheduling, and export
src/core/monitors/ Career-board discovery: ATS APIs, sitemaps, DOM, feeds
src/core/scrapers/ Posting extraction: JSON-LD, DOM, PDF, vendor formats
src/workers/ HTTP workers, browser workers, and description drain
src/exporter.py CDC from crawler Postgres to Typesense
src/labeller/ Daily gold-dataset labelling and Hugging Face upload
src/workspace/ `ws` workflow and Codex company-request runner
data/companies.csv Company configuration source of truth
data/boards.csv Career boards with monitor + scraper configuration
apps/web/ Next.js 16, Drizzle, Lingui, and Better Auth
app/[lang]/ Localized product routes: en / de / fr / it
app/api/v1/ Public REST API
app/mcp/ Hosted Streamable HTTP MCP endpoint
src/db/schema.ts Web-owned Postgres schema
packages/mcp-server/ Published `@jseek/mcp-server` package
docs/ Architecture references, ADRs, routines, and runbooks
scripts/ Deployment, reconciliation, backup, and maintenance tools
开发
在 apps/crawler 中运行爬虫检查:
uv run pytest tests/
uv run ruff check .
uv run pyright
在 apps/web 中运行 Web 检查:
pnpm test
pnpm lint
pnpm typecheck
pnpm build
整个仓库的贡献者和 Agent 指南位于 AGENTS.md。爬虫专用命令和操作注意事项位于 apps/crawler/AGENTS.md。
许可证
- 代码 — MIT。可使用、修改和再分发,且不提供任何保证。
- 职位发布数据 — CC BY-NC 4.0。可免费用于研究和非商业性再利用,但须注明出处。根据严格的《开放知识定义》,它不属于“开放数据”。如需商业许可,请联系 [email protected]。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。



