Tower System Architecture

AI TASK MANAGEMENT PLATFORM

CLIENT Browser Next.js App Router xterm.js 终端 WebSocket Monaco 编辑器 代码编辑 助手面板 SSE 聊天 NEXT.JS SERVER Server Actions task / workspace / label / agent / file / git API Routes /api/internal/terminal/* · /api/internal/assistant/* SSE 流式端点 助手聊天 /chat · Agent SDK query() WEBSOCKET SERVER ws-server.ts 端口 3001 · 多客户端广播 · 终端 I/O 中继 PTY LAYER node-pty 会话 session-store.ts · 按 taskId 索引 · 并发上限 20 · 断连保活 2h SQLite + Prisma ORM FTS5 全文搜索 MCP Server stdio 传输 · 24 工具 · 7 类 · HTTP 桥接终端 AI LAYER Claude Agent SDK query() / aiQuery() · 助手聊天 / 总结 / 分析 Claude CLI PTY 任务执行 · 交互终端 · CLI Profile 配置 EXTERNAL .tower/ 目录 CLAUDE.md 人设 · Skills · Hooks Git 仓库 Worktree 隔离 · Diff · Merge Client Server WS PTY/MCP AI/DB
技术栈
Next.js 16 · TypeScript · SQLite / Prisma ORM · node-pty · xterm.js · Monaco Editor · TailwindCSS 4 · shadcn (base-nova)
数据流
Browser ↔ Server Actions ↔ DB
Browser ↔ WebSocket ↔ PTY ↔ CLI
Server ↔ MCP (HTTP 桥接)
AI 集成
Agent SDK — query() / aiQuery() 流式对话
CLI PTY — 任务执行交互终端
.tower/ — 上下文注入 (CLAUDE.md / Skills / Hooks)