tianxincode 1.0.2 → 1.0.4

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 (118) hide show
  1. package/README.md +164 -21
  2. package/dist/api/chat.routes.js +14 -8
  3. package/dist/api/chat.routes.js.map +1 -1
  4. package/dist/api/session.routes.js +1 -1
  5. package/dist/api/session.routes.js.map +1 -1
  6. package/dist/cli/commands.js +1 -1
  7. package/dist/cli/commands.js.map +1 -1
  8. package/dist/components/App.d.ts.map +1 -1
  9. package/dist/components/App.js +109 -70
  10. package/dist/components/App.js.map +1 -1
  11. package/dist/modules/ai/ai.service.d.ts.map +1 -1
  12. package/dist/modules/ai/ai.service.js +4 -19
  13. package/dist/modules/ai/ai.service.js.map +1 -1
  14. package/dist/modules/ai/ai.types.d.ts +4 -2
  15. package/dist/modules/ai/ai.types.d.ts.map +1 -1
  16. package/dist/modules/ai/openai.provider.d.ts +2 -124
  17. package/dist/modules/ai/openai.provider.d.ts.map +1 -1
  18. package/dist/modules/ai/openai.provider.js +47 -212
  19. package/dist/modules/ai/openai.provider.js.map +1 -1
  20. package/dist/modules/ai/react/react.parser.d.ts +12 -7
  21. package/dist/modules/ai/react/react.parser.d.ts.map +1 -1
  22. package/dist/modules/ai/react/react.parser.js +170 -83
  23. package/dist/modules/ai/react/react.parser.js.map +1 -1
  24. package/dist/modules/ai/react/react.prompts.d.ts.map +1 -1
  25. package/dist/modules/ai/react/react.prompts.js +23 -33
  26. package/dist/modules/ai/react/react.prompts.js.map +1 -1
  27. package/dist/modules/ai/react/react.types.d.ts +5 -2
  28. package/dist/modules/ai/react/react.types.d.ts.map +1 -1
  29. package/dist/modules/ai/react/react.validator.d.ts +14 -0
  30. package/dist/modules/ai/react/react.validator.d.ts.map +1 -0
  31. package/dist/modules/ai/react/react.validator.js +53 -0
  32. package/dist/modules/ai/react/react.validator.js.map +1 -0
  33. package/dist/modules/ai/react.agent.d.ts +41 -0
  34. package/dist/modules/ai/react.agent.d.ts.map +1 -1
  35. package/dist/modules/ai/react.agent.js +81 -10
  36. package/dist/modules/ai/react.agent.js.map +1 -1
  37. package/dist/modules/ai/summarizer/summarizer.service.d.ts +1 -1
  38. package/dist/modules/ai/summarizer/summarizer.service.d.ts.map +1 -1
  39. package/dist/modules/ai/summarizer/summarizer.service.js +9 -22
  40. package/dist/modules/ai/summarizer/summarizer.service.js.map +1 -1
  41. package/dist/modules/ai/summarizer/summarizer.types.d.ts +1 -1
  42. package/dist/modules/ai/summarizer/summarizer.types.d.ts.map +1 -1
  43. package/dist/modules/db/db.service.js +1 -1
  44. package/dist/modules/db/db.service.js.map +1 -1
  45. package/dist/modules/memory/memory.service.js +1 -1
  46. package/dist/modules/memory/memory.service.js.map +1 -1
  47. package/dist/modules/skill/skill.tool.d.ts.map +1 -1
  48. package/dist/modules/skill/skill.tool.js +1 -0
  49. package/dist/modules/skill/skill.tool.js.map +1 -1
  50. package/dist/modules/skill/skill.txt +20 -2
  51. package/dist/modules/tools/builtin/bash.d.ts.map +1 -1
  52. package/dist/modules/tools/builtin/bash.js +2 -1
  53. package/dist/modules/tools/builtin/bash.js.map +1 -1
  54. package/dist/modules/tools/builtin/bash.txt +30 -42
  55. package/dist/modules/tools/builtin/code_search.d.ts.map +1 -1
  56. package/dist/modules/tools/builtin/code_search.js +1 -0
  57. package/dist/modules/tools/builtin/code_search.js.map +1 -1
  58. package/dist/modules/tools/builtin/code_search.txt +23 -0
  59. package/dist/modules/tools/builtin/edit_file.d.ts.map +1 -1
  60. package/dist/modules/tools/builtin/edit_file.js +44 -8
  61. package/dist/modules/tools/builtin/edit_file.js.map +1 -1
  62. package/dist/modules/tools/builtin/edit_file.txt +56 -5
  63. package/dist/modules/tools/builtin/glob.d.ts.map +1 -1
  64. package/dist/modules/tools/builtin/glob.js +1 -0
  65. package/dist/modules/tools/builtin/glob.js.map +1 -1
  66. package/dist/modules/tools/builtin/glob.txt +23 -0
  67. package/dist/modules/tools/builtin/grep.d.ts.map +1 -1
  68. package/dist/modules/tools/builtin/grep.js +1 -0
  69. package/dist/modules/tools/builtin/grep.js.map +1 -1
  70. package/dist/modules/tools/builtin/grep.txt +25 -0
  71. package/dist/modules/tools/builtin/index.d.ts.map +1 -1
  72. package/dist/modules/tools/builtin/index.js +27 -35
  73. package/dist/modules/tools/builtin/index.js.map +1 -1
  74. package/dist/modules/tools/builtin/lsp.d.ts.map +1 -1
  75. package/dist/modules/tools/builtin/lsp.js +2 -1
  76. package/dist/modules/tools/builtin/lsp.js.map +1 -1
  77. package/dist/modules/tools/builtin/lsp.txt +31 -5
  78. package/dist/modules/tools/builtin/memory.d.ts.map +1 -1
  79. package/dist/modules/tools/builtin/memory.js +1 -0
  80. package/dist/modules/tools/builtin/memory.js.map +1 -1
  81. package/dist/modules/tools/builtin/memory.txt +23 -1
  82. package/dist/modules/tools/builtin/read_file.d.ts.map +1 -1
  83. package/dist/modules/tools/builtin/read_file.js +11 -3
  84. package/dist/modules/tools/builtin/read_file.js.map +1 -1
  85. package/dist/modules/tools/builtin/read_file.txt +25 -2
  86. package/dist/modules/tools/builtin/todo_read.d.ts.map +1 -1
  87. package/dist/modules/tools/builtin/todo_read.js +1 -0
  88. package/dist/modules/tools/builtin/todo_read.js.map +1 -1
  89. package/dist/modules/tools/builtin/todo_read.txt +20 -0
  90. package/dist/modules/tools/builtin/todo_write.d.ts.map +1 -1
  91. package/dist/modules/tools/builtin/todo_write.js +1 -0
  92. package/dist/modules/tools/builtin/todo_write.js.map +1 -1
  93. package/dist/modules/tools/builtin/todo_write.txt +21 -0
  94. package/dist/modules/tools/builtin/web_fetch.d.ts.map +1 -1
  95. package/dist/modules/tools/builtin/web_fetch.js +1 -0
  96. package/dist/modules/tools/builtin/web_fetch.js.map +1 -1
  97. package/dist/modules/tools/builtin/web_fetch.txt +23 -0
  98. package/dist/modules/tools/builtin/web_search.d.ts.map +1 -1
  99. package/dist/modules/tools/builtin/web_search.js +1 -0
  100. package/dist/modules/tools/builtin/web_search.js.map +1 -1
  101. package/dist/modules/tools/builtin/web_search.txt +28 -1
  102. package/dist/modules/tools/builtin/write_file.d.ts.map +1 -1
  103. package/dist/modules/tools/builtin/write_file.js +16 -1
  104. package/dist/modules/tools/builtin/write_file.js.map +1 -1
  105. package/dist/modules/tools/builtin/write_file.txt +50 -1
  106. package/dist/modules/tools/tool.service.d.ts.map +1 -1
  107. package/dist/modules/tools/tool.service.js +3 -0
  108. package/dist/modules/tools/tool.service.js.map +1 -1
  109. package/dist/modules/tools/tool.types.d.ts +1 -0
  110. package/dist/modules/tools/tool.types.d.ts.map +1 -1
  111. package/dist/web/web.service.d.ts.map +1 -1
  112. package/dist/web/web.service.js +8 -5
  113. package/dist/web/web.service.js.map +1 -1
  114. package/package.json +9 -6
  115. package/web/dist/assets/{Layout-Bb76CGAL.js → Layout-Pvn6DBHZ.js} +1 -1
  116. package/web/dist/assets/{index-KTH-myBB.css → index-BnpKQafm.css} +1 -1
  117. package/web/dist/assets/{index-DQRR0ggU.js → index-CEHMSOel.js} +64 -64
  118. package/web/dist/index.html +2 -2
