tianxincode 1.0.47 → 1.0.49

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 (302) hide show
  1. package/README.md +200 -200
  2. package/dist/cli/commands.js +18 -18
  3. package/dist/core/ai/agents/caller/prompts/role.txt +50 -50
  4. package/dist/core/ai/agents/chat/chat.agent.js +30 -30
  5. package/dist/core/ai/agents/chat/prompts/role.txt +30 -30
  6. package/dist/core/ai/agents/code/code.agent.js +6 -6
  7. package/dist/core/ai/agents/code/prompts/role.txt +50 -50
  8. package/dist/core/ai/agents/common/prompt/role.txt +51 -51
  9. package/dist/core/ai/agents/common/prompts.js +26 -26
  10. package/dist/core/ai/agents/design/design.agent.js +6 -6
  11. package/dist/core/ai/agents/design/prompts/role.txt +36 -36
  12. package/dist/core/ai/agents/dream/prompts/init.txt +20 -20
  13. package/dist/core/ai/agents/mem/mem.agent.js +5 -5
  14. package/dist/core/ai/agents/mem/prompts/role.txt +35 -35
  15. package/dist/core/ai/agents/skill/prompts/role.txt +61 -61
  16. package/dist/core/ai/agents/skill/skill.agent.js +26 -26
  17. package/dist/core/ai/agents/summarizer/prompts/role.txt +30 -30
  18. package/dist/core/ai/agents/task/prompts/role.txt +50 -50
  19. package/dist/core/ai/agents/task/task.agent.js +30 -30
  20. package/dist/core/ai/provider/deepseek.provider.js +1 -1
  21. package/dist/core/ai/provider/deepseek.provider.js.map +1 -1
  22. package/dist/core/ai/provider/openai.provider.js +1 -1
  23. package/dist/core/ai/provider/openai.provider.js.map +1 -1
  24. package/dist/core/db/db.service.d.ts.map +1 -1
  25. package/dist/core/db/db.service.js +3 -1
  26. package/dist/core/db/db.service.js.map +1 -1
  27. package/dist/core/db/init_sql/ai_log.init.js +15 -15
  28. package/dist/core/db/init_sql/code_snippet.init.js +11 -11
  29. package/dist/core/db/init_sql/config.init.js +15 -15
  30. package/dist/core/db/init_sql/custom_action.init.js +10 -10
  31. package/dist/core/db/init_sql/dingding.init.js +9 -9
  32. package/dist/core/db/init_sql/email.init.js +14 -14
  33. package/dist/core/db/init_sql/lsp.init.js +8 -8
  34. package/dist/core/db/init_sql/message_file.init.js +11 -11
  35. package/dist/core/db/init_sql/project.init.js +20 -20
  36. package/dist/core/db/init_sql/provider.init.js +35 -35
  37. package/dist/core/db/init_sql/scheduler.init.js +32 -32
  38. package/dist/core/db/init_sql/session.init.js +23 -23
  39. package/dist/core/db/init_sql/spec.init.js +15 -15
  40. package/dist/core/db/init_sql/waf_gateway.init.js +9 -9
  41. package/dist/core/db/init_sql/zihao.init.js +11 -11
  42. package/dist/core/lsp/sql.js +11 -11
  43. package/dist/core/tools/provider/bash.txt +47 -47
  44. package/dist/core/tools/provider/code_search.txt +20 -20
  45. package/dist/core/tools/provider/edit_file.txt +13 -13
  46. package/dist/core/tools/provider/glob.txt +12 -12
  47. package/dist/core/tools/provider/grep.txt +14 -14
  48. package/dist/core/tools/provider/lsp.txt +19 -19
  49. package/dist/core/tools/provider/memory.txt +21 -21
  50. package/dist/core/tools/provider/read_file.txt +17 -17
  51. package/dist/core/tools/provider/todo_read.txt +16 -16
  52. package/dist/core/tools/provider/todo_write.txt +48 -48
  53. package/dist/core/tools/provider/web_fetch.txt +17 -17
  54. package/dist/core/tools/provider/web_search.txt +18 -18
  55. package/dist/core/tools/provider/write_file.txt +11 -11
  56. package/dist/gateway/api/skill/detail_skill.d.ts.map +1 -1
  57. package/dist/gateway/api/skill/detail_skill.js +7 -5
  58. package/dist/gateway/api/skill/detail_skill.js.map +1 -1
  59. package/dist/gateway/cli/commands.js +18 -18
  60. package/dist/modules/ai/agents/chat/prompts/role.txt +30 -30
  61. package/dist/modules/ai/agents/code/prompts/role.txt +50 -50
  62. package/dist/modules/ai/agents/mem/prompts/role.txt +35 -35
  63. package/dist/modules/ai/agents/skill/prompts/role.txt +61 -61
  64. package/dist/modules/ai/agents/task/prompts/role.txt +50 -50
  65. package/dist/modules/ai/ai-log.service.js +10 -10
  66. package/dist/modules/ai/provider/openai/prompt/role.txt +51 -51
  67. package/dist/modules/ai/summarizer/summarizer.prompts.js +30 -30
  68. package/dist/modules/config/config.service.js +5 -5
  69. package/dist/modules/db/db.service.js +252 -252
  70. package/dist/modules/email/email.config.repository.js +1 -1
  71. package/dist/modules/repositories/project.repository.d.ts +28 -0
  72. package/dist/modules/repositories/project.repository.d.ts.map +1 -0
  73. package/dist/modules/repositories/project.repository.js +47 -0
  74. package/dist/modules/repositories/project.repository.js.map +1 -0
  75. package/dist/modules/scheduler/task-log.service.js +1 -1
  76. package/dist/modules/services/project/project.service.d.ts +14 -0
  77. package/dist/modules/services/project/project.service.d.ts.map +1 -0
  78. package/dist/modules/services/project/project.service.js +47 -0
  79. package/dist/modules/services/project/project.service.js.map +1 -0
  80. package/dist/modules/skill/skill.txt +36 -36
  81. package/dist/modules/spec/spec.injector.js +24 -24
  82. package/dist/modules/tools/provider/bash.txt +47 -47
  83. package/dist/modules/tools/provider/code_search.txt +20 -20
  84. package/dist/modules/tools/provider/edit_file.txt +13 -13
  85. package/dist/modules/tools/provider/glob.txt +12 -12
  86. package/dist/modules/tools/provider/grep.txt +14 -14
  87. package/dist/modules/tools/provider/lsp.txt +19 -19
  88. package/dist/modules/tools/provider/memory.txt +21 -21
  89. package/dist/modules/tools/provider/read_file.txt +17 -17
  90. package/dist/modules/tools/provider/todo_read.txt +16 -16
  91. package/dist/modules/tools/provider/todo_write.txt +48 -48
  92. package/dist/modules/tools/provider/web_fetch.txt +17 -17
  93. package/dist/modules/tools/provider/web_search.txt +18 -18
  94. package/dist/modules/tools/provider/write_file.txt +11 -11
  95. package/dist/modules/waf-gateway/waf-gateway.module.js +8 -8
  96. package/dist/modules/waf-gateway/waf-gateway.service.js +12 -12
  97. package/dist/repositories/project.repository.d.ts +28 -0
  98. package/dist/repositories/project.repository.d.ts.map +1 -0
  99. package/dist/repositories/project.repository.js +47 -0
  100. package/dist/repositories/project.repository.js.map +1 -0
  101. package/dist/repository/ai_log.repository.js +1 -1
  102. package/dist/repository/config.repository.js +5 -5
  103. package/dist/repository/email.repository.js +1 -1
  104. package/dist/repository/memory.repository.js +1 -1
  105. package/dist/repository/project.repository.js +3 -3
  106. package/dist/repository/scheduler.repository.js +2 -2
  107. package/dist/repository/session.repository.js +1 -1
  108. package/dist/repository/zihao-config.repository.js +1 -1
  109. package/dist/services/skill/skill.tool.d.ts.map +1 -1
  110. package/dist/services/skill/skill.tool.js +6 -1
  111. package/dist/services/skill/skill.tool.js.map +1 -1
  112. package/dist/services/skill/skill.txt +36 -36
  113. package/package.json +76 -76
  114. package/scripts/copy-txt.js +31 -31
  115. package/scripts/ink-scroll-demo.tsx +147 -147
  116. package/tsconfig.test.json +9 -9
  117. package/web/dist/assets/{ConfirmDialog-B2bVsPFI.js → ConfirmDialog-B03GcCHQ.js} +1 -1
  118. package/web/dist/assets/PcLayout-CYW3zqcs.css +1 -0
  119. package/web/dist/assets/{PcLayout-DeXNBHu2.js → PcLayout-ZTdJNg7G.js} +1 -1
  120. package/web/dist/assets/{aiLogsView-JvjhLmyo.js → aiLogsView-Bt8Xg1Qx.js} +1 -1
  121. package/web/dist/assets/{cssMode-sYHhwUZh.js → cssMode-CBb6D87U.js} +1 -1
  122. package/web/dist/assets/{customActionsView-Cvmzxvl4.js → customActionsView-DdjnHzwm.js} +1 -1
  123. package/web/dist/assets/deployView-CD7ji9IS.css +1 -0
  124. package/web/dist/assets/{deployView-CjV4ySrf.js → deployView-Cj51_Job.js} +1 -1
  125. package/web/dist/assets/designView-C3pSX4nP.css +1 -0
  126. package/web/dist/assets/designView-RT8tKEN9.js +18 -0
  127. package/web/dist/assets/devWorkflowView-BTozmaiN.js +36 -0
  128. package/web/dist/assets/devWorkflowView-DYhIfbCB.css +1 -0
  129. package/web/dist/assets/devWorkflowViewApp-CErbhC2s.css +1 -0
  130. package/web/dist/assets/{devWorkflowViewApp-DPlFgiS_.js → devWorkflowViewApp-DLslXEq9.js} +3 -3
  131. package/web/dist/assets/{fileZihao-DvZmuTYu.js → fileZihao-CtZ4bUIH.js} +1 -1
  132. package/web/dist/assets/{freemarker2-DTyAQBBj.js → freemarker2-CX3jc3l2.js} +1 -1
  133. package/web/dist/assets/gitChanges-D6QxPcii.css +1 -0
  134. package/web/dist/assets/{gitChanges-Cpf4HHoF.js → gitChanges-DFRvzL5I.js} +1 -1
  135. package/web/dist/assets/gitChangesApp-Bjn-MCmr.css +1 -0
  136. package/web/dist/assets/{gitChangesApp-BOURDd_l.js → gitChangesApp-ZI7-V8oB.js} +2 -2
  137. package/web/dist/assets/{handlebars-DiWIXxOG.js → handlebars-CTaQD6FN.js} +1 -1
  138. package/web/dist/assets/{html-BCQWkFzH.js → html-BruJsfYv.js} +1 -1
  139. package/web/dist/assets/{htmlMode-BbMA34cR.js → htmlMode-wewroXLr.js} +1 -1
  140. package/web/dist/assets/{index-C_tz4Wda.css → index-C0xmVTIn.css} +1 -1
  141. package/web/dist/assets/{index-C7axH05o.js → index-Cn73hS12.js} +9 -9
  142. package/web/dist/assets/{javascript-By4MYHaO.js → javascript-B4ku8P1-.js} +1 -1
  143. package/web/dist/assets/{jsonMode-5JIz7tDN.js → jsonMode-BIvVuBMG.js} +1 -1
  144. package/web/dist/assets/{liquid-BQBVii4f.js → liquid-Bo3G0Ep7.js} +1 -1
  145. package/web/dist/assets/{mdx-Cwk7nqzM.js → mdx-Duv0ylZz.js} +1 -1
  146. package/web/dist/assets/{mediaChat-DivTDoIv.js → mediaChat-RT7iqqYb.js} +1 -1
  147. package/web/dist/assets/{python-L_kGfe1T.js → python-CEhCctGm.js} +1 -1
  148. package/web/dist/assets/{razor-XGuHliMI.js → razor-DPK8nTD7.js} +1 -1
  149. package/web/dist/assets/{taskView-BcJ3LAxp.js → taskView-sOyebRqn.js} +1 -1
  150. package/web/dist/assets/{terminalView-q-UKzK0M.js → terminalView-GTYtDlus.js} +2 -2
  151. package/web/dist/assets/{terminalView-CQVYh6D3.css → terminalView-eZ0agsPP.css} +1 -1
  152. package/web/dist/assets/{tsMode-SuiD3mJa.js → tsMode-BZvUU1nf.js} +1 -1
  153. package/web/dist/assets/{typescript-DJcyqRjT.js → typescript-CmEn-k1B.js} +1 -1
  154. package/web/dist/assets/{wikiView-ygHSGyPp.css → wikiView-C-oqMnJM.css} +1 -1
  155. package/web/dist/assets/{wikiView-B3GIPUlD.js → wikiView-CRjg-cZ8.js} +1 -1
  156. package/web/dist/assets/{xml-DQgCzk55.js → xml-bjvdKeyy.js} +1 -1
  157. package/web/dist/assets/{yaml-DBdEYBPA.js → yaml-N5RXWxJk.js} +1 -1
  158. package/web/dist/index.html +2 -2
  159. package/web/package.json +28 -28
  160. package/dist/modules/ai/react/index.d.ts +0 -5
  161. package/dist/modules/ai/react/index.d.ts.map +0 -1
  162. package/dist/modules/ai/react/index.js +0 -4
  163. package/dist/modules/ai/react/index.js.map +0 -1
  164. package/dist/modules/ai/react/prompt/role.txt +0 -51
  165. package/dist/modules/ai/react/provider.parser.d.ts +0 -20
  166. package/dist/modules/ai/react/provider.parser.d.ts.map +0 -1
  167. package/dist/modules/ai/react/provider.parser.js +0 -88
  168. package/dist/modules/ai/react/provider.parser.js.map +0 -1
  169. package/dist/modules/ai/react/react.parser.d.ts +0 -80
  170. package/dist/modules/ai/react/react.parser.d.ts.map +0 -1
  171. package/dist/modules/ai/react/react.parser.js +0 -365
  172. package/dist/modules/ai/react/react.parser.js.map +0 -1
  173. package/dist/modules/ai/react/react.prompts.d.ts +0 -26
  174. package/dist/modules/ai/react/react.prompts.d.ts.map +0 -1
  175. package/dist/modules/ai/react/react.prompts.js +0 -170
  176. package/dist/modules/ai/react/react.prompts.js.map +0 -1
  177. package/dist/modules/ai/react/react.types.d.ts +0 -50
  178. package/dist/modules/ai/react/react.types.d.ts.map +0 -1
  179. package/dist/modules/ai/react/react.types.js +0 -2
  180. package/dist/modules/ai/react/react.types.js.map +0 -1
  181. package/dist/modules/ai/react/react.validator.d.ts +0 -14
  182. package/dist/modules/ai/react/react.validator.d.ts.map +0 -1
  183. package/dist/modules/ai/react/react.validator.js +0 -53
  184. package/dist/modules/ai/react/react.validator.js.map +0 -1
  185. package/dist/modules/ai/react.agent.d.ts +0 -82
  186. package/dist/modules/ai/react.agent.d.ts.map +0 -1
  187. package/dist/modules/ai/react.agent.js +0 -220
  188. package/dist/modules/ai/react.agent.js.map +0 -1
  189. package/dist/modules/skill/skill.service.d.ts +0 -72
  190. package/dist/modules/skill/skill.service.d.ts.map +0 -1
  191. package/dist/modules/skill/skill.service.js +0 -283
  192. package/dist/modules/skill/skill.service.js.map +0 -1
  193. package/dist/modules/tools/builtin/bash.d.ts +0 -3
  194. package/dist/modules/tools/builtin/bash.d.ts.map +0 -1
  195. package/dist/modules/tools/builtin/bash.js +0 -126
  196. package/dist/modules/tools/builtin/bash.js.map +0 -1
  197. package/dist/modules/tools/builtin/bash.tool.d.ts +0 -6
  198. package/dist/modules/tools/builtin/bash.tool.d.ts.map +0 -1
  199. package/dist/modules/tools/builtin/bash.tool.js +0 -52
  200. package/dist/modules/tools/builtin/bash.tool.js.map +0 -1
  201. package/dist/modules/tools/builtin/bash.txt +0 -69
  202. package/dist/modules/tools/builtin/code_search.d.ts +0 -3
  203. package/dist/modules/tools/builtin/code_search.d.ts.map +0 -1
  204. package/dist/modules/tools/builtin/code_search.js +0 -86
  205. package/dist/modules/tools/builtin/code_search.js.map +0 -1
  206. package/dist/modules/tools/builtin/code_search.txt +0 -41
  207. package/dist/modules/tools/builtin/edit-file.tool.d.ts +0 -6
  208. package/dist/modules/tools/builtin/edit-file.tool.d.ts.map +0 -1
  209. package/dist/modules/tools/builtin/edit-file.tool.js +0 -58
  210. package/dist/modules/tools/builtin/edit-file.tool.js.map +0 -1
  211. package/dist/modules/tools/builtin/edit_file.d.ts +0 -3
  212. package/dist/modules/tools/builtin/edit_file.d.ts.map +0 -1
  213. package/dist/modules/tools/builtin/edit_file.js +0 -105
  214. package/dist/modules/tools/builtin/edit_file.js.map +0 -1
  215. package/dist/modules/tools/builtin/edit_file.txt +0 -61
  216. package/dist/modules/tools/builtin/glob.d.ts +0 -3
  217. package/dist/modules/tools/builtin/glob.d.ts.map +0 -1
  218. package/dist/modules/tools/builtin/glob.js +0 -85
  219. package/dist/modules/tools/builtin/glob.js.map +0 -1
  220. package/dist/modules/tools/builtin/glob.tool.d.ts +0 -6
  221. package/dist/modules/tools/builtin/glob.tool.d.ts.map +0 -1
  222. package/dist/modules/tools/builtin/glob.tool.js +0 -81
  223. package/dist/modules/tools/builtin/glob.tool.js.map +0 -1
  224. package/dist/modules/tools/builtin/glob.txt +0 -33
  225. package/dist/modules/tools/builtin/grep.d.ts +0 -3
  226. package/dist/modules/tools/builtin/grep.d.ts.map +0 -1
  227. package/dist/modules/tools/builtin/grep.js +0 -94
  228. package/dist/modules/tools/builtin/grep.js.map +0 -1
  229. package/dist/modules/tools/builtin/grep.tool.d.ts +0 -6
  230. package/dist/modules/tools/builtin/grep.tool.d.ts.map +0 -1
  231. package/dist/modules/tools/builtin/grep.tool.js +0 -96
  232. package/dist/modules/tools/builtin/grep.tool.js.map +0 -1
  233. package/dist/modules/tools/builtin/grep.txt +0 -37
  234. package/dist/modules/tools/builtin/index.d.ts +0 -8
  235. package/dist/modules/tools/builtin/index.d.ts.map +0 -1
  236. package/dist/modules/tools/builtin/index.js +0 -80
  237. package/dist/modules/tools/builtin/index.js.map +0 -1
  238. package/dist/modules/tools/builtin/lsp.d.ts +0 -7
  239. package/dist/modules/tools/builtin/lsp.d.ts.map +0 -1
  240. package/dist/modules/tools/builtin/lsp.js +0 -126
  241. package/dist/modules/tools/builtin/lsp.js.map +0 -1
  242. package/dist/modules/tools/builtin/lsp.txt +0 -45
  243. package/dist/modules/tools/builtin/memory.d.ts +0 -3
  244. package/dist/modules/tools/builtin/memory.d.ts.map +0 -1
  245. package/dist/modules/tools/builtin/memory.js +0 -77
  246. package/dist/modules/tools/builtin/memory.js.map +0 -1
  247. package/dist/modules/tools/builtin/memory.txt +0 -58
  248. package/dist/modules/tools/builtin/read-file.tool.d.ts +0 -6
  249. package/dist/modules/tools/builtin/read-file.tool.d.ts.map +0 -1
  250. package/dist/modules/tools/builtin/read-file.tool.js +0 -46
  251. package/dist/modules/tools/builtin/read-file.tool.js.map +0 -1
  252. package/dist/modules/tools/builtin/read_file.d.ts +0 -3
  253. package/dist/modules/tools/builtin/read_file.d.ts.map +0 -1
  254. package/dist/modules/tools/builtin/read_file.js +0 -107
  255. package/dist/modules/tools/builtin/read_file.js.map +0 -1
  256. package/dist/modules/tools/builtin/read_file.txt +0 -38
  257. package/dist/modules/tools/builtin/todo_read.d.ts +0 -6
  258. package/dist/modules/tools/builtin/todo_read.d.ts.map +0 -1
  259. package/dist/modules/tools/builtin/todo_read.js +0 -25
  260. package/dist/modules/tools/builtin/todo_read.js.map +0 -1
  261. package/dist/modules/tools/builtin/todo_read.txt +0 -34
  262. package/dist/modules/tools/builtin/todo_write.d.ts +0 -6
  263. package/dist/modules/tools/builtin/todo_write.d.ts.map +0 -1
  264. package/dist/modules/tools/builtin/todo_write.js +0 -46
  265. package/dist/modules/tools/builtin/todo_write.js.map +0 -1
  266. package/dist/modules/tools/builtin/todo_write.txt +0 -67
  267. package/dist/modules/tools/builtin/web_fetch.d.ts +0 -3
  268. package/dist/modules/tools/builtin/web_fetch.d.ts.map +0 -1
  269. package/dist/modules/tools/builtin/web_fetch.js +0 -52
  270. package/dist/modules/tools/builtin/web_fetch.js.map +0 -1
  271. package/dist/modules/tools/builtin/web_fetch.txt +0 -38
  272. package/dist/modules/tools/builtin/web_search.d.ts +0 -3
  273. package/dist/modules/tools/builtin/web_search.d.ts.map +0 -1
  274. package/dist/modules/tools/builtin/web_search.js +0 -100
  275. package/dist/modules/tools/builtin/web_search.js.map +0 -1
  276. package/dist/modules/tools/builtin/web_search.txt +0 -43
  277. package/dist/modules/tools/builtin/write-file.tool.d.ts +0 -6
  278. package/dist/modules/tools/builtin/write-file.tool.d.ts.map +0 -1
  279. package/dist/modules/tools/builtin/write-file.tool.js +0 -38
  280. package/dist/modules/tools/builtin/write-file.tool.js.map +0 -1
  281. package/dist/modules/tools/builtin/write_file.d.ts +0 -3
  282. package/dist/modules/tools/builtin/write_file.d.ts.map +0 -1
  283. package/dist/modules/tools/builtin/write_file.js +0 -61
  284. package/dist/modules/tools/builtin/write_file.js.map +0 -1
  285. package/dist/modules/tools/builtin/write_file.txt +0 -58
  286. package/dist/modules/tools/provider/openai/tools.d.ts +0 -3
  287. package/dist/modules/tools/provider/openai/tools.d.ts.map +0 -1
  288. package/dist/modules/tools/provider/openai/tools.js +0 -212
  289. package/dist/modules/tools/provider/openai/tools.js.map +0 -1
  290. package/dist/modules/tools/provider/skill.d.ts +0 -6
  291. package/dist/modules/tools/provider/skill.d.ts.map +0 -1
  292. package/dist/modules/tools/provider/skill.js +0 -64
  293. package/dist/modules/tools/provider/skill.js.map +0 -1
  294. package/web/dist/assets/PcLayout-L-XuK1oQ.css +0 -1
  295. package/web/dist/assets/deployView-hCh3_M8H.css +0 -1
  296. package/web/dist/assets/designView-CqZ75hOS.css +0 -1
  297. package/web/dist/assets/designView-DrUNRVEE.js +0 -18
  298. package/web/dist/assets/devWorkflowView-BpdJTMEb.js +0 -36
  299. package/web/dist/assets/devWorkflowView-D7EKjoLj.css +0 -1
  300. package/web/dist/assets/devWorkflowViewApp-BYYMIdCm.css +0 -1
  301. package/web/dist/assets/gitChanges-BYj-Y2K-.css +0 -1
  302. package/web/dist/assets/gitChangesApp-Btw-XKcP.css +0 -1
