
Timmy-TUI
Timmy-TUI 是一个基于 TypeScript、由 OpenRouter 提供支持的终端 UI 脚手架,它为您提供了一个可运行的代理线束,开箱即用,具有流式聊天、可配置工具和内置会话持久性。
https://github.com/woodman33/openrouter-tui-agent?ref=producthunt&utm_source=aipure

产品信息
更新于:2026年06月12日
什么是 Timmy-TUI
Timmy-TUI 是一个终端用户界面 (TUI) 项目模板,用于在 OpenRouter 之上构建 AI 代理。它在概念上类似于“create-react-app”,但适用于终端代理,它用 TypeScript 搭建了一个完整、可运行的代码库,其中包括代理运行器、配置系统、交互式 CLI 入口点和一套入门工具(文件操作、搜索和 shell 执行)。目标是让开发人员能够快速创建一个在终端中感觉原生且完全可定制的代理——无论是在 UI 行为(输入样式、工具渲染模式、横幅)还是在代理功能(工具定义和模块)方面。
Timmy-TUI 的主要功能
Timmy-TUI 是一个终端原生的 AI 代理界面和脚手架,可帮助您从命令行快速构建和运行可定制的代理驱动工作流。它基于 OpenRouter 代理 TUI 脚手架的参考来源,强调即时可用的 TypeScript 项目结构,具有可配置的模型/提供商、流式输出、会话持久性以及可插拔的工具系统(例如,文件操作、搜索、shell 执行)。它旨在为开发人员提供一个类似“create-react-app”的代理 TUI 起点,以便他们可以专注于代理逻辑和工具,同时保留精致的交互式终端体验。
脚手架代理 TUI 项目: 生成一个可运行的 TypeScript/Node 项目(配置、代理运行器、CLI 入口点和可选模块),因此您可以从单个提示开始构建代理 TUI,而不是手动组装基础设施。
可定制的终端用户体验: 支持多种交互样式和工具显示模式,具有终端友好的渲染(例如,横幅、自适应 UI 行为),旨在使长时间的代理会话可读且操作员友好。
流式响应 + 令牌可见性: 专为实时、流式模型输出和状态式反馈(包括某些实现中的令牌计数)而设计,这提高了编码和调试等迭代任务的可用性。
会话持久性和可重放性: 存储对话(通常是 JSONL 样式)以在运行中保留上下文,从而实现审计、恢复工作和比较代理行为。
工具/插件式架构: 提供一个工具注册表模式,您可以在其中启用内置工具(文件读/写/编辑、grep/glob、列出目录、shell 命令)并按照一致的模式添加自己的工具。
通过 OpenRouter 实现提供商/模型的灵活性: 针对 OpenRouter 风格的路由,因此相同的 TUI 可以通过统一配置(通过 env/config 分层键)跨多个模型/提供商工作。
Timmy-TUI 的使用场景
终端中的开发人员编码代理: 使用 Timmy-TUI 作为本地优先的编码助手,它可以读取/编辑文件、运行 shell 命令并迭代实现功能,同时保持持久的会话日志。
内部操作/运行手册自动化: 将常见的操作任务(日志检查、配置编辑、脚本检查)封装到工具中,并让操作员通过带有流式反馈的引导式代理 TUI 驱动它们。
安全和合规性分类: 构建用于扫描存储库、搜索危险模式、总结发现并生成可审计的会话记录以供审查的工作流。
客户支持故障排除控制台: 创建一个代理,该代理遵循故障排除手册,查询本地工件(日志/配置),并在一致的终端 UI 中生成分步修复指南。
数据/机器学习实验工具: 为数据集检查、实验编排和结果总结原型化小型代理工具,同时保留可重现的会话和可配置的模型选择。
优点
快速实现第一个代理:脚手架提供了完整的可工作基线(配置、运行器、工具、UI),设置最少。
可扩展的工具系统:内置文件/搜索/shell 实用程序和添加自定义工具的清晰模式。
良好的操作员人体工程学:流式输出、可读的工具渲染和会话持久性支持长时间运行的工作流。
缺点
终端优先的用户体验限制了受众:喜欢 Web GUI 的用户可能会觉得 TUI 不太容易访问。
工具的强大功能增加了风险:在敏感环境中启用 shell/文件写入工具需要仔细的沙盒和权限控制。
模型/提供商配置可能令人困惑:多提供商路由和模型选择可能需要额外的配置调整才能符合预期。
如何使用 Timmy-TUI
1) 安装先决条件: 安装 Node.js(推荐现代 LTS)并确保您有可用的 OpenRouter API 密钥。
2) 获取 Timmy-TUI 项目(搭建或克隆): 如果您从头开始创建 Timmy-TUI,请安装 OpenRouter 技能并搭建一个 TUI 代理项目:`gh skill install OpenRouterTeam/skills create-agent-tui`。然后运行您的编码代理并要求它生成一个 TUI 代理(它将使用该技能)。如果您已经有一个 Timmy-TUI 仓库,请改为克隆它。
3) 安装依赖项: 在项目文件夹中,安装包:`npm install`。
4) 配置您的 OpenRouter 密钥: 从模板创建环境文件(通常是 `.env.example` -> `.env`)并设置 `OPENROUTER_API_KEY=your-key-here`。
5) 审查并设置模型/配置: 打开 `src/config.ts`(分层配置:默认值 -> 文件 -> 环境变量)并设置您想要的模型/提供商选项。这是您选择 Timmy-TUI 使用哪个 OpenRouter 模型的地方。
6) 启动 Timmy-TUI: 以开发模式运行 TUI(通常):`npm start`(或项目等效的脚本)。您应该会看到一个带有流式输出的终端 UI。
7) 使用交互式 REPL: 直接在 TUI 输入中键入提示。Timmy-TUI 会流式传输响应,通常会在界面中显示令牌计数和工具活动。
8) 使用内置工具(如果启用): 由 create-agent-tui 搭建的 Timmy-TUI 项目通常包括 `src/tools/` 下的工具,例如文件读/写/编辑、glob、grep、list-dir 和 shell 执行。当代理决定使用工具时,TUI 会渲染工具调用和结果。
9) 添加或自定义工具: 编辑 `src/tools/index.ts` 以注册工具,并按照 `@openrouter/agent/tool` 模式在 `src/tools/` 中添加新的工具文件。重启应用程序以加载更改。
10) 自定义终端 UI: 在搭建的 UI 模块(通常是 `src/renderer.ts` 和相关文件)中调整渲染和显示行为。该脚手架支持多种输入样式和工具显示模式;选择您喜欢的一种并调整格式。
11) 使用会话持久性: Timmy-TUI 脚手架通常通过 `src/session.ts` 将对话作为 JSONL 持久化。根据项目的 CLI/TUI 控件启动新会话或恢复先前会话;在配置的存储位置验证保存的会话文件。
12) 排除模型/配置不匹配故障: 如果 UI 显示意外模型,请确认配置分层顺序(默认值 -> 文件 -> 环境变量)并确保您的模型标识符与 OpenRouter 预期的格式匹配。重新检查 `OPENROUTER_API_KEY` 是否已加载到用于启动 TUI 的环境中。
Timmy-TUI 常见问题
Timmy-TUI 是 OpenRouter Skills 生态系统中的一种终端用户界面 (TUI) 脚手架方法,它允许 AI 编码代理生成一个完整、可运行的 TypeScript 代理 TUI 项目——其精神类似于 create-react-app,但适用于基于终端的 AI 代理。











