Files
scaffold/template/.claude/rules/error-codes.md
T
baozaotumao 39fe248f9f feat: 重组为标准 skill 包结构 + 修复 verify.sh bash 3.2 兼容
- 新增 .claude/skills/new-project/SKILL.md(标准 skill 格式)
- install-skill.sh 安装时组装 SKILL.md + verify.sh,单一源无重复
- verify.sh 改用索引数组替代 declare -A,兼容 macOS bash 3.2
- log_pass/log_skip 显式 return 0,避免 set -e 下非 verbose 误退出
- README 改为 skill 优先;补全 copier.yml/scripts/template 入库
2026-06-01 21:19:45 -07:00

1.6 KiB

paths
paths
backend/**
agent/**
frontend/**

错误码目录(错误契约)

错误码是契约的一部分,集中登记,禁止散落定义。

错误码是契约的一部分,前端按 code 分支处理,不依赖 message 文本。集中登记,禁止散落定义。

code 含义 来源
SESSION_NOT_FOUND 会话不存在 Backend
AGENT_UNAVAILABLE Agent 不可用 Backend
GEMINI_STARTUP_ERROR LLM CLI 启动失败 Agent
GEMINI_TIMEOUT LLM CLI 阶段超时 Agent
SKILL_NOT_INSTALLED 幻灯片生成 skill 未装 Agent
HTML_EXTRACTION_FAILED 无法提取有效 HTML Agent
PLAYWRIGHT_ERROR 截图失败 Agent
CHECKPOINT_LOST 断点不可恢复 Agent
CAPACITY_EXCEEDED 并发超额(排队) Agent
INVALID_INPUT 输入校验失败 Backend/Agent
INTERNAL_ERROR 未分类内部错误 任意
  • 命名:大类_具体,全大写蛇形;新增错误码必须先登记到此表
  • code 字面值散落在各服务的异常类(backend src/exceptions/base.pyAppException 子类、agent src/domain/exceptions.pyAgentException 子类)。本表是单一来源,异常类的 code 与本表对齐靠 review 把关,不做代码生成(多数 code 服务私有、跨线共享少,生成机制收益不抵复杂度)。改 code 先改本表,再改对应异常类。
  • GEMINI_* 等历史命名沿用现有 code 字面值(契约稳定性优先),其语义已泛化为"LLM CLI",不随当前厂商变化