AI 助手
NyaTerm 内置 AI 助手面板,可以从终端上下文、选中文本、文件操作或手动输入发起请求。它支持两种工作模式:Ask 和 Agent。
工作模式
Ask 模式
Ask 是默认模式,处理单次问答:
- 生成命令
- 解释终端输出
- 分析错误
- 从选中文本推导修复命令
AI 返回的命令以结构化卡片展示,带有风险等级标注。
Agent 模式
Agent 模式允许 AI 自主执行多步操作。它使 用 ReAct 循环:观察终端输出 → 决定下一步命令 → 执行 → 再次观察,直到任务完成或达到步数上限。
Agent 模式的特点:
- 需要一个活跃的终端会话
- 每一步命令都会显示执行状态(运行中、已完成、失败、超时、需要审批、被安全策略阻止)
- 可在 设置 → AI → Agent Settings 中配置最大步数和单步超时
- 可通过
Terminal Output Lines控制 AI 执行命令时在终端中内联展示多少行输出 - 高风险命令仍然需要人工审批后才能执行
Agent 工具、计划与询问
Native Agent 与外部 MCP 共用能力契约、scope、风险评估、审批、输出分页与脱敏审计。Native 无需启动 MCP 服务或 helper;Claude/Codex 仍仅通过 MCP 使用能力。
Native 可查询环境与目标会话、执行终端命令、读取最近输出,使用 SFTP 列目录、查询属性和读取文本,并读取工具输出的后续分页。本阶段没有 SFTP 写工具。任务开始时固定可用目标,多目标调用必须明确选择目标。
多步骤任务可建立计划,使用稳定任务 ID 更新待办、进行中、完成或受阻状态;同时最多一个任务进行中。简单任务可直接完成。需要补充信息时,Agent 可提出 1–3 个问题,提供单选项或自由文本输入。答案不会自动提交;提交后在原 run 继续,取消则结束任务。切换会话保留等待状态。
每次工具决策(包括计划和询问)消耗一次 step 配额。达到上限后只能总结;等待审批或回答期间不计命令超时。最 终回答明确标注已验证、未验证或受阻及验证说明,未完成的计划不能标记为已验证。
前台执行保留终端捕获,后台执行保留独立后端。quiet observation 的未知退出码、超时和输出丢失会明确呈现,不能当作成功退出。大输出按 run 或 MCP 连接隔离分页,结束任务、关闭连接或凭据失效时清理。
Run、计划和工具 transcript 仅保存在内存中,聊天历史保存展示文本,不恢复执行。设置、历史、审计和 MCP 协议格式保持兼容;能力审计不保存命令、输出、文件内容或用户回答。
会话管理
AI 助手支持多会话管理:
- 新建对话:每次新建对话会创建独立的上下文
- 历史记录:按时间分组(今天、昨天、最近 7 天、更早)浏览历史对话
- 搜索历史:模糊搜索历史对话内容
- 删除会话:清理不需要的历史记录
会话提及
在输入框中输入 @ 可以提及其他终端会话,将它们的上下文引入当前 AI 对话。这在需要跨会话分析或对比时很有用。
命令卡片与风险控制
AI 返回的命令以结构化卡片展示,包含:
- 命令文本
- 风险等级(低风险 / 中风险 / 高风险 / 极高风险)
- 执行按钮或审批按钮
- 保存为快捷命令的选项
风险等级怎么定
一条命令的风险等级不是模型单方面说了算。NyaTerm 会取模型自报等级和本地规则判定中较高的一个作为生效等级,所以模型低估风险时本地规则仍会拦住它。命令卡片显示生效风险。
本地规则按四档划分,判定依据是命令的具体形态而不是命令名:
| 等级 | 命中示例 |
|---|---|
| 极高风险 | rm -rf /、mkfs、wipefs、写块设备的 dd、fork bomb、shutdown / reboot / poweroff、停止 sshd |
| 高风险 | 任何 sudo 开头的命令、rm -r / rm -f、chmod -R / chown -R、包管理器安装卸载、docker rm / system prune、kubectl delete / drain / apply、git reset --hard |
| 中风险 | 裸 chmod / chown、重定向 > / >>、cp / mv / mkdir / touch、git pull / merge、npm run;未命中任何规则的命令也按中风险处理 |
| 低风险 | ls、cat、ps、df、docker ps、kubectl get、git status 等只读诊断命令 |
注意分档看的是命令形态:裸 chmod / chown 是中风险,带 -R 递归标志才升为高风险;rm -rf / 是极高风险,而 rm -rf ./build 是高风险。
你手动输入命令时也会走这套规则,见 终端功能 → 命令风险评估。
命令执行策略
生效等级决定命令能不能直接跑,取决于 设置 → AI → Agent Settings 里的 命令执行策略:
| 策略 | 行为 |
|---|---|
| 执行前确认 | 每条命令执行前都需要你确认 |
| 全自动 | 普通及敏感读取自动允许;仅分类明确且风险低于高风险的命令自动执行 |
| 智能放行 | 在全自动规则上进一步按 智能模式自动执行上限 收紧 |
所有 Native 模式下,未知或无法明确分类的命令以及高风险、极高风险命令均需审批。执行前确认模式对每条命令仅提供逐次批准;其他会话授权限定当前 run、目标、工具及相同参数。极高风险和破坏性操作始终逐次审批,不能由会话授权覆盖。审批后还会重新检查 scope、会话状态及执行禁用设置。
设置 → AI 中还可以配置:
- 智能模式自动执行上限
- 是否开启命令风险检查
- 是否允许把生成命令保存为快捷命令
安全替代建议
当命令被判为高风险时,AI 可能会同时提供更安全的替代命令供选择。
最近输出与终端内联输出
AI 助手不仅能处理选中文本,也可以直接围绕“刚刚发生了什么”来工作。
- 在终端右键菜单中使用 解释最近输出,可以把当前会话最近的终端输出直接发送给 AI
- 在 Agent 模式下,AI 执行命令时会捕获命令执行事件,并把摘要后的输出以内联片段形式反馈到终端工作流附近
Terminal Output Lines决定这类终端内联反馈最多展示多少行;设为0则关闭
推理内容
如果使用的模型支持推理通道(如 DeepSeek R1、QwQ 等),AI 助手会在回复中展示推理过程。推理内容默认折叠,可以展开查看 AI 的思考链路。
Provider 与模型配置
在 设置 → AI 中管理 provider 和模型:
Provider 配置
- 支持内置 provider(OpenAI、Anthropic、Google、DeepSeek 等)
- 支持自定义 OpenAI Compatible provider
- 每个 provider 需要配置 API Key 和可选的 Base URL
模型管理
- 从 provider 拉取可用模型列表
- 手动添加 provider 未自动返回的模型
- 按 provider 与凭据分组显示
- 可单独启用 / 禁用每个模型
- 选择默认模型
其他设置
- 上下文行数:发送给 AI 的终端输出行数上限
- 请求超时:单次 AI 请求的超时时间
- 记录历史:是否保存 AI 对话历史
- 敏感信息脱敏:发送前对敏感内容做处理
从终端和文件浏览器唤起
AI 助手不只能从面板手动输入,还可以从以下入口唤起:
终端右键菜单
- 解释最近输出:将当前会话最近的终端输出发送给 AI
- 解释选中内容:对选中的日志、报错或片段做解释
- 分析错误:把错误上下文交给 AI 生成修复建议
- 修复选中内容:从选中报错推导下一步命令
- 生成命令:告诉 AI 你想完成什么
文件浏览器右键菜单
对 SFTP 文件浏览器中的文件,可以通过右键菜单将文件内容发送给 AI 进行分析(受文件大小限制,可在设置中调整上限)。
错误自动检测
当终端输出中检测到错误模式时,AI 助手会提示可以自动分析该错误。