tabby-terminal-agent
v0.1.0
Published
Safety-focused AI terminal agent for Tabby with multi-session permissions and OpenAI Responses API support
Maintainers
Readme
Tabby Terminal Agent
一个运行在 Tabby 中的 AI 终端助手。它提供侧边栏对话界面,可以读取已授权终端的输出,并在用户审批后执行命令。
[!WARNING] 插件会在真实终端中执行模型生成的命令,不是沙箱。请检查待执行命令,并优先在低权限、可恢复的环境中使用。
项目目前处于早期预览阶段,尚无自动化测试,仅建议愿意检查命令内容的用户试用。
功能
- 支持 OpenAI Chat Completions 和 Responses API;
- 支持自定义 OpenAI 兼容服务、模型和 API Key;
- 支持本机、局域网和远程模型服务;
- 可选择允许 AI 访问的一个或多个 Tabby 终端;
- 支持命令风险分类、人工审批、低风险自动批准和危险命令拦截;
- 支持 POSIX shell、fish、PowerShell 和 Windows cmd;
- 支持命令输出捕获、退出码、取消和超时处理。
安装
发布后可以直接在 Tabby 的 Settings → Plugins 中搜索 tabby-terminal-agent 并安装。
也可以从源码安装:
需要 Tabby 1.0.x、Node.js 18 或更高版本以及 npm。
git clone https://github.com/maotentai/tabby-terminal-agent.git
cd tabby-terminal-agent
npm ci
npm run build在 Tabby 中打开 Settings → Plugins → Open Plugins Directory,然后在插件目录的 node_modules 中创建指向本项目的符号链接。
macOS/Linux 示例:
mkdir -p "/path/to/tabby/plugins/node_modules"
ln -s "/absolute/path/to/tabby-terminal-agent" \
"/path/to/tabby/plugins/node_modules/tabby-terminal-agent"Windows 示例:
mklink /D "C:\path\to\tabby\plugins\node_modules\tabby-terminal-agent" "C:\absolute\path\to\tabby-terminal-agent"创建链接后完全退出并重新启动 Tabby。
开发时也可以通过环境变量加载:
TABBY_PLUGINS="$PWD" tabby --debug配置
重启后进入 Settings → AI:
- 设置 API Base URL;
- 选择 API Key 来源并填写模型名称;
- 选择 Chat Completions 或 Responses API;
- 配置 shell 类型、命令审批规则和超时时间;
- 保存设置。
默认从 OPENAI_API_KEY 环境变量读取 Key,也可以保存在 Tabby 配置中。从桌面图标启动的 Tabby 不一定继承交互式 shell 的环境变量。
隐私与安全
对话、工具结果、终端输出以及经确认读取的终端缓冲区会发送到你配置的模型服务。终端内容可能包含源码、路径、日志或凭据,请只连接可信服务。
远程服务建议使用 HTTPS。局域网 HTTP 地址可以使用,但 API Key 和终端数据可能被网络中的其他设备截获。
命令分类基于规则,可能出现误判;自动批准不应被视为安全边界。交互式、全屏或长期运行程序也可能影响命令完成检测。
发现命令审批绕过、凭据泄漏或未授权执行等安全问题时,请优先使用 GitHub 仓库的私密漏洞报告,不要在公开 Issue 中粘贴密钥或完整终端历史。
开发
npm ci
npm audit --omit=dev --audit-level=moderate
npm run build监听源码变化:
npm run watchIssue 和 Pull Request 都欢迎。提交前请确保构建通过,并删除日志、截图和示例中的真实凭据。
