tianxincode 1.0.2 → 1.0.3
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.
- package/README.md +164 -21
- package/dist/api/chat.routes.js +2 -2
- package/dist/api/chat.routes.js.map +1 -1
- package/dist/modules/ai/ai.service.d.ts.map +1 -1
- package/dist/modules/ai/ai.service.js +0 -1
- package/dist/modules/ai/ai.service.js.map +1 -1
- package/dist/modules/ai/openai.provider.d.ts +2 -124
- package/dist/modules/ai/openai.provider.d.ts.map +1 -1
- package/dist/modules/ai/openai.provider.js +42 -212
- package/dist/modules/ai/openai.provider.js.map +1 -1
- package/dist/modules/ai/react/react.parser.d.ts +6 -5
- package/dist/modules/ai/react/react.parser.d.ts.map +1 -1
- package/dist/modules/ai/react/react.parser.js +56 -45
- package/dist/modules/ai/react/react.parser.js.map +1 -1
- package/dist/modules/ai/react/react.prompts.d.ts.map +1 -1
- package/dist/modules/ai/react/react.prompts.js +0 -16
- package/dist/modules/ai/react/react.prompts.js.map +1 -1
- package/dist/modules/ai/react.agent.d.ts +41 -0
- package/dist/modules/ai/react.agent.d.ts.map +1 -1
- package/dist/modules/ai/react.agent.js +51 -1
- package/dist/modules/ai/react.agent.js.map +1 -1
- package/dist/modules/tools/builtin/edit_file.d.ts.map +1 -1
- package/dist/modules/tools/builtin/edit_file.js +43 -8
- package/dist/modules/tools/builtin/edit_file.js.map +1 -1
- package/dist/modules/tools/builtin/edit_file.txt +1 -0
- package/dist/modules/tools/builtin/read_file.d.ts.map +1 -1
- package/dist/modules/tools/builtin/read_file.js +10 -3
- package/dist/modules/tools/builtin/read_file.js.map +1 -1
- package/dist/modules/tools/builtin/write_file.d.ts.map +1 -1
- package/dist/modules/tools/builtin/write_file.js +15 -1
- package/dist/modules/tools/builtin/write_file.js.map +1 -1
- package/dist/modules/tools/builtin/write_file.txt +1 -0
- package/dist/modules/tools/tool.service.d.ts.map +1 -1
- package/dist/modules/tools/tool.service.js +3 -0
- package/dist/modules/tools/tool.service.js.map +1 -1
- package/package.json +9 -6
package/README.md
CHANGED
|
@@ -1,57 +1,200 @@
|
|
|
1
1
|
# txcode
|
|
2
2
|
|
|
3
|
-
AI Coding Assistant -
|
|
3
|
+
AI Coding Assistant - 一个强大的 AI 编程助手命令行工具。
|
|
4
4
|
|
|
5
5
|
## 安装
|
|
6
6
|
|
|
7
|
+
### 全局安装(推荐)
|
|
8
|
+
|
|
7
9
|
```bash
|
|
8
|
-
npm install
|
|
10
|
+
npm install -g tianxincode
|
|
9
11
|
```
|
|
10
12
|
|
|
11
|
-
|
|
13
|
+
安装完成后,您可以在任何目录下使用 `txcode` 命令。
|
|
14
|
+
|
|
15
|
+
### 使用 npx(无需安装)
|
|
12
16
|
|
|
13
17
|
```bash
|
|
14
|
-
|
|
15
|
-
|
|
18
|
+
npx tianxincode
|
|
19
|
+
```
|
|
16
20
|
|
|
17
|
-
|
|
18
|
-
|
|
21
|
+
## 快速开始
|
|
22
|
+
|
|
23
|
+
安装完成后,直接在终端中运行:
|
|
24
|
+
|
|
25
|
+
```bash
|
|
26
|
+
txcode
|
|
19
27
|
```
|
|
20
28
|
|
|
21
|
-
|
|
29
|
+
工具会自动启动交互式命令行界面,您可以开始与 AI 助手对话。
|
|
30
|
+
|
|
31
|
+
## 基本用法
|
|
32
|
+
|
|
33
|
+
### 启动交互模式(默认)
|
|
22
34
|
|
|
23
35
|
```bash
|
|
24
|
-
|
|
25
|
-
|
|
36
|
+
txcode
|
|
37
|
+
```
|
|
26
38
|
|
|
27
|
-
|
|
28
|
-
|
|
39
|
+
或者明确指定:
|
|
40
|
+
|
|
41
|
+
```bash
|
|
42
|
+
txcode chat
|
|
29
43
|
```
|
|
30
44
|
|
|
31
|
-
|
|
45
|
+
### 启动 Web 界面
|
|
32
46
|
|
|
33
|
-
|
|
47
|
+
```bash
|
|
48
|
+
txcode web
|
|
49
|
+
```
|
|
50
|
+
|
|
51
|
+
### 指定 Web 服务端口
|
|
34
52
|
|
|
35
53
|
```bash
|
|
36
|
-
|
|
54
|
+
txcode web --port 40001
|
|
37
55
|
```
|
|
38
56
|
|
|
39
|
-
|
|
57
|
+
### 获取帮助(在交互模式中)
|
|
58
|
+
|
|
59
|
+
启动交互模式后,输入 `/help` 查看可用命令。
|
|
60
|
+
|
|
61
|
+
## 功能特性
|
|
62
|
+
|
|
63
|
+
- **交互式命令行界面**:直接在终端中与 AI 助手对话
|
|
64
|
+
- **代码智能分析**:支持代码搜索、文件操作、Git 集成等功能
|
|
65
|
+
- **项目记忆管理**:自动记录项目关键信息,快速定位代码
|
|
66
|
+
- **多工具支持**:内置文件操作、代码搜索、网络搜索等工具
|
|
67
|
+
- **Web 界面**:提供图形化操作界面(可选)
|
|
68
|
+
|
|
69
|
+
## 使用示例
|
|
70
|
+
|
|
71
|
+
### 1. 启动交互模式
|
|
40
72
|
|
|
41
73
|
```bash
|
|
42
|
-
|
|
74
|
+
# 启动交互式命令行界面
|
|
43
75
|
txcode
|
|
76
|
+
|
|
77
|
+
# 启动后,您可以输入自然语言指令,例如:
|
|
78
|
+
> 搜索所有包含 "function" 的 TypeScript 文件
|
|
79
|
+
> 读取 src/index.ts 文件
|
|
80
|
+
> 查看当前 Git 状态
|
|
44
81
|
```
|
|
45
82
|
|
|
83
|
+
### 2. 使用 Web 界面
|
|
84
|
+
|
|
85
|
+
```bash
|
|
86
|
+
# 启动 Web 服务(默认端口 40000)
|
|
87
|
+
txcode web
|
|
88
|
+
|
|
89
|
+
# 指定端口启动
|
|
90
|
+
txcode web --port 40001
|
|
91
|
+
```
|
|
92
|
+
|
|
93
|
+
### 3. 交互式命令
|
|
94
|
+
|
|
95
|
+
在交互模式中,可以使用以下命令:
|
|
96
|
+
|
|
97
|
+
```
|
|
98
|
+
/help - 显示帮助信息
|
|
99
|
+
/new [标题] - 创建新会话
|
|
100
|
+
/sessions - 列出所有会话
|
|
101
|
+
/switch <ID> - 切换到指定会话
|
|
102
|
+
/models - 列出可用模型
|
|
103
|
+
/model <ID> - 切换模型
|
|
104
|
+
/skills - 列出可用技能
|
|
105
|
+
/use <技能名> - 使用特定技能
|
|
106
|
+
/token - 显示 Token 使用统计
|
|
107
|
+
/exit - 退出程序
|
|
108
|
+
```
|
|
109
|
+
|
|
110
|
+
### 4. 常见任务示例
|
|
111
|
+
|
|
112
|
+
```
|
|
113
|
+
# 代码搜索和分析
|
|
114
|
+
> 查找所有使用 useState 的 React 组件
|
|
115
|
+
> 分析项目的目录结构
|
|
116
|
+
> 搜索包含特定错误信息的文件
|
|
117
|
+
|
|
118
|
+
# 文件操作
|
|
119
|
+
> 创建新的组件文件
|
|
120
|
+
> 修改现有代码
|
|
121
|
+
> 批量重命名文件
|
|
122
|
+
|
|
123
|
+
# Git 操作
|
|
124
|
+
> 查看最近的提交
|
|
125
|
+
> 创建新的分支
|
|
126
|
+
> 提交当前更改
|
|
127
|
+
```
|
|
128
|
+
|
|
129
|
+
## 配置说明
|
|
130
|
+
|
|
131
|
+
### 环境变量
|
|
132
|
+
|
|
133
|
+
工具支持以下环境变量:
|
|
134
|
+
|
|
135
|
+
- `OPENAI_API_KEY`:OpenAI API 密钥(必需)
|
|
136
|
+
- `TXCODE_WORKSPACE`:工作空间目录路径(可选)
|
|
137
|
+
|
|
138
|
+
### 配置文件
|
|
139
|
+
|
|
140
|
+
工具会在工作目录下创建 `.txcode` 文件夹,用于存储:
|
|
141
|
+
- 项目记忆文件
|
|
142
|
+
- 会话历史
|
|
143
|
+
- 配置文件
|
|
144
|
+
|
|
46
145
|
## 项目结构
|
|
47
146
|
|
|
48
147
|
```
|
|
49
|
-
├── src/ #
|
|
148
|
+
├── src/ # 源代码目录
|
|
149
|
+
│ ├── index.ts # 主入口文件
|
|
150
|
+
│ ├── modules/ # 功能模块
|
|
151
|
+
│ └── types/ # 类型定义
|
|
152
|
+
├── dist/ # 构建输出目录
|
|
50
153
|
├── tests/ # 测试文件
|
|
51
|
-
|
|
52
|
-
|
|
154
|
+
└── package.json # 项目配置
|
|
155
|
+
```
|
|
156
|
+
|
|
157
|
+
## 开发说明
|
|
158
|
+
|
|
159
|
+
> **注意**:以下内容主要面向开发者,普通用户无需关注。
|
|
160
|
+
|
|
161
|
+
### 开发环境设置
|
|
162
|
+
|
|
163
|
+
```bash
|
|
164
|
+
# 克隆项目
|
|
165
|
+
git clone <repository-url>
|
|
166
|
+
cd txcode
|
|
167
|
+
|
|
168
|
+
# 安装依赖
|
|
169
|
+
npm install
|
|
170
|
+
|
|
171
|
+
# 开发模式运行
|
|
172
|
+
npm run dev
|
|
173
|
+
|
|
174
|
+
# 构建项目
|
|
175
|
+
npm run build
|
|
176
|
+
```
|
|
177
|
+
|
|
178
|
+
### 运行测试
|
|
179
|
+
|
|
180
|
+
```bash
|
|
181
|
+
# 运行测试
|
|
182
|
+
npm test
|
|
183
|
+
|
|
184
|
+
# 运行测试并生成覆盖率报告
|
|
185
|
+
npm run test:coverage
|
|
186
|
+
```
|
|
187
|
+
|
|
188
|
+
### 发布新版本
|
|
189
|
+
|
|
190
|
+
```bash
|
|
191
|
+
# 更新版本号
|
|
192
|
+
npm version patch # 或 minor, major
|
|
193
|
+
|
|
194
|
+
# 发布到 npm
|
|
195
|
+
npm publish
|
|
53
196
|
```
|
|
54
197
|
|
|
55
|
-
##
|
|
198
|
+
## 许可证
|
|
56
199
|
|
|
57
200
|
ISC
|
package/dist/api/chat.routes.js
CHANGED
|
@@ -225,7 +225,7 @@ chatRouter.post('/stream', async (req, res) => {
|
|
|
225
225
|
* - data: Message[] - 消息数组,包含所有历史消息
|
|
226
226
|
*/
|
|
227
227
|
import { reactParser } from '../modules/ai/react/react.parser.js';
|
|
228
|
-
chatRouter.get('/history/:sessionId', (req, res) => {
|
|
228
|
+
chatRouter.get('/history/:sessionId', async (req, res) => {
|
|
229
229
|
const sessionId = String(req.params.sessionId);
|
|
230
230
|
try {
|
|
231
231
|
const messages = memoryService.getAllMessages(sessionId);
|
|
@@ -240,7 +240,7 @@ chatRouter.get('/history/:sessionId', (req, res) => {
|
|
|
240
240
|
continue;
|
|
241
241
|
}
|
|
242
242
|
if (msg.role === 'assistant') {
|
|
243
|
-
const parsed = reactParser.parse(msg.content);
|
|
243
|
+
const parsed = await reactParser.parse(msg.content);
|
|
244
244
|
if (parsed.steps.length === 0) {
|
|
245
245
|
result.push({
|
|
246
246
|
type: 'step',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chat.routes.js","sourceRoot":"","sources":["../../src/api/chat.routes.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"chat.routes.js","sourceRoot":"","sources":["../../src/api/chat.routes.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ai.service.d.ts","sourceRoot":"","sources":["../../../src/modules/ai/ai.service.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,EAAE,aAAa,EAAyC,MAAM,6BAA6B,CAAC;AAGnG,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,YAAY,EAAc,MAAM,eAAe,CAAC;AACnF,OAAO,EAAE,WAAW,EAAqC,MAAM,0BAA0B,CAAC;AAC1F,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAC5D,OAAO,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAE/D,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAC3D,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAIrD;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,+BAA+B;IAC/B,aAAa,CAAC,EAAE,aAAa,CAAC;IAC9B,sBAAsB;IACtB,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B,oBAAoB;IACpB,aAAa,CAAC,EAAE,aAAa,CAAC;IAC9B,yBAAyB;IACzB,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC5B;AAED;;;;;;;;;;;;;;;GAeG;AACH,qBAAa,SAAS;IACpB,aAAa;IACb,OAAO,CAAC,aAAa,CAAgB;IACrC,aAAa;IACb,OAAO,CAAC,WAAW,CAAc;IACjC,aAAa;IACb,OAAO,CAAC,cAAc,CAAiB;IACvC,mBAAmB;IACnB,OAAO,CAAC,aAAa,CAAC,CAAgB;IACtC,6BAA6B;IAC7B,OAAO,CAAC,QAAQ,CAA+B;IAC/C,yBAAyB;IACzB,OAAO,CAAC,iBAAiB,CAAS;IAElC;;;;;;OAMG;gBACS,MAAM,CAAC,EAAE,eAAe;IASpC;;;;;;;;;;;;;;;OAeG;IACH,OAAO,CAAC,WAAW;IAwBnB;;;;;;;;;;;OAWG;IACG,IAAI,CACR,QAAQ,EAAE,WAAW,EAAE,EACvB,OAAO,GAAE,WAAgB,GACxB,OAAO,CAAC,YAAY,CAAC;IAKxB;;;;;;;;;;;;;;;;;;;;;;OAsBG;IACG,aAAa,CACjB,WAAW,EAAE,MAAM,EACnB,OAAO,CAAC,EAAE;QACR,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,aAAa,CAAC,EAAE,aAAa,CAAC;QAC9B,cAAc,CAAC,EAAE,cAAc,CAAC;QAChC,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE,GAAG,EAAE,SAAS,EAAE,MAAM,KAAK,IAAI,CAAC;QAChD,SAAS,CAAC,EAAE,CAAC,IAAI,EAAE;YAAE,YAAY,EAAE,MAAM,CAAC;YAAC,WAAW,EAAE,MAAM,CAAA;SAAE,KAAK,IAAI,CAAC;KAC3E,GACA,OAAO,CAAC,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"ai.service.d.ts","sourceRoot":"","sources":["../../../src/modules/ai/ai.service.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,EAAE,aAAa,EAAyC,MAAM,6BAA6B,CAAC;AAGnG,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,YAAY,EAAc,MAAM,eAAe,CAAC;AACnF,OAAO,EAAE,WAAW,EAAqC,MAAM,0BAA0B,CAAC;AAC1F,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAC5D,OAAO,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAE/D,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAC3D,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAIrD;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,+BAA+B;IAC/B,aAAa,CAAC,EAAE,aAAa,CAAC;IAC9B,sBAAsB;IACtB,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B,oBAAoB;IACpB,aAAa,CAAC,EAAE,aAAa,CAAC;IAC9B,yBAAyB;IACzB,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC5B;AAED;;;;;;;;;;;;;;;GAeG;AACH,qBAAa,SAAS;IACpB,aAAa;IACb,OAAO,CAAC,aAAa,CAAgB;IACrC,aAAa;IACb,OAAO,CAAC,WAAW,CAAc;IACjC,aAAa;IACb,OAAO,CAAC,cAAc,CAAiB;IACvC,mBAAmB;IACnB,OAAO,CAAC,aAAa,CAAC,CAAgB;IACtC,6BAA6B;IAC7B,OAAO,CAAC,QAAQ,CAA+B;IAC/C,yBAAyB;IACzB,OAAO,CAAC,iBAAiB,CAAS;IAElC;;;;;;OAMG;gBACS,MAAM,CAAC,EAAE,eAAe;IASpC;;;;;;;;;;;;;;;OAeG;IACH,OAAO,CAAC,WAAW;IAwBnB;;;;;;;;;;;OAWG;IACG,IAAI,CACR,QAAQ,EAAE,WAAW,EAAE,EACvB,OAAO,GAAE,WAAgB,GACxB,OAAO,CAAC,YAAY,CAAC;IAKxB;;;;;;;;;;;;;;;;;;;;;;OAsBG;IACG,aAAa,CACjB,WAAW,EAAE,MAAM,EACnB,OAAO,CAAC,EAAE;QACR,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,aAAa,CAAC,EAAE,aAAa,CAAC;QAC9B,cAAc,CAAC,EAAE,cAAc,CAAC;QAChC,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE,GAAG,EAAE,SAAS,EAAE,MAAM,KAAK,IAAI,CAAC;QAChD,SAAS,CAAC,EAAE,CAAC,IAAI,EAAE;YAAE,YAAY,EAAE,MAAM,CAAC;YAAC,WAAW,EAAE,MAAM,CAAA;SAAE,KAAK,IAAI,CAAC;KAC3E,GACA,OAAO,CAAC,WAAW,CAAC;IA4GvB;;;;;;;;;OASG;IACI,UAAU,CACf,QAAQ,EAAE,WAAW,EAAE,EACvB,OAAO,GAAE,WAAgB,GACxB,cAAc,CAAC,MAAM,EAAE,IAAI,EAAE,OAAO,CAAC;IAMxC;;;;;;;OAOG;IACH,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAI/B;;;;;;;OAOG;IACH,UAAU,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAQjC;;;;;OAKG;IACH,aAAa,IAAI,IAAI;CAGtB;AAED;;;;;;;GAOG;AACH,eAAO,MAAM,SAAS,WAAkB,CAAC"}
|
|
@@ -180,7 +180,6 @@ export class AIService {
|
|
|
180
180
|
? (step, iteration, usage) => {
|
|
181
181
|
options.onStep?.(step, iteration);
|
|
182
182
|
if (sessionId && usage && usage.totalTokens > 0) {
|
|
183
|
-
this.sessionService.updateTokenUsage(sessionId, usage.promptTokens, usage.completionTokens);
|
|
184
183
|
const check = summarizer.checkNeedsCompact(sessionId);
|
|
185
184
|
if (check.needed) {
|
|
186
185
|
console.log(`[AutoCompact] ${check.reason}, triggering compaction during iteration ${iteration}...`);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ai.service.js","sourceRoot":"","sources":["../../../src/modules/ai/ai.service.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"ai.service.js","sourceRoot":"","sources":["../../../src/modules/ai/ai.service.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,EAAiB,aAAa,IAAI,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AACnG,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAE9C,OAAO,EAAe,WAAW,IAAI,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAC1F,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAE5D,OAAO,EAAkB,cAAc,IAAI,qBAAqB,EAAE,MAAM,+BAA+B,CAAC;AAGxG,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,QAAQ,MAAM,2BAA2B,CAAC;AAgBjD;;;;;;;;;;;;;;;GAeG;AACH,MAAM,OAAO,SAAS;IAcpB;;;;;;OAMG;IACH,YAAY,MAAwB;QAZpC,6BAA6B;QACrB,aAAQ,GAA0B,IAAI,CAAC;QAY7C,IAAI,CAAC,aAAa,GAAG,MAAM,EAAE,aAAa,IAAI,oBAAoB,CAAC;QACnE,IAAI,CAAC,WAAW,GAAG,MAAM,EAAE,WAAW,IAAI,kBAAkB,CAAC;QAC7D,IAAI,CAAC,cAAc,GAAG,qBAAqB,CAAC;QAC5C,IAAI,CAAC,aAAa,GAAG,MAAM,EAAE,aAAa,CAAC;QAC3C,gDAAgD;QAChD,IAAI,CAAC,iBAAiB,GAAG,MAAM,EAAE,iBAAiB,IAAI,QAAQ,CAAC,iBAAiB,CAAC;IACnF,CAAC;IAED;;;;;;;;;;;;;;;OAeG;IACK,WAAW;QACjB,iCAAiC;QACjC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;YACnB,sCAAsC;YACtC,MAAM,cAAc,GAAG,IAAI,CAAC,aAAa,CAAC,kBAAkB,EAAE,CAAC;YAC/D,IAAI,CAAC,cAAc,EAAE,CAAC;gBACpB,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAC;YACvD,CAAC;YAED,+BAA+B;YAC/B,MAAM,MAAM,GAAG,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC;YAC/D,gCAAgC;YAChC,MAAM,YAAY,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;YAEtE,uCAAuC;YACvC,IAAI,CAAC,QAAQ,GAAG,IAAI,cAAc,CAAC;gBACjC,MAAM,EAAE,cAAc,CAAC,MAAM,EAAY,SAAS;gBAClD,OAAO,EAAE,cAAc,CAAC,OAAO,EAAU,aAAa;gBACtD,YAAY,EAAE,YAAY,CAAC,IAAI,EAAU,SAAS;aACnD,CAAC,CAAC;QACL,CAAC;QACD,OAAO,IAAI,CAAC,QAAQ,CAAC;IACvB,CAAC;IAED;;;;;;;;;;;OAWG;IACH,KAAK,CAAC,IAAI,CACR,QAAuB,EACvB,UAAuB,EAAE;QAEzB,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;QACpC,OAAO,QAAQ,CAAC,IAAI,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IAC1C,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;OAsBG;IACH,KAAK,CAAC,aAAa,CACjB,WAAmB,EACnB,OAOC;QAED,6CAA6C;QAC7C,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;QACpC,MAAM,SAAS,GAAG,OAAO,EAAE,SAAS,CAAC;QAErC,uCAAuC;QACvC;;;;;;;WAOG;QACH,IAAI,eAAe,GAAkB,EAAE,CAAC;QACxC,IAAI,SAAS,IAAI,OAAO,EAAE,aAAa,EAAE,CAAC;YACxC,MAAM,OAAO,GAAG,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;YACnD,MAAM,gBAAgB,GAAG,OAAO,EAAE,gBAAgB,IAAI,IAAI,CAAC;YAC3D,MAAM,IAAI,GAAG,OAAO,CAAC,aAAa,CAAC,gBAAgB,CAAC,SAAS,EAAE,gBAAgB,CAAC,CAAC;YACjF,eAAe,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;gBAC/B,IAAI,EAAE,CAAC,CAAC,IAAgD;gBACxD,OAAO,EAAE,CAAC,CAAC,OAAO;aACnB,CAAC,CAAC,CAAC;QACN,CAAC;QAED,6CAA6C;QAC7C;;;;;;;;;WASG;QACH,MAAM,KAAK,GAAG,IAAI,UAAU,CAAC;YAC3B,QAAQ;YACR,WAAW,EAAE,IAAI,CAAC,WAAW;YAC7B,aAAa,EAAE,IAAI,CAAC,aAAa;YACjC,aAAa,EAAE,OAAO,EAAE,aAAa;YACrC,aAAa,EAAE,IAAI,CAAC,iBAAiB;YACrC,WAAW,EAAE,OAAO,EAAE,WAAW;YACjC,SAAS;SACV,CAAC,CAAC;QAEH,0CAA0C;QAC1C,MAAM,aAAa,GAAG,OAAO,EAAE,aAAa,IAAI,IAAI,aAAa,EAAE,CAAC;QACpE,MAAM,UAAU,GAAG,IAAI,iBAAiB,CACtC,IAAI,CAAC,cAAc,EACnB,aAAa,EACb,IAAI,CAAC,aAAa,CACnB,CAAC;QAEF,MAAM,aAAa,GAAG,OAAO,EAAE,MAAM;YACnC,CAAC,CAAC,CAAC,IAAS,EAAE,SAAiB,EAAE,KAA+E,EAAE,EAAE;gBAChH,OAAO,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;gBAElC,IAAI,SAAS,IAAI,KAAK,IAAI,KAAK,CAAC,WAAW,GAAG,CAAC,EAAE,CAAC;oBAChD,MAAM,KAAK,GAAG,UAAU,CAAC,iBAAiB,CAAC,SAAS,CAAC,CAAC;oBACtD,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC;wBACjB,OAAO,CAAC,GAAG,CAAC,iBAAiB,KAAK,CAAC,MAAM,4CAA4C,SAAS,KAAK,CAAC,CAAC;wBACrG,UAAU,CAAC,OAAO,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE;4BAC1C,OAAO,EAAE,SAAS,EAAE,CAAC,EAAE,YAAY,EAAE,KAAK,CAAC,WAAW,EAAE,WAAW,EAAE,CAAC,EAAE,CAAC,CAAC;wBAC5E,CAAC,CAAC,CAAC;oBACL,CAAC;gBACH,CAAC;YACH,CAAC;YACH,CAAC,CAAC,SAAS,CAAC;QAEd,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,GAAG,CAAC,WAAW,EAAE;YAC1C,MAAM,EAAE,aAAa;YACrB,eAAe;SAChB,CAAC,CAAC;QAEH,0CAA0C;QAC1C,4BAA4B;QAC5B,IAAI,SAAS,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;YAC9B,IAAI,CAAC,cAAc,CAAC,gBAAgB,CAClC,SAAS,EACT,MAAM,CAAC,KAAK,CAAC,YAAY,EACzB,MAAM,CAAC,KAAK,CAAC,gBAAgB,CAC9B,CAAC;YAEF,yCAAyC;YACzC;;;;;;eAMG;YACH,MAAM,UAAU,GAAG,IAAI,iBAAiB,CACtC,IAAI,CAAC,cAAc,EACnB,OAAO,EAAE,aAAa,IAAI,IAAI,aAAa,EAAE,EAC7C,IAAI,CAAC,aAAa,CACnB,CAAC;YACF,MAAM,KAAK,GAAG,UAAU,CAAC,iBAAiB,CAAC,SAAS,CAAC,CAAC;YACtD,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC;gBACjB,OAAO,CAAC,GAAG,CAAC,iBAAiB,KAAK,CAAC,MAAM,4BAA4B,CAAC,CAAC;gBACvE,MAAM,UAAU,CAAC,OAAO,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC;YAC1C,CAAC;QACH,CAAC;QAED,mCAAmC;QACnC,OAAO,MAAM,CAAC;IAChB,CAAC;IAED;;;;;;;;;OASG;IACH,KAAK,CAAC,CAAC,UAAU,CACf,QAAuB,EACvB,UAAuB,EAAE;QAEzB,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;QACpC,gCAAgC;QAChC,KAAK,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IAChD,CAAC;IAED;;;;;;;OAOG;IACH,SAAS,CAAC,MAAc;QACtB,IAAI,CAAC,QAAQ,GAAG,IAAI,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC;IACjD,CAAC;IAED;;;;;;;OAOG;IACH,UAAU,CAAC,OAAe;QACxB,MAAM,cAAc,GAAG,IAAI,CAAC,aAAa,CAAC,kBAAkB,EAAE,CAAC;QAC/D,IAAI,CAAC,QAAQ,GAAG,IAAI,cAAc,CAAC;YACjC,MAAM,EAAE,cAAc,EAAE,MAAM,IAAI,EAAE;YACpC,OAAO;SACR,CAAC,CAAC;IACL,CAAC;IAED;;;;;OAKG;IACH,aAAa;QACX,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;IACvB,CAAC;CACF;AAED;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,SAAS,GAAG,IAAI,SAAS,EAAE,CAAC"}
|
|
@@ -1,138 +1,16 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* OpenAI Provider 模块
|
|
3
|
-
*
|
|
4
|
-
* 本模块负责与 OpenAI API (及兼容 API) 进行交互
|
|
5
|
-
*
|
|
6
|
-
* 核心功能:
|
|
7
|
-
* 1. chat() - 发送聊天请求,获取完整响应
|
|
8
|
-
* 2. chatStream() - 流式聊天,逐块获取响应
|
|
9
|
-
* 3. Tool Calls - 支持 AI 调用工具 (Function Calling)
|
|
10
|
-
*
|
|
11
|
-
* 支持的 AI 提供商:
|
|
12
|
-
* - OpenAI (GPT-4, GPT-3.5)
|
|
13
|
-
* - 兼容 OpenAI API 的其他提供商 (如 Anthropic Claude 通过适配器)
|
|
14
|
-
* - 自定义 API 端点 (通过 baseUrl 配置)
|
|
15
|
-
*
|
|
16
|
-
* 使用方式:
|
|
17
|
-
* const provider = new OpenAIProvider({
|
|
18
|
-
* apiKey: 'your-api-key',
|
|
19
|
-
* baseUrl: 'https://api.openai.com/v1',
|
|
20
|
-
* defaultModel: 'gpt-4'
|
|
21
|
-
* });
|
|
22
|
-
*
|
|
23
|
-
* const response = await provider.chat([
|
|
24
|
-
* { role: 'user', content: '你好' }
|
|
25
|
-
* ]);
|
|
26
|
-
*/
|
|
27
1
|
import { ChatMessage, ChatOptions, ChatResponse } from './ai.types.js';
|
|
28
|
-
/**
|
|
29
|
-
* OpenAI Provider 配置参数
|
|
30
|
-
*/
|
|
31
2
|
export interface OpenAIConfig {
|
|
32
|
-
/** API 密钥 */
|
|
33
3
|
apiKey: string;
|
|
34
|
-
/** API 基础 URL (可选,默认 OpenAI) */
|
|
35
4
|
baseUrl?: string;
|
|
36
|
-
/** 默认模型名称 (可选,默认 gpt-4) */
|
|
37
5
|
defaultModel?: string;
|
|
38
6
|
}
|
|
39
|
-
/**
|
|
40
|
-
* OpenAIProvider 类
|
|
41
|
-
*
|
|
42
|
-
* 封装与 OpenAI API 的所有交互逻辑
|
|
43
|
-
* 使用原生 fetch API 发送请求
|
|
44
|
-
*
|
|
45
|
-
* API 端点:
|
|
46
|
-
* - POST /chat/completions - 聊天完成
|
|
47
|
-
*
|
|
48
|
-
* 请求格式:
|
|
49
|
-
* - model: 模型名称
|
|
50
|
-
* - messages: 消息数组
|
|
51
|
-
* - temperature: 温度参数 (0-2)
|
|
52
|
-
* - max_tokens: 最大 Token 数
|
|
53
|
-
* - tools: 工具定义数组 (可选)
|
|
54
|
-
* - tool_choice: 工具选择策略 (可选)
|
|
55
|
-
* - stream: 是否流式响应 (可选)
|
|
56
|
-
*/
|
|
57
7
|
export declare class OpenAIProvider {
|
|
58
|
-
|
|
59
|
-
private apiKey;
|
|
60
|
-
/** API 基础 URL */
|
|
61
|
-
private baseUrl;
|
|
62
|
-
/** 默认模型名称 */
|
|
63
|
-
private defaultModel;
|
|
64
|
-
/**
|
|
65
|
-
* 构造函数
|
|
66
|
-
*
|
|
67
|
-
* @param config - 配置对象
|
|
68
|
-
*
|
|
69
|
-
* baseUrl 默认值说明:
|
|
70
|
-
* - OpenAI: https://api.openai.com/v1
|
|
71
|
-
* - 本地部署: http://localhost:11434/v1 (Ollama)
|
|
72
|
-
* - 自定义: 用户配置的任意兼容 API 地址
|
|
73
|
-
*/
|
|
8
|
+
private client;
|
|
74
9
|
constructor(config: OpenAIConfig);
|
|
75
|
-
|
|
76
|
-
* 发送聊天请求 (非流式)
|
|
77
|
-
*
|
|
78
|
-
* 将消息数组发送给 AI,获取完整的响应
|
|
79
|
-
* 支持 Tool Calls 功能
|
|
80
|
-
*
|
|
81
|
-
* 执行流程:
|
|
82
|
-
* 1. 构建请求体 (model, messages, temperature 等)
|
|
83
|
-
* 2. 如果有工具定义,添加到请求体
|
|
84
|
-
* 3. 发送 POST 请求到 /chat/completions
|
|
85
|
-
* 4. 解析响应,返回 ChatResponse
|
|
86
|
-
*
|
|
87
|
-
* @param messages - 消息数组,包含角色和内容
|
|
88
|
-
* @param options - 可选配置 (temperature, maxTokens, model, tools)
|
|
89
|
-
* @returns {Promise<ChatResponse>} AI 响应对象
|
|
90
|
-
*
|
|
91
|
-
* @example
|
|
92
|
-
* const response = await provider.chat([
|
|
93
|
-
* { role: 'system', content: '你是一个助手' },
|
|
94
|
-
* { role: 'user', content: '你好' }
|
|
95
|
-
* ]);
|
|
96
|
-
*
|
|
97
|
-
* console.log(response.content); // AI 的回复
|
|
98
|
-
* console.log(response.usage); // Token 使用量
|
|
99
|
-
*/
|
|
10
|
+
private defaultModel;
|
|
100
11
|
chat(messages: ChatMessage[], options?: ChatOptions): Promise<ChatResponse>;
|
|
101
|
-
/**
|
|
102
|
-
* 流式聊天
|
|
103
|
-
*
|
|
104
|
-
* 使用 Server-Sent Events (SSE) 流式获取 AI 响应
|
|
105
|
-
* 适用于需要实时展示 AI 回复的场景
|
|
106
|
-
*
|
|
107
|
-
* 实现原理:
|
|
108
|
-
* 1. 发送请求时设置 stream: true
|
|
109
|
-
* 2. 逐块读取响应体
|
|
110
|
-
* 3. 解析每个 SSE 消息块
|
|
111
|
-
* 4. yield 每个内容块给调用者
|
|
112
|
-
* 5. 直到收到 [DONE] 标记结束
|
|
113
|
-
*
|
|
114
|
-
* @param messages - 消息数组
|
|
115
|
-
* @param options - 可选配置
|
|
116
|
-
* @returns {AsyncGenerator<string>} 异步生成器,逐块返回内容
|
|
117
|
-
*/
|
|
118
12
|
chatStream(messages: ChatMessage[], options?: ChatOptions): AsyncGenerator<string, void, unknown>;
|
|
119
|
-
/**
|
|
120
|
-
* 格式化消息
|
|
121
|
-
*
|
|
122
|
-
* 将内部 ChatMessage 格式转换为 OpenAI API 格式
|
|
123
|
-
*
|
|
124
|
-
* @param message - 内部消息格式
|
|
125
|
-
* @returns {Record<string, any>} OpenAPI API 消息格式
|
|
126
|
-
*/
|
|
127
13
|
private formatMessage;
|
|
128
|
-
/**
|
|
129
|
-
* 解析 API 响应
|
|
130
|
-
*
|
|
131
|
-
* 将 OpenAI API 响应转换为内部 ChatResponse 格式
|
|
132
|
-
*
|
|
133
|
-
* @param data - OpenAI API 响应数据
|
|
134
|
-
* @returns {ChatResponse} 内部响应格式
|
|
135
|
-
*/
|
|
136
14
|
private parseResponse;
|
|
137
15
|
}
|
|
138
16
|
//# sourceMappingURL=openai.provider.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"openai.provider.d.ts","sourceRoot":"","sources":["../../../src/modules/ai/openai.provider.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"openai.provider.d.ts","sourceRoot":"","sources":["../../../src/modules/ai/openai.provider.ts"],"names":[],"mappings":"AACA,OAAO,EACL,WAAW,EACX,WAAW,EACX,YAAY,EAEb,MAAM,eAAe,CAAC;AAGvB,MAAM,WAAW,YAAY;IAC3B,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,qBAAa,cAAc;IACzB,OAAO,CAAC,MAAM,CAAS;gBAEX,MAAM,EAAE,YAAY;IAQhC,OAAO,CAAC,YAAY,CAAS;IAEvB,IAAI,CACR,QAAQ,EAAE,WAAW,EAAE,EACvB,OAAO,GAAE,WAAgB,GACxB,OAAO,CAAC,YAAY,CAAC;IA8BjB,UAAU,CACf,QAAQ,EAAE,WAAW,EAAE,EACvB,OAAO,GAAE,WAAgB,GACxB,cAAc,CAAC,MAAM,EAAE,IAAI,EAAE,OAAO,CAAC;IAmDxC,OAAO,CAAC,aAAa;IAarB,OAAO,CAAC,aAAa;CA2BtB"}
|