apply
免费Searches for jobs on LinkedIn, filters by profile Must-haves, applies via Easy Apply, registers each application in DB.
中文简介正在准备中。当前显示原文说明。
Safe Postgres CLI. Reads DATABASE_URL from .env, runs SQL, prints JSON. Read-only by default.
中文简介正在准备中。当前显示原文说明。
实测评分 未实测
查看安装方法安装前可以查看交给 AI 代理的指令内容。
scripts/db.js is the single entry point to the database. Use it instead of psql or inline pg scripts.
DATABASE_URL from .env automatically. No manual sourcing, no leaked credentials.--write. Prevents accidental destructive SQL.psql in PATH required).--ping shows masked user@host/db only.# Read (default, JSON array out)
node scripts/db.js "SELECT * FROM users WHERE id = <user_id>"
node scripts/db.js "SELECT data->'profile' AS profile FROM users WHERE id = <user_id>"
# Write (requires --write)
node scripts/db.js "INSERT INTO applications (user_id, platform, company, role, url, status, data) VALUES (<user_id>, 'linkedin', 'Acme', 'Eng Manager', 'https://...', 'applied', '{}'::jsonb)" --write
node scripts/db.js "UPDATE users SET data = jsonb_set(data, '{linkedin_profile}', '\"https://...\"') WHERE id = <user_id>" --write
# Introspection
node scripts/db.js --tables
node scripts/db.js --schema applications
node scripts/db.js --ping
pg scripts in skills, never call psql directly.SELECT/WITH/SHOW/EXPLAIN/VALUES/DESCRIBE is refused without --write.[{...}, ...]. Writes print {rowCount, command}.DATABASE_URL. If you need to confirm connectivity, use --ping (masked).' -> '').data->'key' (jsonb) or data->>'key' (text). Use jsonb_set for updates.Tables live in public. Discover with --tables and --schema <table>. Known tables:
users — single row (repo owner). data JSONB holds profile, job_preferences, style_profile, platforms, linkedin_profile.applications — user_id, platform, company, role, url, status, applied_at, data.messages — recruiter / contact messages.applications tableColumns: id, user_id, platform, company, role, url, status, applied_at, data
Platforms used:
linkedin = Easy Apply jobslinkedin_invite = connection requestsemail = direct emails to recruitersteamtailor = applications via Teamtailor (with LinkedIn auth, email verification, Connect)humand = applications via Humand.co<company>_career_site, etc. = specific career sitesStatus values (pipeline stages, canonical):
Active stages (left to right in the kanban):
discovered = found but no action takencontacted = invite/email sent, no formal applicationapplied = application submittedin_review = company reviewing, no responsescreening = screening call scheduled/doneinterview = technical interview in progressoffer = offer received, negotiatinghired = accepted, startingClosed stages (shown with --closed):
rejected = company rejectedwithdrawn = user withdrewskipped = decided not to apply / not a fitdata JSONB: include source, match (high/medium/low), location, tech array, stage_history array (audit trail of status changes), and any relevant metadata.
lib/browser-helpers.js provides atomic helpers that prevent session death between browser calls:
const {
goto, evalJS, evalJSON, clickByText,
waitFor, waitForSelector, waitForText,
snapshotReliable, dismissModals,
dbQuery, dbWrite,
// Atomic helpers (prevent session death between calls)
openAndEval, openAndEvalJSON,
gotoAndEval, gotoAndEvalJSON,
} = require('./lib/browser-helpers');
Atomic helpers chain open/goto + eval in a single shell command to prevent session death between calls:
// Open browser + extract in one call (no session death risk)
const jobs = openAndEvalJSON(
'https://www.linkedin.com/jobs/search/?keywords=...',
`(function(){ ... return JSON.stringify(...); })()`,
{ session: 'my-session', headed: true }
);
// Navigate + extract in one call (browser already open)
const emails = gotoAndEvalJSON(
'https://mail.google.com/mail/u/0/#all',
`(function(){ ... return JSON.stringify(...); })()`,
{ session: 'my-session' }
);
onboarding (.env + DB must exist).profile, apply, news, daily.还没有评价。欢迎分享你的使用感受。
无需登录即可发表。欢迎分享使用感受、提问,或说明在哪些环境下无法运行。
还没有评论。来写第一条吧。
Searches for jobs on LinkedIn, filters by profile Must-haves, applies via Easy Apply, registers each application in DB.
中文简介正在准备中。当前显示原文说明。
Control a dedicated browser via agent-browser (Vercel). Use when automating web apps, scraping authenticated sites, filling forms, or navigating SPAs. Do NOT use for desktop apps or API-only integrations.
中文简介正在准备中。当前显示原文说明。
Periodic routine that runs news, cleans up inbox and applies if there's no recent activity. Designed to run 1-2 times per day.
中文简介正在准备中。当前显示原文说明。
Opens a local web dashboard that visualizes the job application pipeline, funnel stats, recent messages, and target company status. The agent opens it at the end of a round so the user can visually review the pipeline.
中文简介正在准备中。当前显示原文说明。
Autonomous user preference detection, storage and injection. The agent detects preferences from conversation, saves them to Postgres, and loads active ones at the start of every flow.
中文简介正在准备中。当前显示原文说明。
Reviews job application updates from Gmail, LinkedIn and platforms. Prepares drafts, presents executive summary by priority, validates with the user and sends replies.
中文简介正在准备中。当前显示原文说明。