tianxincode 1.0.11 → 1.0.13

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 (318) hide show
  1. package/dist/api/api.types.d.ts +1 -0
  2. package/dist/api/api.types.d.ts.map +1 -1
  3. package/dist/api/chat.routes.js +108 -139
  4. package/dist/api/chat.routes.js.map +1 -1
  5. package/dist/api/db.routes.js +8 -4
  6. package/dist/api/db.routes.js.map +1 -1
  7. package/dist/api/email.routes.d.ts +2 -0
  8. package/dist/api/email.routes.d.ts.map +1 -0
  9. package/dist/api/email.routes.js +78 -0
  10. package/dist/api/email.routes.js.map +1 -0
  11. package/dist/api/files.routes.js +54 -0
  12. package/dist/api/files.routes.js.map +1 -1
  13. package/dist/api/filesystem.routes.js +0 -2
  14. package/dist/api/filesystem.routes.js.map +1 -1
  15. package/dist/api/index.d.ts +1 -1
  16. package/dist/api/index.d.ts.map +1 -1
  17. package/dist/api/index.js +6 -1
  18. package/dist/api/index.js.map +1 -1
  19. package/dist/api/scheduler.routes.d.ts +2 -0
  20. package/dist/api/scheduler.routes.d.ts.map +1 -0
  21. package/dist/api/scheduler.routes.js +127 -0
  22. package/dist/api/scheduler.routes.js.map +1 -0
  23. package/dist/api/terminal.routes.d.ts +13 -0
  24. package/dist/api/terminal.routes.d.ts.map +1 -0
  25. package/dist/api/terminal.routes.js +77 -0
  26. package/dist/api/terminal.routes.js.map +1 -0
  27. package/dist/cli/commands.js +5 -1
  28. package/dist/cli/commands.js.map +1 -1
  29. package/dist/components/App.d.ts.map +1 -1
  30. package/dist/components/App.js +125 -100
  31. package/dist/components/App.js.map +1 -1
  32. package/dist/config/tx.config.d.ts +0 -1
  33. package/dist/config/tx.config.d.ts.map +1 -1
  34. package/dist/config/tx.config.js +1 -1
  35. package/dist/config/tx.config.js.map +1 -1
  36. package/dist/modules/ai/agents/chat/agent_tool.d.ts +2 -0
  37. package/dist/modules/ai/agents/chat/agent_tool.d.ts.map +1 -0
  38. package/dist/modules/ai/agents/chat/agent_tool.js +15 -0
  39. package/dist/modules/ai/agents/chat/agent_tool.js.map +1 -0
  40. package/dist/modules/ai/agents/chat/chat.agent.d.ts +32 -0
  41. package/dist/modules/ai/agents/chat/chat.agent.d.ts.map +1 -0
  42. package/dist/modules/ai/agents/chat/chat.agent.js +255 -0
  43. package/dist/modules/ai/agents/chat/chat.agent.js.map +1 -0
  44. package/dist/modules/ai/agents/chat/prompts/role.txt +31 -0
  45. package/dist/modules/ai/agents/code/agent_tool.d.ts +2 -0
  46. package/dist/modules/ai/agents/code/agent_tool.d.ts.map +1 -0
  47. package/dist/modules/ai/agents/code/agent_tool.js +17 -0
  48. package/dist/modules/ai/agents/code/agent_tool.js.map +1 -0
  49. package/dist/modules/ai/agents/code/code.agent.d.ts +32 -0
  50. package/dist/modules/ai/agents/code/code.agent.d.ts.map +1 -0
  51. package/dist/modules/ai/agents/code/code.agent.js +255 -0
  52. package/dist/modules/ai/agents/code/code.agent.js.map +1 -0
  53. package/dist/modules/ai/agents/code/prompts/role.txt +51 -0
  54. package/dist/modules/ai/agents/index.d.ts +7 -0
  55. package/dist/modules/ai/agents/index.d.ts.map +1 -0
  56. package/dist/modules/ai/agents/index.js +7 -0
  57. package/dist/modules/ai/agents/index.js.map +1 -0
  58. package/dist/modules/ai/agents/task/agent_tool.d.ts +2 -0
  59. package/dist/modules/ai/agents/task/agent_tool.d.ts.map +1 -0
  60. package/dist/modules/ai/agents/task/agent_tool.js +14 -0
  61. package/dist/modules/ai/agents/task/agent_tool.js.map +1 -0
  62. package/dist/modules/ai/agents/task/prompts/role.txt +51 -0
  63. package/dist/modules/ai/agents/task/task.agent.d.ts +31 -0
  64. package/dist/modules/ai/agents/task/task.agent.d.ts.map +1 -0
  65. package/dist/modules/ai/agents/task/task.agent.js +226 -0
  66. package/dist/modules/ai/agents/task/task.agent.js.map +1 -0
  67. package/dist/modules/ai/ai.service.d.ts +13 -18
  68. package/dist/modules/ai/ai.service.d.ts.map +1 -1
  69. package/dist/modules/ai/ai.service.js +40 -105
  70. package/dist/modules/ai/ai.service.js.map +1 -1
  71. package/dist/modules/ai/ai.types.d.ts +8 -5
  72. package/dist/modules/ai/ai.types.d.ts.map +1 -1
  73. package/dist/modules/ai/index.d.ts +1 -3
  74. package/dist/modules/ai/index.d.ts.map +1 -1
  75. package/dist/modules/ai/index.js +0 -2
  76. package/dist/modules/ai/index.js.map +1 -1
  77. package/dist/modules/ai/openai.provider.d.ts.map +1 -1
  78. package/dist/modules/ai/openai.provider.js +3 -0
  79. package/dist/modules/ai/openai.provider.js.map +1 -1
  80. package/dist/modules/ai/provider/base.d.ts +5 -0
  81. package/dist/modules/ai/provider/base.d.ts.map +1 -1
  82. package/dist/modules/ai/provider/openai/openai-agent.d.ts +8 -0
  83. package/dist/modules/ai/provider/openai/openai-agent.d.ts.map +1 -1
  84. package/dist/modules/ai/provider/openai/openai-agent.js +50 -5
  85. package/dist/modules/ai/provider/openai/openai-agent.js.map +1 -1
  86. package/dist/modules/ai/react/provider.parser.d.ts +20 -0
  87. package/dist/modules/ai/react/provider.parser.d.ts.map +1 -0
  88. package/dist/modules/ai/react/provider.parser.js +88 -0
  89. package/dist/modules/ai/react/provider.parser.js.map +1 -0
  90. package/dist/modules/ai/summarizer/summarizer.prompts.d.ts +1 -1
  91. package/dist/modules/ai/summarizer/summarizer.prompts.d.ts.map +1 -1
  92. package/dist/modules/ai/summarizer/summarizer.prompts.js +19 -19
  93. package/dist/modules/ai/summarizer/summarizer.prompts.js.map +1 -1
  94. package/dist/modules/ai/summarizer/summarizer.service.d.ts.map +1 -1
  95. package/dist/modules/ai/summarizer/summarizer.service.js +33 -7
  96. package/dist/modules/ai/summarizer/summarizer.service.js.map +1 -1
  97. package/dist/modules/ai/summarizer/summarizer.types.d.ts +1 -0
  98. package/dist/modules/ai/summarizer/summarizer.types.d.ts.map +1 -1
  99. package/dist/modules/config/config.service.d.ts +3 -0
  100. package/dist/modules/config/config.service.d.ts.map +1 -1
  101. package/dist/modules/config/config.service.js +33 -0
  102. package/dist/modules/config/config.service.js.map +1 -1
  103. package/dist/modules/db/db.service.d.ts +3 -0
  104. package/dist/modules/db/db.service.d.ts.map +1 -1
  105. package/dist/modules/db/db.service.js +79 -0
  106. package/dist/modules/db/db.service.js.map +1 -1
  107. package/dist/modules/email/email.config.repository.d.ts +14 -0
  108. package/dist/modules/email/email.config.repository.d.ts.map +1 -0
  109. package/dist/modules/email/email.config.repository.js +70 -0
  110. package/dist/modules/email/email.config.repository.js.map +1 -0
  111. package/dist/modules/email/email.service.d.ts +14 -0
  112. package/dist/modules/email/email.service.d.ts.map +1 -0
  113. package/dist/modules/email/email.service.js +54 -0
  114. package/dist/modules/email/email.service.js.map +1 -0
  115. package/dist/modules/email/email.types.d.ts +20 -0
  116. package/dist/modules/email/email.types.d.ts.map +1 -0
  117. package/dist/modules/email/email.types.js +2 -0
  118. package/dist/modules/email/email.types.js.map +1 -0
  119. package/dist/modules/email/index.d.ts +4 -0
  120. package/dist/modules/email/index.d.ts.map +1 -0
  121. package/dist/modules/email/index.js +3 -0
  122. package/dist/modules/email/index.js.map +1 -0
  123. package/dist/modules/gateway/adapters/dingtalk.adapter.d.ts +7 -0
  124. package/dist/modules/gateway/adapters/dingtalk.adapter.d.ts.map +1 -1
  125. package/dist/modules/gateway/adapters/dingtalk.adapter.js +62 -2
  126. package/dist/modules/gateway/adapters/dingtalk.adapter.js.map +1 -1
  127. package/dist/modules/gateway/gateway.service.d.ts +1 -0
  128. package/dist/modules/gateway/gateway.service.d.ts.map +1 -1
  129. package/dist/modules/gateway/gateway.service.js +61 -18
  130. package/dist/modules/gateway/gateway.service.js.map +1 -1
  131. package/dist/modules/gateway/index.d.ts +1 -1
  132. package/dist/modules/gateway/index.d.ts.map +1 -1
  133. package/dist/modules/gateway/index.js +0 -1
  134. package/dist/modules/gateway/index.js.map +1 -1
  135. package/dist/modules/scheduler/index.d.ts +4 -0
  136. package/dist/modules/scheduler/index.d.ts.map +1 -0
  137. package/dist/modules/scheduler/index.js +4 -0
  138. package/dist/modules/scheduler/index.js.map +1 -0
  139. package/dist/modules/scheduler/notify.service.d.ts +12 -0
  140. package/dist/modules/scheduler/notify.service.d.ts.map +1 -0
  141. package/dist/modules/scheduler/notify.service.js +20 -0
  142. package/dist/modules/scheduler/notify.service.js.map +1 -0
  143. package/dist/modules/scheduler/scheduler.service.d.ts +35 -0
  144. package/dist/modules/scheduler/scheduler.service.d.ts.map +1 -0
  145. package/dist/modules/scheduler/scheduler.service.js +258 -0
  146. package/dist/modules/scheduler/scheduler.service.js.map +1 -0
  147. package/dist/modules/scheduler/task-log.service.d.ts +20 -0
  148. package/dist/modules/scheduler/task-log.service.d.ts.map +1 -0
  149. package/dist/modules/scheduler/task-log.service.js +44 -0
  150. package/dist/modules/scheduler/task-log.service.js.map +1 -0
  151. package/dist/modules/terminal/index.d.ts +3 -0
  152. package/dist/modules/terminal/index.d.ts.map +1 -0
  153. package/dist/modules/terminal/index.js +2 -0
  154. package/dist/modules/terminal/index.js.map +1 -0
  155. package/dist/modules/terminal/terminal.service.d.ts +48 -0
  156. package/dist/modules/terminal/terminal.service.d.ts.map +1 -0
  157. package/dist/modules/terminal/terminal.service.js +284 -0
  158. package/dist/modules/terminal/terminal.service.js.map +1 -0
  159. package/dist/modules/tools/index.d.ts +0 -1
  160. package/dist/modules/tools/index.d.ts.map +1 -1
  161. package/dist/modules/tools/index.js +0 -1
  162. package/dist/modules/tools/index.js.map +1 -1
  163. package/dist/modules/tools/provider/email.tool.d.ts +3 -0
  164. package/dist/modules/tools/provider/email.tool.d.ts.map +1 -0
  165. package/dist/modules/tools/provider/email.tool.js +50 -0
  166. package/dist/modules/tools/provider/email.tool.js.map +1 -0
  167. package/dist/modules/tools/provider/index.d.ts.map +1 -1
  168. package/dist/modules/tools/provider/index.js +2 -0
  169. package/dist/modules/tools/provider/index.js.map +1 -1
  170. package/dist/modules/tools/tool.service.d.ts +1 -1
  171. package/dist/modules/tools/tool.service.js +4 -4
  172. package/dist/modules/tools/tool.service.js.map +1 -1
  173. package/dist/repository/aiLog.repository.d.ts +17 -0
  174. package/dist/repository/aiLog.repository.d.ts.map +1 -0
  175. package/dist/repository/aiLog.repository.js +39 -0
  176. package/dist/repository/aiLog.repository.js.map +1 -0
  177. package/dist/repository/base.repository.d.ts +6 -0
  178. package/dist/repository/base.repository.d.ts.map +1 -0
  179. package/dist/repository/base.repository.js +14 -0
  180. package/dist/repository/base.repository.js.map +1 -0
  181. package/dist/repository/index.d.ts +5 -0
  182. package/dist/repository/index.d.ts.map +1 -0
  183. package/dist/repository/index.js +5 -0
  184. package/dist/repository/index.js.map +1 -0
  185. package/dist/repository/message.repository.d.ts +9 -0
  186. package/dist/repository/message.repository.d.ts.map +1 -0
  187. package/dist/repository/message.repository.js +35 -0
  188. package/dist/repository/message.repository.js.map +1 -0
  189. package/dist/repository/session.repository.d.ts +15 -0
  190. package/dist/repository/session.repository.d.ts.map +1 -0
  191. package/dist/repository/session.repository.js +33 -0
  192. package/dist/repository/session.repository.js.map +1 -0
  193. package/dist/services/codeChat/codeChat.service.d.ts +7 -0
  194. package/dist/services/codeChat/codeChat.service.d.ts.map +1 -0
  195. package/dist/services/codeChat/codeChat.service.js +53 -0
  196. package/dist/services/codeChat/codeChat.service.js.map +1 -0
  197. package/dist/services/codeChat/codeChat.types.d.ts +47 -0
  198. package/dist/services/codeChat/codeChat.types.d.ts.map +1 -0
  199. package/dist/services/codeChat/codeChat.types.js +2 -0
  200. package/dist/services/codeChat/codeChat.types.js.map +1 -0
  201. package/dist/services/codeChat/index.d.ts +5 -0
  202. package/dist/services/codeChat/index.d.ts.map +1 -0
  203. package/dist/services/codeChat/index.js +4 -0
  204. package/dist/services/codeChat/index.js.map +1 -0
  205. package/dist/services/commandChat/commandChat.service.d.ts +15 -0
  206. package/dist/services/commandChat/commandChat.service.d.ts.map +1 -0
  207. package/dist/services/commandChat/commandChat.service.js +18 -0
  208. package/dist/services/commandChat/commandChat.service.js.map +1 -0
  209. package/dist/services/commandChat/index.d.ts +3 -0
  210. package/dist/services/commandChat/index.d.ts.map +1 -0
  211. package/dist/services/commandChat/index.js +2 -0
  212. package/dist/services/commandChat/index.js.map +1 -0
  213. package/dist/web/web.service.d.ts +1 -0
  214. package/dist/web/web.service.d.ts.map +1 -1
  215. package/dist/web/web.service.js +107 -54
  216. package/dist/web/web.service.js.map +1 -1
  217. package/package.json +7 -2
  218. package/test-email.ts +95 -0
  219. package/web/dist/assets/{AiLogsView-2O9Szm8G.js → AiLogsView-D_SQ6qo4.js} +1 -1
  220. package/web/dist/assets/DevWorkflowView-C5VnPngb.css +1 -0
  221. package/web/dist/assets/DevWorkflowView-iHAv9LC0.js +16 -0
  222. package/web/dist/assets/Layout-CQhbIJxB.js +1 -0
  223. package/web/dist/assets/TasksView-B9B2H3-S.js +1 -0
  224. package/web/dist/assets/TerminalView-BKhdi5UF.js +24 -0
  225. package/web/dist/assets/TerminalView-BU5wZZv4.css +32 -0
  226. package/web/dist/assets/abap-BrgZPUOV.js +6 -0
  227. package/web/dist/assets/apex-DyP6w7ZV.js +6 -0
  228. package/web/dist/assets/azcli-BaLxmfj-.js +6 -0
  229. package/web/dist/assets/bat-CFOPXBzS.js +6 -0
  230. package/web/dist/assets/bicep-BfEKNvv3.js +7 -0
  231. package/web/dist/assets/cameligo-BFG1Mk7z.js +6 -0
  232. package/web/dist/assets/clojure-DTECt2xU.js +6 -0
  233. package/web/dist/assets/codicon-DCmgc-ay.ttf +0 -0
  234. package/web/dist/assets/coffee-CDGzqUPQ.js +6 -0
  235. package/web/dist/assets/cpp-CLLBncYj.js +6 -0
  236. package/web/dist/assets/csharp-dUCx_-0o.js +6 -0
  237. package/web/dist/assets/csp-5Rap-vPy.js +6 -0
  238. package/web/dist/assets/css-D3h14YRZ.js +8 -0
  239. package/web/dist/assets/cssMode-C_gwipb0.js +9 -0
  240. package/web/dist/assets/cypher-DrQuvNYM.js +6 -0
  241. package/web/dist/assets/dart-CFKIUWau.js +6 -0
  242. package/web/dist/assets/dockerfile-Zznr-cwX.js +6 -0
  243. package/web/dist/assets/ecl-Ce3n6wWz.js +6 -0
  244. package/web/dist/assets/elixir-deUWdS0T.js +6 -0
  245. package/web/dist/assets/flow9-i9-g7ZhI.js +6 -0
  246. package/web/dist/assets/freemarker2-WCA_pR0J.js +8 -0
  247. package/web/dist/assets/fsharp-CzKuDChf.js +6 -0
  248. package/web/dist/assets/go-Cphgjts3.js +6 -0
  249. package/web/dist/assets/graphql-Cg7bfA9N.js +6 -0
  250. package/web/dist/assets/handlebars-fzVGzXHj.js +6 -0
  251. package/web/dist/assets/hcl-0cvrggvQ.js +6 -0
  252. package/web/dist/assets/html-C4Rga6DD.js +6 -0
  253. package/web/dist/assets/htmlMode-BvrJ57rW.js +9 -0
  254. package/web/dist/assets/index-9RP8PAfk.js +949 -0
  255. package/web/dist/assets/{index-37FqBzBn.css → index-BhjlwJCp.css} +1 -1
  256. package/web/dist/assets/ini-Drc7WvVn.js +6 -0
  257. package/web/dist/assets/java-B_fMsGYe.js +6 -0
  258. package/web/dist/assets/javascript-cXKyuP98.js +6 -0
  259. package/web/dist/assets/jsonMode-Q4CMzwiX.js +15 -0
  260. package/web/dist/assets/julia-Bqgm2twL.js +6 -0
  261. package/web/dist/assets/kotlin-BSkB5QuD.js +6 -0
  262. package/web/dist/assets/less-BsTHnhdd.js +7 -0
  263. package/web/dist/assets/lexon-YWi4-JPR.js +6 -0
  264. package/web/dist/assets/liquid-CrbU0gmK.js +6 -0
  265. package/web/dist/assets/lua-nf6ki56Z.js +6 -0
  266. package/web/dist/assets/m3-Cpb6xl2v.js +6 -0
  267. package/web/dist/assets/markdown-DSZPf7rp.js +6 -0
  268. package/web/dist/assets/mdx-D72Dcs66.js +6 -0
  269. package/web/dist/assets/mips-B_c3zf-v.js +6 -0
  270. package/web/dist/assets/msdax-rUNN04Wq.js +6 -0
  271. package/web/dist/assets/mysql-DDwshQtU.js +6 -0
  272. package/web/dist/assets/objective-c-B5zXfXm9.js +6 -0
  273. package/web/dist/assets/pascal-CXOwvkN_.js +6 -0
  274. package/web/dist/assets/pascaligo-Bc-ZgV77.js +6 -0
  275. package/web/dist/assets/perl-CwNk8-XU.js +6 -0
  276. package/web/dist/assets/pgsql-tGk8EFnU.js +6 -0
  277. package/web/dist/assets/php-CpIb_Oan.js +6 -0
  278. package/web/dist/assets/pla-B03wrqEc.js +6 -0
  279. package/web/dist/assets/postiats-BKlk5iyT.js +6 -0
  280. package/web/dist/assets/powerquery-Bhzvs7bI.js +6 -0
  281. package/web/dist/assets/powershell-Dd3NCNK9.js +6 -0
  282. package/web/dist/assets/protobuf-COyEY5Pt.js +7 -0
  283. package/web/dist/assets/pug-BaJupSGV.js +6 -0
  284. package/web/dist/assets/python-DPqkZ_Xm.js +6 -0
  285. package/web/dist/assets/qsharp-DXyYeYxl.js +6 -0
  286. package/web/dist/assets/r-CdQndTaG.js +6 -0
  287. package/web/dist/assets/razor-DknXaqXN.js +6 -0
  288. package/web/dist/assets/redis-CVwtpugi.js +6 -0
  289. package/web/dist/assets/redshift-25W9uPmb.js +6 -0
  290. package/web/dist/assets/restructuredtext-DfzH4Xui.js +6 -0
  291. package/web/dist/assets/ruby-Cp1zYvxS.js +6 -0
  292. package/web/dist/assets/rust-D5C2fndG.js +6 -0
  293. package/web/dist/assets/sb-CDntyWJ8.js +6 -0
  294. package/web/dist/assets/scala-BoFRg7Ot.js +6 -0
  295. package/web/dist/assets/scheme-Bio4gycK.js +6 -0
  296. package/web/dist/assets/scss-4Ik7cdeQ.js +8 -0
  297. package/web/dist/assets/shell-CX-rkNHf.js +6 -0
  298. package/web/dist/assets/solidity-Tw7wswEv.js +6 -0
  299. package/web/dist/assets/sophia-C5WLch3f.js +6 -0
  300. package/web/dist/assets/sparql-DHaeiCBh.js +6 -0
  301. package/web/dist/assets/sql-CCSDG5nI.js +6 -0
  302. package/web/dist/assets/st-pnP8ivHi.js +6 -0
  303. package/web/dist/assets/swift-DwJ7jVG9.js +8 -0
  304. package/web/dist/assets/systemverilog-B9Xyijhd.js +6 -0
  305. package/web/dist/assets/tcl-DnHyzjbg.js +6 -0
  306. package/web/dist/assets/tsMode-DZAV3Wgo.js +16 -0
  307. package/web/dist/assets/twig-CPajHgWi.js +6 -0
  308. package/web/dist/assets/typescript-DenKTmW3.js +6 -0
  309. package/web/dist/assets/typespec-D-MeaMDU.js +6 -0
  310. package/web/dist/assets/vb-DgyLZaXg.js +6 -0
  311. package/web/dist/assets/wgsl-BIv9DU6q.js +303 -0
  312. package/web/dist/assets/xml-C_uqJta0.js +6 -0
  313. package/web/dist/assets/yaml-vwb3U7d7.js +6 -0
  314. package/web/dist/index.html +2 -2
  315. package/web/package.json +5 -1
  316. package/@.txcode/req//351/241/265/351/235/242/345/270/203/345/261/200/AI/346/234/215/345/212/241/345/225/206/345/222/214/346/250/241/345/236/213/351/205/215/347/275/256.html +0 -241
  317. package/web/dist/assets/Layout-C3GGWAI1.js +0 -1
  318. package/web/dist/assets/index-LvJQilK_.js +0 -199
