# 欢迎来到 Intelligent Terminal 代码库
目录
- [什么是 Intelligent Terminal?](#what-is-intelligent-terminal)
- [安装并运行 Intelligent Terminal](#installing-and-running-intelligent-terminal)
- [Microsoft Store](#microsoft-store-recommended)
- [WinGet](#winget)
- [下载](#downloads)
- [入门指南](#get-started)
- [键盘快捷键](#keyboard-shortcuts)
- [配置](#configuration)
- [功能](#features)
- [Agent 状态栏](#agent-status-bar)
- [Agent 面板](#agent-pane)
- [Agent 管理](#agent-management)
- [错误检测](#error-detection)
- [命令面板](#command-palette)
- [数据与隐私](#data--privacy)
- [构建代码](#building-the-code)
- [常见问题](./doc/faq.md)
- [反馈](#feedback)
- [贡献](#contributing)
- [行为准则](#code-of-conduct)
- [安全性](#security)
- [商标](#trademarks)
## 什么是 Intelligent Terminal?
Intelligent Terminal 是 [Windows Terminal](https://github.com/microsoft/terminal) 的一个实验性分支,内置了原生的 agent 集成。
Intelligent Terminal 可以与任何兼容 [Agent Client Protocol (ACP)](https://agentclientprotocol.com/get-started/agents) 的 agent CLI 配合使用。您只需在 PC 上安装您首选的 agent CLI。如果您没有偏好的 agent,我们将协助您安装并设置 [GitHub Copilot CLI](https://github.com/features/copilot/cli/)。
Intelligent Terminal 包含了您在 Windows Terminal 中喜爱的所有功能,例如:标签页、配置文件、主题、设置、shell 和键盘快捷键,并且它们都按您期望的方式工作。
请阅读[公告博客文章](https://devblogs.microsoft.com/commandline/announcing-intelligent-terminal-version-0-1/)了解更多详情。
## 安装并运行 Intelligent Terminal
### Microsoft Store(推荐)
从 [Microsoft Store 安装 Intelligent Terminal](https://apps.microsoft.com/detail/9NMQC2SSJX24)。
这能让您在我们发布新版本时,始终通过自动升级保持最新版本。
### WinGet
[winget](https://github.com/microsoft/winget-cli) 用户可以通过安装 `Microsoft.IntelligentTerminal` 包来下载并安装最新的 Intelligent Terminal 版本:
```
winget install --id Microsoft.IntelligentTerminal -e
```
## 入门指南
1. 在首次启动时,选择您的 agent。Intelligent Terminal 会自动检测您机器上的多个兼容 [ACP](https://agentclientprotocol.com/get-started/agents) 的 agent CLI(Copilot/Claude/Codex/Gemini)。如果未找到任何程序,它将默认使用 GitHub Copilot CLI 并通过 WinGet 为您安装。
2. 如果您尚未进行身份验证,agent 面板将引导您完成登录。
3. 开始提问并使用 agent 面板获取帮助。该 agent 能感知您的 shell 输出上下文,无需复制粘贴。
## 键盘快捷键
所有快捷键均可通过 Intelligent Terminal 设置进行自定义。
| 快捷键 | 操作 |
|----------|--------|
|
Ctrl+Shift+. | 切换 agent 面板 |
|
Ctrl+Shift+I | 将焦点切换至/出 agent 面板 |
|
Ctrl+Alt+. | 打开带有错误上下文的 agent 面板 |
|
Ctrl+Shift+/ | 打开 agent 管理 |
|
Alt+Shift+/ | 以 prompt 模式打开命令面板 |
|
Alt+Shift+B | 打开一个没有启动提示的交互式 delegate-agent 标签页 |
## 配置
所有配置都可以通过 Intelligent Terminal 设置中的“Agent”设置进行。
| 设置 | 选项 |
|---------|---------|
| Agent 和模型 | GitHub Copilot(默认),或任何兼容 ACP 的 agent CLI,包括自定义或本地 agent。可为 agent 面板和命令面板分别进行配置。每个 agent 面板也可以通过 `/model` 随时更改其模型;在此处更改全局设置将覆盖所有面板。 |
| 面板位置 | 顶部、底部(默认)、左侧、右侧 |
| 错误检测 | 允许 Intelligent Terminal 自动检测命令失败 |
| 错误建议 | 允许 Intelligent Terminal 自动将检测到的错误发送给 agent 以获取修复建议 |
| Agent 会话跟踪(hooks) | 允许 Intelligent Terminal 在会话管理 UI 中跟踪活动 agent 会话及其状态 |
## 功能
### Agent 状态栏
Agent 状态栏位于窗口底部,可让您快速访问所有与 agent 相关的功能。左侧是:agent 面板切换(快捷键:
Ctrl+Shift+.)和错误检测图标(快捷键:
Ctrl+Alt+.),该图标在检测到可修复的错误时会亮起。右侧是:agent 管理图标(快捷键:
Ctrl+Shift+/),用于打开您的会话管理面板。这是一个持久且极简的控制界面,让您只需点击一次即可访问您的 agent。
### Agent 面板
一个具有上下文感知能力、可停靠的面板,内含您选择的 agent CLI。该面板能感知您所有 shell(PowerShell、Bash/WSL)中的 shell 输出上下文。使用
Ctrl+Shift+. 切换显示,使用
Ctrl+Shift+I 切换焦点。如果 agent 需要执行多个或复杂的任务,它会在新标签页中启动后台任务,从而保持您当前 shell 的专注度。
当您有多个活动面板时,您的 agent “聚焦”的面板上会出现一个小的“Agent”指示器。
#### 斜杠命令
在 agent 面板内,输入 `/` 可查看可用命令。随时输入 `/help` 即可显示列表。
| 命令 | 描述 |
|---------|-------------|
| `/help` | 显示命令列表 |
| `/clear` | 清除聊天滚动记录(保留当前会话) |
| `/new` | 启动一个新的 agent 会话(丢弃历史记录) |
| `/fix [提示]` | 诊断当前活动终端并建议修复;可添加可选的提示来引导它(例如 `/fix the path looks wrong`) |
| `/restart` | 使用干净的会话重启 agent |
| `/stop` | 取消正在进行的 prompt |
| `/sessions` | 打开 agent 管理(等同于
Ctrl+Shift+/) |
| `/model [id]` | 为此面板选择模型;单独的 `/model` 会打开选择器,`/model
` 则直接切换 |
### Agent 管理
查看所有活动的 agent、它们的状态以及过往的会话。从您上次中断的地方继续工作流,或检查长时间运行的任务。点击状态栏中的 agent 管理图标或按 Ctrl+Shift+/ 将其打开。
### 错误检测
当命令失败时,agent 状态栏中会出现一个指示器。点击它或按 Ctrl+Alt+. 可打开 agent 面板,并已加载好错误上下文。该 agent 可以解释发生了什么,并建议或执行修复。配置您的设置以实现仅自动检测错误,或同时自动建议修复方案。您也可以随时在 agent 面板中使用 `/fix` 斜杠命令触发修复。
### 命令面板
在命令面板中输入 `?` 并加上您的 prompt 即可启动一个 agent 任务。Intelligent Terminal 会注入当前活动面板的上下文,并在后台标签页中启动 agent。使用 Alt+Shift+/ 可直接进入 prompt 模式。
## 数据与隐私
Intelligent Terminal 是一个**本地传输层**。它通过 stdio/ACP 将您的 prompt 和 shell 上下文传递给您选择的 agent CLI。Intelligent Terminal 本身不会调用任何云 API,也不会持久化保存对话历史,但是,可能会将诊断日志写入磁盘,并可能发送遥测数据,如下所述。
### 通过 Terminal 流动的数据
- 您的 prompt(您在 agent 面板或命令面板中输入的内容)
- Shell 输出上下文(与 agent 共享的近期命令输出,用于提供上下文)
- 基本的环境元数据(shell 类型、操作系统版本)
所有这些内容仅保存在当前活动会话的内存中,并在会话结束时丢弃。
### 您的数据去向取决于您的 agent CLI
| Agent CLI | 数据路由 | 条款 |
|-----------|--------------|-------|
| [GitHub Copilot](https://github.com/features/copilot/cli/)(默认) | GitHub 后端 | [GitHub Copilot 信任中心](https://resources.github.com/copilot-trust-center/)。企业版保护(例如零数据保留)适用于符合条件的套餐。 |
| 第三方或自定义的 agent CLI | 由 agent 供应商决定 | 受该供应商条款管辖,不适用 Microsoft 或 GitHub 的协议。 |
### 控制选项
- 随时在“设置”>“Agent”中选择您的 agent CLI
- 禁用自动错误检测,以防止自动检测您的 shell 输出
- 在您的 shell 中代表您运行命令之前,Intelligent Terminal 始终会先询问您
Intelligent Terminal 仅收集使用数据并将其发送给 Microsoft,以帮助改进我们的产品和服务。阅读我们的[隐私声明](https://go.microsoft.com/fwlink/?LinkID=824704)了解更多信息。有关如何禁用遥测的详细信息和说明,请参阅 [PRIVACY.md](./PRIVACY.md)。
### 数据收集
本软件可能会收集有关您以及您如何使用本软件的信息,并将其发送给 Microsoft。Microsoft 可能会使用这些信息来提供服务并改进我们的产品和服务。您可以按照代码库中的说明关闭遥测。本软件中的某些功能还可能允许您和 Microsoft 从您的应用程序用户那里收集数据。如果您使用这些功能,您必须遵守适用法律,包括向您的应用程序用户提供适当的通知以及 Microsoft 隐私声明的副本。我们的隐私声明位于 https://go.microsoft.com/fwlink/?LinkID=824704。您可以在帮助文档和我们的隐私声明中了解有关数据收集和使用的更多信息。您对本软件的使用即表示您同意这些做法。
## 构建代码
构建 Intelligent Terminal 与构建 Windows Terminal 相同。有关前置条件、构建说明和调试步骤,请参阅 Windows Terminal README 中的[开发者指南](https://github.com/microsoft/terminal#developer-guidance)部分。
## 反馈
Intelligent Terminal 目前处于实验阶段。如果您有功能请求或发现 bug,请在 GitHub 代码库中[提交 issue](https://github.com/microsoft/intelligent-terminal/issues)。
### 收集日志
为了帮助我们调查 bug,请在提交 issue 时收集并附上诊断日志:
1. 使用 Ctrl+Shift+P 打开命令面板
2. 搜索 **Report a bug (collect logs)**
3. 将生成一个包含您错误日志的 ZIP 文件,并在文件资源管理器中打开它
4. 将该 ZIP 文件作为附件添加到您的 issue 中,以便我们能在完整上下文中进行调查
## 行为准则
本项目采用了 [Microsoft 开源行为准则](https://opensource.microsoft.com/codeofconduct/)。有关更多信息,请参阅[行为准则常见问题解答](https://opensource.microsoft.com/codeofconduct/faq/),如果有任何其他问题或评论,请联系 [opencode@microsoft.com](mailto:opencode@microsoft.com)。
## 安全性
如果您认为您在此代码库中发现了一个安全漏洞,请按照 [SECURITY.md](./SECURITY.md) 中的说明进行报告。
## 商标