Show HN:WinkTerm – 与您共享同一PTY的终端AI
WinkTerm是一款开源终端工具,让AI与用户共享同一伪终端(PTY)会话。AI可以直接在终端输入行中书写命令,用户可审查后执行。支持多模型、SSH连接、文件传输、持久化聊天历史、外部代理API等。
WinkTerm 是一个创新的开源终端工具,其核心理念是让AI不仅能提供建议,更能直接与用户在同一伪终端(PTY)会话中协作。与传统的AI聊天界面不同,WinkTerm 的AI代理可以直接在用户的终端输入行中键入命令,用户可以选择按Enter执行、编辑或取消,从而在保持控制的同时高效协作。
该工具具备丰富的功能:共享PTY会话使AI和用户在同一个终端进程中操作,无需复制粘贴;内置的聊天功能允许用户通过以“#”开头的行直接在提示符下提问;侧边栏AI面板提供多会话标签、AI生成标题和聊天/制作模式切换。此外,WinkTerm 支持持久化聊天历史,会话保存至 ~/.winkterm/chat_history.json,并在页面加载时恢复,即使WebSocket重连或后端重启也不会丢失。流式恢复功能可在刷新或重连后恢复正在进行的AI响应,而流式队列和后续建议则允许用户在AI回应时排队消息,并获得一键式后续建议。
WinkTerm 的一大亮点是其外部代理API,这是一个经过认证的HTTP接口,允许外部AI代理(如Claude Code、Cursor等)远程驱动终端、SSH和文件传输。API提供了原子执行、单次SSH执行、SSH连接管理、命名控制键、服务器端grep、SSE实时输出、操作事件流等功能。退出码作为一等公民,避免了在输出中检查失败的需要。通过预装的Claude Code插件或直接下载技能文件,任何AI代理都能快速集成。WinkTerm 还支持统一会话池,内部代理和外部API共享同一终端会话池,代理创建的终端在Web UI中显示为常规标签。
WinkTerm 支持多种LLM后端,包括OpenAI、Anthropic、Ollama以及任何兼容OpenAI的端点。用户可以通过Docker快速部署(docker run或docker-compose up),也可下载桌面应用(Windows/macOS)。配置简单,只需设置API密钥和模型名称。该工具强调“协作式运维”——AI写命令,用户审查后执行,而不是盲目信任。
作为一个开源项目,WinkTerm 采用Python + FastAPI + LangGraph + LangChain后端和Next.js + xterm.js前端,无数据库依赖,配置和聊天历史存储在磁盘上。该项目在GitHub上积极开发,提供了详细的文档、演示视频和案例研究(如AI代理在30分钟内清除XMR挖矿木马)。WinkTerm 对比Warp、Tabby、Claude Code等工具,在共享PTY、开源、自托管、Web UI、SSH+文件传输、桌面应用等方面具有明显优势。