# 设计 — WebSSH xterm SSH 交互区 ANSI 彩色输出修正

**日期**: 2026-06-08  
**状态**: 已实施  
**关联**: `835ef2c` WebSSH 经典主题（误把命令栏语法高亮当作 ANSI 修复）

## 背景与目标

用户要求：**上方 xterm 黑屏**（SSH 远程输出）黑底白字且带 ANSI 字符颜色；不是底部命令栏 Shell 语法高亮，也不是选择服务器对话框。

## 方案

| 层 | 变更 |
|----|------|
| 后端 `webssh.py` | `create_process(env=...)` 注入 `TERM=xterm-256color` 等；DATA 用 `data_b64` 二进制安全传输 |
| 前端 `useTerminalSessions.ts` | 优先解码 `data_b64` 写入 xterm |
| 前端样式 | `.sh-*` 从 `TerminalPage` 移至 `TerminalCmdBar` scoped |

## 验收

在 xterm 黑屏内：

1. `printf '\033[31mred \033[32mgreen \033[0m\n'` → 红/绿字
2. `ls --color=auto` → 目录/文件分色
3. 底部命令栏 Enter 发送后，彩色输出仍出现在黑屏区

## 安全与性能

- base64 仅用于 WebSocket 帧内转义，不改变鉴权
- 仍 4096 字节分块 read，延迟特性不变
