tabby-ai-assistant 1.0.13 → 1.0.16

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (42) hide show
  1. package/.editorconfig +18 -0
  2. package/README.md +40 -10
  3. package/dist/index.js +1 -1
  4. package/package.json +5 -3
  5. package/src/components/chat/ai-sidebar.component.scss +220 -9
  6. package/src/components/chat/ai-sidebar.component.ts +379 -29
  7. package/src/components/chat/chat-input.component.ts +36 -4
  8. package/src/components/chat/chat-interface.component.ts +225 -5
  9. package/src/components/chat/chat-message.component.ts +6 -1
  10. package/src/components/settings/context-settings.component.ts +91 -91
  11. package/src/components/terminal/ai-toolbar-button.component.ts +4 -2
  12. package/src/components/terminal/command-suggestion.component.ts +148 -6
  13. package/src/index.ts +81 -19
  14. package/src/providers/tabby/ai-toolbar-button.provider.ts +7 -3
  15. package/src/services/chat/ai-sidebar.service.ts +448 -410
  16. package/src/services/chat/chat-session.service.ts +36 -12
  17. package/src/services/context/compaction.ts +110 -134
  18. package/src/services/context/manager.ts +27 -7
  19. package/src/services/context/memory.ts +17 -33
  20. package/src/services/context/summary.service.ts +136 -0
  21. package/src/services/core/ai-assistant.service.ts +1060 -37
  22. package/src/services/core/ai-provider-manager.service.ts +154 -25
  23. package/src/services/core/checkpoint.service.ts +218 -18
  24. package/src/services/core/toast.service.ts +106 -106
  25. package/src/services/providers/anthropic-provider.service.ts +126 -30
  26. package/src/services/providers/base-provider.service.ts +90 -7
  27. package/src/services/providers/glm-provider.service.ts +151 -38
  28. package/src/services/providers/minimax-provider.service.ts +55 -40
  29. package/src/services/providers/ollama-provider.service.ts +117 -28
  30. package/src/services/providers/openai-compatible.service.ts +164 -34
  31. package/src/services/providers/openai-provider.service.ts +169 -34
  32. package/src/services/providers/vllm-provider.service.ts +116 -28
  33. package/src/services/terminal/terminal-context.service.ts +265 -5
  34. package/src/services/terminal/terminal-manager.service.ts +845 -748
  35. package/src/services/terminal/terminal-tools.service.ts +612 -441
  36. package/src/types/ai.types.ts +156 -3
  37. package/src/utils/cost.utils.ts +249 -0
  38. package/src/utils/validation.utils.ts +306 -2
  39. package/dist/index.js.LICENSE.txt +0 -18
  40. package/src/services/terminal/command-analyzer.service.ts +0 -43
  41. package/src/services/terminal/context-menu.service.ts +0 -45
  42. package/src/services/terminal/hotkey.service.ts +0 -53
package/.editorconfig ADDED
@@ -0,0 +1,18 @@
1
+ root = true
2
+
3
+ [*]
4
+ charset = utf-8
5
+ end_of_line = lf
6
+ insert_final_newline = true
7
+ indent_style = space
8
+ indent_size = 4
9
+ trim_trailing_whitespace = true
10
+
11
+ [*.md]
12
+ trim_trailing_whitespace = false
13
+
14
+ [*.{json,yml,yaml}]
15
+ indent_size = 2
16
+
17
+ [*.{js,ts}]
18
+ quote_type = single
package/README.md CHANGED
@@ -10,6 +10,7 @@
10
10
  - **命令解释** - 详细解释命令含义和用法
11
11
  - **错误修复** - 自动分析错误并提供修复建议
12
12
  - **终端感知** - 实时感知终端状态
13
+ - **智能 Agent 工具调用循环** - 支持多轮工具自动调用,智能终止检测
13
14
 
14
15
  ### 安全特性
15
16
  - **多级风险评估** - 自动识别危险命令(低/中/高/极风险)
@@ -84,17 +85,37 @@ npm run build
84
85
  2. 在聊天框中输入问题
85
86
  3. AI将回答您的问题
86
87
 
87
- ### 命令生成
88
- 1. 在终端中输入自然语言描述
89
- 2. `Ctrl-Shift-G`
90
- 3. AI会生成对应的终端命令
91
- 4. 预览并确认后执行
92
-
93
- ### 命令解释
88
+ ### 快捷键
89
+
90
+ | 快捷键 | 功能 | 描述 |
91
+ |--------|------|------|
92
+ | `Ctrl+Shift+A` | 打开/关闭 AI 助手 | 切换侧边栏显示 |
93
+ | `Ctrl+Shift+G` | 生成/优化命令 | 根据选中文本或终端上下文生成命令 |
94
+ | `Ctrl+Shift+E` | 解释命令 | 详细解释选中或最近执行的命令 |
95
+
96
+ ### 命令生成 (Ctrl+Shift+G)
97
+ **方式一:选中文本**
98
+ 1. 选中终端中的文本或命令
99
+ 2. 按 `Ctrl+Shift+G`
100
+ 3. 侧边栏自动打开并填充提示
101
+ 4. AI 生成优化后的命令
102
+
103
+ **方式二:基于上下文**
104
+ 1. 无需选中文本
105
+ 2. 按 `Ctrl+Shift+G`
106
+ 3. AI 读取终端最近的历史和输出
107
+ 4. 生成适合当前场景的命令
108
+
109
+ ### 命令解释 (Ctrl+Shift+E)
110
+ **方式一:选中文本**
94
111
  1. 选中终端中的命令
95
- 2. 右键选择"用AI解释此命令"
96
- 3. 或按 `Ctrl-Shift-E`
97
- 4. 查看详细解释
112
+ 2. 按 `Ctrl+Shift+E`
113
+ 3. AI 详细解释命令各部分的含义
114
+
115
+ **方式二:解释历史命令**
116
+ 1. 无需选中文本
117
+ 2. 按 `Ctrl+Shift+E`
118
+ 3. AI 自动读取最近执行的命令并解释
98
119
 
99
120
  ### 错误修复
100
121
  1. 当命令执行失败时
@@ -201,6 +222,15 @@ npm run clean # 清理构建文件
201
222
  4. 在 `ai-provider-manager.service.ts` 注册提供商
202
223
 
203
224
  ### 重构记录
225
+ - **v1.0.15**: 智能 Agent 工具调用循环 & 快捷键功能
226
+ - **BUG 修复**: 修复 RxJS async complete 回调问题导致的工具调用循环中断
227
+ - **新增功能**: 完整 Agent 多轮工具调用循环
228
+ - **新增功能**: 智能终止检测器(6种终止条件:task_complete、no_tools、summarizing、repeated_tool、high_failure_rate、timeout)
229
+ - **新增功能**: `task_complete` 工具让 AI 主动结束任务
230
+ - **新增功能**: 快捷键 `Ctrl+Shift+G` 命令生成、`Ctrl+Shift+E` 命令解释
231
+ - **性能优化**: 正则表达式预编译、添加未完成/总结暗示检测
232
+ - **新增类型**: `MessageRole.TOOL`、`TerminationReason`、`AgentState` 等
233
+
204
234
  - **v1.0.12**: 代码去重、类型优化、配置统一化
205
235
  - 移除7个提供商中约800行重复代码
206
236
  - `BaseAiProvider` 从抽象类改为接口 + 抽象类实现