🎉 init: 小龙的工作空间
This commit is contained in:
@@ -0,0 +1,44 @@
|
||||
# 错误处理规范
|
||||
|
||||
> 从 Claude Code 的 `categorizeRetryableAPIError()` + `isTerminalTaskStatus()` 模式迁移。
|
||||
|
||||
## 错误三分类
|
||||
|
||||
```
|
||||
类别 处理方式 例子
|
||||
───── ────────── ──────────
|
||||
可重试 退避重试(3次) 网络超时、API 限流
|
||||
不可重试 立即报告 权限不足、参数非法
|
||||
用户取消 静默终止 用户中断、超时退出
|
||||
```
|
||||
|
||||
## 具体规则
|
||||
|
||||
### 网络/API 相关
|
||||
- 首次失败等待 2s → 第二次 5s → 第三次报告失败
|
||||
- 网络超时不等同于系统故障,一律重试
|
||||
- 重试时保持操作幂等(不产生重复副作用)
|
||||
|
||||
### 文件操作
|
||||
- 写文件前置检查路径合法性
|
||||
- 移动/删除文件用 `mv` 而非 `rm`(保留恢复可能)
|
||||
- 目录创建用 `mkdir -p` 确保幂等
|
||||
|
||||
### 执行命令
|
||||
- `exec` 失败时先看 stderr,非零退出不等同于失败
|
||||
- `timeout` 后进程可能仍在运行,需 `process kill` 清理
|
||||
- 用 `pipefail` 确保中间步骤失败能被检测
|
||||
|
||||
### 用户取消
|
||||
- 用户中断(如 `Ctrl+C`)不做重试
|
||||
- 已产生的副作用不回滚,但标记状态
|
||||
- 报告"已处理到哪一步"而非"失败了"
|
||||
|
||||
## Fast-Path 模式
|
||||
|
||||
```
|
||||
复杂操作前先问快速路径:
|
||||
1. 这个操作我能 10s 内完成吗?→ 直接干
|
||||
2. 需要用户决策?→ 先问再干
|
||||
3. 可能失败?→ 预估风险,必要时先问
|
||||
```
|
||||
Reference in New Issue
Block a user