@@ -220,11 +220,19 @@ export function App() {
220
220
  * 2. 如果是命令 (/开头),执行命令
221
221
  * 3. 否则调用 AI 服务处理
222
222
  * 4. 更新 UI 和状态
223
+ *
224
+ * 🔍 排查 /help 命令无反应的思路:
225
+ * - 确认 handleSubmit 是否被调用 (检查 useInput 中 key.return 分支)
226
+ * - 确认 trimmedInput.startsWith('/') 返回 true
227
+ * - 确认 executeCommand 返回了正确的 result
228
+ * - 确认 addMessage 被调用并成功添加了消息
223
229
  */
224
230
  const handleSubmit = useCallback(async () => {
225
231
  // 验证输入:不能为空,且当前不在思考中
226
- if (!input.trim() || status === 'thinking')
232
+ if (!input.trim() || status === 'thinking') {
233
+ // 🔍 如果在这里 return,说明 input 为空或正在思考中
227
234
  return;
235
+ }
228
236
  // ========== 准备输入 ==========
229
237
  const trimmedInput = input.trim();
230
238
  setInput(''); // 清空输入框
@@ -233,8 +241,25 @@ export function App() {
233
241
  // ========== 命令处理 ==========
234
242
  // 以 / 开头的输入作为命令处理
235
243
  if (trimmedInput.startsWith('/')) {
236
- const result = await executeCommand(trimmedInput);
244
+ // 🔍 断点1: 确认 trimmedInput 是 '/help' 或 '/help xxx'
245
+ // const result = await executeCommand(trimmedInput);
246
+ let result;
247
+ try {
248
+ result = await executeCommand(trimmedInput);
249
+ }
250
+ catch (err) {
251
+ // 🔍 断点2: 如果 executeCommand 抛出异常,会在这里捕获
252
+ console.error('[DEBUG] executeCommand 异常:', err);
253
+ addMessage('system', `命令执行异常: ${err instanceof Error ? err.message : String(err)}`);
254
+ return;
255
+ }
256
+ // 🔍 断点3: 检查 result 对象的内容
257
+ // if (!result) {
258
+ // console.error('[DEBUG] executeCommand 返回 null/undefined');
259
+ // return;
260
+ // }
237
261
  if (result.message) {
262
+ // 🔍 断点4: 确认消息被添加到 messages 数组
238
263
  addMessage('system', result.message);
239
264
  }
240
265
  if (result.data?.exit) {
@@ -280,78 +305,85 @@ export function App() {
280
305
  'webfetch': '网页获取',
281
306
  'question': '提问',
282
307
  };
283
- const actionName = actionNames[state.action] || state.action;
284
- let stepInfo = `🔧 ${actionName}`;
285
- if (state.actionInput) {
286
- try {
287
- const inputObj = typeof state.actionInput === 'string'
288
- ? JSON.parse(state.actionInput)
289
- : state.actionInput;
290
- if (state.action === 'read_file') {
291
- const offset = inputObj.offset ?? 1;
292
- const limit = inputObj.limit ?? 300;
293
- stepInfo += `: ${inputObj.file_path} (行${offset}-${offset + limit - 1})`;
294
- }
295
- else if (state.action === 'edit_file') {
296
- stepInfo += `: ${inputObj.file_path}`;
297
- }
298
- else if (state.action === 'write_file') {
299
- stepInfo += `: ${inputObj.file_path}`;
300
- }
301
- else if (state.action === 'execute_bash' || state.action === 'bash') {
302
- stepInfo += `: ${inputObj.command?.slice(0, 50)}`;
303
- }
304
- else if (state.action === 'find_files' || state.action === 'glob') {
305
- stepInfo += `: ${inputObj.pattern}`;
306
- }
307
- else if (state.action === 'grep') {
308
- stepInfo += `: ${inputObj.pattern}`;
309
- }
310
- else if (state.action === 'loadSkill') {
311
- stepInfo += `: ${inputObj.skillPath}`;
312
- }
313
- else if (state.action === 'webfetch') {
314
- stepInfo += `: ${inputObj.url?.slice(0, 50)}`;
315
- }
316
- else if (state.action === 'todowrite') {
317
- if (inputObj.todos && Array.isArray(inputObj.todos)) {
318
- stepInfo += `: ${inputObj.todos.length} 个任务`;
308
+ const actions = state.actions || [];
309
+ for (const action of actions) {
310
+ const actionName = actionNames[action.actionName] || action.actionName;
311
+ let stepInfo = `🔧 ${actionName}`;
312
+ if (action.actionInput) {
313
+ try {
314
+ const inputObj = typeof action.actionInput === 'string'
315
+ ? JSON.parse(action.actionInput)
316
+ : action.actionInput;
317
+ if (action.actionName === 'read_file') {
318
+ const offset = inputObj.offset ?? 1;
319
+ const limit = inputObj.limit ?? 300;
320
+ stepInfo += `: ${inputObj.file_path} (行${offset}-${offset + limit - 1})`;
321
+ }
322
+ else if (action.actionName === 'edit_file') {
323
+ stepInfo += `: ${inputObj.file_path}`;
324
+ }
325
+ else if (action.actionName === 'write_file') {
326
+ stepInfo += `: ${inputObj.file_path}`;
327
+ }
328
+ else if (action.actionName === 'execute_bash' || action.actionName === 'bash') {
329
+ stepInfo += `: ${inputObj.command?.slice(0, 50)}`;
330
+ }
331
+ else if (action.actionName === 'find_files' || action.actionName === 'glob') {
332
+ stepInfo += `: ${inputObj.pattern}`;
319
333
  }
320
- if (state.observation && typeof state.observation === 'object' && state.observation.metadata?.todos) {
321
- const todos = state.observation.metadata.todos;
322
- const statusIcons = {
323
- completed: '',
324
- in_progress: '🔄',
325
- pending: '⬜',
326
- cancelled: ''
327
- };
328
- for (const todo of todos) {
329
- const icon = statusIcons[todo.status] || '';
330
- const name = todo.content || todo.name || '';
331
- addMessage('system', ` ${icon} ${name}`);
334
+ else if (action.actionName === 'grep') {
335
+ stepInfo += `: ${inputObj.pattern}`;
336
+ }
337
+ else if (action.actionName === 'loadSkill') {
338
+ stepInfo += `: ${inputObj.skillPath}`;
339
+ }
340
+ else if (action.actionName === 'webfetch') {
341
+ stepInfo += `: ${inputObj.url?.slice(0, 50)}`;
342
+ }
343
+ else if (action.actionName === 'todowrite') {
344
+ if (inputObj.todos && Array.isArray(inputObj.todos)) {
345
+ stepInfo += `: ${inputObj.todos.length} 个任务`;
346
+ }
347
+ }
348
+ else if (action.actionName === 'question') {
349
+ stepInfo += `: ${inputObj.questions?.length || 0} 个问题`;
350
+ }
351
+ else {
352
+ const keys = Object.keys(inputObj);
353
+ if (keys.length > 0) {
354
+ const firstKey = keys[0];
355
+ const val = inputObj[firstKey];
356
+ if (typeof val === 'string') {
357
+ stepInfo += `: ${val.slice(0, 50)}`;
358
+ }
359
+ else if (typeof val === 'number') {
360
+ stepInfo += `: ${val}`;
361
+ }
332
362
  }
333
363
  }
334
364
  }
335
- else if (state.action === 'question') {
336
- stepInfo += `: ${inputObj.questions?.length || 0} 个问题`;
365
+ catch { }
366
+ }
367
+ if (state.observation) {
368
+ const obsStr = typeof state.observation === 'string'
369
+ ? state.observation
370
+ : JSON.stringify(state.observation);
371
+ const isFailed = obsStr.startsWith('错误:') ||
372
+ obsStr.startsWith('Error:') ||
373
+ obsStr.includes('未找到') ||
374
+ obsStr.includes('不存在');
375
+ if (isFailed) {
376
+ addMessage('system', `${stepInfo} ❌`);
337
377
  }
338
378
  else {
339
- const keys = Object.keys(inputObj);
340
- if (keys.length > 0) {
341
- const firstKey = keys[0];
342
- const val = inputObj[firstKey];
343
- if (typeof val === 'string') {
344
- stepInfo += `: ${val.slice(0, 50)}`;
345
- }
346
- else if (typeof val === 'number') {
347
- stepInfo += `: ${val}`;
348
- }
349
- }
379
+ addMessage('system', `${stepInfo} ✓`);
350
380
  }
351
381
  }
352
- catch { }
382
+ else {
383
+ addMessage('system', stepInfo);
384
+ }
353
385
  }
354
- if (state.observation) {
386
+ if (actions.length === 0 && state.observation) {
355
387
  const obsStr = typeof state.observation === 'string'
356
388
  ? state.observation
357
389
  : JSON.stringify(state.observation);
@@ -360,15 +392,12 @@ export function App() {
360
392
  obsStr.includes('未找到') ||
361
393
  obsStr.includes('不存在');
362
394
  if (isFailed) {
363
- addMessage('system', `${stepInfo} ❌`);
395
+ addMessage('system', `🔧 工具执行 ❌`);
364
396
  }
365
397
  else {
366
- addMessage('system', `${stepInfo} ✓`);
398
+ addMessage('system', `🔧 工具执行 ✓`);
367
399
  }
368
400
  }
369
- else {
370
- addMessage('system', stepInfo);
371
- }
372
401
  },
373
402
  });
374
403
  if (result.answer) {
@@ -503,7 +532,10 @@ export function App() {
503
532
  setCursorPosition(prev => Math.min(input.length, prev + 1));
504
533
  return;
505
534
  }
535
+ // 🔍 排查 /help 无反应:确认回车键是否触发 handleSubmit
506
536
  if (key.return) {
537
+ // 🔍 断点0: 检查 input 的值
538
+ // console.log('[DEBUG] key.return, input:', JSON.stringify(input));
507
539
  if (input === '/model') {
508
540
  setModelSelectMode(true);
509
541
  loadModels();
@@ -513,6 +545,8 @@ export function App() {
513
545
  setInputHistory(prev => [...prev, input]);
514
546
  setHistoryIndex(-1);
515
547
  }
548
+ // 🔍 断点1: 确认 handleSubmit 被调用
549
+ // console.log('[DEBUG] 调用 handleSubmit, input:', JSON.stringify(input));
516
550
  handleSubmit();
517
551
  }
518
552
  else if (key.backspace || key.delete) {
@@ -599,6 +633,11 @@ export function App() {
599
633
  return (React.createElement(Box, { key: msg.id, marginBottom: 1, paddingLeft: 2 },
600
634
  React.createElement(Text, { color: "red" }, msg.content)));
601
635
  }
636
+ // 显示其他 system 消息(如命令结果)
637
+ if (msg.role === 'system') {
638
+ return (React.createElement(Box, { key: msg.id, marginBottom: 1, paddingLeft: 2 },
639
+ React.createElement(Text, { dimColor: true }, msg.content)));
640
+ }
602
641
  return null;
603
642
  }),
604
643
  status === 'thinking' && (React.createElement(Box, { marginBottom: 1, paddingLeft: 2 },
@@ -1 +1 @@
1
- {"version":3,"file":"App.js","sourceRoot":"","sources":["../../src/components/App.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"App.js","sourceRoot":"","sources":["../../src/components/App.tsx"],"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;IA6GvB;;;;;;;;;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"}
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,EAAa,MAAM,wBAAwB,CAAC;AAIhE;;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;IAyFvB;;;;;;;;;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"}
@@ -179,13 +179,12 @@ export class AIService {
179
179
  const wrappedOnStep = options?.onStep
180
180
  ? (step, iteration, usage) => {
181
181
  options.onStep?.(step, iteration);
182
- if (sessionId && usage && usage.totalTokens > 0) {
183
- this.sessionService.updateTokenUsage(sessionId, usage.promptTokens, usage.completionTokens);
184
- const check = summarizer.checkNeedsCompact(sessionId);
182
+ if (sessionId && usage && usage.promptTokens > 0) {
183
+ const check = summarizer.checkNeedsCompact(sessionId, usage.promptTokens);
185
184
  if (check.needed) {
186
185
  console.log(`[AutoCompact] ${check.reason}, triggering compaction during iteration ${iteration}...`);
187
186
  summarizer.compact({ sessionId }).then(() => {
188
- options?.onCompact?.({ beforeTokens: check.totalTokens, afterTokens: 0 });
187
+ options?.onCompact?.({ beforeTokens: check.promptTokens, afterTokens: 0 });
189
188
  });
190
189
  }
191
190
  }
@@ -199,22 +198,8 @@ export class AIService {
199
198
  // 每次对话完成后,更新会话的 Token 使用量统计
200
199
  if (sessionId && result.usage) {
201
200
  this.sessionService.updateTokenUsage(sessionId, result.usage.promptTokens, result.usage.completionTokens);
202
- // ========== 步骤 6: 检查是否需要压缩会话 ==========
203
- /**
204
- * 自动压缩机制:
205
- * - 当会话 Token 达到阈值时触发
206
- * - 使用 SummarizerService 将旧消息压缩为摘要
207
- * - 减少发送给 AI 的上下文大小
208
- * - 降低 API 调用成本
209
- */
210
- const summarizer = new SummarizerService(this.sessionService, options?.memoryService || new MemoryService(), this.configService);
211
- const check = summarizer.checkNeedsCompact(sessionId);
212
- if (check.needed) {
213
- console.log(`[AutoCompact] ${check.reason}, triggering compaction...`);
214
- await summarizer.compact({ sessionId });
215
- }
216
201
  }
217
- // ========== 步骤 7: 返回结果 ==========
202
+ // ========== 步骤 6: 返回结果 ==========
218
203
  return result;
219
204
  }
220
205
  /**
@@ -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":"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"}
@@ -39,8 +39,10 @@ export interface ChatResponse {
39
39
  }
40
40
  export interface ReActState {
41
41
  thought: string;
42
- action: string;
43
- actionInput: string;
42
+ actions: {
43
+ actionName: string;
44
+ actionInput: any;
45
+ }[];
44
46
  observation?: string;
45
47
  answer?: string;
46
48
  keepContext?: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"ai.types.d.ts","sourceRoot":"","sources":["../../../src/modules/ai/ai.types.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,GAAG,WAAW,GAAG,QAAQ,GAAG,MAAM,CAAC;IAC/C,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,QAAQ,EAAE,CAAC;CACxB;AAED,MAAM,WAAW,QAAQ;IACvB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,UAAU,CAAC;IACjB,QAAQ,EAAE;QACR,IAAI,EAAE,MAAM,CAAC;QACb,SAAS,EAAE,MAAM,CAAC;KACnB,CAAC;CACH;AAED,MAAM,WAAW,WAAW;IAC1B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,cAAc,EAAE,CAAC;CAC1B;AAED,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,UAAU,CAAC;IACjB,QAAQ,EAAE;QACR,IAAI,EAAE,MAAM,CAAC;QACb,WAAW,EAAE,MAAM,CAAC;QACpB,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;KACjC,CAAC;CACH;AAED,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,EAAE,MAAM,GAAG,QAAQ,GAAG,YAAY,CAAC;IAC/C,SAAS,CAAC,EAAE,QAAQ,EAAE,CAAC;IACvB,KAAK,CAAC,EAAE;QACN,YAAY,EAAE,MAAM,CAAC;QACrB,gBAAgB,EAAE,MAAM,CAAC;QACzB,WAAW,EAAE,MAAM,CAAC;KACrB,CAAC;CACH;AAED,MAAM,WAAW,UAAU;IACzB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,KAAK,CAAC,EAAE;QACN,YAAY,EAAE,MAAM,CAAC;QACrB,gBAAgB,EAAE,MAAM,CAAC;QACzB,WAAW,EAAE,MAAM,CAAC;KACrB,CAAC;CACH;AAED,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC"}
1
+ {"version":3,"file":"ai.types.d.ts","sourceRoot":"","sources":["../../../src/modules/ai/ai.types.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,GAAG,WAAW,GAAG,QAAQ,GAAG,MAAM,CAAC;IAC/C,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,QAAQ,EAAE,CAAC;CACxB;AAED,MAAM,WAAW,QAAQ;IACvB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,UAAU,CAAC;IACjB,QAAQ,EAAE;QACR,IAAI,EAAE,MAAM,CAAC;QACb,SAAS,EAAE,MAAM,CAAC;KACnB,CAAC;CACH;AAED,MAAM,WAAW,WAAW;IAC1B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,cAAc,EAAE,CAAC;CAC1B;AAED,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,UAAU,CAAC;IACjB,QAAQ,EAAE;QACR,IAAI,EAAE,MAAM,CAAC;QACb,WAAW,EAAE,MAAM,CAAC;QACpB,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;KACjC,CAAC;CACH;AAED,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,EAAE,MAAM,GAAG,QAAQ,GAAG,YAAY,CAAC;IAC/C,SAAS,CAAC,EAAE,QAAQ,EAAE,CAAC;IACvB,KAAK,CAAC,EAAE;QACN,YAAY,EAAE,MAAM,CAAC;QACrB,gBAAgB,EAAE,MAAM,CAAC;QACzB,WAAW,EAAE,MAAM,CAAC;KACrB,CAAC;CACH;AAED,MAAM,WAAW,UAAU;IACzB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE;QAAE,UAAU,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,GAAG,CAAA;KAAE,EAAE,CAAC;IACpD,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,KAAK,CAAC,EAAE;QACN,YAAY,EAAE,MAAM,CAAC;QACrB,gBAAgB,EAAE,MAAM,CAAC;QACzB,WAAW,EAAE,MAAM,CAAC;KACrB,CAAC;CACH;AAED,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,wBAAwB,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
- /** API 密钥 */
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":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAEH,OAAO,EACL,WAAW,EACX,WAAW,EACX,YAAY,EAGb,MAAM,eAAe,CAAC;AAGvB;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,aAAa;IACb,MAAM,EAAE,MAAM,CAAC;IACf,gCAAgC;IAChC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,2BAA2B;IAC3B,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,qBAAa,cAAc;IACzB,aAAa;IACb,OAAO,CAAC,MAAM,CAAS;IACvB,iBAAiB;IACjB,OAAO,CAAC,OAAO,CAAS;IACxB,aAAa;IACb,OAAO,CAAC,YAAY,CAAS;IAE7B;;;;;;;;;OASG;gBACS,MAAM,EAAE,YAAY;IAMhC;;;;;;;;;;;;;;;;;;;;;;;;OAwBG;IACG,IAAI,CACR,QAAQ,EAAE,WAAW,EAAE,EACvB,OAAO,GAAE,WAAgB,GACxB,OAAO,CAAC,YAAY,CAAC;IA0DxB;;;;;;;;;;;;;;;;OAgBG;IACI,UAAU,CACf,QAAQ,EAAE,WAAW,EAAE,EACvB,OAAO,GAAE,WAAgB,GACxB,cAAc,CAAC,MAAM,EAAE,IAAI,EAAE,OAAO,CAAC;IAqFxC;;;;;;;OAOG;IACH,OAAO,CAAC,aAAa;IAcrB;;;;;;;OAOG;IACH,OAAO,CAAC,aAAa;CA+BtB"}
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;IAahC,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"}