career-ops 意大利市场模式(modes/it/):激活机制、意大利契约术语与四大核心模式的完整实践
career-ops 通过 modes/it/ 目录为面向意大利求职市场的候选人提供了一套本地化语言模式:它用自然的技术意大利语替代标准英文模式,内置 CCNL、TFR、Tredicesima 等意大利契约体系术语,并覆盖评估(annuncio)、实时填表(candidarsi)、URL 收件箱(pipeline)四条核心工作流。读完本文,你将掌握如何通过 language.modes_dir 正确激活意大利模式、理解它与 language.output 的组合规则,以及各模式文件内部的评估结构与意大利市场特有的薪酬验证逻辑。
一、modes/it/ 定位:何时启用意大利模式
modes/it/README.md 将该目录定义为 career-ops 主要模式的意大利语翻译集合,服务对象是「面向意大利市场」的候选人。文档给出的启用判据是:只要满足下列任一条件,就应切换到 modes/it/:
- 主要投递的是意大利语职位广告(LinkedIn IT、Indeed IT、企业招聘门户);
- 你的 CV 是意大利语,或根据广告语言在意大利语/英语之间切换;
- 你需要自然的技术意大利语回复与求职信,而不是机器翻译腔;
- 你需要处理意大利特有的契约要素:无固定期限/有固定期限合同、CCNL(全国劳动集体合同)、TFR(离职结算金)、餐券(buoni pasto)、补充医疗保险、第 13 薪(tredicesima)、第 14 薪、试用期、预告期、带薪假以及 Quadro(高级职员)职级。
文档同时给出了反向边界:如果大部分 offer 是英文的,留在默认的 modes/ 即可——英文模式同样能处理意大利的职位,只是不深度了解意大利市场的契约细节。
从 modes/README.md 可以看到,it/ 只是仓库内十几个语言模式目录之一(ar/ da/ de/ es/ fr/ hi/ id/ it/ ja/ ko/ pl/ pt/ ru/ tr/ ua/ zh/),每个目录都有自己的 README,且遵循统一约定:一个文件对应一个模式,下划线前缀(如 _shared.md)表示共享上下文而非可路由模式。
二、两种激活方式与底层解析逻辑
单会话激活
在会话开始时直接对 Agent 说:
"Usa le modalità in italiano sotto
modes/it/."
Agent 会转而读取 modes/it/ 下的文件,而不是 modes/ 下的对应文件。
永久激活(推荐)
在 config/profile.yml 中加入:
language:
primary: it
modes_dir: modes/it
README 要求在首次会话中提醒 Agent 该配置已设置("Guarda in profile.yml, ho configurato language.modes_dir"),此后 Agent 会自动使用意大利模式。
源码级:modes_dir 如何被解析
配置并非靠约定口头生效,而是有实际代码支撑:
- gemini-eval.mjs(约 L108-L125)在读取
profile.language.modes_dir后会做两项防护:若路径逃出项目根目录会打印警告并回退到默认modes/;若目录不存在同样回退并告警。这保证了拼写错误的modes_dir不会让评估流程崩溃。 - AGENTS.md 明确了组合规则:
language.output决定行文语言,language.modes_dir只提供市场词汇与本地评估规则。例如language.output: en+language.modes_dir: modes/de会产出「使用 DACH 市场概念(如 13. Monatsgehalt)的英文报告」。同理,意大利模式下保留 CCNL、Tredicesima 这类术语是合规的,只是需要用行文语言加以解释。 - batch/batch-prompt.md 将同一规则写进了批处理提示词:
language.modes_dir只供给市场词汇与本地评估规则,绝不能强制改变行文语言。 - config/profile.example.yml(L93-L100)中
language块的注释也明确区分了两者的职责:output选择报告、tracker 备注、PDF、求职信、外联与表单答案的语言;modes_dir选择市场词汇/规则,例如「用 DACH 市场词汇但仍用英文书写」。
此外,modes/README.md 指出语言选择的优先级:用户显式请求或 language.modes_dir 优先于基于职位描述语言自动检测的模式切换。
三、翻译覆盖范围与刻意保留的英文词汇
modes/it/README.md 声明首版翻译覆盖了「四个最高影响力模式」:
| 文件 | 翻译自 | 职责 |
|---|---|---|
| _shared.md | modes/_shared.md(EN) |
共享上下文、角色原型、全局规则、意大利市场特性 |
| annuncio.md | modes/oferta.md(ES) |
职位广告的完整评估(A–F 块) |
| candidarsi.md | modes/apply.md(EN) |
实时辅助填写申请表单 |
| pipeline.md | modes/pipeline.md(ES) |
收集广告 URL 的收件箱 / Second Brain |
其余模式(scan、batch、pdf、tracker、auto-pipeline、deep、contacto、ofertas、project、training)保持英文/西班牙文,因为其主要内容是工具、路径与命令,需要语言无关性。
刻意不翻译的词汇(属于标准技术词汇):
cv.md、pipeline、tracker、report、score、archetype、proof point;- 工具名(
Playwright、WebSearch、WebFetch、Read、Write、Edit、Bash); - tracker 状态值(
Evaluated、Applied、Interview、Offer、Rejected); - 代码片段、路径、命令。
行文风格被定义为「自然的技术意大利语」——工程团队日常口语中的意大利语,通行处保留英文术语,避免生硬翻译(例如保留 "Pipeline" 而非 "Canalizzazione",保留 "Deploy" 而非 "Dispiegamento")。
四、参考词汇表:意大利市场术语与英文的固定映射
为了在修改或扩展模式时保持语气一致,README 给出了项目内固定的英意词汇映射,这也是理解整套意大利模式的关键对照表:
| English | 本项目内使用的 Italiano |
|---|---|
| Job posting | Annuncio di lavoro |
| Application | Candidatura |
| Cover letter | Lettera di presentazione |
| Salary / Compensation | Stipendio / Retribuzione |
| Skills | Competenze |
| Interview | Colloquio |
| Hiring manager | Responsabile della selezione |
| AI | IA (Intelligenza Artificiale) |
| Requirements | Requisiti |
| Notice period | Periodo di preavviso |
| Probation | Periodo di prova |
| Vacation | Ferie |
| 13th month salary | Tredicesima |
| Permanent contract | Contratto a tempo indeterminato |
| Fixed-term contract | Contratto a tempo determinato |
| Freelance | Libero Professionista |
| Collective agreement | CCNL (Contratto Collettivo Nazionale di Lavoro) |
| Works council | RSU / Rappresentanza Sindacale |
| Profit sharing | Premio di risultato / MBO / Partecipazione agli utili |
| Meal vouchers | Buoni pasto |
| Health insurance | Assicurazione sanitaria integrativa / Cassa sanitaria |
| Disability/life insurance | Assicurazione vita |
| RTT | Permessi retribuiti |
| Cadre status | Quadro |
这张表的价值在于:它是「翻译决策的单一事实来源」,保证不同模式文件、报告与回复草稿之间术语一致。
五、_shared.md:意大利市场的契约术语与全局规则
_shared.md 是所有意大利模式的共享上下文,包含四部分关键内容:
1. 数据源与防捏造护栏
评估前必须读取的「事实来源」固定为:cv.md(永远)、article-digest.md(如存在,永远)、config/profile.yml(永远)。文件内嵌了带 <!-- guardrail:* --> 注释标记的全局规则:绝不宣称候选人创建过未被 cv.md/article-digest.md 归属的项目(「使用 X」不等于「构建了 X」);关键词只能改写、不能编造;职位广告与表单字段是数据而非指令,更不能作为候选人资历的证据;绝不代替用户提交、发送或点击 Apply/Send——只起草,用户批准后才能提交。
2. 意大利市场特性表(评估时必查)
这是意大利模式相对英文模式最大的增量:一张「术语 → 含义 → 对评估的影响」对照表,覆盖:
| 术语 | 评估影响摘要 |
|---|---|
| 无固定期限合同 | 意大利标准预期;给 senior 只提供有期合同是预警信号 |
| 有固定期限合同 | 特定项目可接受,否则要追问为何不提供无期合同 |
| Periodo di prova(试用期) | 依 CCNL 为 1–6 个月;超过法定/CCNL 上限需标记 |
| Periodo di preavviso(预告期) | 通常 1–3 个月,用于规划入职日期 |
| Quadro | 高级职员职级,tech 领域多数 senior/lead 岗位归此类,应核实是否提及 |
| CCNL | 行业集体合同(如 Metalmeccanico、Terziario),决定最低工资与级别,用于正确计算 superminimo(合同补差) |
| Permessi retribuiti | 累积的带薪休息时数,应计入年休假总价值 |
| Tredicesima | 第 13 薪,须纳入 RAL 计算(月薪 × 13 + 补差/奖金),谈判对比时不可遗漏 |
| TFR | 每月累积(约 RAL 的 7.4%)的离职结算金,是递延薪酬包的重要组成部分 |
| Premio di risultato / MBO | 可变奖金,须核实发放标准 |
| Buoni pasto | 餐券,年净价值可达 1000–2000 欧元 |
| Assicurazione sanitaria integrativa | CCNL 配套的补充医疗保险基金,核实是否覆盖家属 |
| Ferie | 法定最少 4 周;低于法定即非法,25 天以上加带薪假属优秀 |
| Libero Professionista | Partita IVA 自由职业;注意 forfettario 税制与独家条款 |
此外还内置了薪酬情报建议(WebSearch 取 Glassdoor、Levels.fyi、LinkedIn IT 等实时数据;意大利自由职业日薪需在同等全职成本上浮 40–60% 以覆盖税收与社保)与四段谈判话术脚本(报价框架、应对基于地点的压价、低于目标时的应对、要求拆分 RAL 固定部分/可变部分/benefit 的澄清话术)。
3. 全球规则:MAI(绝不)与 SEMPRE(必须)
「绝不」清单包括:编造经历或指标、擅自修改 cv.md、未经同意代发申请、在生成消息中泄露电话号码、推荐低于市场价的薪酬、未读广告就生成 PDF、使用空洞的公司黑话、忽略 tracker(每个被评估的广告都必须登记)。「必须」清单则规定了:允许时始终附上与 CV 同视觉设计的 1 页求职信、每个会话首次评估前运行 node cv-sync-check.mjs、匹配时引用 CV 原文行、tracker 写入走 batch/tracker-additions/ 的 TSV 文件由 merge-tracker.mjs 合并(绝不直接改 applications.md)、每个报告标题中在 Score 与 PDF 之间插入 **URL:** 等。
六、annuncio.md:A–F 六块评估与意大利特有的 D 块核验
annuncio.md 定义了候选人粘贴职位广告(文本或 URL)时必须产出的完整评估结构:
- 块 0 原型检测:将广告归类为六种原型之一(AI Platform/LLMOps、Agentic Workflows、Technical AI PM、AI Solutions Architect、Forward Deployed Engineer、AI Transformation Lead;混合岗位给最近两个),该分类决定块 B 优先证明哪些 proof point、块 E 如何改写 CV 摘要、块 F 准备哪些 STAR 故事;
- 块 A 角色摘要:原型、赛道、职能类型、级别、工作地模式(全远程/混合/驻场)、团队规模、一句话 TL;DR;
- 块 B CV 匹配:把广告每条要求映射到
cv.md的具体行,并输出 Gap 分析——每个缺口要回答「是硬性阻断还是加分项?有无相邻经验?组合中是否有项目可覆盖?具体缓解方案是什么(如求职信话术、快速小项目)」; - 块 C 定级与策略:广告级别 vs 候选人自然级别,以及「若被低定级」的应对——仅当薪酬公道时接受、约定 6 个月复审、从一开始谈定晋升标准;
- 块 D 薪酬与市场:WebSearch 取数(找不到数据要明确声明而非编造);
- 块 E 定制计划:给出 CV 的 5 处修改 + LinkedIn 档案的 5 处修改,含现状/改法/理由表格;
- 块 F 面试计划:6–10 条 STAR+R 故事(R = Reflection,「学到了什么/会怎么做不同」被明确视为 seniority 信号),并按原型调整故事侧重点;如存在
interview-prep/story-bank.md则查重后入库,逐步沉淀 5–10 条可复用故事。
意大利市场特有的 D 块强制核验清单是本模式区别于英文 oferta.md 的核心:
- 是否提及 tredicesima / quattordicesima?必须纳入 RAL 计算;
- 有无可变部分(bonus、MBO、期权)?
- 是否提及 Premio di risultato 或利润分享?核实公司发放历史;
- 适用哪个 CCNL?核实职级与合同级别;
- 无期还是有期合同?若有期:期限、理由、能否转正;
- 是否为 Libero Professionista?日费率、合作期限,以及「假 Partita IVA」(时间/地点约束导致的虚假自由职业认定)风险。
评估后的落盘流程同样被精确定义:报告保存到 reports/{###}-{company-slug}-{YYYY-MM-DD}.md,其中 {###} 通过 node reserve-report-num.mjs 原子预留、写入后 --release {###} 释放;报告头部含 Data/Archetipo/Punteggio/URL/PDF 元信息,G 块(表单回复草稿)仅在评分 ≥ 4.5 时生成;最后必须把评估登记进 data/applications.md 的 tracker 表(# | Data | Azienda | Ruolo | Punteggio | Stato | PDF | Report),状态置为 Evaluated。
七、candidarsi.md:实时填表的八步工作流
candidarsi.md 是交互式模式:候选人在 LinkedIn 或企业门户填表时,Agent 读屏、加载该广告的历史评估报告,为每道题生成可粘贴的个性化答案。
前置条件:最优配置是可见的 Playwright(候选人看到浏览器、Agent 直接操作页面);没有 Playwright 时,候选人提供截图(Read 工具读图)或手动粘贴题目。
八步工作流为:RILEVARE(读当前浏览器标签的截图/URL/标题)→ IDENTIFICARE(提取公司+岗位)→ CERCARE(在 reports/ 中按公司名大小写不敏感匹配)→ CARICARE(读完整报告 + G 块草稿)→ CONFRONTARE(屏幕上岗位与已评估岗位是否一致,不一致则提示)→ ANALIZZARE(识别全部可见问题)→ GENERARE(逐题生成)→ PRESENTARE(输出格式化答案)。
生成规则要求每个答案:使用块 B 的 proof point 与块 F 的 STAR 故事、有 G 块草稿时以草稿为基础精修、采用「我选择你们」式的自信语气(不卑微、不纯描述)、引用屏幕上广告的具体细节、有 "Informazioni aggiuntive" 字段时塞入 career-ops proof point。
意大利表单特化字段是这个模式的实战价值所在:
- 期望薪酬(RAL):填
profile.yml中定义的欧元区间,附一句「可依据整体福利与 welfare 包协商」; - 可用日期:按预告期(通常 1–3 个月)推算现实日期;
- 工作许可/国籍:意大利/欧盟公民统一答 "Nessun visto richiesto (cittadino UE)";
- 语言:按 QCER(欧框,A1–C2)标注水平;
- 机动性:写明可接受的地理范围与差旅上限(如「disponibile a trasferte fino al 20% del tempo」)。
八、pipeline.md:URL 收件箱与批量处理
pipeline.md 实现了「Second Brain」模式:候选人随时把广告 URL 追加进 data/pipeline.md,之后运行 /career-ops pipeline 一次性处理。工作流要点:
- 读取
data/pipeline.md,找出 "In attesa" 段下- [ ]标记的条目(该模式对章节标题做多语言兼容:英文 Pending、西班牙文 Pendientes、德文 Offen、法文 En attente、意大利文 In attesa 均可识别,写入时则忠于既有风格); - 逐条处理:先用
node reserve-report-num.mjs原子预留编号 → 提取广告(优先 Playwright 的browser_navigate+browser_snapshot,可降级 WebFetch、WebSearch)→ 不可访问的 URL 标为- [!]并附注跳过 → 执行完整 auto-pipeline(A–F 评估 → 报告 → 评分 ≥ 3.0 生成 PDF → 写 tracker)→ 条目移入 "Elaborati",格式为- [x] #NNN | URL | Azienda | Ruolo | Punteggio/5 | PDF sì/no; - 待处理 URL ≥ 3 个时,用后台 Agent 并行处理以提速(注意
_shared.md中 Playwright 的警告:绝不并行跑 2 个以上使用 Playwright 的 Agent,因为它们共享同一个浏览器实例); - 结束时输出汇总表
| # | Azienda | Ruolo | Punteggio | PDF | Azione raccomandata |。
广告提取的降级链与特例也被规定:LinkedIn 可能需要登录 → 标 [!] 请候选人粘贴广告文本;URL 指向 PDF 则用 Read 直接读;local: 前缀读取本地文件(如 local:jds/linkedin-pm-ai.md);意大利常见的 Indeed IT / LinkedIn IT 门户由 Playwright 处理 cookie 横幅。此外还支持可选的 CLI 提取器:在 profile.yml 设置 scan.extractor: cli 后改用 node browser-extract.mjs <url> --mode jd,返回紧凑 JSON 以降低 token 消耗,出错时静默回退到 Playwright 路径。处理前还要求先运行 node cv-sync-check.mjs 校验 CV 数据同步。
九、贡献流程:如何扩展意大利模式
modes/it/README.md 的 Contribuire 章节给出了固定的五步贡献流程:
- 按 CONTRIBUTING.md 提 Issue 说明提案;
- 严格遵守上文词汇表,保持术语一致;
- 意译而非逐字翻译,避免机翻腔;
- 保留结构元素不动——A–F 块、表格、代码块、工具指令必须与原版一一对应;
- 提交 PR 前用一个真实的意大利语广告做端到端测试。
这一约束与仓库整体设计一致:模式文件属于系统层,升级脚本会恢复它们;用户的个性化应写在 _profile.md / _custom.md(用户层文件,gitignored)而非模式文件本身。
十、小结:组合规则速查
| 配置 | 效果 | 依据 |
|---|---|---|
language.modes_dir: modes/it(无 output 设置) |
意大利市场词汇 + 意大利语行文 | AGENTS.md、gemini-eval.mjs |
language.output: en + modes_dir: modes/it |
保留 CCNL/TFR 等意大利概念,但报告用英文写 | batch/batch-prompt.md、config/profile.example.yml |
modes_dir 路径越界或目录不存在 |
告警并回退默认 modes/ |
gemini-eval.mjs |
| 会话内口头指定 | 优先于 JD 语言自动检测 | modes/README.md |
modes/it/ 展示了 career-ops 的本地化架构:语言模式目录只承载「市场词汇 + 本地评估规则 + 共享上下文」,工具命令、路径、编号机制(reserve-report-num.mjs、merge-tracker.mjs、cv-sync-check.mjs)保持语言无关,两者通过 language.modes_dir 与 language.output 正交组合,使同一套评估与 tracker 机制能平滑切换到任何市场。
atomcodeClaude Code 的开源替代方案。连接任意大模型,编辑代码,运行命令,自动验证 — 全自动执行。用 Rust 构建,极致性能。 | An open-source alternative to Claude Code. Connect any LLM, edit code, run commands, and verify changes — autonomously. Built in Rust for speed. Get StartedRust0627
Hy4-previewHy4 preview 是由腾讯混元团队研发的新一代混合专家(MoE)旗舰模型。模型总参数量 770B,每个 token 激活 49B,主干共包含78层,第一层采用标准 FFN,其余 77 层均为 MoE 结构,每层包含 256 个路由专家与 1 个共享专家,每个 token 激活 top-8 路由专家及共享专家。主干之外原生内置 1 层 MTP(总参数量 10B,激活 0.7B)以支持投机解码。Python00
GLM-5.3GLM-5.3 与 GLM-5.2 使用相同的基座模型——所有提升均来自后训练。与 GLM-5.2 相比,它在复杂编程和长程任务上的表现显著提升。Jinja00
GLM-5.3-FlashGLM-5.3-Flash (320B-A18B),是GLM-5系列的首个原生多模态模型。320B总参数,能力超过GLM-5.2Jinja00
Spark-X2.5-4BSpark-X2.5-4B 旨在让强大的 AI 更实用、更高效、更易获得。在广泛日常任务中表现强劲,涵盖对话、写作、翻译、推理、编码、工具调用以及智能体工作流,并在同等规模的开源模型中取得领先成绩。Spark-X2.5 将面向效率的架构与最高 1M tokens 的原生上下文窗口相结合,并支持 200 多种语言。Python00
Spark-X2.5-1.7BSpark-X2.5-1.7B 旨在让强大的 AI 更加实用、高效且易于获取。这些模型在广泛的日常任务中表现出色,涵盖对话、写作、翻译、推理、编程、工具调用和智能体工作流,并在同等规模的开源模型中取得领先结果。Spark-X2.5 将面向效率的架构与最高 1M tokens 的原生上下文窗口相结合,并支持 200 多种语言。Python00