Create Agent TUI
一个给 AI coding agent 用的技能,可以一键搭出完整的 TypeScript TUI 项目——就像 create-react-app,但搭的是 Terminal Agent。告诉你的 coding agent 你想要什么样的 agent,它就生成一个可运行的项目,内置可定制的终端界面、工具集和配置。
核心定位
这个 TUI 不重新实现 Agent loop——它依赖 @openrouter/agent SDK 处理:
- 模型调用:
client.callModel(),支持 OpenRouter 上任何模型 - 工具执行:用
tool()+ Zod schema 定义工具,SDK 自动校验输入并调用你的execute函数 - 多轮循环:SDK 自动循环(调模型 → 执行工具 → 调模型),直到触发停止条件
- 流式输出:
result.getTextStream()输出文本增量,result.getToolCallsStream()输出工具调用流 - 成本追踪:
result.getResponse().usage含 input/output token 计数
TUI 负责 loop 以外的所有东西:配置、工具定义、session 持久化、入口(CLI 或 API server),以及从交互清单里选出来的各种模块。
可定制的内容
服务端工具(OpenRouter 执行,零客户端代码)
| 工具 | 默认 | 功能 |
|---|---|---|
| Web Search | 开 | 通过 openrouter:web_search 实时搜索 |
| Datetime | 开 | 通过 openrouter:datetime 获取当前日期/时间 |
| Image Generation | 关 | 通过 openrouter:image_generation 生成图片 |
用户定义工具(本地执行)
| 工具 | 默认 | 功能 |
|---|---|---|
| File Read | 开 | 带 offset/limit 读文件,检测图片 |
| File Write | 开 | 创建/覆写文件,自动创建目录 |
| File Edit | 开 | 搜索替换,带 diff 输出 |
| Glob/Find | 开 | 按模式查找文件 |
| Grep/Search | 开 | 按正则搜索文件内容 |
| Directory List | 开 | 列出目录内容 |
| Shell/Bash | 开 | 执行命令,带超时 |
| JS REPL | 关 | 持久化 Node.js 环境 |
| Sub-agent Spawn | 关 | 派生子 Agent 委托任务 |
| Plan/Todo | 关 | 跟踪多步骤任务进度 |
| Request User Input | 关 | 问结构化问题 |
| Web Fetch | 关 | 抓取并提取 URL 文本 |
| View Image | 关 | 将本地图片读为 base64 |
| Custom Tool Template | 开 | 自定义领域的空工具模板 |
Harness 模块(架构组件)
| 模块 | 默认 | 功能 |
|---|---|---|
| Session Persistence | 开 | JSONL 追加式对话日志 |
| Context Compaction | 关 | context 过长时压缩旧消息 |
| System Prompt Composition | 关 | 从静态+动态 context 文件构建指令 |
| Tool Permissions | 关 | 危险工具需用户审批 |
| Structured Logging | 关 | 发出 tool calls、API 请求、错误事件 |
终端 UI 样式
工具展示
- Emoji:每个工具调用带 emoji 标记,含工具名、参数、耗时
- Grouped(默认):粗体操作标签 + 树状输出,连续同类调用合并
- Minimal:聚合单行摘要,恢复文字时刷新
- Hidden:完全抑制工具输出
输入框样式
- Block(默认):自适应终端配色的全宽输入框
- Bordered:上下横线框架,兼容任何终端
- Plain:简单
>提示符,无转义序列
加载动画
- Spinner(默认):盲文点动画
- Gradient:文字上滚动颜色光晕
- Minimal:尾部省略号
快速启动
gh skill install OpenRouterTeam/skills create-agent-tui
然后告诉你的 agent 去构建一个 agent TUI——它会自动使用这个技能。
信源:https://github.com/OpenRouterTeam/skills/tree/main/skills/create-agent-tui