Skip to content

feat: add OpenCode Zen AI provider - #372

Open
Jiandao303 wants to merge 7 commits into
JOYCEQL:mainfrom
Jiandao303:feat/opencode-zen-provider
Open

feat: add OpenCode Zen AI provider#372
Jiandao303 wants to merge 7 commits into
JOYCEQL:mainfrom
Jiandao303:feat/opencode-zen-provider

Conversation

@Jiandao303

Copy link
Copy Markdown

为了方便使用,我添加了opencode的提供商

Jiandao303 and others added 7 commits July 30, 2026 16:55
Land the native conversational resume agent plus the supporting routing
migration in one commit:

- OpenCode Zen provider with a tool-gated native resume agent runtime
  (resume-agent-runtime/): locked-down permission set, read-only research
  tool whitelist, triple budgets, fact gating, user-confirmation gates.
- Two-stage discovery: when no target company is given, the agent searches
  the web for real career directions and lets the user pick one before
  researching its latest JD.
- SSRF-safe JD fetching: redirects / manual-mode fetch degrade to a
  recoverable outcome instead of failing the whole job.
- Agent UI: thinking-chain timeline, resizable three-tab side panel,
  A4 CSS-zoom preview with a collapsible template rail, clarification
  question wizard with explicit step cursor and previous/next navigation.
- Field-path questions humanized to Chinese, questions de-duplicated,
  all seven resume sections covered by confirmation questions.
- Skills rendered grouped by category instead of one skill per line.
- Drop Next.js app-router / i18n-compat leftovers in favor of TanStack
  Start file routing; update docs, changelog, and roadmap.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Use the two new portrait previews for the support section in both the
English and Chinese readmes.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
- 技能:model 提示词要求按「类别名: 技能、技能」分组输出,skillContent
  渲染增强识别分组格式(类别名加粗 + 技能顿号分隔),education/experience
  等普通列表不受影响
- 续聊:新增 /continue 端点与 continueResumeAgentJob,首轮结束后直接发消息
  复用同一 Job,重跑 candidate_facts/tailoring/fact_gate 而保留岗位调研;
  candidate_facts 后加目标一致性检测,公司/职位/JD 链接变化时自动回退重新
  调研;前端续聊不重置时间线、从上次事件序列续读;时间线新增 continue-runtime
  里程碑替代重复的「已启动」欢迎语
- 7 板块确认:buildPendingQuestions 新增板块覆盖 pass,除基本信息外的 6 个
  空板块逐一询问(可自由填写或点「没有相关内容」/跳过),稳定 section-* id
  配合 answeredQuestions 避免重复追问;问题上限 12→16
- model-adapter 新增 classifyUserIntent:一次轻量模型调用判断最新消息是
  chat(闲聊/问候/道谢)还是 resume(提供简历素材或制作/修改请求),
  闲聊时顺带生成带引导的回复(介绍能力 + 引导发基本信息和目标岗位/JD)
- runner 在 candidate_facts 前插入意图分流层:chat 直接返回回复并进入
  waiting_user,不启动工作流、不调工具;resume 才继续完整流程。闲聊轮次
  不标记任何步骤,下一条消息会再次分流;简历做完后的纯聊天同样走此层,
  只回复、不动草稿
- 作答(/answer)与方向选择(/select-direction)是明确的简历操作,通过
  checkpoint.intentSkipped 跳过分流;意图分类失败保守按 resume 处理
- 前端 user.required 携带 mode:chat 时以 idle 状态呈现(不展开轨迹、不弹
  澄清卡片),聊天回复以普通气泡展示;timeline 新增 intake 里程碑 stage
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant