var e=[{id:`jd_analysis`,label:`JD 解析`,shortLabel:`JD`,publisher:`HireEdge`,role:`求职者`,outputType:`分析`,description:`解读岗位描述，提取硬性门槛、隐性要求与潜在坑点。`,starter:`帮我分析这个 JD 的要求和坑点`,tools:[`jd_analysis`]},{id:`resume_match`,label:`简历匹配`,shortLabel:`匹配`,publisher:`HireEdge`,role:`求职者`,outputType:`分析`,description:`对比简历与 JD，量化匹配度，找出差距关键词和亮点证据。`,starter:`评估我的简历和 JD 的匹配度`,tools:[`resume_match`]},{id:`resume_optimize`,label:`简历优化`,shortLabel:`优化`,publisher:`HireEdge`,role:`求职者`,outputType:`文档`,description:`针对目标岗位改写经历描述，提升 ATS 关键词覆盖率。`,starter:`帮我优化简历的经历描述`,tools:[`resume_optimize`]},{id:`resume_translate`,label:`简历翻译`,shortLabel:`翻译`,publisher:`HireEdge`,role:`求职者`,outputType:`文档`,description:`将中文简历翻译为外企标准英文，保留量化数据与项目背景。`,starter:`把我的中文简历翻译成英文`,tools:[`resume_translate`]},{id:`cover_letter`,label:`求职信`,shortLabel:`信`,publisher:`HireEdge`,role:`求职者`,outputType:`文档`,description:`依据简历与 JD 生成针对性 Cover Letter，提升回复率。`,starter:`帮我写一封求职信`,tools:[`cover_letter`]},{id:`resume_html`,label:`网页简历`,shortLabel:`网页`,publisher:`HireEdge`,role:`求职者`,outputType:`文档`,description:`将简历内容生成可分享的 HTML 网页版简历。`,starter:`帮我生成一份网页版简历`,tools:[`resume_html`]},{id:`resume_pdf_extract`,label:`简历识别`,shortLabel:`识别`,publisher:`HireEdge`,role:`求职者`,outputType:`分析`,description:`从 PDF 或图片中提取简历结构化文本，用于后续分析。`,starter:`帮我识别这份简历 PDF 的内容`,tools:[`resume_pdf_extract`]},{id:`job_compare`,label:`岗位对比`,shortLabel:`对比`,publisher:`HireEdge`,role:`求职者`,outputType:`分析`,description:`横向对比多个岗位或 Offer，输出投递优先级与风险矩阵。`,starter:`帮我对比这几个岗位机会`,tools:[`job_compare`]},{id:`job_search_map`,label:`岗位检索`,shortLabel:`搜岗`,publisher:`HireEdge`,role:`通用`,outputType:`研究`,description:`检索符合条件的在招岗位，按城市、薪资、行业筛选结果。`,starter:`帮我找一些合适的岗位`,tools:[`job_search_map`,`web_search`]},{id:`saved_jobs`,label:`收藏岗位`,shortLabel:`收藏`,publisher:`HireEdge`,role:`求职者`,outputType:`分析`,description:`调取用户已收藏的岗位列表，用于后续分析与对比。`,starter:`列出我收藏的岗位`,tools:[`user_saved_jobs`,`job_compare`]},{id:`salary_research`,label:`薪资调研`,shortLabel:`薪资`,publisher:`HireEdge`,role:`求职者`,outputType:`数据`,description:`查询目标城市岗位的市场薪资区间和分位数锚点。`,starter:`帮我查这个岗位的市场薪资范围`,tools:[`salary_research`]},{id:`company_salary`,label:`公司薪资`,shortLabel:`薪酬`,publisher:`HireEdge`,role:`通用`,outputType:`数据`,description:`查询特定公司历史薪资数据，辅助谈薪和内部比较。`,starter:`查一下这家公司的薪资水平`,tools:[`company_salary_data`]},{id:`nearby_jobs`,label:`附近岗位`,shortLabel:`附近`,publisher:`HireEdge`,role:`求职者`,outputType:`分析`,description:`基于当前位置搜索周边可通勤岗位，输出距离与薪资对比。`,starter:`找一找附近有哪些合适的岗位`,tools:[`lbs_nearby`]},{id:`web_search`,label:`联网检索`,shortLabel:`搜索`,publisher:`HireEdge`,role:`通用`,outputType:`研究`,description:`实时联网搜索行业动态、公司新闻、岗位趋势等信息。`,starter:`帮我搜索最新的行业信息`,tools:[`web_search`]},{id:`interview_questions`,label:`面试题生成`,shortLabel:`面试题`,publisher:`HireEdge`,role:`求职者`,outputType:`文档`,description:`根据 JD 和简历预测面试问题，含追问方向与参考答案框架。`,starter:`预测面试会问什么问题`,tools:[`interview_questions`]},{id:`interview_sim`,label:`模拟面试`,shortLabel:`模拟`,publisher:`HireEdge`,role:`求职者`,outputType:`分析`,description:`真实面试官风格追问，逐题给出 STAR 答题结构反馈。`,starter:`和我做一次模拟面试对练`,tools:[`interview_simulator`,`interview_questions`]},{id:`labor_law_check`,label:`劳动合规检查`,shortLabel:`合规`,publisher:`HireEdge`,role:`通用`,outputType:`分析`,description:`扫描合同或 JD 中的劳动法风险条款，给出复核清单。`,starter:`帮我检查这份合同有没有法律风险`,tools:[`labor_law_check`]},{id:`career_assessment`,label:`职业评估`,shortLabel:`职业`,publisher:`HireEdge`,role:`求职者`,outputType:`分析`,description:`诊断当前职业阶段、核心竞争力短板和最优下一步行动路径。`,starter:`帮我评估现在的职业阶段和方向`,tools:[`career_assessment`]},{id:`company_check`,label:`企业核验`,shortLabel:`企查`,publisher:`HireEdge`,role:`通用`,outputType:`分析`,description:`查询企业工商登记、融资记录、司法诉讼等公开背景信息。`,starter:`帮我查这家公司的背景靠不靠谱`,tools:[`kyb_company_check`]},{id:`labor_compliance`,label:`用工合规`,shortLabel:`用工`,publisher:`HireEdge`,role:`HR`,outputType:`分析`,description:`从 HR 视角评估用工安排、试用期、社保等合规风险。`,starter:`帮我判断这个用工安排有没有合规问题`,tools:[`labor_compliance_check`]},{id:`labor_law_qa`,label:`劳动法问答`,shortLabel:`法律`,publisher:`HireEdge`,role:`通用`,outputType:`分析`,description:`针对劳动合同、竞业协议、裁员赔偿等给出法律风险提示。`,starter:`帮我解答这个劳动法问题`,tools:[`labor_law_qa`]},{id:`networking_msg`,label:`内推消息`,shortLabel:`内推`,publisher:`HireEdge`,role:`求职者`,outputType:`文档`,description:`生成高回复率的陌生人内推或校友破冰消息。`,starter:`帮我写一条找人内推的消息`,tools:[`networking_message`]},{id:`ppt_gen`,label:`PPT 生成`,shortLabel:`PPT`,publisher:`HireEdge`,role:`通用`,outputType:`演示`,description:`根据主题或文档内容一键生成结构完整、排版专业的 PPT 演示文稿。`,starter:`帮我生成一份关于这个主题的 PPT`,instruction:`你是专业 PPT 生成助手，使用 pptx_generator 工具。
规格：尺寸 10"×5.625"（16:9），中文字体 Microsoft YaHei，英文 Arial，颜色用6位十六进制（不含#）。
幻灯片类型：封面 → 目录 → 内容页 → 章节分隔 → 总结页。
工作流：先确认主题、受众、风格（商务/科技/教育）、页数，再生成结构大纲，用户确认后输出 PPTX 文件。
每页标题不超过15字，要点3-5条，避免大段文字。图表优先于文字列表。`,tools:[`pptx_generator`]},{id:`deep_research`,label:`深度研究`,shortLabel:`深研`,publisher:`HireEdge`,role:`研究员`,outputType:`研究`,description:`对任意话题进行多角度深度研究，整合多来源信息，生成带引用的完整研究报告。`,starter:`帮我深度研究这个话题`,instruction:`You are a rigorous research analyst. Treat this skill as a deep-research workflow, not a generic answer mode.\\nBefore answering, break the topic into 3-5 research questions covering background facts, key data, major viewpoints, counterarguments or risks, and recent changes. For recruiting, company, industry, or HR topics, also cover talent market, role requirements, compensation, company signals, and policy or compliance constraints.\\nUse web_search first. Run at least 3 distinct search rounds with different queries: authoritative or official sources, industry or media or data sources, and counterarguments, risks, controversies, or latest updates. Do not repeat the same keyword set.\\nEvery important conclusion must be tied to evidence. When sources conflict, explain the conflict, source reliability, and what still needs verification.\\nThe final answer must include: executive summary, research questions, key facts table, source matrix with title/site/link/claim supported/reliability, thematic analysis, controversies and uncertainties, recommendations for the user context, and next verification checklist.\\nIf search is unavailable or evidence is thin, explicitly say evidence is insufficient and list what data is missing. Never pretend the research is complete.`,tools:[`web_search`]},{id:`data_analysis`,label:`Excel 数据分析`,shortLabel:`Excel`,publisher:`HireEdge`,role:`分析师`,outputType:`数据`,description:`处理 Excel/CSV 文件：读取分析、新建、编辑、修复公式、验证数据。`,starter:`帮我分析这份数据`,instruction:`你是 Excel 数据处理专家，使用 xlsx_generator 工具。
任务路由：
- READ：读取并分析已有数据，描述结构、计算统计量、找趋势异常值，给出3条可操作洞察。
- CREATE：从零创建 xlsx，所有计算值必须用 Excel 公式（如 SUM/AVERAGE），不得硬编码结果。
- EDIT：直接修改现有文件，保持原格式不变。
- FIX：修复损坏的公式节点。
- VALIDATE：检验公式正确性。
格式规则：用户指定小数位数时，对所有数值统一应用；用 DataFrame 列直接聚合，不推导中间值。`,tools:[`xlsx_generator`]},{id:`docx_gen`,label:`PDF 文档生成`,shortLabel:`PDF`,publisher:`HireEdge`,role:`通用`,outputType:`文档`,description:`生成视觉专业的 PDF 文档：报告、提案、简历、合同；支持新建、表单填写、文档重排版。`,starter:`帮我生成一份专业的 PDF 文档`,instruction:`你是 PDF 文档专家，使用 pdf_generator 工具。
三种模式：
- CREATE（新建）：用户描述内容，先确认文档类型（报告/提案/简历…），设计颜色/排版风格，再逐页生成内容，最终输出 PDF。
- FILL（填表）：识别 PDF 表单字段，按用户提供信息填写并输出。
- REFORMAT（重排版）：将 Markdown/Word/纯文本按专业设计风格重新排版生成 PDF。
优先级：外观质量优先于速度。疑问时先询问文档用途，再决定模式。`,tools:[`pdf_generator`]},{id:`market_research`,label:`市场调研报告`,shortLabel:`市调`,publisher:`HireEdge`,role:`分析师`,outputType:`研究`,description:`针对目标市场、行业或产品进行系统调研，输出市场规模、竞争格局和机会分析报告。`,starter:`帮我做一份市场调研报告`,instruction:`你是一名市场研究分析师。根据用户提供的市场或产品方向，搜索并整合行业数据，分析市场规模、增长趋势、主要竞争者、用户需求和潜在机会，最终输出结构化市场调研报告，包含执行摘要、市场分析、竞争分析和机会建议。`,tools:[`web_search`]},{id:`competitor_analysis`,label:`竞争对手分析`,shortLabel:`竞分`,publisher:`HireEdge`,role:`产品经理`,outputType:`研究`,description:`系统分析指定竞争对手的产品、定价、优劣势和战略，生成对比矩阵。`,starter:`帮我分析这个竞争对手`,instruction:`你是一名竞争情报分析师。分析用户提供的竞争对手，从产品功能、定价策略、用户口碑、融资背景、团队实力等维度进行系统对比，最终输出包含 SWOT 分析和竞争矩阵的报告，并给出差异化建议。`,tools:[`web_search`,`kyb_company_check`]},{id:`sql_helper`,label:`SQL 查询助手`,shortLabel:`SQL`,publisher:`HireEdge`,role:`工程师`,outputType:`代码`,description:`根据自然语言需求生成 SQL 查询，解释复杂语句，优化查询性能。提示词型技能，无需外部数据工具。`,starter:`帮我写一条 SQL 查询`,instruction:`你是一名数据库工程师。将用户的自然语言需求转化为准确、高效的 SQL 语句，支持 MySQL、PostgreSQL、SQLite 等主流数据库。提供 SQL 前先确认表结构，生成后附上执行逻辑说明和性能注意事项。`,instructionOnly:!0,tools:[]},{id:`company_credit`,label:`企业信用查询`,shortLabel:`信用`,publisher:`HireEdge`,role:`通用`,outputType:`分析`,description:`查询企业工商注册、股权结构、司法风险、经营异常等信用信息，识别潜在风险。`,starter:`帮我查询这家公司的信用情况`,instruction:`你是一名企业信用分析师。根据用户提供的公司名称，系统查询并整合该企业的工商登记信息、股权结构、高管背景、司法诉讼记录、经营异常、行政处罚和融资历史，输出结构化信用分析报告，并标注高风险项。`,tools:[`kyb_company_check`,`web_search`]},{id:`email_draft`,label:`专业邮件起草`,shortLabel:`邮件`,publisher:`HireEdge`,role:`通用`,outputType:`邮件`,description:`根据场景和目的起草措辞得当、逻辑清晰的商务邮件，支持中英文。提示词型技能，无需外部数据工具。`,starter:`帮我写一封商务邮件`,instruction:`你是一名商务写作专家。根据用户描述的邮件场景（谈判、跟进、拒绝、致谢等），起草语气恰当、结构清晰的商务邮件。先确认对方关系、邮件目的和主要诉求，再生成邮件，提供中英文双版本或用户指定语言版本。`,instructionOnly:!0,tools:[]},{id:`meeting_notes`,label:`会议纪要生成`,shortLabel:`纪要`,publisher:`HireEdge`,role:`通用`,outputType:`文档`,description:`根据会议录音转文字或笔记，自动生成结构化会议纪要，含决策项和行动列表。提示词型技能，无需外部数据工具。`,starter:`帮我生成会议纪要`,instruction:`你是一名专业会议纪要助手。将用户提供的会议记录或语音转文字内容整理为结构化纪要，包含：会议基本信息、参与人员、讨论要点摘要、已做决策列表和带负责人的行动项（Action Items）。格式简洁，突出决策和行动项。`,instructionOnly:!0,tools:[]},{id:`frontend_dev_skill`,label:`前端页面生成`,shortLabel:`前端`,publisher:`HireEdge`,role:`工程师`,outputType:`代码`,description:`生成完整的前端页面：落地页、产品页、数据面板，融合专业 UI 设计与交互动画。`,starter:`帮我生成一个前端页面`,instruction:`你是前端工程师，使用 frontend_dev 工具。
能力范围：落地页、营销站、产品页、数据面板、生成式艺术。
工作流：先问清楚用途/受众/风格偏好，再生成完整的可运行代码（HTML/CSS/JS 或 React）。
设计标准：现代简洁 UI，适当使用动画（Framer Motion/GSAP/CSS Transition），移动端适配，深色/浅色主题支持。
输出：可直接部署或在浏览器打开的代码，附简要使用说明。`,tools:[`frontend_dev`]},{id:`resume_screen`,label:`简历批量初筛`,shortLabel:`筛简历`,publisher:`HireEdge`,role:`通用`,outputType:`分析`,description:`批量读取多份简历文本，按岗位要求逐一评估，输出候选人通过/待确认/不建议表格及匹配理由。`,starter:`帮我筛选这些简历，岗位要求是……`,instruction:`你是专业简历初筛助手，使用 resume_pdf_extract + jd_analysis + resume_match 等求职端可用能力。
工作流：
1. 先让用户提供岗位要求（硬性条件、加分项、排除项）
2. 若用户提供的是 PDF/文本简历，先提取或整理每份简历中的可验证经历、项目、技能和教育信息
3. 按岗位要求逐一评估每份简历
4. 输出完整 Markdown 表格：序号 | 候选人姓名 | 通过/待确认/不建议 | 匹配程度（高/中/低）| 核心依据（1-2句）
规则：必须显示完整结果，禁止截断或只说"已完成筛选"；
不得依据年龄、性别、婚育状态等受保护特征评估；
判断仅基于岗位要求与简历中可验证的经历和能力证据。`,tools:[`resume_pdf_extract`,`jd_analysis`,`resume_match`,`interview_questions`]},{id:`pdf_to_ppt`,label:`PDF 转 PPT`,shortLabel:`PDF→PPT`,publisher:`HireEdge`,role:`通用`,outputType:`演示`,description:`将任意 PDF（论文、报告、文档）转换为结构清晰、排版专业的多页 PPT 演示文稿。`,starter:`帮我把这个 PDF 转成 PPT`,instruction:`你是 PDF 转 PPT 专家，使用 pptx_generator 工具。
步骤：① 读取并理解 PDF 结构 → ② 提取标题/章节/核心要点 → ③ 设计幻灯片大纲（封面→目录→内容→总结）→ ④ 生成 PPTX 文件。
设计规则：每页标题≤15字；要点3-5条，不复制原文大段；关键数据/图表优先视觉化；保留原文引用信息。
遇到多语言内容，输出语言与原 PDF 一致。`,tools:[`pptx_generator`]},{id:`pdf_to_web`,label:`PDF 转网页`,shortLabel:`PDF→Web`,publisher:`HireEdge`,role:`通用`,outputType:`代码`,description:`将研究报告/技术文档 PDF 转换为精美的单页学术或项目展示网站。`,starter:`帮我把这个 PDF 转成一个展示网页`,instruction:`你是 PDF 转网页专家，使用 frontend_dev 工具。
步骤：① 读取 PDF 结构，提取标题/摘要/章节/关键数据 → ② 设计单页网站结构（Hero→摘要→章节→结论→参考）→ ③ 生成完整 HTML/CSS/JS。
设计标准：学术/项目主页风格（类似 NeurIPS/CVPR paper page）；响应式布局；深色/浅色模式；关键数字高亮显示；章节锚点导航。`,tools:[`frontend_dev`]},{id:`canvas_design`,label:`视觉海报设计`,shortLabel:`海报`,publisher:`HireEdge`,role:`通用`,outputType:`设计`,description:`创作视觉海报、品牌设计图、艺术封面，输出可直接使用的 HTML/PNG/PDF 设计文件。`,starter:`帮我设计一张海报`,instruction:`你是视觉设计师，使用 frontend_dev 工具。
设计哲学：90% 视觉表达，10% 必要文字。不套用模板，每个作品有独特视觉语言。
流程：
1. 了解用途（海报/封面/品牌物料）和核心主题
2. 确立视觉哲学：色彩情绪、空间构图、字体气质
3. 生成完整 HTML（可直接截图导出为 PNG），或通过 pdf_generator 输出 PDF
设计标准：大胆的色彩对比；有意图的负空间；视觉层次清晰；移动端适配。
不得抄袭或仿制任何已知艺术家风格。`,tools:[`frontend_dev`]}],t=[{id:`hr_batch_resume_parse`,surface:`recruiter`,route:`/hr/batch-resume-parse`,label:`批量简历识别`,shortLabel:`识别`,publisher:`HireEdge`,role:`招聘团队`,outputType:`分析`,description:`面向 B 端批量识别候选人简历，提取可用于筛选和画像的结构化信息。`,starter:`帮我识别这些候选人简历，并整理成招聘筛选可用的结构化摘要`,instruction:`你是 B 端招聘简历识别助手。用户上传 PDF 时沿用人才工作台 TextIn 解析结果，不切换到 C 端 GLM OCR。输出只基于简历中可验证的经历、项目、技能、教育和联系方式字段，不使用年龄、性别、婚育等受保护特征做判断。`,tools:[`resume_pdf_extract`,`hr_candidate_profile`]},{id:`hr_batch_screen`,surface:`recruiter`,route:`/hr/batch-screen`,label:`批量简历筛选`,shortLabel:`筛选`,publisher:`HireEdge`,role:`招聘团队`,outputType:`评估`,description:`按岗位硬性条件、加分项和风险项批量评估候选人，输出筛选表。`,starter:`帮我按这份 JD 批量筛选候选人，输出通过/待确认/不建议和证据理由`,instruction:`你是 B 端候选人筛选助手。先确认岗位硬性门槛、加分项和排除项，再逐个候选人给出证据化判断。不得依据受保护特征评价候选人，所有结论必须落到简历或 JD 的可验证证据。`,tools:[`hr_candidate_profile`,`resume_match`,`jd_analysis`,`interview_questions`]},{id:`hr_candidate_profile`,surface:`recruiter`,route:`/hr/candidate-profile`,label:`候选人画像`,shortLabel:`画像`,publisher:`HireEdge`,role:`招聘团队`,outputType:`评估`,description:`生成候选人能力画像、优势风险、未知项和面试复核重点。`,starter:`帮我基于候选人简历和岗位要求，生成证据化画像、匹配判断和面试复核重点`,instruction:`你是 B 端候选人画像助手。输出能力维度、岗位匹配证据、风险与未知项、面试复核问题。不要生成主观标签，不要从姓名、照片、年龄、性别、婚育等信息推断适配度。`,tools:[`hr_candidate_profile`,`resume_match`,`jd_analysis`,`interview_questions`]},{id:`hr_interview_kit`,surface:`recruiter`,route:`/hr/interview-kit`,label:`面试工具包`,shortLabel:`面试`,publisher:`HireEdge`,role:`招聘团队`,outputType:`文档`,description:`生成面试题、追问、评分维度、面试总结和候选人沟通话术。`,starter:`帮我准备这轮面试的问题、追问、评分维度，并生成后续沟通话术`,instruction:`你是 B 端面试工具包助手。根据 JD、简历和面试阶段输出结构化面试题、追问、评分锚点、面试记录模板和后续沟通邮件。避免违法歧视性问题。`,tools:[`interview_questions`,`interview_eval`,`interview_summary`,`hr_email_draft`,`resume_match`]},{id:`hr_jd_editor`,surface:`recruiter`,route:`/hr/jd-editor`,label:`JD 生成优化`,shortLabel:`JD`,publisher:`HireEdge`,role:`招聘团队`,outputType:`文档`,description:`写 JD、优化招聘文案、提炼岗位画像和检查合规风险。`,starter:`帮我写或优化一份岗位 JD，先问清楚用人部门需求，再输出可发布版本`,instruction:`你是 B 端 JD 写作助手。先补齐岗位职责、硬性要求、加分项、组织背景和薪酬范围，再输出候选人友好、事实准确、合规的发布版本。`,tools:[`jd_optimize`,`jd_analysis`,`web_search`,`labor_law_check`]},{id:`hr_batch_job_compare`,surface:`recruiter`,route:`/hr/batch-job-compare`,label:`岗位对比`,shortLabel:`对比`,publisher:`HireEdge`,role:`招聘团队`,outputType:`分析`,description:`对比多个岗位、竞品招聘信息或内部岗位，辅助定级和招聘策略。`,starter:`帮我对比这些岗位或竞品 JD，提炼招聘策略差异和可优化点`,instruction:`你是 B 端岗位对比助手。从职责范围、能力门槛、薪资锚点、候选人吸引力和合规风险对比多个 JD 或竞品岗位，输出招聘策略建议。`,tools:[`jd_analysis`,`job_compare`,`web_search`,`salary_research`]},{id:`hr_email_draft`,surface:`recruiter`,route:`/hr/email-draft`,label:`候选人邮件`,shortLabel:`邮件`,publisher:`HireEdge`,role:`招聘团队`,outputType:`邮件`,description:`生成约面、跟进、拒信、Offer 沟通、入职提醒等候选人邮件。`,starter:`帮我写一封给候选人的沟通邮件，语气专业、清晰、可直接发送`,instruction:`你是 B 端候选人沟通助手。根据招聘阶段、候选人状态和企业口吻生成清晰、礼貌、合规的中文邮件或短信。拒信要尊重候选人，不披露内部敏感判断。`,tools:[`hr_email_draft`,`interview_summary`]},{id:`hr_salary_research`,surface:`recruiter`,route:`/hr/salary-research`,label:`薪酬市场调研`,shortLabel:`薪酬`,publisher:`HireEdge`,role:`招聘团队`,outputType:`数据`,description:`查询市场薪资区间、竞品岗位、城市差异和招聘预算建议。`,starter:`帮我判断这个岗位的招聘预算、市场薪资区间和 Offer 定价策略`,instruction:`你是 B 端薪酬调研助手。结合岗位、城市、年限、行业和竞品信息，输出招聘预算区间、候选人吸引力风险和 Offer 策略。结论要标注数据依据或不确定性。`,tools:[`salary_research`,`company_salary_data`,`job_compare`,`web_search`,`jd_analysis`]},{id:`hr_compliance`,surface:`recruiter`,route:`/hr/compliance`,label:`招聘与用工合规`,shortLabel:`合规`,publisher:`HireEdge`,role:`招聘团队`,outputType:`分析`,description:`检查 JD、合同、用工安排、企业主体和招聘流程中的合规风险。`,starter:`帮我从 HR 视角判断这个用工问题或企业合作对象的合规风险`,instruction:`你是 B 端劳动合规助手。围绕招聘、试用期、合同、社保、公积金、加班、竞业和企业主体风险输出复核清单。仅提供风险提示，不替代律师意见。`,tools:[`labor_law_qa`,`labor_law_check`,`kyb_company_check`,`labor_compliance_check`,`web_search`]},{id:`hr_forms`,surface:`recruiter`,route:`/hr/forms`,label:`表单与测评分析`,shortLabel:`表单`,publisher:`HireEdge`,role:`招聘团队`,outputType:`数据`,description:`分析招聘表单、面试评价、候选人反馈和测评结果。`,starter:`帮我分析这批招聘表单数据，提炼候选人质量、风险和后续动作`,instruction:`你是 B 端招聘表单分析助手。读取表单或表格后，输出字段质量、候选人分布、异常项、筛选建议和管理层摘要。注意不要将敏感个人属性用于招聘决策。`,tools:[`form_analysis`,`xlsx_generator`]},{id:`hr_ppt_builder`,surface:`recruiter`,route:`/hr/ppt-builder`,label:`招聘汇报 PPT`,shortLabel:`PPT`,publisher:`HireEdge`,role:`招聘团队`,outputType:`演示`,description:`生成招聘周报、校招汇报、人才盘点和管理层汇报 PPT。`,starter:`帮我把这份招聘数据和结论做成管理层汇报 PPT`,instruction:`你是 B 端招聘汇报助手。先梳理业务目标、受众、核心指标和结论，再生成结构化 PPT 大纲或文件。管理层汇报要突出趋势、风险、决策项和下一步动作。`,tools:[`pptx_generator`,`xlsx_generator`,`pdf_generator`]},{id:`hr_data_analysis`,surface:`recruiter`,route:`/hr/data-analysis`,label:`招聘数据分析`,shortLabel:`数据`,publisher:`HireEdge`,role:`招聘团队`,outputType:`数据`,description:`分析招聘漏斗、渠道质量、周期、Offer 转化和候选人结构。`,starter:`帮我分析招聘数据，输出管理层能看的结论、风险和下一步动作`,instruction:`你是 B 端招聘数据分析助手。围绕招聘漏斗、渠道质量、职位进展、面试通过率、Offer 转化和周期效率输出洞察。给出可落地动作和需要补充的数据。`,tools:[`xlsx_generator`,`form_analysis`,`pptx_generator`,`frontend_dev`]}],n=`aiq:selected-skills:v1`,r=`aiq:selected-custom-skills:v1`,i=`aiq:skill-drafts:v1`,a=`aiq:skill-selection-updated`,o={jobseeker:{selectedSkills:n,selectedCustomSkills:r,customSkills:i},recruiter:{selectedSkills:`hr-aiq:selected-skills:v1`,selectedCustomSkills:`hr-aiq:selected-custom-skills:v1`,customSkills:`hr-aiq:skill-drafts:v1`}},s=[...e],c=[...t],l=new Map(s.map(e=>[e.id,e])),u=new Map(c.map(e=>[e.id,e])),d=[...c,...s],f=e=>String(e||``).split(/[,\s，、]+/g).map(e=>e.trim()).filter(Boolean),p=e=>{let t=String(e?.id||``).trim().slice(0,80),n=String(e?.name||``).trim().slice(0,40);return!t||!n?null:{id:t,name:n,goal:String(e?.goal||``).trim().slice(0,160),instruction:String(e?.instruction||``).trim().slice(0,1200),createdAt:Number(e?.createdAt||Date.now())}},m=(e=`jobseeker`)=>o[e],h=(e=`jobseeker`)=>e===`recruiter`?d:s,g=(e=`jobseeker`)=>e===`recruiter`?[{id:`recruiter`,title:`B端专属技能`,description:`招聘团队在人才工作台使用的候选人评估、JD、薪酬、合规和汇报技能。`,presets:c},{id:`jobseeker`,title:`通用skill`,description:`通用skill`,presets:s}]:[{id:`jobseeker`,title:`C端技能`,description:`面向个人用户的 Aiq 技能。`,presets:s}],_=e=>{let t=String(e||``).trim();return l.get(t)||null},v=e=>{let t=String(e||``).trim();return u.get(t)||null},y=(e,t)=>e===`recruiter`&&v(t)||_(t),b=e=>{let t=f(e),n=[];for(let e of t){let t=_(e);t&&!n.includes(t.id)&&n.push(t.id)}return n},x=(e,t)=>{if(e===`jobseeker`)return b(t);let n=[];for(let e of f(t)){let t=y(`recruiter`,e);t&&!n.includes(t.id)&&n.push(t.id)}return n},S=e=>{try{let t=typeof e==`string`?JSON.parse(e||`[]`):e;if(!Array.isArray(t))return[];let n=new Set,r=[];for(let e of t){let t=p(e);if(!(!t||n.has(t.id))&&(n.add(t.id),r.push(t),r.length>=20))break}return r}catch{return[]}},C=e=>JSON.stringify(S(Array.from(e))),w=(e,t)=>e.length===t.length&&e.every((e,n)=>e===t[n]),T=(e,t)=>{let n=new Set(t.map(e=>e.id)),r=[];for(let t of f(e))n.has(t)&&!r.includes(t)&&r.push(t);return r},E=(e,t)=>{let n=new Set;return t.forEach(t=>{y(e,t)?.tools.forEach(e=>n.add(e))}),Array.from(n)},D=(e,t,n)=>{let r=[...t.map(t=>y(e,t)?.shortLabel).filter(Boolean),...n.map(e=>e.name.slice(0,6)).filter(Boolean)];return r.length?r.join(` + `):`自动`},O=(e,t,n)=>{let r=new URLSearchParams;t?.length&&r.set(`skills`,t.join(`,`)),n?.length&&r.set(`customSkills`,n.join(`,`));let i=r.toString(),a=e===`recruiter`?`/hr/aiq`:`/ai-agent`;return i?`${a}?${i}`:a},k=(e,t,n)=>{let r=new URLSearchParams;t?.length&&r.set(`skills`,t.join(`,`)),n?.length&&r.set(`customSkills`,n.join(`,`));let i=r.toString(),a=e===`recruiter`?`/hr/aiq/skills`:`/ai-agent/skills`;return i?`${a}?${i}`:a},A=`aiq:skill-ratings:v1`,j=()=>{try{return JSON.parse(localStorage.getItem(`aiq:skill-ratings:v1`)||`{}`)}catch{return{}}},M=(e,t)=>{let n=j(),r=n[e]||{score:0,count:0},i=r.count+1;n[e]={score:(r.score*r.count+t)/i,count:i};try{localStorage.setItem(A,JSON.stringify(n))}catch{}};export{D as a,h as c,S as d,T as f,C as g,E as h,k as i,m as l,M as m,w as n,y as o,x as p,O as r,g as s,a as t,j as u};