用途:为 Anthropic Claude API 项目搭建快速本地开发循环,包含环境管理、请求日志、成本追踪与热重载。
前提:已完成 anth-install-auth 设置;Node.js 18+ 或 Python 3.8+;.env 中配置 ANTHROPIC_API_KEY。
主要能力与用法:
- 项目结构:.env、.env.example、.gitignore(含 .env)、src/client.ts、src/prompts/、src/tools/、tests/mock-responses/、scripts/dev.ts。
- 单例客户端与请求日志:在 src/client.ts 中创建单例 Anthropic 客户端,设置 maxRetries 与 timeout;logUsage 按模型定价计算每次请求成本并打印模型与 token 用量。
- 测试用模拟响应:tests/mock-client.ts 提供 mockMessage 返回固定 Message 结构。
- 热重载脚本:package.json 中配置 "dev": "tsx watch src/index.ts"、"dev:debug": "ANTHROPIC_LOG=debug tsx watch src/index.ts"、"test": "vitest"、"test:live": "LIVE_API=1 vitest --run"。
- 环境变量:ANTHROPIC_API_KEY、ANTHROPIC_MODEL、ANTHROPIC_MAX_TOKENS、ANTHROPIC_LOG(debug|info|warn|error);可用 export ANTHROPIC_LOG=debug 开启 SDK 调试日志。
- 开发期成本控制:开发环境使用较低成本模型(如 claude-haiku-4-20250514),生产使用 claude-sonnet-4-20250514。
适用场景:编辑提示词时用默认 vitest 跑模拟响应;需要真实 API 校验时仅对该次调用设置 LIVE_API=1,选用低成本模型并查看日志;若真实响应改变契约,先更新 fixture 与断言,再重跑模拟测试。
限制与常见问题:热重载可能因保存触发重复请求,可加防抖;.env 未加载需用 dotenv 或 tsx --env-file=.env;模拟测试通过但真实调用失败通常因响应结构变化,需用真实响应更新 mock。后续可参考 anth-sdk-patterns 用于生产代码。