Files
terminalX/README.md
kid aa92d0e676 初始提交:terminalX 可运行态(M0/M1/M1.5 已真机验证)
- M0: libghostty SSH 终端(渲染/输入/连接)+ 白屏修复(OutputGate) + 会话状态机/自动重连
- M1: tsnet 用户态组网 + SSH-over-tsnet(fd 桥),shell 级真机验证;R5(Go+gvisor+C+++Swift 同进程) retire
- M1.5: tmux -CC 原生 tab(MVP)
- 结构: packages/(TXCore·TXTransport), apps/TerminalX, vendor/(libghostty-spm/libssh2/mbedtls/tsnet-bridge), artifacts/
- 文档: CLAUDE.md + docs/HANDOFF.md(新会话入口)
- 环境: 认证代理→依赖 vendor 本地化;Go 在 ~/.local/go;仅模拟器/未签名
- 待续: M2 mosh, tmux 多 pane, M4 安全(host key/SE)

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-24 10:20:46 +08:00

37 lines
1.6 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# terminalX
原生苹果生态终端运维 / vibe coding 工具。平台优先级:**iPadOS > iOS > macOS(Apple Silicon)**。
核心选型:**libghostty**(终端引擎) · **mosh** · **Tailscale (tsnet 用户态)** · **tmux control mode hook**
> 设计与决策见 `docs/`(若缺失,参见会话记忆 / 架构蓝图)。当前处于 **M0**(骨架 + 引擎 + libssh2 直连),走 SSH-first 路线。
## 仓库结构
```
packages/ 纯 Swift SPM 包(源码构建,依赖只向下)
TXCore 零依赖:模型 / 状态机 / 协议 / 纯算法(含 tmux control-mode 解析器)
TXTransport SSH(libssh2) 引导 · mosh 驱动 · UDP relay · 连接编排 [M1+]
TXTailnet tsnet 多节点 · DialerRouter · fd 桥 [M1+]
TXTerminal GhosttyKit 包装Metal 渲染 · 键盘 · IME [M0]
TXSecurity Keychain / Secure Enclave / known_hosts [M4]
TXPTY 本地 PTY仅 macOS [M4]
TXUI SwiftUI 界面层 [M0+]
apps/ Xcode app targetsXcodeGen 生成iOS/iPadOS 合一 + macOS 独立)
vendor/ 非 Swift 语言源zig/go/c++CI 产出 xcframework [M1+]
artifacts/ 预编译 xcframework 落地gitignore
```
## 开发
```sh
# M0纯逻辑包命令行即可测无需 Xcode 工程
cd packages/TXCore && swift test
```
## 工具链要求
- Xcode 26+ / Swift 6.xM0
- Go + gomobileM1tsnet
- CMake + Ninja + zigM1/M2vendor 构建)