目录
config.ts 与 http.ts。CLI 负责一次性的配置命令;MCP 服务器是 AI 工具拉起的进程。
入口
- CLI:
package.json里的bin: { "magic-resume": "./dist/cli.js" }。子命令:config set、config get、config print、config clear,以及mcp(启动服务器)。 - MCP 服务器:
magic-resume mcp启动server.ts,注册工具,挂上StdioServerTransport,常驻运行。
配置文件
~/.magic-resume/mcp.json:
config.ts 在第一次使用时懒加载。Windows 上路径是 %USERPROFILE%\.magic-resume\mcp.json。
工具注册
server.ts 用 @modelcontextprotocol/sdk 注册每个工具,提供:
- 名字和描述
- 用 Zod 派生的输入 Schema(让模型拿到带类型的参数提示)
- 一个调用
resume-tools.ts的 handler
McpError,让 AI 工具能据此反应(如网络瞬断时重试,校验错时放弃)。
Core API 契约
MCP 服务器是 Web 应用所用 NestJS Core API 的另一个客户端。相关接口:http.ts 自动附上 Authorization: Bearer <pat>。和 Web 应用不同,这里没有 Clerk —— PAT 是 Core API 单独认识的一套鉴权方式。
构建与发布
publishConfig.access = "public" 控制,pnpm 在打包时会把 workspace:* 重写为真实 semver,这样发出去的 package.json 里 @magic-resume/resume-schema 和 @magic-resume/resume-templates 都有合法版本号。
加一个新工具
- 把 handler 加到
resume-tools.ts。保持函数纯粹,并基于 patch。 - 在
server.ts里注册它,附上 Zod 输入 Schema 和简短描述。 - 在
test/里加node --test用例。 - 如果新工具读取或修改了新字段,更新
get_resume_editing_guide,让模型知道怎么用。
