@reconcrap/auto-recruit
v0.2.2
Published
One-command local launcher for the Auto Recruit Boss, Liepin, and Maimai dashboard
Readme
@reconcrap/auto-recruit
One-command, localhost-only launcher for the Auto Recruit Boss, Liepin, and Maimai Dashboard.
This package is publicly distributed as proprietary,
UNLICENSEDsoftware. Its presence on npm does not grant an open-source license.
Install
Requires Node.js 22.12 or newer, npm, and Google Chrome. The minimum follows the patched Puppeteer runtime; CI checks Node 22.12 and Node 24 on Windows and macOS.
From a published registry package:
npm install -g @reconcrap/auto-recruit
auto-recruitFor local package validation, build the repository tarball and install it with the same npm global-install path:
npm run auto-recruit:pack
npm install -g .\packages\auto-recruit-cli\reconcrap-auto-recruit-0.2.2.tgz
auto-recruitauto-recruit starts or reconnects to the detached monitor daemon, registers
the bundled Boss, Liepin, and Maimai providers, creates a signed one-time localhost
access link, and opens it in the default browser. Claiming the link establishes
a persistent Dashboard session. If the API Key is not configured yet, the
first command lands on Settings; later commands land on the Dashboard.
No installation lifecycle script changes Codex, Trae, Trae-CN, or other MCP host configuration.
Commands
auto-recruit Start/reuse the daemon and open the Dashboard
auto-recruit dashboard Always open the Dashboard landing page
auto-recruit settings Open Settings
auto-recruit start Start the daemon without opening a browser
auto-recruit status Show daemon status
auto-recruit stop Stop the daemon
auto-recruit restart Restart only after verifying no active tasks
auto-recruit storage Show storage usage and a retention preview; delete nothing
auto-recruit doctor Check Node, Chrome, settings, and daemon status
auto-recruit --no-open Print the access URL without opening a browser
auto-recruit --json Emit machine-readable JSONThe monitor prefers 127.0.0.1:47831. If that default is already occupied by
another local service, Auto Recruit safely selects another loopback port and
reuses it on later launches. Boss Recommend, Search, and Chat share the Boss
Chrome debugging session (default port 9222). Liepin uses a separate Chrome
profile and debugging session (default port 9223). Maimai uses a third
isolated profile on port 9224, so one run from each provider can execute at
the same time. Each provider permits at most one
non-terminal run across its three workflows.
Selecting 新建任务 for a Liepin or Maimai workflow is the explicit browser
action: it starts or reuses the isolated Chrome on the configured port (defaults
9223 and 9224 respectively), opens the matching Recommend, Search, or Chat
page, and then loads live options. Existing Maimai Search pages are reused
without navigation to preserve current search results. It never starts a
recruiting run. When login or risk verification is required, finish it in that
Chrome and select 登录完成,重新检测 in the Dashboard.
Runtime state remains in the established user-level locations by default:
~/.recruiting-run-monitor
~/.boss-recommend-mcp
~/.auto-recruit/liepin
~/.auto-recruit/maimaiSettings stores the shared LLM API Key once. Boss, Liepin, and Maimai reuse that shared
LLM configuration. Users choose one Auto Recruit storage root; the Dashboard
derives isolated boss, liepin, and maimai storage/output children below
that root. Provider sections therefore expose only their own Chrome port, while
the Boss section additionally stores its chat resume-request greeting.
<root>/<provider>/storage
<root>/<provider>/outputLegacy split directories remain unchanged until the user explicitly enters and saves a root. Changing the root is allowed only when the affected provider has no active run and requires an Auto Recruit restart. Provider history remains available: runtime data is copied where needed, existing output roots remain approved for read-only evidence access, and original directories are not deleted. Boss and Maimai Chrome login profiles stay in their stable operational directories, so changing task storage does not copy files those browsers have locked. Close the Liepin-owned Chrome before changing the root because its profile migrates with the Liepin runtime. Structured CV images are rendered from the exact provider evidence used for screening.
Environment overrides such as RECRUITING_MONITOR_HOME,
BOSS_RECOMMEND_HOME, BOSS_RECRUIT_HOME, BOSS_CHAT_HOME, and
BOSS_MONITOR_HOME remain available for isolated testing and managed installs.
Liepin test and managed installs can use AUTO_RECRUIT_LIEPIN_HOME,
AUTO_RECRUIT_LIEPIN_MONITOR_HOME, AUTO_RECRUIT_LIEPIN_OUTPUT_HOME, and
AUTO_RECRUIT_LIEPIN_CHROME_PORT. Set
AUTO_RECRUIT_LIEPIN_ENABLED=false to disable only the Liepin provider.
Maimai test and managed installs can use AUTO_RECRUIT_MAIMAI_HOME,
AUTO_RECRUIT_MAIMAI_MONITOR_HOME, AUTO_RECRUIT_MAIMAI_OUTPUT_HOME, and
AUTO_RECRUIT_MAIMAI_CHROME_PORT. Set AUTO_RECRUIT_MAIMAI_ENABLED=false to
disable only the Maimai provider. Maimai Recommend uses the distinct tab=0
recommendation pool, Search uses tab=1, and both surface live-discovered
do_nothing/greet actions with an explicit send confirmation. Chat performs
LLM screening without sending messages; live Chat sending remains blocked by
its upstream safety gate.
The bundled Liepin runtime starts with a new Auto Recruit-specific home. It
does not scan or import ~/.liepin-recommend-mcp, so installing this package
does not expose or mutate runs created by a separately installed Liepin MCP.
Package architecture
The npm artifact contains built Monitor/Dashboard assets, the customized Boss
runtime, the isolated built-in Liepin and Maimai runtimes, and the provider
contract beneath vendor/. The runtime manifest records the exact Liepin
upstream revision, Maimai source-thread provenance, and deterministic SHA-256
digests of both staged source trees. External native and
third-party dependencies, including sharp and puppeteer-core, remain normal
npm dependencies so npm installs the correct Windows/macOS runtime.
prepack builds and stages the runtime. Run the full tarball-first validation:
npm test
npm run test:packagedReliability and review controls
Malformed, truncated, refused, or ambiguously typed model output cannot authorize outreach. Screening errors remain retryable, and systemic model failures stop the workflow. Durable action intents prevent automatic replay after uncertain send outcomes. A pending/unknown action requires reconciliation before retry.
Launch drafts survive temporary availability failures. Every restored draft must be checked and confirmed again. Settings sections load independently. Human-review controls, columns, filters, history and export links are hidden from the Dashboard. Candidate evidence and model decisions remain available. Existing review records and the backend review API are preserved.
doctor distinguishes configured prerequisites from monitor health and does not
claim that a saved key or platform login has been verified. A different installed
build or configuration requires a restart; status --json includes installed and
running identities. restart temporarily reserves launch admission while checking
all providers and refuses to stop the monitor when a task is active or unverified.
For a pre-upgrade monitor without this endpoint, finish/cancel active work and run
auto-recruit stop followed by auto-recruit explicitly.
Local sessions expire after 30 days by default. Set
RECRUITING_MONITOR_SESSION_TTL_MS to change the lifetime (one minute to one year).
Settings includes sign-out for the current session and revoke-all for sessions and
unclaimed access links. Existing sessions acquire a bounded lifetime too.
Daemon logs rotate at startup and are bounded during long runs. storage reports
usage and lists old evidence for retention review (90 days by default, configurable
with AUTO_RECRUIT_RETENTION_DAYS). It never deletes evidence or run/audit/review
metadata; terminal run state must be verified before archiving the previewed files.