@@ -17,11 +17,12 @@ import { Box, Text, useInput, useApp, Static } from 'ink';
17
17
  import { v4 as uuidv4 } from 'uuid';
18
18
  import * as fs from 'fs';
19
19
  import * as path from 'path';
20
- import { executeCommand } from '../cli/commands.js';
21
20
  import { sessionService } from '../modules/session/index.js';
22
21
  import { memoryService } from '../modules/memory/index.js';
23
- import { aiService } from '../modules/ai/index.js';
24
22
  import { dbService } from '../modules/db/index.js';
23
+ import { configService } from '../modules/config/index.js';
24
+ import { codeChatService } from '../services/codeChat/index.js';
25
+ import { commandChatService } from '../services/commandChat/index.js';
25
26
  /**
26
27
  * App 主组件函数
27
28
  *
@@ -185,7 +186,7 @@ export function App() {
185
186
  for (const provider of providers) {
186
187
  const providerModels = configService.getModels(provider.id);
187
188
  for (const m of providerModels) {
188
- models.push({ id: m.id, name: `${provider.name}/${m.name}` });
189
+ models.push({ id: m.id, name: m.name });
189
190
  }
190
191
  }
191
192
  // 如果没有模型,添加默认模型
@@ -212,15 +213,13 @@ export function App() {
212
213
  timestamp: new Date(m.createdAt),
213
214
  })));
214
215
  }
215
- const loadCurrentModel = async () => {
216
- try {
217
- const { configService } = await import('../modules/config/index.js');
218
- const provider = configService.getDefaultProvider();
219
- if (provider) {
220
- setCurrentModelName(provider.name);
221
- }
216
+ const loadCurrentModel = () => {
217
+ const defaultModel = configService.get('defaultModel');
218
+ //console.log('[DEBUG] loadCurrentModel - defaultModel from config:', defaultModel);
219
+ if (defaultModel) {
220
+ setCurrentModelName(defaultModel);
221
+ // console.log('[DEBUG] setCurrentModelName to:', defaultModel);
222
222
  }
223
- catch { }
224
223
  };
225
224
  loadCurrentModel();
226
225
  }, []);
@@ -275,56 +274,41 @@ export function App() {
275
274
  // ========== 命令处理 ==========
276
275
  // 以 / 开头的输入作为命令处理
277
276
  if (trimmedInput.startsWith('/')) {
278
- // 🔍 断点1: 确认 trimmedInput 是 '/help' 或 '/help xxx'
279
- // const result = await executeCommand(trimmedInput);
280
- let result;
281
277
  try {
282
- result = await executeCommand(trimmedInput);
278
+ const result = await commandChatService.handleCommand({
279
+ message: trimmedInput,
280
+ sessionId: currentSession || undefined,
281
+ });
282
+ if (result.answer) {
283
+ addMessage('system', result.answer);
284
+ }
285
+ if (result.sessionId && result.success) {
286
+ setCurrentSession(result.sessionId);
287
+ }
283
288
  }
284
289
  catch (err) {
285
- // 🔍 断点2: 如果 executeCommand 抛出异常,会在这里捕获
286
- console.error('[DEBUG] executeCommand 异常:', err);
290
+ console.error('[DEBUG] 命令执行异常:', err);
287
291
  addMessage('system', `命令执行异常: ${err instanceof Error ? err.message : String(err)}`);
288
292
  return;
289
293
  }
290
- // 🔍 断点3: 检查 result 对象的内容
291
- // if (!result) {
292
- // console.error('[DEBUG] executeCommand 返回 null/undefined');
293
- // return;
294
- // }
295
- if (result.message) {
296
- // 🔍 断点4: 确认消息被添加到 messages 数组
297
- addMessage('system', result.message);
298
- }
299
- if (result.data?.exit) {
300
- dbService.close();
301
- exit();
302
- }
303
- if (result.data?.id && result.success) {
304
- setCurrentSession(result.data.id);
305
- }
306
294
  return;
307
295
  }
308
296
  addMessage('user', trimmedInput);
309
- let sessionId = currentSession;
310
- if (!sessionId) {
311
- const session = sessionService.create('Chat Session');
312
- sessionId = session.id;
313
- setCurrentSession(sessionId);
314
- sessionService.switchTo(sessionId);
315
- }
316
297
  setStatus('thinking');
317
298
  abortControllerRef.current = new AbortController();
318
299
  try {
319
- const result = await aiService.chatWithTools(trimmedInput, {
320
- sessionId: sessionId,
321
- memoryService,
300
+ const result = await codeChatService.handleChat({
301
+ message: trimmedInput,
302
+ sessionId: currentSession || undefined,
322
303
  abortSignal: abortControllerRef.current.signal,
323
- onStep: (state, iteration) => {
324
- if (state.thought) {
325
- const thoughtPreview = state.thought.length > 150
326
- ? state.thought.slice(0, 150) + '...'
327
- : state.thought;
304
+ onStep: (step, iteration, usage) => {
305
+ if (usage?.promptTokens) {
306
+ setTokenStats(prev => ({ ...prev, promptTokens: usage.promptTokens }));
307
+ }
308
+ if (step.thought) {
309
+ const thoughtPreview = step.thought.length > 150
310
+ ? step.thought.slice(0, 150) + '...'
311
+ : step.thought;
328
312
  addMessage('system', `💭 ${thoughtPreview}`);
329
313
  }
330
314
  const actionNames = {
@@ -342,47 +326,48 @@ export function App() {
342
326
  'webfetch': '网页获取',
343
327
  'question': '提问',
344
328
  };
345
- const actions = state.actions || [];
346
- for (const action of actions) {
347
- const actionName = actionNames[action.actionName] || action.actionName;
329
+ const toolCalls = step.toolCalls || [];
330
+ for (const tc of toolCalls) {
331
+ const name = tc.function.name;
332
+ const actionName = actionNames[name] || name;
348
333
  let stepInfo = `🔧 ${actionName}`;
349
- if (action.actionInput) {
334
+ if (tc.function.arguments) {
350
335
  try {
351
- const inputObj = typeof action.actionInput === 'string'
352
- ? JSON.parse(action.actionInput)
353
- : action.actionInput;
354
- if (action.actionName === 'read_file') {
336
+ const inputObj = typeof tc.function.arguments === 'string'
337
+ ? JSON.parse(tc.function.arguments)
338
+ : tc.function.arguments;
339
+ if (name === 'read_file') {
355
340
  const offset = inputObj.offset ?? 1;
356
341
  const limit = inputObj.limit ?? 300;
357
342
  stepInfo += `: ${inputObj.file_path} offset:${offset} limit:${limit}`;
358
343
  }
359
- else if (action.actionName === 'edit_file') {
344
+ else if (name === 'edit_file') {
360
345
  stepInfo += `: ${inputObj.file_path}`;
361
346
  }
362
- else if (action.actionName === 'write_file') {
347
+ else if (name === 'write_file') {
363
348
  stepInfo += `: ${inputObj.file_path}`;
364
349
  }
365
- else if (action.actionName === 'execute_bash' || action.actionName === 'bash') {
350
+ else if (name === 'execute_bash' || name === 'bash') {
366
351
  stepInfo += `: ${inputObj.command?.slice(0, 50)}`;
367
352
  }
368
- else if (action.actionName === 'find_files' || action.actionName === 'glob') {
353
+ else if (name === 'find_files' || name === 'glob') {
369
354
  stepInfo += `: ${inputObj.pattern}`;
370
355
  }
371
- else if (action.actionName === 'grep') {
356
+ else if (name === 'grep') {
372
357
  stepInfo += `: ${inputObj.pattern}`;
373
358
  }
374
- else if (action.actionName === 'loadSkill') {
359
+ else if (name === 'loadSkill') {
375
360
  stepInfo += `: ${inputObj.skillPath}`;
376
361
  }
377
- else if (action.actionName === 'webfetch') {
362
+ else if (name === 'webfetch') {
378
363
  stepInfo += `: ${inputObj.url?.slice(0, 50)}`;
379
364
  }
380
- else if (action.actionName === 'todowrite') {
365
+ else if (name === 'todowrite') {
381
366
  if (inputObj.todos && Array.isArray(inputObj.todos)) {
382
367
  stepInfo += `: ${inputObj.todos.length} 个任务`;
383
368
  }
384
369
  }
385
- else if (action.actionName === 'question') {
370
+ else if (name === 'question') {
386
371
  stepInfo += `: ${inputObj.questions?.length || 0} 个问题`;
387
372
  }
388
373
  else {
@@ -401,34 +386,15 @@ export function App() {
401
386
  }
402
387
  catch { }
403
388
  }
404
- if (state.observation) {
405
- const obsStr = typeof state.observation === 'string'
406
- ? state.observation
407
- : JSON.stringify(state.observation);
408
- const isFailed = obsStr.startsWith('错误:') ||
409
- obsStr.startsWith('Error:') ||
410
- obsStr.includes('未找到') ||
411
- obsStr.includes('不存在');
412
- if (isFailed) {
413
- addMessage('system', `${stepInfo} ❌`);
414
- }
415
- else {
416
- addMessage('system', `${stepInfo} ✓`);
417
- }
389
+ if (step.success === false) {
390
+ addMessage('system', `${stepInfo} ❌`);
418
391
  }
419
392
  else {
420
- addMessage('system', stepInfo);
393
+ addMessage('system', `${stepInfo} ✓`);
421
394
  }
422
395
  }
423
- if (actions.length === 0 && state.observation) {
424
- const obsStr = typeof state.observation === 'string'
425
- ? state.observation
426
- : JSON.stringify(state.observation);
427
- const isFailed = obsStr.startsWith('错误:') ||
428
- obsStr.startsWith('Error:') ||
429
- obsStr.includes('未找到') ||
430
- obsStr.includes('不存在');
431
- if (isFailed) {
396
+ if (toolCalls.length === 0 && step.success !== undefined) {
397
+ if (step.success === false) {
432
398
  addMessage('system', `🔧 工具执行 ❌`);
433
399
  }
434
400
  else {
@@ -436,20 +402,32 @@ export function App() {
436
402
  }
437
403
  }
438
404
  },
405
+ onCompact: (info) => {
406
+ addMessage('system', `【压缩完成】${info.summary || ''}`);
407
+ if (currentSession) {
408
+ const msgs = memoryService.getPermanentMessages(currentSession);
409
+ setMessages(msgs.map(m => ({
410
+ id: uuidv4(),
411
+ role: m.role,
412
+ content: m.content,
413
+ timestamp: new Date(m.createdAt),
414
+ })));
415
+ }
416
+ },
439
417
  });
440
418
  if (result.answer) {
441
419
  addMessage('assistant', result.answer);
442
- memoryService.addMessage(sessionId, 'assistant', result.answer, true);
443
420
  }
444
421
  if (result.usage) {
445
422
  setTokenStats({
446
- promptTokens: result.usage.promptTokens,
447
- completionTokens: result.usage.completionTokens,
448
- totalTokens: result.usage.totalTokens,
423
+ promptTokens: result.usage.promptTokens || 0,
424
+ completionTokens: result.usage.completionTokens || 0,
425
+ totalTokens: result.usage.totalTokens || 0,
449
426
  });
450
427
  }
451
- if (sessionId) {
452
- const stats = memoryService.getSessionStats(sessionId);
428
+ if (result.sessionId) {
429
+ setCurrentSession(result.sessionId);
430
+ const stats = memoryService.getSessionStats(result.sessionId);
453
431
  if (stats.totalMessages > 0) {
454
432
  const compressPercent = Math.round((stats.compressedCount / stats.totalMessages) * 100);
455
433
  setCompressionPercent(compressPercent);
@@ -470,7 +448,7 @@ export function App() {
470
448
  abortControllerRef.current = null;
471
449
  setStatus('idle');
472
450
  }
473
- }, [input, status, currentSession, addMessage, exit]);
451
+ }, [input, status, currentSession, addMessage]);
474
452
  // ========== 键盘输入处理 ==========
475
453
  /**
476
454
  * useInput Hook - 处理所有键盘输入事件
@@ -529,8 +507,11 @@ export function App() {
529
507
  }
530
508
  else if (key.return) {
531
509
  if (modelList[modelSelectedIndex]) {
532
- setCurrentModelName(modelList[modelSelectedIndex].name);
533
- addMessage('system', `已切换到模型: ${modelList[modelSelectedIndex].name}`);
510
+ const modelName = modelList[modelSelectedIndex].name;
511
+ console.log('[模型切换] 准备保存模型:', modelName);
512
+ setCurrentModelName(modelName);
513
+ configService.set('defaultModel', modelName);
514
+ console.log('[模型切换] 已保存到 config 表');
534
515
  }
535
516
  setModelSelectMode(false);
536
517
  setModelList([]);
@@ -668,8 +649,52 @@ export function App() {
668
649
  msg.content)));
669
650
  }
670
651
  if (msg.role === 'assistant') {
671
- return (React.createElement(Box, { key: msg.id, marginBottom: 1, paddingLeft: 2 },
672
- React.createElement(Text, { color: "#d4d4d8" }, msg.content)));
652
+ let thought = '';
653
+ let toolCalls = [];
654
+ let success = true;
655
+ try {
656
+ const parsed = JSON.parse(msg.content);
657
+ if (parsed.type === 'assistant_with_tools') {
658
+ thought = parsed.thought || '';
659
+ toolCalls = parsed.toolCalls || [];
660
+ success = parsed.success !== false;
661
+ }
662
+ else {
663
+ thought = msg.content;
664
+ }
665
+ }
666
+ catch {
667
+ thought = msg.content;
668
+ }
669
+ const actionNames = {
670
+ 'read': '读取文件',
671
+ 'read_file': '读取文件',
672
+ 'edit_file': '编辑文件',
673
+ 'write_file': '写入文件',
674
+ 'bash': '执行命令',
675
+ 'execute_bash': '执行命令',
676
+ 'find_files': '搜索文件',
677
+ 'grep': '搜索内容',
678
+ 'glob': '文件匹配',
679
+ };
680
+ return (React.createElement(Box, { key: msg.id, marginBottom: 1, flexDirection: "column" },
681
+ thought && (React.createElement(Box, { paddingLeft: 2 },
682
+ React.createElement(Text, { bold: true, color: "cyan" },
683
+ "~ ",
684
+ thought.slice(0, 150),
685
+ thought.length > 150 ? '...' : ''))),
686
+ toolCalls.map((tc, idx) => {
687
+ const name = tc.function?.name || 'unknown';
688
+ const actionName = actionNames[name] || name;
689
+ return (React.createElement(Box, { key: idx, paddingLeft: 2 },
690
+ React.createElement(Text, { dimColor: true },
691
+ "* ",
692
+ actionName,
693
+ " ",
694
+ success ? '✓' : '✗')));
695
+ }),
696
+ !thought && toolCalls.length === 0 && (React.createElement(Box, { paddingLeft: 2 },
697
+ React.createElement(Text, { color: "#d4d4d8" }, msg.content)))));
673
698
  }
674
699
  if (isThoughtMsg) {
675
700
  return (React.createElement(Box, { key: msg.id, 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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"}
@@ -20,7 +20,6 @@ export interface TxConfig {
20
20
  ai: {
21
21
  maxContextTokens: number;
22
22
  context: ContextConfig;
23
- aiMode: 'react' | 'provider';
24
23
  };
25
24
  }
26
25
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"tx.config.d.ts","sourceRoot":"","sources":["../../src/config/tx.config.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,OAAO,GAAG,YAAY,CAAC;IAC7B,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,OAAO,CAAC;CACtB;AAED,MAAM,WAAW,QAAQ;IACvB,KAAK,EAAE,OAAO,CAAC;IAEf,GAAG,EAAE;QACH,OAAO,EAAE,OAAO,CAAC;QACjB,GAAG,EAAE,MAAM,CAAC;QACZ,SAAS,EAAE,MAAM,CAAC;KACnB,CAAC;IAEF,iBAAiB,EAAE,MAAM,CAAC;IAE1B,EAAE,EAAE;QACF,gBAAgB,EAAE,MAAM,CAAC;QACzB,OAAO,EAAE,aAAa,CAAC;QACvB,MAAM,EAAE,OAAO,GAAG,UAAU,CAAC;KAC9B,CAAC;CACH;AAED;;;GAGG;AACH,QAAA,MAAM,MAAM,EAAE,QAqBb,CAAC;AAEF,eAAe,MAAM,CAAC"}
1
+ {"version":3,"file":"tx.config.d.ts","sourceRoot":"","sources":["../../src/config/tx.config.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,OAAO,GAAG,YAAY,CAAC;IAC7B,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,OAAO,CAAC;CACtB;AAED,MAAM,WAAW,QAAQ;IACvB,KAAK,EAAE,OAAO,CAAC;IAEf,GAAG,EAAE;QACH,OAAO,EAAE,OAAO,CAAC;QACjB,GAAG,EAAE,MAAM,CAAC;QACZ,SAAS,EAAE,MAAM,CAAC;KACnB,CAAC;IAEF,iBAAiB,EAAE,MAAM,CAAC;IAE1B,EAAE,EAAE;QACF,gBAAgB,EAAE,MAAM,CAAC;QACzB,OAAO,EAAE,aAAa,CAAC;KACxB,CAAC;CACH;AAED;;;GAGG;AACH,QAAA,MAAM,MAAM,EAAE,QAqBb,CAAC;AAEF,eAAe,MAAM,CAAC"}
@@ -20,10 +20,10 @@ const config = {
20
20
  context: {
21
21
  mode: 'fixed',
22
22
  maxTokens: 100000,
23
+ //maxTokens: 8000,
23
24
  percentage: 0.95,
24
25
  autoCompact: true,
25
26
  },
26
- aiMode: 'provider',
27
27
  },
28
28
  };
29
29
  export default config;
@@ -1 +1 @@
1
- {"version":3,"file":"tx.config.js","sourceRoot":"","sources":["../../src/config/tx.config.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AA2BH;;;GAGG;AACH,MAAM,MAAM,GAAa;IACvB,KAAK,EAAE,IAAI;IAEX,GAAG,EAAE;QACH,OAAO,EAAE,IAAI;QACb,GAAG,EAAE,KAAK;QACV,SAAS,EAAE,YAAY;KACxB;IAED,iBAAiB,EAAE,EAAE;IAErB,EAAE,EAAE;QACF,gBAAgB,EAAE,MAAM;QACxB,OAAO,EAAE;YACP,IAAI,EAAE,OAAO;YACb,SAAS,EAAE,MAAM;YACjB,UAAU,EAAE,IAAI;YAChB,WAAW,EAAE,IAAI;SAClB;QACD,MAAM,EAAE,UAAU;KACnB;CACF,CAAC;AAEF,eAAe,MAAM,CAAC"}
1
+ {"version":3,"file":"tx.config.js","sourceRoot":"","sources":["../../src/config/tx.config.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AA0BH;;;GAGG;AACH,MAAM,MAAM,GAAa;IACvB,KAAK,EAAE,IAAI;IAEX,GAAG,EAAE;QACH,OAAO,EAAE,IAAI;QACb,GAAG,EAAE,KAAK;QACV,SAAS,EAAE,YAAY;KACxB;IAED,iBAAiB,EAAE,EAAE;IAErB,EAAE,EAAE;QACF,gBAAgB,EAAE,MAAM;QACxB,OAAO,EAAE;YACP,IAAI,EAAE,OAAO;YACb,SAAS,EAAE,MAAM;YACjB,kBAAkB;YAClB,UAAU,EAAE,IAAI;YAChB,WAAW,EAAE,IAAI;SAClB;KACF;CACF,CAAC;AAEF,eAAe,MAAM,CAAC"}
@@ -0,0 +1,2 @@
1
+ export declare const CHAT_TOOLS: string[];
2
+ //# sourceMappingURL=agent_tool.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agent_tool.d.ts","sourceRoot":"","sources":["../../../../../src/modules/ai/agents/chat/agent_tool.ts"],"names":[],"mappings":"AACA,eAAO,MAAM,UAAU,EAAE,MAAM,EAY9B,CAAC"}
@@ -0,0 +1,15 @@
1
+ // TODO: 用户定义
2
+ export const CHAT_TOOLS = [
3
+ 'read_file',
4
+ 'write_file',
5
+ 'edit_file',
6
+ 'bash',
7
+ 'glob',
8
+ 'grep',
9
+ 'lsp',
10
+ 'web_search',
11
+ 'web_fetch',
12
+ 'memory',
13
+ 'skill',
14
+ ];
15
+ //# sourceMappingURL=agent_tool.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agent_tool.js","sourceRoot":"","sources":["../../../../../src/modules/ai/agents/chat/agent_tool.ts"],"names":[],"mappings":"AAAA,aAAa;AACb,MAAM,CAAC,MAAM,UAAU,GAAa;IAClC,WAAW;IACX,YAAY;IACZ,WAAW;IACX,MAAM;IACN,MAAM;IACN,MAAM;IACN,KAAK;IACL,YAAY;IACZ,WAAW;IACX,QAAQ;IACR,OAAO;CACR,CAAC"}
@@ -0,0 +1,32 @@
1
+ import { OpenAIProvider } from '../../openai.provider.js';
2
+ import { AIProvider, ProviderRunOptions, ProviderRunResult } from '../../provider/base.js';
3
+ import type { MemoryService } from '../../../memory/memory.service.js';
4
+ export interface ChatAgentConfig {
5
+ provider: OpenAIProvider;
6
+ maxIterations?: number;
7
+ projectPath?: string;
8
+ sessionId?: string;
9
+ memoryService?: MemoryService;
10
+ }
11
+ export declare class ChatAgent implements AIProvider {
12
+ name: string;
13
+ tools: string[];
14
+ keepContext: boolean;
15
+ private provider;
16
+ private maxIterations;
17
+ private projectPath?;
18
+ private sessionId?;
19
+ private memoryService?;
20
+ private providerTools;
21
+ private providerToolsMap;
22
+ constructor(config: ChatAgentConfig);
23
+ run(userMessage: string, options?: ProviderRunOptions): Promise<ProviderRunResult>;
24
+ getType(): string;
25
+ private executeTool;
26
+ private getBuiltinTools;
27
+ private getFilteredTools;
28
+ private buildPrompt;
29
+ private loadRoleTemplate;
30
+ private addMessage;
31
+ }
32
+ //# sourceMappingURL=chat.agent.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chat.agent.d.ts","sourceRoot":"","sources":["../../../../../src/modules/ai/agents/chat/chat.agent.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAK1D,OAAO,EACL,UAAU,EACV,kBAAkB,EAClB,iBAAiB,EAKlB,MAAM,wBAAwB,CAAC;AAChC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mCAAmC,CAAC;AAGvE,MAAM,WAAW,eAAe;IAC9B,QAAQ,EAAE,cAAc,CAAC;IACzB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,aAAa,CAAC,EAAE,aAAa,CAAC;CAC/B;AAED,qBAAa,SAAU,YAAW,UAAU;IAC1C,IAAI,SAAU;IACd,KAAK,WAAc;IACnB,WAAW,UAAQ;IAEnB,OAAO,CAAC,QAAQ,CAAiB;IACjC,OAAO,CAAC,aAAa,CAAS;IAC9B,OAAO,CAAC,WAAW,CAAC,CAAS;IAC7B,OAAO,CAAC,SAAS,CAAC,CAAS;IAC3B,OAAO,CAAC,aAAa,CAAC,CAAgB;IACtC,OAAO,CAAC,aAAa,CAAa;IAClC,OAAO,CAAC,gBAAgB,CAA+B;gBAE3C,MAAM,EAAE,eAAe;IAQ7B,GAAG,CACP,WAAW,EAAE,MAAM,EACnB,OAAO,CAAC,EAAE,kBAAkB,GAC3B,OAAO,CAAC,iBAAiB,CAAC;IAuJ7B,OAAO,IAAI,MAAM;YAIH,WAAW;YAuBX,eAAe;YAWf,gBAAgB;YAKhB,WAAW;YAuDX,gBAAgB;IAa9B,OAAO,CAAC,UAAU;CAoBnB"}