| 策略 | 适用类别 | 占比 | 说明 |
|---|---|---|---|
| 完全过滤 | 系统日志、调试信息、工具调用详情 | ~40% | 用户完全不需要看到 |
| 折叠为摘要 | 代码块、JSON对象、长输出 | ~30% | 信息量大,需要压缩 |
| 美化转换 | 错误消息、退出码、警告 | ~20% | 技术内容转为友好提示 |
| 保持原样 | 用户对话、AI回复 | ~10% | 正常内容,完整展示 |
type: "assistant" - AI回复内容type: "user" - 用户输入回显type: "content_block_delta" - 流式文本增量type: "text_delta" - 文本增量type: "result" - 会话完成标记type: "system" - 系统级通知subtype: "init" - 会话初始化session_id - 会话IDmodel - 模型信息cwd - 工作目录type: "tool_use" - 工具使用声明type: "tool_result" - 工具执行结果name: "Read" - 文件读取name: "Write" - 文件写入name: "Bash" - 命令执行[FeishuClient] - 飞书客户端日志[FeishuWriter] - 消息写入器日志[SessionManager] - 会话管理器日志[ContextManager] - 上下文管理器日志[Filter] - 过滤器日志function / async function - 函数定义const / let / var - 变量声明import / export - 模块声明if / for / while - 控制流=> - 箭头函数Error: ENOENT - 文件不存在Error: EACCES - 权限拒绝ECONNREFUSED - 连接失败ETIMEDOUT - 请求超时SyntaxError - 语法错误Claude CLI exited with code 1 - 非零退出Claude CLI was terminated by signal SIGINT - 信号中断Process spawned and registered - 进程启动Captured session ID - 会话捕获| 检测规则 | 正则表达式/特征 | 示例 | 处理 |
|---|---|---|---|
| 模块日志前缀 | /^\[[\w\-]+\]/ |
[FeishuClient] ... |
完全过滤 |
| console 语句 | /^\s*console\./ |
console.log(...) |
完全过滤 |
| 错误堆栈 | /^\s*at\s+[\w.]+\s+\(/ |
at Function.access (...) |
完全过滤 |
| 函数定义 | /^(async\s+)?function\s+\w+/ |
async function queryClaude(...) |
完全过滤 |
| 变量声明 | /^(const|let|var)\s+/ |
const result = ... |
完全过滤 |
| JSON 对象 | /^\s*[{\[]/ + 可解析 |
{"key": "value"} |
折叠为摘要 |
| 代码块 | 40%+ 行包含代码特征 | 多行函数/类定义 | 折叠为摘要 |
| ENOENT 错误 | .includes('ENOENT') |
Error: ENOENT: no such file... |
美化为"文件未找到" |
| 退出码错误 | .includes('exited with code') |
Claude CLI exited with code 1 |
美化为"处理失败" |
| 正常文本 | 不匹配以上任何规则 | Hello! How can I help? |
完整保留 |
| 类型 | 数量 | 占比 | 平均长度 | 处理方式 |
|---|---|---|---|---|
| 用户对话 | 45 | 45% | 128 字符 | ✅ 保留 |
| AI回复 | 40 | 40% | 456 字符 | ✅ 保留 |
| 模块日志 | 87 | 87% | 65 字符 | ❌ 过滤 |
| 工具调用 | 23 | 23% | 234 字符 | ❌ 过滤 |
| 代码片段 | 12 | 12% | 1,234 字符 | 📦 折叠 |
| JSON 数据 | 8 | 8% | 523 字符 | 📦 折叠 |
| 错误消息 | 3 | 3% | 187 字符 | 💅 美化 |
| 系统消息 | 15 | 15% | 98 字符 | ❌ 过滤 |
处理: ✅ 保留完整内容,因为代码是回答的一部分,有上下文说明。
处理: 📦 JSON部分可能被折叠,但有上下文说明,用户能理解。
处理: 💅 错误堆栈美化为"⚠️ 文件未找到",但保留AI的解释文字。
处理: ❌ 中间的系统日志被过滤,只保留:
"Hello! I can help you with that. Let me show you how to do it."
| 场景 | 当前处理 | 改进方向 | 优先级 |
|---|---|---|---|
| 长代码块 | 折叠为"📄 代码建议已生成" | 添加"点击查看详情"链接或按钮 | 🟡 P1 |
| 工具调用结果 | 完全过滤 | 保留关键信息(如文件名、行数) | 🟢 P2 |
| 错误美化 | 固定映射表 | 基于上下文的动态错误提示 | 🟢 P2 |
| JSON 数据 | 折叠为摘要 | 显示前3个key或数据类型 | 🟢 P2 |
| 过滤统计 | 只记录到日志 | 添加到数据库,可视化展示 | 🟢 P2 |