# Session Safety

> 会话输出安全控制。防止超长输出导致失败，必要时分段写入文件。

- Skill: `wxy/session-safety` (Agent Skill)
- Install (CLI): `npx skillmds@latest add wxy/session-safety`
- Raw SKILL.md: https://api.skillmd.com/api/skills/wxy/session-safety/raw
- Safety review: pending (external: skill-scanner PASS, skillspector PASS)
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: AI & ML
- Author: wxy (https://skillmd.com/u/wxy)
- Updated: 2026-09-22
- Page: https://skillmd.com/skills/wxy/session-safety

---


# _session-safety

## 目标
控制输出长度，避免会话失败；**必要时采用分段写入文件**。

**核心原则：预判优先，不事后补救**
- 在生成内容前先评估大小，而不是等到生成完成或 API 失败后才考虑分段
- 若预计内容 > 5KB，直接采用分段策略
- 宁可过度分段，不可遗漏分段

## 适用范围
- 可能产生超长输出的任务
- 生成大文档/长列表/多文件内容

## 必须遵循的规则
1. **优先写入文件**而非直接大段输出。
2. **分段写入**同一文件，配合 `_file-output-guard`。
3. **输出确认信息**即可，不重复打印全文。

## 超长阈值参考

用以下参考值判断是否需要分段：

| 输出规模 | 处理方式 | 说明 |
|--------|--------|------|
| **< 5KB** | 直接输出 | 可在回复中直接显示，无安全风险 |
| **5KB - 20KB** | 建议分段 | 输出量较大，建议分段写入文件；若内容结构清晰独立，可直接输出 |
| **> 20KB** | 必须分段 | 超过会话安全阈值，必须使用 `create_file` + `apply_patch` 分段写入 |

**如何快速评估输出大小**：
- 1KB ≈ 200 字（中文）或 400 字（英文）
- 10KB ≈ 2000 字（中文）或 4000 字（英文）
- 20KB ≈ 4000 字（中文）或 8000 字（英文）

**决策流程**：
1. 预估输出大小
2. 若 > 5KB，创建文件入口
3. 在回复中输出 "已分段写入到 xxx 文件" 确认信息
4. 若需追加，使用 `_file-output-guard` 的分段续写规则

## 检查清单
- [ ] 是否评估输出长度风险？
- [ ] 是否采用分段写入策略？
- [ ] 是否避免重复输出正文？

