dsh-bossintroduce:Boss 直聘逐岗差异化自我介绍

前言

在 Boss 直聘上批量投递时,常见做法是同一段开场白复制到每个岗位。HR 很容易识别这种「群发」,沟通意愿也会下降。差异化话术需要对照每条 JD 挑事实、改表述,人工做一轮就很费神。

DeepSeek Harness(DSH)把能力拆成可挂载的插件。dsh-bossintroduce 面向求职者侧:在可见浏览器里按岗位逐条浏览,为每条 JD 生成只属于它的自我介绍,经文案护栏后再发给对应 HR。执行层用 CDP 状态机驱动页面动作,引擎在 scripts/ 下零第三方依赖;同一仓库也可作为 skill 使用。

这是什么

插件要解决的不是「一键群发」,而是把能力图谱里的可引用事实与当前 JD 的要求对齐,逐条产出不同开场话术,并在发送前做硬性检查。

核心功能

三段分工

段 谁做 内容
判断 模型 读 JD,决定投不投;选主攻事实;写文案
动作 scripts/flow.mjs 查状态、点意向、读描述、翻卡片、点立即沟通、填入、发送
闸门 scripts/guard.py 文案发送前八项检查,退出码 0 才放行

状态判定与点击顺序写在执行器里,运行时查表与检查,不由模型每次重新推断「该点哪个按钮」。

页面流转示意:

HOME ──职位──> JOBS ──意向筛选──> 逐张读 JD ──匹配──> 立即沟通 ──> CHAT ──填入并发送──> 回 JOBS
                  ↑                                                              │
                  └──────────────────── back(自动切回意向)──────────────────────┘

引擎里固化了三条实测约束:岗位只从意向筛选列表取;一张一张看,不批量抓列表;从聊天返回列表时会落回默认推荐流,因此 back 必须带意向标签由执行器重选。

能力图谱

自我介绍只能引用图谱 JSON 中的条目,不得新增事实。每条事实可有 jd_hits、on_resume、visibility、blacklist 等字段;blacklist 约束表述方式(例如禁止某些夸大用语),护栏会逐条校验。

文案护栏(boss_guard)

boss_say 之前必须过 boss_guard,八项检查包括:长度预算(默认约 120–200 字,可由图谱 writing_rules.budget 覆盖)、数字白名单、事实来源、JD 点名词、主攻事实、未上简历项需自带链接、黑名单、可验证公开主页等。策略上默认不写业绩类数字,降低「从通用材料搬数字」的风险。

暴露的工具

插件向 DSH 注册一批工具(如 boss_state、boss_enter、boss_pick、boss_read、boss_contact、boss_say、boss_back、boss_guard 等),并在系统提示中说明开工顺序与红线。典型一轮:boss_state(必要时 boss_wait_login)→ boss_enter → boss_pick → boss_read → 匹配与写稿 → boss_guard → boss_contact → boss_say → boss_back,循环至配置的 N 次。

个人数据默认在 $AI_HOME/data(默认 ~/.auto-introduce/data),与包内引擎分离;浏览器登录态在 $AI_HOME/edge-profile。

安装与启用

方式一:从 npm 装(README 推荐)

在 dsh 桌面应用 → 插件页 → 添加插件 → 填写包名 dsh-bossintroduce → 重启。

管理器会执行 pnpm add dsh-bossintroduce,写入 profile 的 dsh.profile.bundles,并自动应用包内 cordis.patch.yml。此形态下 peer 依赖由宿主解析,插件包不必自带 node_modules。

方式二:绝对路径挂载(本地开发)

需 Node ≥ 22.6,并在仓库内 npm install 后按 README 配置 cordis.local.yml,用 dsh --profile web --patch "<cordis.local.yml 绝对路径>" 启动。

方式三:当 skill 用

将仓库拷到 ~/.workbuddy/skills/dsh-bossintroduce/,按根目录 SKILL.md 操作;此路径主要使用 scripts/ 引擎,不依赖 Node 包解析。

前置要求

需要 说明
Edge 或 Chrome 可见浏览器 + CDP;可用 browserPath 指定
Python 3 文案护栏;可用 pythonPath 指定
Node ≥ 22.6 本地挂载/开发;桌面应用内由宿主提供

许可证:MIT(© 2026 Li Yichen)。package.json 当前版本为 0.1.4。

典型用法

先做初始化与路径确认:

node scripts/init.mjs
node scripts/flow.mjs where

init.mjs 会在数据目录落下空能力图谱与投递配置模板。能力图谱需按仓库 references/01-能力图谱.md 由模型从简历与公开材料抽取并让用户确认;投递条件写在数据目录的 profile.md(城市、意向标签、薪资下限、学历、毕业时间窗口、循环次数 N 等)。

离线自检:

npm run selftest

在 DSH 中按工具链完成登录、选意向、读 JD、写稿、boss_guard、发送与返回列表;凑满 N 份后汇总岗位、HR、主攻事实与文案首句等信息。

适用场景与注意

适合:已在 Boss 直聘求职者端投递、希望每条沟通话术针对 JD 差异化,且愿意维护一份结构化能力图谱与投递 profile 的开发者或求职者。

注意:

  • 插件以当前 dsh 进程权限运行,安装前请阅读源码与 MIT 许可证,确认浏览器自动化与向 HR 发消息的行为符合你的预期。
  • 需保持浏览器窗口可见;README 明确不要用 taskkill 清场,以免杀掉用户已登录的浏览器实例。
  • 社区目录(skillhub.cn)为独立站点,与 DeepSeek / 幻方无官方从属关系;星标与版本以仓库与 npm 为准。

结尾

dsh-bossintroduce 把「逐岗读 JD → 图谱约束下写文案 → 护栏 → 可见浏览器发送」串成固定工作流,用状态机减少模型乱点页面,用八项护栏降低不可撤回话术的风险。进一步了解可访问 目录页 与 GitHub 仓库。

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