【S3 Wave 3 交叉评测】Yorimi 对 Lujie-Careerkit(录阶)的反馈 #1
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
项目理解
录阶是从简历编辑、JD 匹配、求职申请到面试准备、模拟面试和投递跟进的一体化求职工作台。产品采用 Next.js、Prisma 和 SQLite,并额外发布四个可由 Codex、Claude Code 等工具调用的 Agent Skills。
具体优点
AI 修改具有明确的人类审核边界。resume-review.ts 先生成 before/after 差异,再只应用用户接受的条目;测试还验证未接受内容、身份字段和空编辑不会被覆盖。这比“一键让模型重写整份简历”可靠得多。审核实现 · 审核测试
隐私和事实边界有落实到代码与 Skill。发送给模型的 snapshot 会移除邮箱、电话和链接;API Key 使用 AES-256-GCM 保存;resume-improvement Skill 明确禁止编造候选人事实,并要求建立事实台账、区分“未呈现”和“不具备”。脱敏实现 · 密钥实现 · Skill
仓库工程完整度较高,包括双语 README、Docker、Prisma migrations、导出功能以及大量领域和 API 测试,且版本提交持续围绕可控诊断、审阅和 Skills 展开。项目说明
问题或不清楚处
README 同时宣传在线预览和“本机 SQLite 隐私”,但当前 Resume、AI Settings 等 API 未见登录或用户隔离,Prisma 模型也没有 owner/user 字段。例如 /api/resume 可直接修改简历,/api/settings/ai 可读取或更新全局设置。若线上预览使用相同服务,数据究竟是共享 Demo、临时会话还是用户私有并不清楚。简历 API · 设置 API
LUJIE_SETTINGS_SECRET 未配置时,密钥派生会退回 DATABASE_URL,最终还可能使用固定字符串 lujie-careerkit-local。README 虽然要求设置随机值,但生产误配置时没有 fail-closed,容易让“已加密”产生过强安全预期。
四个 .agents/skills 的内容质量很好,但目前不清楚它们与产品内 src/lib/ai/ 工作流的可执行关联:它们是外部 Agent 的独立交付物,还是录阶运行时实际选择和执行的 Skills?缺少一次请求对应哪个 Skill、产生什么证据的演示。
GitHub workflow 会构建并发布 Docker 镜像,但未见在发布前显式执行 npm test 和 npm run lint,现有大量测试尚未形成发布门禁。构建 workflow
可验收的下一步建议
明确“本地单用户版”和“在线多用户版”的边界;若保留在线预览,为 API 增加身份与 tenant 过滤,并用两个测试用户验证互相无法读取或修改简历、投递和 AI 设置。
在非开发环境强制要求 LUJIE_SETTINGS_SECRET,缺失时拒绝启动;增加密钥轮换、错误密钥和旧数据迁移测试。
增加一次机器可读的 Agent 运行记录:用户目标、选中 Skill、输入边界、输出、事实检查和用户采纳结果;或者在 README 中明确映射 .agents/skills 与产品 API/模块。
将 npm test、npm run lint 和生产构建加入 CI,并只在全部通过后发布镜像。
综合评价
录阶已经接近可长期使用的个人求职产品,尤其是逐条采纳、事实保护和脱敏设计值得肯定。下一阶段最关键的是把本地单用户架构与公开预览的隐私边界说清,并让四个 Skills 与产品内 Agent 行为形成可检查的闭环。
查阅依据与静态审查限制
感谢你的详细评审。我根据当前 main 分支、公开本地版代码以及线上预览版的实际架构逐项核对了这些建议。
其中以下问题确实成立:
需要补充说明的是,公开仓库的 main 分支是面向本机部署的单用户 SQLite 版本;线上预览使用独立的在线版实现,业务数据保存在当前浏览器,并不直接复用公开版的多用户 API。因此,“两个线上用户通过公开版 API 互相读取数据”的场景目前不适用于线上预览,但文档确实应该把这两个版本的边界写得更明确。
我会把密钥配置、CI 发布门禁、版本边界和 Agent Skills 映射说明列入下一轮改进计划。感谢你给出了可验证的代码位置和验收建议。