@@ -1,16 +1,16 @@
1
- ### 工具todoread
2
- 使用此工具读取当前会话的任务列表。此工具应主动频繁使用,确保你了解当前任务列表的状态。应在以下情况使用:
3
-
4
- - 对话开始时查看待处理任务
5
- - 开始新任务前优先安排工作
6
- - 用户询问之前的任务或计划时
7
- - 不确定下一步该做什么时
8
- - 完成任务后更新对剩余工作的理解
9
- - 每隔几条消息后检查以确保在正确轨道上
10
-
11
- **使用说明**:
12
- - 此工具不需要参数。留空或发送空对象,**禁止**包含虚拟对象、占位符字符串或 "input"、"empty" 等键名
13
- - 返回任务列表及其状态、优先级和内容
14
- - 用此信息跟踪进度和计划下一步
15
- - 如果还没有任务,返回空列表
16
-
1
+ ### 工具todoread
2
+ 使用此工具读取当前会话的任务列表。此工具应主动频繁使用,确保你了解当前任务列表的状态。应在以下情况使用:
3
+
4
+ - 对话开始时查看待处理任务
5
+ - 开始新任务前优先安排工作
6
+ - 用户询问之前的任务或计划时
7
+ - 不确定下一步该做什么时
8
+ - 完成任务后更新对剩余工作的理解
9
+ - 每隔几条消息后检查以确保在正确轨道上
10
+
11
+ **使用说明**:
12
+ - 此工具不需要参数。留空或发送空对象,**禁止**包含虚拟对象、占位符字符串或 "input"、"empty" 等键名
13
+ - 返回任务列表及其状态、优先级和内容
14
+ - 用此信息跟踪进度和计划下一步
15
+ - 如果还没有任务,返回空列表
16
+
@@ -1,48 +1,48 @@
1
- ### 工具todowrite
2
- 使用此工具创建和管理当前编码会话的结构化任务列表。这帮助你跟踪进度、组织复杂任务,并向用户展示完成情况。
3
-
4
- ## 何时使用
5
-
6
- **主动使用此工具的场景**:
7
-
8
- 1. **复杂多步任务** - 任务需要 3 个或更多独立步骤或操作
9
- 2. **非平凡复杂任务** - 需要仔细规划或多个操作的任务
10
- 3. **用户明确请求任务列表** - 用户直接要求你规划任务时
11
- 4. **用户提供多任务** - 用户提供要做的事情列表(编号或逗号分隔)
12
- 5. **收到新指令后** - 立即捕获用户需求为任务。可根据新信息编辑任务列表
13
- 6. **完成任务后** - 标记完成并添加后续任务
14
- 7. **开始新任务时** - 标记进行中。同时只能有一个进行中的任务。先完成现有任务再开始新任务
15
-
16
- ## 何时不使用
17
-
18
- **跳过使用此工具的场景**:
19
- 1. 单一、简单的任务
20
- 2. 琐碎任务,跟踪没有组织价值
21
- 3. 可在少于 3 个简单步骤内完成的任务
22
- 4. 完全对话性或信息性的请求
23
-
24
- **注意**:如果只有一个琐碎任务要做,直接做即可,不需要任务列表。
25
-
26
- ## 任务状态
27
-
28
- - `pending`:尚未开始
29
- - `in_progress`:正在进行(同时只能有一个)
30
- - `completed`:已完成
31
- - `cancelled`:不再需要
32
-
33
- ## 任务管理
34
-
35
- - 实时更新状态
36
- - 完成后**立即**标记,不要批量
37
- - 同时只做一个任务
38
- - 完成当前任务后再开始新任务
39
- - 取消不再相关的任务
40
-
41
- ## 任务分解
42
-
43
- - 创建具体、可操作的事项
44
- - 将复杂任务分解为更小、可管理的步骤
45
- - 使用清晰、描述性的任务名称
46
-
47
- 如有疑问,使用此工具。积极主动的任务管理展示专注力,确保完成所有要求。
48
-
1
+ ### 工具todowrite
2
+ 使用此工具创建和管理当前编码会话的结构化任务列表。这帮助你跟踪进度、组织复杂任务,并向用户展示完成情况。
3
+
4
+ ## 何时使用
5
+
6
+ **主动使用此工具的场景**:
7
+
8
+ 1. **复杂多步任务** - 任务需要 3 个或更多独立步骤或操作
9
+ 2. **非平凡复杂任务** - 需要仔细规划或多个操作的任务
10
+ 3. **用户明确请求任务列表** - 用户直接要求你规划任务时
11
+ 4. **用户提供多任务** - 用户提供要做的事情列表(编号或逗号分隔)
12
+ 5. **收到新指令后** - 立即捕获用户需求为任务。可根据新信息编辑任务列表
13
+ 6. **完成任务后** - 标记完成并添加后续任务
14
+ 7. **开始新任务时** - 标记进行中。同时只能有一个进行中的任务。先完成现有任务再开始新任务
15
+
16
+ ## 何时不使用
17
+
18
+ **跳过使用此工具的场景**:
19
+ 1. 单一、简单的任务
20
+ 2. 琐碎任务,跟踪没有组织价值
21
+ 3. 可在少于 3 个简单步骤内完成的任务
22
+ 4. 完全对话性或信息性的请求
23
+
24
+ **注意**:如果只有一个琐碎任务要做,直接做即可,不需要任务列表。
25
+
26
+ ## 任务状态
27
+
28
+ - `pending`:尚未开始
29
+ - `in_progress`:正在进行(同时只能有一个)
30
+ - `completed`:已完成
31
+ - `cancelled`:不再需要
32
+
33
+ ## 任务管理
34
+
35
+ - 实时更新状态
36
+ - 完成后**立即**标记,不要批量
37
+ - 同时只做一个任务
38
+ - 完成当前任务后再开始新任务
39
+ - 取消不再相关的任务
40
+
41
+ ## 任务分解
42
+
43
+ - 创建具体、可操作的事项
44
+ - 将复杂任务分解为更小、可管理的步骤
45
+ - 使用清晰、描述性的任务名称
46
+
47
+ 如有疑问,使用此工具。积极主动的任务管理展示专注力,确保完成所有要求。
48
+
@@ -1,17 +1,17 @@
1
- ### 工具web_fetch
2
- 从指定 URL 获取内容。
3
-
4
- **功能**:
5
- - 接收 URL 和可选格式参数
6
- - 获取 URL 内容,转换为请求格式(默认为 markdown)
7
- - 返回指定格式的内容
8
- - 当你需要获取和分析网页内容时使用此工具
9
-
10
- **使用说明**:
11
- - **重要**:如果有其他工具提供更好的网页获取能力、更针对任务、或限制更少,**优先**使用该工具而不是此工具
12
- - URL 必须是完整有效的 URL
13
- - HTTP URL 会自动升级为 HTTPS
14
- - 格式选项:"markdown"(默认)、"text" 或 "html"
15
- - 此工具是只读的,不会修改任何文件
16
- - 内容非常大时可能会被摘要
17
-
1
+ ### 工具web_fetch
2
+ 从指定 URL 获取内容。
3
+
4
+ **功能**:
5
+ - 接收 URL 和可选格式参数
6
+ - 获取 URL 内容,转换为请求格式(默认为 markdown)
7
+ - 返回指定格式的内容
8
+ - 当你需要获取和分析网页内容时使用此工具
9
+
10
+ **使用说明**:
11
+ - **重要**:如果有其他工具提供更好的网页获取能力、更针对任务、或限制更少,**优先**使用该工具而不是此工具
12
+ - URL 必须是完整有效的 URL
13
+ - HTTP URL 会自动升级为 HTTPS
14
+ - 格式选项:"markdown"(默认)、"text" 或 "html"
15
+ - 此工具是只读的,不会修改任何文件
16
+ - 内容非常大时可能会被摘要
17
+
@@ -1,18 +1,18 @@
1
- ### 工具web_search
2
- 使用 Exa AI 搜索网络——执行实时网络搜索,可以抓取特定 URL 的内容。
3
-
4
- **功能**:
5
- - 提供最新信息用于时事和近期数据
6
- - 支持可配置的结果数量,返回最相关网站的内容
7
- - 用于访问知识截止日期之外的信息
8
- - 在单个 API 调用内执行搜索
9
-
10
- **使用说明**:
11
- - 支持实时爬取模式:'fallback'(缓存不可用时备用)或 'preferred'(优先实时爬取)
12
- - 搜索类型:'auto'(平衡)、'fast'(快速结果)、'deep'(全面搜索)
13
- - 可配置上下文长度以优化 LLM 集成
14
- - 支持域名过滤和高级搜索选项
15
-
16
- **当前年份是 2026 年**。搜索最近信息或时事时**必须**使用此年份:
17
- - 正确示例:当前年份是 2026,搜索 "AI 新闻 2026",**不是** "AI 新闻 2025"
18
-
1
+ ### 工具web_search
2
+ 使用 Exa AI 搜索网络——执行实时网络搜索,可以抓取特定 URL 的内容。
3
+
4
+ **功能**:
5
+ - 提供最新信息用于时事和近期数据
6
+ - 支持可配置的结果数量,返回最相关网站的内容
7
+ - 用于访问知识截止日期之外的信息
8
+ - 在单个 API 调用内执行搜索
9
+
10
+ **使用说明**:
11
+ - 支持实时爬取模式:'fallback'(缓存不可用时备用)或 'preferred'(优先实时爬取)
12
+ - 搜索类型:'auto'(平衡)、'fast'(快速结果)、'deep'(全面搜索)
13
+ - 可配置上下文长度以优化 LLM 集成
14
+ - 支持域名过滤和高级搜索选项
15
+
16
+ **当前年份是 2026 年**。搜索最近信息或时事时**必须**使用此年份:
17
+ - 正确示例:当前年份是 2026,搜索 "AI 新闻 2026",**不是** "AI 新闻 2025"
18
+
@@ -1,11 +1,11 @@
1
- ### 工具write_file
2
- 写入文件到本地文件系统。
3
-
4
- **功能**:
5
- - 如果提供的路径已存在文件,**此工具会报错**
6
- - 如果是已存在的文件,**必须**先用 Read 工具读取文件内容,然后使用 Edit 工具修改
7
- - **优先**编辑现有文件,**禁止**创建新文件除非明确需要
8
- - **禁止**主动创建文档文件(*.md)或 README 文件。只有用户明确要求时才创建
9
- - 只有用户明确要求时才使用表情符号
10
- - 父目录不存在时会自动创建。避免写入表情符号除非被要求
11
-
1
+ ### 工具write_file
2
+ 写入文件到本地文件系统。
3
+
4
+ **功能**:
5
+ - 如果提供的路径已存在文件,**此工具会报错**
6
+ - 如果是已存在的文件,**必须**先用 Read 工具读取文件内容,然后使用 Edit 工具修改
7
+ - **优先**编辑现有文件,**禁止**创建新文件除非明确需要
8
+ - **禁止**主动创建文档文件(*.md)或 README 文件。只有用户明确要求时才创建
9
+ - 只有用户明确要求时才使用表情符号
10
+ - 父目录不存在时会自动创建。避免写入表情符号除非被要求
11
+
@@ -77,14 +77,14 @@ export class WafGatewayService {
77
77
  server_host: config.server_ip,
78
78
  server_port: 5555,
79
79
  register_secret: config.secret_key,
80
- rsa_public_key: `-----BEGIN PUBLIC KEY-----
81
- MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAvmXlcvzBsEX5rhzQl2lo
82
- usXBBtUpmnPykEf2MpRa4NmUOKZwjeVS2nmqwfUdgzVBuTfVXOF4paqnWh/DupMP
83
- XzE8lWj72VPjoPFt8yO0+0baAOMCi6L6gwzOdzu/EF4cIN6Bh4V648zc+TqRg2o/
84
- +UqUb6cRfIc2ftP0aT/CudSei/IYZxUuL55vckU9dlMb8D6OVllrg6m5YMnPj4W5
85
- Gb5eQxMU5Yryux3/9vPwdmfiRmGteqNn/pLOQhgd6LxX+7bBUEb3y8sSyEwEN1eW
86
- 0SADkZXdofyQRsRrnmeJuk9bQUAeBBkbGOtUL/ROUbFckfsKLdzokPHpX8/+Pndh
87
- RQIDAQAB
80
+ rsa_public_key: `-----BEGIN PUBLIC KEY-----
81
+ MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAvmXlcvzBsEX5rhzQl2lo
82
+ usXBBtUpmnPykEf2MpRa4NmUOKZwjeVS2nmqwfUdgzVBuTfVXOF4paqnWh/DupMP
83
+ XzE8lWj72VPjoPFt8yO0+0baAOMCi6L6gwzOdzu/EF4cIN6Bh4V648zc+TqRg2o/
84
+ +UqUb6cRfIc2ftP0aT/CudSei/IYZxUuL55vckU9dlMb8D6OVllrg6m5YMnPj4W5
85
+ Gb5eQxMU5Yryux3/9vPwdmfiRmGteqNn/pLOQhgd6LxX+7bBUEb3y8sSyEwEN1eW
86
+ 0SADkZXdofyQRsRrnmeJuk9bQUAeBBkbGOtUL/ROUbFckfsKLdzokPHpX8/+Pndh
87
+ RQIDAQAB
88
88
  -----END PUBLIC KEY-----`
89
89
  };
90
90
  fs.writeFileSync(this.configFile, JSON.stringify(tunnelConfig, null, 2));
@@ -24,10 +24,10 @@ export class WafGatewayService {
24
24
  const now = new Date().toISOString();
25
25
  const current = this.getConfig();
26
26
  if (current) {
27
- dbService.run(`UPDATE waf_gateway_config SET
28
- secret_key = ?,
29
- server_ip = ?,
30
- updated_at = ?
27
+ dbService.run(`UPDATE waf_gateway_config SET
28
+ secret_key = ?,
29
+ server_ip = ?,
30
+ updated_at = ?
31
31
  WHERE id = 1`, [
32
32
  config.secret_key ?? current.secret_key,
33
33
  config.server_ip ?? current.server_ip,
@@ -87,14 +87,14 @@ export class WafGatewayService {
87
87
  server_host: config.server_ip,
88
88
  server_port: 5555,
89
89
  register_secret: config.secret_key,
90
- rsa_public_key: `-----BEGIN PUBLIC KEY-----
91
- MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAvmXlcvzBsEX5rhzQl2lo
92
- usXBBtUpmnPykEf2MpRa4NmUOKZwjeVS2nmqwfUdgzVBuTfVXOF4paqnWh/DupMP
93
- XzE8lWj72VPjoPFt8yO0+0baAOMCi6L6gwzOdzu/EF4cIN6Bh4V648zc+TqRg2o/
94
- +UqUb6cRfIc2ftP0aT/CudSei/IYZxUuL55vckU9dlMb8D6OVllrg6m5YMnPj4W5
95
- Gb5eQxMU5Yryux3/9vPwdmfiRmGteqNn/pLOQhgd6LxX+7bBUEb3y8sSyEwEN1eW
96
- 0SADkZXdofyQRsRrnmeJuk9bQUAeBBkbGOtUL/ROUbFckfsKLdzokPHpX8/+Pndh
97
- RQIDAQAB
90
+ rsa_public_key: `-----BEGIN PUBLIC KEY-----
91
+ MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAvmXlcvzBsEX5rhzQl2lo
92
+ usXBBtUpmnPykEf2MpRa4NmUOKZwjeVS2nmqwfUdgzVBuTfVXOF4paqnWh/DupMP
93
+ XzE8lWj72VPjoPFt8yO0+0baAOMCi6L6gwzOdzu/EF4cIN6Bh4V648zc+TqRg2o/
94
+ +UqUb6cRfIc2ftP0aT/CudSei/IYZxUuL55vckU9dlMb8D6OVllrg6m5YMnPj4W5
95
+ Gb5eQxMU5Yryux3/9vPwdmfiRmGteqNn/pLOQhgd6LxX+7bBUEb3y8sSyEwEN1eW
96
+ 0SADkZXdofyQRsRrnmeJuk9bQUAeBBkbGOtUL/ROUbFckfsKLdzokPHpX8/+Pndh
97
+ RQIDAQAB
98
98
  -----END PUBLIC KEY-----`
99
99
  };
100
100
  fs.writeFileSync(this.configFile, JSON.stringify(tunnelConfig, null, 2));
@@ -0,0 +1,28 @@
1
+ export interface Project {
2
+ id: string;
3
+ name: string;
4
+ path: string;
5
+ description: string;
6
+ is_active: number;
7
+ is_favorite: number;
8
+ last_opened_at: string;
9
+ }
10
+ export declare class ProjectRepository {
11
+ private normalizeId;
12
+ findAll(): Project[];
13
+ findById(id: string | string[]): Project | undefined;
14
+ findByPath(path: string): Project | undefined;
15
+ findActive(): Project | undefined;
16
+ insert(data: {
17
+ name: string;
18
+ path: string;
19
+ description?: string;
20
+ }): Project;
21
+ update(id: string, data: {
22
+ name?: string;
23
+ description?: string;
24
+ }): void;
25
+ setActive(id: string): void;
26
+ delete(id: string): void;
27
+ }
28
+ //# sourceMappingURL=project.repository.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"project.repository.d.ts","sourceRoot":"","sources":["../../src/repositories/project.repository.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,OAAO;IACtB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,cAAc,EAAE,MAAM,CAAC;CACxB;AAED,qBAAa,iBAAiB;IAC5B,OAAO,CAAC,WAAW;IAInB,OAAO,IAAI,OAAO,EAAE;IAMpB,QAAQ,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,OAAO,GAAG,SAAS;IAIpD,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,GAAG,SAAS;IAI7C,UAAU,IAAI,OAAO,GAAG,SAAS;IAIjC,MAAM,CAAC,IAAI,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,WAAW,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO;IAS3E,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE;QAAE,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,WAAW,CAAC,EAAE,MAAM,CAAA;KAAE;IAmBhE,SAAS,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI;IAK3B,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI;CAGzB"}
@@ -0,0 +1,47 @@
1
+ import { dbService } from '../modules/db/index.js';
2
+ export class ProjectRepository {
3
+ normalizeId(id) {
4
+ return Array.isArray(id) ? id[0] : id;
5
+ }
6
+ findAll() {
7
+ return dbService.all('SELECT * FROM projects ORDER BY last_opened_at DESC');
8
+ }
9
+ findById(id) {
10
+ return dbService.get('SELECT * FROM projects WHERE id = ?', [this.normalizeId(id)]);
11
+ }
12
+ findByPath(path) {
13
+ return dbService.get('SELECT * FROM projects WHERE path = ?', [path]);
14
+ }
15
+ findActive() {
16
+ return dbService.get('SELECT * FROM projects WHERE is_active = 1 LIMIT 1');
17
+ }
18
+ insert(data) {
19
+ const id = crypto.randomUUID();
20
+ dbService.run('INSERT INTO projects (id, name, path, description, is_active, is_favorite, last_opened_at) VALUES (?, ?, ?, ?, 1, 0, ?)', [id, data.name, data.path, data.description || '', new Date().toISOString()]);
21
+ return this.findById(id);
22
+ }
23
+ update(id, data) {
24
+ const sets = [];
25
+ const values = [];
26
+ if (data.name) {
27
+ sets.push('name = ?');
28
+ values.push(data.name);
29
+ }
30
+ if (data.description !== undefined) {
31
+ sets.push('description = ?');
32
+ values.push(data.description);
33
+ }
34
+ if (sets.length > 0) {
35
+ values.push(id);
36
+ dbService.run(`UPDATE projects SET ${sets.join(', ')} WHERE id = ?`, values);
37
+ }
38
+ }
39
+ setActive(id) {
40
+ dbService.run('UPDATE projects SET is_active = 0');
41
+ dbService.run('UPDATE projects SET is_active = 1, last_opened_at = ? WHERE id = ?', [new Date().toISOString(), id]);
42
+ }
43
+ delete(id) {
44
+ dbService.run('DELETE FROM projects WHERE id = ?', [id]);
45
+ }
46
+ }
47
+ //# sourceMappingURL=project.repository.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"project.repository.js","sourceRoot":"","sources":["../../src/repositories/project.repository.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AAYnD,MAAM,OAAO,iBAAiB;IACpB,WAAW,CAAC,EAAqB;QACvC,OAAO,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IACxC,CAAC;IAED,OAAO;QACL,OAAO,SAAS,CAAC,GAAG,CAClB,qDAAqD,CACtD,CAAC;IACJ,CAAC;IAED,QAAQ,CAAC,EAAqB;QAC5B,OAAO,SAAS,CAAC,GAAG,CAAU,qCAAqC,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IAC/F,CAAC;IAED,UAAU,CAAC,IAAY;QACrB,OAAO,SAAS,CAAC,GAAG,CAAU,uCAAuC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;IACjF,CAAC;IAED,UAAU;QACR,OAAO,SAAS,CAAC,GAAG,CAAU,oDAAoD,CAAC,CAAC;IACtF,CAAC;IAED,MAAM,CAAC,IAA0D;QAC/D,MAAM,EAAE,GAAG,MAAM,CAAC,UAAU,EAAE,CAAC;QAC/B,SAAS,CAAC,GAAG,CACX,yHAAyH,EACzH,CAAC,EAAE,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,WAAW,IAAI,EAAE,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,CAC7E,CAAC;QACF,OAAO,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAE,CAAC;IAC5B,CAAC;IAED,MAAM,CAAC,EAAU,EAAE,IAA6C;QAC9D,MAAM,IAAI,GAAa,EAAE,CAAC;QAC1B,MAAM,MAAM,GAAwB,EAAE,CAAC;QAEvC,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;YACd,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YACtB,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACzB,CAAC;QACD,IAAI,IAAI,CAAC,WAAW,KAAK,SAAS,EAAE,CAAC;YACnC,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;YAC7B,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QAChC,CAAC;QAED,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACpB,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YAChB,SAAS,CAAC,GAAG,CAAC,uBAAuB,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,MAAM,CAAC,CAAC;QAC/E,CAAC;IACH,CAAC;IAED,SAAS,CAAC,EAAU;QAClB,SAAS,CAAC,GAAG,CAAC,mCAAmC,CAAC,CAAC;QACnD,SAAS,CAAC,GAAG,CAAC,oEAAoE,EAAE,CAAC,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;IACtH,CAAC;IAED,MAAM,CAAC,EAAU;QACf,SAAS,CAAC,GAAG,CAAC,mCAAmC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IAC3D,CAAC;CACF"}
@@ -1,7 +1,7 @@
1
1
  import { BaseRepository } from './base.repository.js';
2
2
  export class AiLogRepository extends BaseRepository {
3
3
  insert(log) {
4
- this.execute(`INSERT INTO ai_call_logs (model_address, model_name, request_time, response_time, duration_ms, input_tokens, output_tokens, cost, call_type, session_id)
4
+ this.execute(`INSERT INTO ai_call_logs (model_address, model_name, request_time, response_time, duration_ms, input_tokens, output_tokens, cost, call_type, session_id)
5
5
  VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?)`, [log.modelAddress, log.modelName, log.requestTime, log.responseTime, log.durationMs,
6
6
  log.inputTokens, log.outputTokens, log.cost, log.callType, log.sessionId]);
7
7
  }
@@ -14,7 +14,7 @@ export class ConfigRepository extends BaseRepository {
14
14
  const count = this.queryOne('SELECT COUNT(*) as count FROM providers');
15
15
  const isFirst = (count?.count || 0) === 0;
16
16
  const id = data.id || uuidv4();
17
- this.execute(`INSERT INTO providers (id, name, api_key, base_url, enabled, is_default)
17
+ this.execute(`INSERT INTO providers (id, name, api_key, base_url, enabled, is_default)
18
18
  VALUES (?, ?, ?, ?, ?, ?)`, [id, data.name, data.apiKey, data.baseUrl || 'https://api.openai.com/v1', data.enabled ? 1 : 0, (isFirst || data.isDefault) ? 1 : 0]);
19
19
  return id;
20
20
  }
@@ -62,7 +62,7 @@ export class ConfigRepository extends BaseRepository {
62
62
  }
63
63
  insertModel(data) {
64
64
  const id = data.id || uuidv4();
65
- this.execute(`INSERT INTO models (id, provider_id, name, context_window, max_output_tokens, supports_vision, supports_tools, enabled)
65
+ this.execute(`INSERT INTO models (id, provider_id, name, context_window, max_output_tokens, supports_vision, supports_tools, enabled)
66
66
  VALUES (?, ?, ?, ?, ?, ?, ?, ?)`, [id, data.providerId, data.name, data.contextWindow || 4096, data.maxOutputTokens || 4096,
67
67
  data.supportsVision ? 1 : 0, data.supportsTools !== false ? 1 : 0, data.enabled ? 1 : 0]);
68
68
  return id;
@@ -95,12 +95,12 @@ export class ConfigRepository extends BaseRepository {
95
95
  return row?.value;
96
96
  }
97
97
  setConfig(key, value) {
98
- this.execute(`INSERT INTO config (key, value, updated_at) VALUES (?, ?, CURRENT_TIMESTAMP)
98
+ this.execute(`INSERT INTO config (key, value, updated_at) VALUES (?, ?, CURRENT_TIMESTAMP)
99
99
  ON CONFLICT(key) DO UPDATE SET value = excluded.value, updated_at = CURRENT_TIMESTAMP`, [key, value]);
100
100
  }
101
101
  getModelProvider(modelName) {
102
- return this.queryOne(`SELECT p.* FROM providers p
103
- INNER JOIN models m ON m.provider_id = p.id
102
+ return this.queryOne(`SELECT p.* FROM providers p
103
+ INNER JOIN models m ON m.provider_id = p.id
104
104
  WHERE m.name = ? LIMIT 1`, [modelName]) || undefined;
105
105
  }
106
106
  getDingTalkConfig() {
@@ -1,7 +1,7 @@
1
1
  import { BaseRepository } from './base.repository.js';
2
2
  export class EmailRepository extends BaseRepository {
3
3
  create(config) {
4
- const result = this.execute(`INSERT INTO email_config (name, host, port, secure, user, password, from_name, is_default)
4
+ const result = this.execute(`INSERT INTO email_config (name, host, port, secure, user, password, from_name, is_default)
5
5
  VALUES (?, ?, ?, ?, ?, ?, ?, ?)`, [config.name, config.host, config.port, config.secure, config.user, config.password, config.from_name || null, config.is_default || 0]);
6
6
  return result.lastInsertRowid;
7
7
  }
@@ -7,7 +7,7 @@ export class MemoryRepository extends BaseRepository {
7
7
  return this.query('SELECT * FROM project_knowledge WHERE project_path = ? ORDER BY key', [projectPath]);
8
8
  }
9
9
  set(projectPath, key, value) {
10
- this.execute(`INSERT INTO project_knowledge (project_path, key, value) VALUES (?, ?, ?)
10
+ this.execute(`INSERT INTO project_knowledge (project_path, key, value) VALUES (?, ?, ?)
11
11
  ON CONFLICT(project_path, key) DO UPDATE SET value = excluded.value, updated_at = CURRENT_TIMESTAMP`, [projectPath, key, value]);
12
12
  }
13
13
  delete(projectPath, key) {
@@ -19,9 +19,9 @@ export class ProjectRepository extends BaseRepository {
19
19
  }
20
20
  insert(data) {
21
21
  const id = crypto.randomUUID();
22
- const sql = `
23
- INSERT INTO projects (id, name, path, description, is_active, is_favorite, last_opened_at)
24
- VALUES (?, ?, ?, ?, 1, 0, datetime('now'))
22
+ const sql = `
23
+ INSERT INTO projects (id, name, path, description, is_active, is_favorite, last_opened_at)
24
+ VALUES (?, ?, ?, ?, 1, 0, datetime('now'))
25
25
  `;
26
26
  this.execute(sql, [id, data.name, data.path, data.description || '']);
27
27
  const result = this.findById(id);
@@ -12,7 +12,7 @@ export class SchedulerRepository extends BaseRepository {
12
12
  }
13
13
  createTask(config) {
14
14
  const id = config.id || uuidv4();
15
- this.execute(`INSERT INTO scheduled_tasks (id, name, schedule_type, model, content, notify_type, enabled, created_at, updated_at)
15
+ this.execute(`INSERT INTO scheduled_tasks (id, name, schedule_type, model, content, notify_type, enabled, created_at, updated_at)
16
16
  VALUES (?, ?, ?, ?, ?, ?, ?, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP)`, [id, config.name, config.scheduleType, config.model, config.content, config.notifyType, config.enabled !== false ? 1 : 0]);
17
17
  for (let i = 0; i < config.skills.length; i++) {
18
18
  this.execute('INSERT INTO task_skills (id, task_id, skill, skill_order) VALUES (?, ?, ?, ?)', [uuidv4(), id, config.skills[i], i]);
@@ -70,7 +70,7 @@ export class SchedulerRepository extends BaseRepository {
70
70
  this.execute('UPDATE scheduled_tasks SET enabled = 0, updated_at = CURRENT_TIMESTAMP WHERE id = ?', [id]);
71
71
  }
72
72
  createLog(log) {
73
- this.execute(`INSERT INTO task_logs (id, task_id, status, prompt, result, error, duration, executed_at)
73
+ this.execute(`INSERT INTO task_logs (id, task_id, status, prompt, result, error, duration, executed_at)
74
74
  VALUES (?, ?, ?, ?, ?, ?, ?, ?)`, [log.id, log.taskId, log.status, log.prompt, log.result, log.error, log.duration, log.executedAt instanceof Date ? log.executedAt.toISOString() : log.executedAt]);
75
75
  }
76
76
  getLogsByTaskId(taskId, limit = 50) {
@@ -50,7 +50,7 @@ export class SessionRepository extends BaseRepository {
50
50
  this.execute('UPDATE sessions SET updated_at = CURRENT_TIMESTAMP WHERE id = ?', [id]);
51
51
  }
52
52
  updateTokenUsage(sessionId, promptTokens, completionTokens, cost) {
53
- this.execute(`UPDATE sessions SET prompt_tokens = prompt_tokens + ?, completion_tokens = completion_tokens + ?,
53
+ this.execute(`UPDATE sessions SET prompt_tokens = prompt_tokens + ?, completion_tokens = completion_tokens + ?,
54
54
  cost = cost + ?, updated_at = CURRENT_TIMESTAMP WHERE id = ?`, [promptTokens, completionTokens, cost, sessionId]);
55
55
  }
56
56
  updateSummary(sessionId, summaryMessageId) {
@@ -11,7 +11,7 @@ export class ZihaoConfigRepository extends BaseRepository {
11
11
  }
12
12
  insert(config) {
13
13
  const now = new Date().toISOString();
14
- this.execute(`INSERT INTO zihao_config (id, name, url, username, password, is_active, created_at, updated_at)
14
+ this.execute(`INSERT INTO zihao_config (id, name, url, username, password, is_active, created_at, updated_at)
15
15
  VALUES (?, ?, ?, ?, ?, ?, ?, ?)`, [config.id, config.name, config.url, config.username, config.password, config.is_active, now, now]);
16
16
  return this.findById(config.id);
17
17
  }
@@ -1 +1 @@
1
- {"version":3,"file":"skill.tool.d.ts","sourceRoot":"","sources":["../../../src/services/skill/skill.tool.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAKH,OAAO,EAAE,IAAI,EAA2B,MAAM,gCAAgC,CAAA;AAE9E,eAAO,MAAM,SAAS,EAAE,IA+DvB,CAAA;AAED,wBAAsB,0BAA0B,IAAI,OAAO,CAAC,MAAM,CAAC,CAalE;AAED,wBAAsB,YAAY,CAAC,IAAI,EAAE;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,GAAG,OAAO,CAAC;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,IAAI,CAAC,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,CAavK"}
1
+ {"version":3,"file":"skill.tool.d.ts","sourceRoot":"","sources":["../../../src/services/skill/skill.tool.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAKH,OAAO,EAAE,IAAI,EAA2B,MAAM,gCAAgC,CAAA;AAE9E,eAAO,MAAM,SAAS,EAAE,IA+DvB,CAAA;AAED,wBAAsB,0BAA0B,IAAI,OAAO,CAAC,MAAM,CAAC,CAalE;AAED,wBAAsB,YAAY,CAAC,IAAI,EAAE;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,GAAG,OAAO,CAAC;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,IAAI,CAAC,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,CAkBvK"}
@@ -77,6 +77,11 @@ export async function buildAvailableSkillsPrompt() {
77
77
  return `<available_skills>\n${skillsXml}\n</available_skills>`;
78
78
  }
79
79
  export async function skillHandler(args) {
80
+ await skillsManager.loadAll();
81
+ const skill = skillsManager.getSkill(args.name);
82
+ if (!skill) {
83
+ return { success: false, error: `Skill "${args.name}" not found` };
84
+ }
80
85
  const result = await skillTool.execute(args, {});
81
86
  if (!result.success) {
82
87
  return { success: false, error: result.error };
@@ -85,7 +90,7 @@ export async function skillHandler(args) {
85
90
  success: true,
86
91
  data: {
87
92
  name: args.name,
88
- description: '',
93
+ description: skill.description || '',
89
94
  content: result.output
90
95
  }
91
96
  };
@@ -1 +1 @@
1
- {"version":3,"file":"skill.tool.js","sourceRoot":"","sources":["../../../src/services/skill/skill.tool.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,IAAI,MAAM,MAAM,CAAA;AACvB,OAAO,EAAE,aAAa,EAAE,MAAM,KAAK,CAAA;AACnC,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAA;AAGnD,MAAM,CAAC,MAAM,SAAS,GAAS;IAC7B,IAAI,EAAE,OAAO;IACb,WAAW,EAAE,EAAE;IACf,eAAe,EAAE,WAAW;IAC5B,UAAU,EAAE;QACV,IAAI,EAAE,QAAQ;QACd,UAAU,EAAE;YACV,IAAI,EAAE;gBACJ,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,UAAU;aACxB;SACF;QACD,QAAQ,EAAE,CAAC,MAAM,CAAC;KACnB;IACD,OAAO,EAAE,KAAK,EAAE,MAAwB,EAAE,OAAoB,EAAuB,EAAE;QACrF,MAAM,aAAa,CAAC,OAAO,EAAE,CAAA;QAC7B,MAAM,KAAK,GAAG,aAAa,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;QAEjD,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,MAAM,SAAS,GAAG,aAAa,CAAC,kBAAkB,EAAE,CAAA;YACpD,MAAM,aAAa,GAAG,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAA;YAC3F,OAAO;gBACL,OAAO,EAAE,KAAK;gBACd,MAAM,EAAE,EAAE;gBACV,KAAK,EAAE,UAAU,MAAM,CAAC,IAAI,kCAAkC,aAAa,EAAE;aAC9E,CAAA;QACH,CAAC;QAED,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAA;QACxC,MAAM,IAAI,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC,IAAI,CAAA;QAEpC,MAAM,KAAK,GAAa,EAAE,CAAA;QAC1B,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC,aAAa,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAA;YACvE,KAAK,MAAM,KAAK,IAAI,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC;gBACzC,IAAI,KAAK,KAAK,UAAU,EAAE,CAAC;oBACzB,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC,CAAA;gBACtC,CAAC;YACH,CAAC;QACH,CAAC;QAAC,MAAM,CAAC,CAAA,CAAC;QAEV,MAAM,MAAM,GAAG;YACb,wBAAwB,KAAK,CAAC,IAAI,IAAI;YACtC,YAAY,KAAK,CAAC,IAAI,EAAE;YACxB,EAAE;YACF,KAAK,CAAC,UAAU,CAAC,IAAI,EAAE;YACvB,EAAE;YACF,kCAAkC,IAAI,EAAE;YACxC,gGAAgG;YAChG,6BAA6B;YAC7B,EAAE;YACF,eAAe;YACf,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;YAC9C,gBAAgB;YAChB,kBAAkB;SACnB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QAEZ,OAAO;YACL,OAAO,EAAE,IAAI;YACb,MAAM;YACN,QAAQ,EAAE,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,GAAG,EAAE;SACpC,CAAA;IACH,CAAC;CACF,CAAA;AAED,MAAM,CAAC,KAAK,UAAU,0BAA0B;IAC9C,MAAM,aAAa,CAAC,OAAO,EAAE,CAAA;IAC7B,MAAM,MAAM,GAAG,aAAa,CAAC,kBAAkB,EAAE,CAAA;IAEjD,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACxB,OAAO,yDAAyD,CAAA;IAClE,CAAC;IAED,MAAM,SAAS,GAAG,MAAM;SACrB,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,wBAAwB,CAAC,CAAC,IAAI,sBAAsB,CAAC,CAAC,QAAQ,6BAA6B,CAAC,CAAC,WAAW,4BAA4B,CAAC;SAC9I,IAAI,CAAC,IAAI,CAAC,CAAA;IAEb,OAAO,uBAAuB,SAAS,uBAAuB,CAAA;AAChE,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,YAAY,CAAC,IAAsB;IACvD,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC,OAAO,CAAC,IAAI,EAAE,EAAiB,CAAC,CAAA;IAC/D,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;QACpB,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,CAAA;IAChD,CAAC;IACD,OAAO;QACL,OAAO,EAAE,IAAI;QACb,IAAI,EAAE;YACJ,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,WAAW,EAAE,EAAE;YACf,OAAO,EAAE,MAAM,CAAC,MAAM;SACvB;KACF,CAAA;AACH,CAAC"}
1
+ {"version":3,"file":"skill.tool.js","sourceRoot":"","sources":["../../../src/services/skill/skill.tool.ts"],"names":[],"mappings":"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"}
@@ -1,36 +1,36 @@
1
- ### 工具skill
2
- 加载一个专门的 Skill(技能),该技能提供特定领域的指令和工作流程。
3
-
4
- **功能**:
5
- - 当你识别到任务匹配以下列出的可用技能时,使用此工具加载完整的技能说明
6
- - Skill 会将详细的指令、工作流程和访问绑定资源(脚本、参考、模板)注入对话上下文
7
- - 工具输出包含一个 `<skill_content name="...">` 块,其中包含加载的内容
8
-
9
- **使用说明**:
10
- - 当你识别到任务匹配某个可用 Skill 时,使用此工具加载该技能的完整说明
11
- - 技能会注入详细的指令、工作流程,以及对捆绑资源(脚本、参考、模板)的访问
12
- - 工具输出包含一个 `<skill_content name="...">` 块,其中包含加载的内容
13
- - 该技能的相对路径(如 scripts/、reference/)是相对于技能的基础目录
14
-
15
- **当前可用的 Skills**:
16
- Invoke this tool to load a skill when a task matches one of the available skills listed above.
17
-
18
- 举例:
19
- ```xml
20
- <react>
21
- <thought>加载代码审查技能</thought>
22
- <action>
23
- <action_name>skill</action_name>
24
- <action_input>
25
- <name>code-review</name>
26
- </action_input>
27
- </action>
28
- <keep_context>true</keep_context>
29
- </react>
30
- ```
31
-
32
- 参数说明:
33
-
34
- | 字段 | 类型 | 说明 |
35
- |------|------|
36
- | `name` | string | Skill 的名称(必需) |
1
+ ### 工具skill
2
+ 加载一个专门的 Skill(技能),该技能提供特定领域的指令和工作流程。
3
+
4
+ **功能**:
5
+ - 当你识别到任务匹配以下列出的可用技能时,使用此工具加载完整的技能说明
6
+ - Skill 会将详细的指令、工作流程和访问绑定资源(脚本、参考、模板)注入对话上下文
7
+ - 工具输出包含一个 `<skill_content name="...">` 块,其中包含加载的内容
8
+
9
+ **使用说明**:
10
+ - 当你识别到任务匹配某个可用 Skill 时,使用此工具加载该技能的完整说明
11
+ - 技能会注入详细的指令、工作流程,以及对捆绑资源(脚本、参考、模板)的访问
12
+ - 工具输出包含一个 `<skill_content name="...">` 块,其中包含加载的内容
13
+ - 该技能的相对路径(如 scripts/、reference/)是相对于技能的基础目录
14
+
15
+ **当前可用的 Skills**:
16
+ Invoke this tool to load a skill when a task matches one of the available skills listed above.
17
+
18
+ 举例:
19
+ ```xml
20
+ <react>
21
+ <thought>加载代码审查技能</thought>
22
+ <action>
23
+ <action_name>skill</action_name>
24
+ <action_input>
25
+ <name>code-review</name>
26
+ </action_input>
27
+ </action>
28
+ <keep_context>true</keep_context>
29
+ </react>
30
+ ```
31
+
32
+ 参数说明:
33
+
34
+ | 字段 | 类型 | 说明 |
35
+ |------|------|
36
+ | `name` | string | Skill 的名称(必需) |