Skip to content

Latest commit

 

History

History
38 lines (20 loc) · 3.53 KB

AGENTS.md

File metadata and controls

38 lines (20 loc) · 3.53 KB

仓库指南

项目结构与模块组织

主路径位于 src/codex-router/:config 负责 tier 与环境配置,turn 识别 fresh user turn,policy 做确定性决策,cache 做价格 break-even,effort 做 effort 映射与 configuration_update 重放,usage 读取缓存热度,session-store 持久化 pin,jev 调用 Jev,proxy 转发并固定模型,cli 启动真实 Codex。入口是 bin/jev-codex.mjs。旧的逐调用路径已经移除,历史留在 git。相关测试放在 test/,文件名采用 *.test.ts。设计说明位于 docs/codex-turn-router.md。dist/ 是生成目录,不要直接编辑或提交其中内容。

构建、测试与开发命令

请使用 Node.js 22 或更高版本。运行 npm ci 安装锁定版本的依赖。npm run typecheck 检查 TypeScript,不生成文件。npm run build 会清理并重新生成 dist/。npm test 会先构建,再通过 Node 测试运行器执行全部 test/*.test.ts 测试。构建后运行 npm start 启动独立的 turn-pinned 代理;用户入口是 node bin/jev-codex.mjs 或 npm run codex。运行时配置要求请参阅 docs/codex-turn-router.md。

编码风格与命名约定

遵循现有 TypeScript 风格:缩进为两个空格,字符串使用双引号,以分号结尾,并在公共接口处明确标注类型。文件名使用 kebab-case(例如 policy-guard.ts),函数和变量使用 camelCase,类型和接口使用 PascalCase。为兼容 NodeNext,TypeScript 文件中的本地导入路径使用 .js 扩展名。项目未配置格式化或 lint 工具;请保持代码风格与相邻代码一致,并运行 npm run typecheck。

测试要求

使用 node:test 和 node:assert/strict 编写行为测试。新增测试文件命名为 test/<模块名>.test.ts,测试描述应明确说明预期行为。更改路由决策、隐私检查、代理行为或发布逻辑时,补充或更新相应测试。项目未设置数值化覆盖率门槛;提交变更前请运行 npm test。

提交与拉取请求规范

近期提交使用简短前缀,例如 feat:、fix:、docs(readme):、style: 和 misc:,后接简洁的祈使式说明。每个提交聚焦于一项改动。拉取请求应说明行为变化,关联相关 issue 或设计记录,并列出已运行的命令。涉及仪表板的改动请附截图,并说明对配置或发布的影响。

任务提交节奏

  • 多 ticket 工作中,每完成一个 ticket/task 并通过适用验证后,立即为该任务创建一个聚焦提交,再开始下一项。
  • 只提交属于该任务的变更。按用户要求提交未完成进度时,提交说明应标明进度,且不得将 ticket 标记为 resolved。

安全与配置

启用路由时,代理会读取 JEV_API_KEY。不要将密钥写入提交、测试夹具或日志。维护 src/route-plan.ts 中的路由状态白名单边界;除规范明确允许的当前用户问题外,不要向路由服务发送原始用户文本或工具输出。

项目背景与规范

项目背景、目标和代码导览见 CONTEXT.md。改动产品行为前,查阅 spec.md 和唯一运行时策略 routing-policy.md;详细方案见 docs/solution.md。

Domain docs

本仓库采用 single-context 结构,以根目录 CONTEXT.md 和 docs/codex-turn-router.md 为领域与设计文档。