@qlingzzy/qling 1.0.0

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 (512) hide show
  1. package/CHANGELOG.md +122 -0
  2. package/LICENSE +21 -0
  3. package/README.en.md +129 -0
  4. package/README.md +416 -0
  5. package/dist/agent/subtask.d.ts +21 -0
  6. package/dist/agent/subtask.d.ts.map +1 -0
  7. package/dist/agent/subtask.js +55 -0
  8. package/dist/agent-loop.d.ts +151 -0
  9. package/dist/agent-loop.d.ts.map +1 -0
  10. package/dist/agent-loop.js +1498 -0
  11. package/dist/agents/isolation-policy.d.ts +14 -0
  12. package/dist/agents/isolation-policy.d.ts.map +1 -0
  13. package/dist/agents/isolation-policy.js +52 -0
  14. package/dist/channels/console-channel.d.ts +15 -0
  15. package/dist/channels/console-channel.d.ts.map +1 -0
  16. package/dist/channels/console-channel.js +66 -0
  17. package/dist/channels/registry.d.ts +10 -0
  18. package/dist/channels/registry.d.ts.map +1 -0
  19. package/dist/channels/registry.js +25 -0
  20. package/dist/channels/slack-channel.d.ts +35 -0
  21. package/dist/channels/slack-channel.d.ts.map +1 -0
  22. package/dist/channels/slack-channel.js +232 -0
  23. package/dist/channels/telegram-channel.d.ts +32 -0
  24. package/dist/channels/telegram-channel.d.ts.map +1 -0
  25. package/dist/channels/telegram-channel.js +167 -0
  26. package/dist/channels/types.d.ts +31 -0
  27. package/dist/channels/types.d.ts.map +1 -0
  28. package/dist/channels/types.js +4 -0
  29. package/dist/cli/bootstrap.d.ts +39 -0
  30. package/dist/cli/bootstrap.d.ts.map +1 -0
  31. package/dist/cli/bootstrap.js +138 -0
  32. package/dist/cli/channel-bootstrap.d.ts +23 -0
  33. package/dist/cli/channel-bootstrap.d.ts.map +1 -0
  34. package/dist/cli/channel-bootstrap.js +46 -0
  35. package/dist/cli/daemon-control.d.ts +31 -0
  36. package/dist/cli/daemon-control.d.ts.map +1 -0
  37. package/dist/cli/daemon-control.js +177 -0
  38. package/dist/cli/guidance-panel.d.ts +11 -0
  39. package/dist/cli/guidance-panel.d.ts.map +1 -0
  40. package/dist/cli/guidance-panel.js +16 -0
  41. package/dist/cli/mcp-control.d.ts +7 -0
  42. package/dist/cli/mcp-control.d.ts.map +1 -0
  43. package/dist/cli/mcp-control.js +119 -0
  44. package/dist/cli/mission-views.d.ts +13 -0
  45. package/dist/cli/mission-views.d.ts.map +1 -0
  46. package/dist/cli/mission-views.js +82 -0
  47. package/dist/cli/setup.d.ts +9 -0
  48. package/dist/cli/setup.d.ts.map +1 -0
  49. package/dist/cli/setup.js +140 -0
  50. package/dist/cli/startup-contract.d.ts +23 -0
  51. package/dist/cli/startup-contract.d.ts.map +1 -0
  52. package/dist/cli/startup-contract.js +694 -0
  53. package/dist/commands/agents.d.ts +3 -0
  54. package/dist/commands/agents.d.ts.map +1 -0
  55. package/dist/commands/agents.js +44 -0
  56. package/dist/commands/checkpoint.d.ts +3 -0
  57. package/dist/commands/checkpoint.d.ts.map +1 -0
  58. package/dist/commands/checkpoint.js +52 -0
  59. package/dist/commands/claude-style.d.ts +12 -0
  60. package/dist/commands/claude-style.d.ts.map +1 -0
  61. package/dist/commands/claude-style.js +560 -0
  62. package/dist/commands/clear.d.ts +3 -0
  63. package/dist/commands/clear.d.ts.map +1 -0
  64. package/dist/commands/clear.js +20 -0
  65. package/dist/commands/compact.d.ts +3 -0
  66. package/dist/commands/compact.d.ts.map +1 -0
  67. package/dist/commands/compact.js +23 -0
  68. package/dist/commands/config.d.ts +3 -0
  69. package/dist/commands/config.d.ts.map +1 -0
  70. package/dist/commands/config.js +22 -0
  71. package/dist/commands/connect.d.ts +3 -0
  72. package/dist/commands/connect.d.ts.map +1 -0
  73. package/dist/commands/connect.js +102 -0
  74. package/dist/commands/context.d.ts +3 -0
  75. package/dist/commands/context.d.ts.map +1 -0
  76. package/dist/commands/context.js +13 -0
  77. package/dist/commands/dashboard.d.ts +3 -0
  78. package/dist/commands/dashboard.d.ts.map +1 -0
  79. package/dist/commands/dashboard.js +22 -0
  80. package/dist/commands/detach.d.ts +3 -0
  81. package/dist/commands/detach.d.ts.map +1 -0
  82. package/dist/commands/detach.js +44 -0
  83. package/dist/commands/distill.d.ts +3 -0
  84. package/dist/commands/distill.d.ts.map +1 -0
  85. package/dist/commands/distill.js +23 -0
  86. package/dist/commands/doctor.d.ts +3 -0
  87. package/dist/commands/doctor.d.ts.map +1 -0
  88. package/dist/commands/doctor.js +13 -0
  89. package/dist/commands/dream.d.ts +3 -0
  90. package/dist/commands/dream.d.ts.map +1 -0
  91. package/dist/commands/dream.js +59 -0
  92. package/dist/commands/export.d.ts +3 -0
  93. package/dist/commands/export.d.ts.map +1 -0
  94. package/dist/commands/export.js +18 -0
  95. package/dist/commands/exports.d.ts +3 -0
  96. package/dist/commands/exports.d.ts.map +1 -0
  97. package/dist/commands/exports.js +15 -0
  98. package/dist/commands/goal.d.ts +3 -0
  99. package/dist/commands/goal.d.ts.map +1 -0
  100. package/dist/commands/goal.js +147 -0
  101. package/dist/commands/help.d.ts +4 -0
  102. package/dist/commands/help.d.ts.map +1 -0
  103. package/dist/commands/help.js +75 -0
  104. package/dist/commands/hooks.d.ts +3 -0
  105. package/dist/commands/hooks.d.ts.map +1 -0
  106. package/dist/commands/hooks.js +14 -0
  107. package/dist/commands/index.d.ts +29 -0
  108. package/dist/commands/index.d.ts.map +1 -0
  109. package/dist/commands/index.js +417 -0
  110. package/dist/commands/knowledge.d.ts +8 -0
  111. package/dist/commands/knowledge.d.ts.map +1 -0
  112. package/dist/commands/knowledge.js +191 -0
  113. package/dist/commands/loop.d.ts +3 -0
  114. package/dist/commands/loop.d.ts.map +1 -0
  115. package/dist/commands/loop.js +138 -0
  116. package/dist/commands/mcp.d.ts +3 -0
  117. package/dist/commands/mcp.d.ts.map +1 -0
  118. package/dist/commands/mcp.js +57 -0
  119. package/dist/commands/memory.d.ts +3 -0
  120. package/dist/commands/memory.d.ts.map +1 -0
  121. package/dist/commands/memory.js +215 -0
  122. package/dist/commands/mission.d.ts +3 -0
  123. package/dist/commands/mission.d.ts.map +1 -0
  124. package/dist/commands/mission.js +129 -0
  125. package/dist/commands/permissions.d.ts +3 -0
  126. package/dist/commands/permissions.d.ts.map +1 -0
  127. package/dist/commands/permissions.js +82 -0
  128. package/dist/commands/privacy.d.ts +3 -0
  129. package/dist/commands/privacy.d.ts.map +1 -0
  130. package/dist/commands/privacy.js +13 -0
  131. package/dist/commands/recap.d.ts +3 -0
  132. package/dist/commands/recap.d.ts.map +1 -0
  133. package/dist/commands/recap.js +11 -0
  134. package/dist/commands/repomap.d.ts +3 -0
  135. package/dist/commands/repomap.d.ts.map +1 -0
  136. package/dist/commands/repomap.js +146 -0
  137. package/dist/commands/resume.d.ts +3 -0
  138. package/dist/commands/resume.d.ts.map +1 -0
  139. package/dist/commands/resume.js +42 -0
  140. package/dist/commands/runtime.d.ts +61 -0
  141. package/dist/commands/runtime.d.ts.map +1 -0
  142. package/dist/commands/runtime.js +20 -0
  143. package/dist/commands/sessions.d.ts +3 -0
  144. package/dist/commands/sessions.d.ts.map +1 -0
  145. package/dist/commands/sessions.js +34 -0
  146. package/dist/commands/shortcuts.d.ts +3 -0
  147. package/dist/commands/shortcuts.d.ts.map +1 -0
  148. package/dist/commands/shortcuts.js +12 -0
  149. package/dist/commands/skill.d.ts +3 -0
  150. package/dist/commands/skill.d.ts.map +1 -0
  151. package/dist/commands/skill.js +20 -0
  152. package/dist/commands/status.d.ts +3 -0
  153. package/dist/commands/status.d.ts.map +1 -0
  154. package/dist/commands/status.js +31 -0
  155. package/dist/commands/statusline.d.ts +3 -0
  156. package/dist/commands/statusline.d.ts.map +1 -0
  157. package/dist/commands/statusline.js +40 -0
  158. package/dist/commands/storage.d.ts +3 -0
  159. package/dist/commands/storage.d.ts.map +1 -0
  160. package/dist/commands/storage.js +122 -0
  161. package/dist/commands/tasks.d.ts +3 -0
  162. package/dist/commands/tasks.d.ts.map +1 -0
  163. package/dist/commands/tasks.js +117 -0
  164. package/dist/commands/types.d.ts +14 -0
  165. package/dist/commands/types.d.ts.map +1 -0
  166. package/dist/commands/types.js +1 -0
  167. package/dist/commands/verify.d.ts +3 -0
  168. package/dist/commands/verify.d.ts.map +1 -0
  169. package/dist/commands/verify.js +86 -0
  170. package/dist/config-report.d.ts +35 -0
  171. package/dist/config-report.d.ts.map +1 -0
  172. package/dist/config-report.js +100 -0
  173. package/dist/config.d.ts +217 -0
  174. package/dist/config.d.ts.map +1 -0
  175. package/dist/config.js +690 -0
  176. package/dist/context-compactor.d.ts +27 -0
  177. package/dist/context-compactor.d.ts.map +1 -0
  178. package/dist/context-compactor.js +489 -0
  179. package/dist/context-report.d.ts +35 -0
  180. package/dist/context-report.d.ts.map +1 -0
  181. package/dist/context-report.js +172 -0
  182. package/dist/daemon.d.ts +2 -0
  183. package/dist/daemon.d.ts.map +1 -0
  184. package/dist/daemon.js +316 -0
  185. package/dist/dashboard-server.d.ts +18 -0
  186. package/dist/dashboard-server.d.ts.map +1 -0
  187. package/dist/dashboard-server.js +325 -0
  188. package/dist/discovery-registry.d.ts +28 -0
  189. package/dist/discovery-registry.d.ts.map +1 -0
  190. package/dist/discovery-registry.js +106 -0
  191. package/dist/discovery-types.d.ts +54 -0
  192. package/dist/discovery-types.d.ts.map +1 -0
  193. package/dist/discovery-types.js +5 -0
  194. package/dist/doctor.d.ts +31 -0
  195. package/dist/doctor.d.ts.map +1 -0
  196. package/dist/doctor.js +343 -0
  197. package/dist/eval/runner.d.ts +10 -0
  198. package/dist/eval/runner.d.ts.map +1 -0
  199. package/dist/eval/runner.js +78 -0
  200. package/dist/eval/tasks.d.ts +3 -0
  201. package/dist/eval/tasks.d.ts.map +1 -0
  202. package/dist/eval/tasks.js +179 -0
  203. package/dist/eval/types.d.ts +31 -0
  204. package/dist/eval/types.d.ts.map +1 -0
  205. package/dist/eval/types.js +4 -0
  206. package/dist/git/auto-commit.d.ts +28 -0
  207. package/dist/git/auto-commit.d.ts.map +1 -0
  208. package/dist/git/auto-commit.js +112 -0
  209. package/dist/guard/approval.d.ts +16 -0
  210. package/dist/guard/approval.d.ts.map +1 -0
  211. package/dist/guard/approval.js +68 -0
  212. package/dist/guard/content-filter.d.ts +15 -0
  213. package/dist/guard/content-filter.d.ts.map +1 -0
  214. package/dist/guard/content-filter.js +102 -0
  215. package/dist/guard/permissions.d.ts +17 -0
  216. package/dist/guard/permissions.d.ts.map +1 -0
  217. package/dist/guard/permissions.js +54 -0
  218. package/dist/guard/rate-limit.d.ts +14 -0
  219. package/dist/guard/rate-limit.d.ts.map +1 -0
  220. package/dist/guard/rate-limit.js +47 -0
  221. package/dist/guard.d.ts +21 -0
  222. package/dist/guard.d.ts.map +1 -0
  223. package/dist/guard.js +144 -0
  224. package/dist/help-topics.d.ts +19 -0
  225. package/dist/help-topics.d.ts.map +1 -0
  226. package/dist/help-topics.js +391 -0
  227. package/dist/hooks-report.d.ts +23 -0
  228. package/dist/hooks-report.d.ts.map +1 -0
  229. package/dist/hooks-report.js +44 -0
  230. package/dist/i18n/index.d.ts +5 -0
  231. package/dist/i18n/index.d.ts.map +1 -0
  232. package/dist/i18n/index.js +4 -0
  233. package/dist/i18n/zh-cn.d.ts +180 -0
  234. package/dist/i18n/zh-cn.d.ts.map +1 -0
  235. package/dist/i18n/zh-cn.js +184 -0
  236. package/dist/index.d.ts +3 -0
  237. package/dist/index.d.ts.map +1 -0
  238. package/dist/index.js +1157 -0
  239. package/dist/knowledge-agent.d.ts +47 -0
  240. package/dist/knowledge-agent.d.ts.map +1 -0
  241. package/dist/knowledge-agent.js +320 -0
  242. package/dist/local-status-report.d.ts +23 -0
  243. package/dist/local-status-report.d.ts.map +1 -0
  244. package/dist/local-status-report.js +63 -0
  245. package/dist/local-storage-report.d.ts +32 -0
  246. package/dist/local-storage-report.d.ts.map +1 -0
  247. package/dist/local-storage-report.js +171 -0
  248. package/dist/mcp/bridge.d.ts +11 -0
  249. package/dist/mcp/bridge.d.ts.map +1 -0
  250. package/dist/mcp/bridge.js +37 -0
  251. package/dist/mcp/client.d.ts +26 -0
  252. package/dist/mcp/client.d.ts.map +1 -0
  253. package/dist/mcp/client.js +209 -0
  254. package/dist/mcp/http-transport.d.ts +21 -0
  255. package/dist/mcp/http-transport.d.ts.map +1 -0
  256. package/dist/mcp/http-transport.js +126 -0
  257. package/dist/mcp/presets.d.ts +22 -0
  258. package/dist/mcp/presets.d.ts.map +1 -0
  259. package/dist/mcp/presets.js +80 -0
  260. package/dist/mcp/registry.d.ts +23 -0
  261. package/dist/mcp/registry.d.ts.map +1 -0
  262. package/dist/mcp/registry.js +85 -0
  263. package/dist/mcp/stdio-transport.d.ts +25 -0
  264. package/dist/mcp/stdio-transport.d.ts.map +1 -0
  265. package/dist/mcp/stdio-transport.js +92 -0
  266. package/dist/mcp/store.d.ts +41 -0
  267. package/dist/mcp/store.d.ts.map +1 -0
  268. package/dist/mcp/store.js +100 -0
  269. package/dist/mcp/types.d.ts +40 -0
  270. package/dist/mcp/types.d.ts.map +1 -0
  271. package/dist/mcp/types.js +4 -0
  272. package/dist/mcp-report.d.ts +30 -0
  273. package/dist/mcp-report.d.ts.map +1 -0
  274. package/dist/mcp-report.js +104 -0
  275. package/dist/memory/cognitive-index.d.ts +56 -0
  276. package/dist/memory/cognitive-index.d.ts.map +1 -0
  277. package/dist/memory/cognitive-index.js +265 -0
  278. package/dist/memory/compactor.d.ts +28 -0
  279. package/dist/memory/compactor.d.ts.map +1 -0
  280. package/dist/memory/compactor.js +92 -0
  281. package/dist/memory/consolidation.d.ts +13 -0
  282. package/dist/memory/consolidation.d.ts.map +1 -0
  283. package/dist/memory/consolidation.js +77 -0
  284. package/dist/memory/embedding.d.ts +15 -0
  285. package/dist/memory/embedding.d.ts.map +1 -0
  286. package/dist/memory/embedding.js +59 -0
  287. package/dist/memory/memory-llm-dream.d.ts +3 -0
  288. package/dist/memory/memory-llm-dream.d.ts.map +1 -0
  289. package/dist/memory/memory-llm-dream.js +59 -0
  290. package/dist/memory/projection-worker.d.ts +30 -0
  291. package/dist/memory/projection-worker.d.ts.map +1 -0
  292. package/dist/memory/projection-worker.js +92 -0
  293. package/dist/memory/semantic-index.d.ts +18 -0
  294. package/dist/memory/semantic-index.d.ts.map +1 -0
  295. package/dist/memory/semantic-index.js +86 -0
  296. package/dist/memory/wal.d.ts +33 -0
  297. package/dist/memory/wal.d.ts.map +1 -0
  298. package/dist/memory/wal.js +131 -0
  299. package/dist/memory-report.d.ts +120 -0
  300. package/dist/memory-report.d.ts.map +1 -0
  301. package/dist/memory-report.js +726 -0
  302. package/dist/memory.d.ts +149 -0
  303. package/dist/memory.d.ts.map +1 -0
  304. package/dist/memory.js +632 -0
  305. package/dist/metrics/agent-telemetry.d.ts +14 -0
  306. package/dist/metrics/agent-telemetry.d.ts.map +1 -0
  307. package/dist/metrics/agent-telemetry.js +44 -0
  308. package/dist/metrics/collector.d.ts +17 -0
  309. package/dist/metrics/collector.d.ts.map +1 -0
  310. package/dist/metrics/collector.js +137 -0
  311. package/dist/metrics/types.d.ts +14 -0
  312. package/dist/metrics/types.d.ts.map +1 -0
  313. package/dist/metrics/types.js +4 -0
  314. package/dist/mission/manager.d.ts +28 -0
  315. package/dist/mission/manager.d.ts.map +1 -0
  316. package/dist/mission/manager.js +208 -0
  317. package/dist/mission/types.d.ts +37 -0
  318. package/dist/mission/types.d.ts.map +1 -0
  319. package/dist/mission/types.js +5 -0
  320. package/dist/onboarding/tutorial.d.ts +33 -0
  321. package/dist/onboarding/tutorial.d.ts.map +1 -0
  322. package/dist/onboarding/tutorial.js +96 -0
  323. package/dist/output-style.d.ts +14 -0
  324. package/dist/output-style.d.ts.map +1 -0
  325. package/dist/output-style.js +29 -0
  326. package/dist/package-version.d.ts +12 -0
  327. package/dist/package-version.d.ts.map +1 -0
  328. package/dist/package-version.js +42 -0
  329. package/dist/permissions-report.d.ts +42 -0
  330. package/dist/permissions-report.d.ts.map +1 -0
  331. package/dist/permissions-report.js +120 -0
  332. package/dist/pipeline/consistency-checker.d.ts +8 -0
  333. package/dist/pipeline/consistency-checker.d.ts.map +1 -0
  334. package/dist/pipeline/consistency-checker.js +40 -0
  335. package/dist/pipeline/example-generator.d.ts +4 -0
  336. package/dist/pipeline/example-generator.d.ts.map +1 -0
  337. package/dist/pipeline/example-generator.js +64 -0
  338. package/dist/pipeline/hooks.d.ts +68 -0
  339. package/dist/pipeline/hooks.d.ts.map +1 -0
  340. package/dist/pipeline/hooks.js +377 -0
  341. package/dist/pipeline/sections.d.ts +41 -0
  342. package/dist/pipeline/sections.d.ts.map +1 -0
  343. package/dist/pipeline/sections.js +244 -0
  344. package/dist/pipeline/verification.d.ts +12 -0
  345. package/dist/pipeline/verification.d.ts.map +1 -0
  346. package/dist/pipeline/verification.js +138 -0
  347. package/dist/privacy-report.d.ts +24 -0
  348. package/dist/privacy-report.d.ts.map +1 -0
  349. package/dist/privacy-report.js +78 -0
  350. package/dist/providers/presets.d.ts +25 -0
  351. package/dist/providers/presets.d.ts.map +1 -0
  352. package/dist/providers/presets.js +205 -0
  353. package/dist/recap.d.ts +38 -0
  354. package/dist/recap.d.ts.map +1 -0
  355. package/dist/recap.js +154 -0
  356. package/dist/repl.d.ts +41 -0
  357. package/dist/repl.d.ts.map +1 -0
  358. package/dist/repl.js +396 -0
  359. package/dist/runtime-paths.d.ts +32 -0
  360. package/dist/runtime-paths.d.ts.map +1 -0
  361. package/dist/runtime-paths.js +134 -0
  362. package/dist/sdk.d.ts +12 -0
  363. package/dist/sdk.d.ts.map +1 -0
  364. package/dist/sdk.js +18 -0
  365. package/dist/session/daemon-session-api.d.ts +22 -0
  366. package/dist/session/daemon-session-api.d.ts.map +1 -0
  367. package/dist/session/daemon-session-api.js +48 -0
  368. package/dist/session/durable-session-supervisor.d.ts +24 -0
  369. package/dist/session/durable-session-supervisor.d.ts.map +1 -0
  370. package/dist/session/durable-session-supervisor.js +195 -0
  371. package/dist/session/goal-controller.d.ts +43 -0
  372. package/dist/session/goal-controller.d.ts.map +1 -0
  373. package/dist/session/goal-controller.js +77 -0
  374. package/dist/session/goal-evaluator.d.ts +29 -0
  375. package/dist/session/goal-evaluator.d.ts.map +1 -0
  376. package/dist/session/goal-evaluator.js +100 -0
  377. package/dist/session/loop-prompt.d.ts +14 -0
  378. package/dist/session/loop-prompt.d.ts.map +1 -0
  379. package/dist/session/loop-prompt.js +49 -0
  380. package/dist/session/session-goal-manager.d.ts +51 -0
  381. package/dist/session/session-goal-manager.d.ts.map +1 -0
  382. package/dist/session/session-goal-manager.js +118 -0
  383. package/dist/session/session-registry.d.ts +40 -0
  384. package/dist/session/session-registry.d.ts.map +1 -0
  385. package/dist/session/session-registry.js +124 -0
  386. package/dist/session/session-scheduler.d.ts +59 -0
  387. package/dist/session/session-scheduler.d.ts.map +1 -0
  388. package/dist/session/session-scheduler.js +170 -0
  389. package/dist/session-checkpoint-report.d.ts +22 -0
  390. package/dist/session-checkpoint-report.d.ts.map +1 -0
  391. package/dist/session-checkpoint-report.js +99 -0
  392. package/dist/session-export-index.d.ts +23 -0
  393. package/dist/session-export-index.d.ts.map +1 -0
  394. package/dist/session-export-index.js +96 -0
  395. package/dist/session-export.d.ts +28 -0
  396. package/dist/session-export.d.ts.map +1 -0
  397. package/dist/session-export.js +99 -0
  398. package/dist/session-goal-report.d.ts +37 -0
  399. package/dist/session-goal-report.d.ts.map +1 -0
  400. package/dist/session-goal-report.js +219 -0
  401. package/dist/session-list-report.d.ts +16 -0
  402. package/dist/session-list-report.d.ts.map +1 -0
  403. package/dist/session-list-report.js +60 -0
  404. package/dist/session-task-report.d.ts +23 -0
  405. package/dist/session-task-report.d.ts.map +1 -0
  406. package/dist/session-task-report.js +183 -0
  407. package/dist/shortcuts.d.ts +2 -0
  408. package/dist/shortcuts.d.ts.map +1 -0
  409. package/dist/shortcuts.js +32 -0
  410. package/dist/skills/registry.d.ts +8 -0
  411. package/dist/skills/registry.d.ts.map +1 -0
  412. package/dist/skills/registry.js +119 -0
  413. package/dist/skills/types.d.ts +7 -0
  414. package/dist/skills/types.d.ts.map +1 -0
  415. package/dist/skills/types.js +4 -0
  416. package/dist/statusline.d.ts +37 -0
  417. package/dist/statusline.d.ts.map +1 -0
  418. package/dist/statusline.js +207 -0
  419. package/dist/tools/bash.d.ts +10 -0
  420. package/dist/tools/bash.d.ts.map +1 -0
  421. package/dist/tools/bash.js +278 -0
  422. package/dist/tools/browser-fetch.d.ts +7 -0
  423. package/dist/tools/browser-fetch.d.ts.map +1 -0
  424. package/dist/tools/browser-fetch.js +133 -0
  425. package/dist/tools/error-utils.d.ts +9 -0
  426. package/dist/tools/error-utils.d.ts.map +1 -0
  427. package/dist/tools/error-utils.js +35 -0
  428. package/dist/tools/index.d.ts +27 -0
  429. package/dist/tools/index.d.ts.map +1 -0
  430. package/dist/tools/index.js +86 -0
  431. package/dist/tools/patch.d.ts +22 -0
  432. package/dist/tools/patch.d.ts.map +1 -0
  433. package/dist/tools/patch.js +458 -0
  434. package/dist/tools/planner.d.ts +7 -0
  435. package/dist/tools/planner.d.ts.map +1 -0
  436. package/dist/tools/planner.js +148 -0
  437. package/dist/tools/read.d.ts +8 -0
  438. package/dist/tools/read.d.ts.map +1 -0
  439. package/dist/tools/read.js +114 -0
  440. package/dist/tools/search.d.ts +11 -0
  441. package/dist/tools/search.d.ts.map +1 -0
  442. package/dist/tools/search.js +636 -0
  443. package/dist/tools/skill.d.ts +8 -0
  444. package/dist/tools/skill.d.ts.map +1 -0
  445. package/dist/tools/skill.js +181 -0
  446. package/dist/tools/subtask.d.ts +9 -0
  447. package/dist/tools/subtask.d.ts.map +1 -0
  448. package/dist/tools/subtask.js +120 -0
  449. package/dist/tools/todo.d.ts +8 -0
  450. package/dist/tools/todo.d.ts.map +1 -0
  451. package/dist/tools/todo.js +170 -0
  452. package/dist/tools/url-fetch.d.ts +11 -0
  453. package/dist/tools/url-fetch.d.ts.map +1 -0
  454. package/dist/tools/url-fetch.js +208 -0
  455. package/dist/tools/vision-analyze.d.ts +9 -0
  456. package/dist/tools/vision-analyze.d.ts.map +1 -0
  457. package/dist/tools/vision-analyze.js +179 -0
  458. package/dist/tools/write.d.ts +7 -0
  459. package/dist/tools/write.d.ts.map +1 -0
  460. package/dist/tools/write.js +128 -0
  461. package/dist/tui/chrome.d.ts +7 -0
  462. package/dist/tui/chrome.d.ts.map +1 -0
  463. package/dist/tui/chrome.js +22 -0
  464. package/dist/tui/input-buffer.d.ts +37 -0
  465. package/dist/tui/input-buffer.d.ts.map +1 -0
  466. package/dist/tui/input-buffer.js +228 -0
  467. package/dist/tui/input-history.d.ts +11 -0
  468. package/dist/tui/input-history.d.ts.map +1 -0
  469. package/dist/tui/input-history.js +69 -0
  470. package/dist/tui/input-queue.d.ts +27 -0
  471. package/dist/tui/input-queue.d.ts.map +1 -0
  472. package/dist/tui/input-queue.js +85 -0
  473. package/dist/tui/markdown.d.ts +10 -0
  474. package/dist/tui/markdown.d.ts.map +1 -0
  475. package/dist/tui/markdown.js +396 -0
  476. package/dist/tui/progress.d.ts +3 -0
  477. package/dist/tui/progress.d.ts.map +1 -0
  478. package/dist/tui/progress.js +13 -0
  479. package/dist/tui/shell.d.ts +67 -0
  480. package/dist/tui/shell.d.ts.map +1 -0
  481. package/dist/tui/shell.js +271 -0
  482. package/dist/tui/streaming-repl.d.ts +39 -0
  483. package/dist/tui/streaming-repl.d.ts.map +1 -0
  484. package/dist/tui/streaming-repl.js +460 -0
  485. package/dist/tui/streaming-tui.d.ts +174 -0
  486. package/dist/tui/streaming-tui.d.ts.map +1 -0
  487. package/dist/tui/streaming-tui.js +1049 -0
  488. package/dist/types.d.ts +221 -0
  489. package/dist/types.d.ts.map +1 -0
  490. package/dist/types.js +37 -0
  491. package/dist/utils/symbol-extractor.d.ts +8 -0
  492. package/dist/utils/symbol-extractor.d.ts.map +1 -0
  493. package/dist/utils/symbol-extractor.js +190 -0
  494. package/dist/workflow-runtime.d.ts +45 -0
  495. package/dist/workflow-runtime.d.ts.map +1 -0
  496. package/dist/workflow-runtime.js +146 -0
  497. package/dist/workflow-types.d.ts +73 -0
  498. package/dist/workflow-types.d.ts.map +1 -0
  499. package/dist/workflow-types.js +34 -0
  500. package/docs/docker.md +66 -0
  501. package/docs/install.md +159 -0
  502. package/docs/sdk.md +67 -0
  503. package/docs/skills.md +51 -0
  504. package/package.json +102 -0
  505. package/scripts/bootstrap.mjs +63 -0
  506. package/scripts/check_image.ps1 +18 -0
  507. package/scripts/clean-dist.mjs +18 -0
  508. package/scripts/copy_image.ps1 +5 -0
  509. package/scripts/eval-smoke.mjs +17 -0
  510. package/skills/examples/repo-triage/SKILL.md +50 -0
  511. package/skills/qling.md +42 -0
  512. package/skills/templates/SKILL.md +37 -0
package/CHANGELOG.md ADDED
@@ -0,0 +1,122 @@
1
+ # Changelog
2
+
3
+ ## v1.0.0 (2026-07-09)
4
+
5
+ ### 发布收尾(发布就绪补丁)
6
+
7
+ - **跨平台 CI**:`write-sandbox` 单测改用 `path.resolve`/`tmpdir`,去掉硬编码 `C:\\` 路径。
8
+ - **`qling --version` / `-V` / `version`**:本地打印 `qling/<semver>`,不加载配置、不要求 API key。
9
+ - **版本单一来源**:`src/package-version.ts` 统一供 TUI、system prompt、daemon `/health`、help 使用。
10
+ - **干净构建**:`npm run clean` 删除 `dist/`;`build`/`prepack` 先 clean 再 `tsc`,避免陈旧产物进入 npm pack。
11
+ - **npm 包名**:因官方相似度策略改为 `@qlingzzy/qling`(`bin` 仍为 `qling`);不可用无作用域名 `qling`。
12
+
13
+ ### 稳定工作台契约
14
+
15
+ - **版本语义**:进入 `1.0.0`。表示本地优先的中文 AI Agent CLI 工作台核心契约可用且稳定,而非追平全部开源标杆的功能总量。
16
+ - **能力继承**:完整继承 v0.5.x 的 chat/repl/run、流式 TUI、MCP(stdio+HTTP)、guard 治理、记忆/WAL、mission+daemon、dashboard、browser_fetch、checkpoint/resume/export 等能力。
17
+ - **对标路线**:对照 OpenCode、Pi、Aider、Goose、Codex CLI、Gemini CLI、Cline、Crush、Qwen Code 等标杆,固化后续提升分期:
18
+ - Phase 1.1 Provider / Ollama 一等公民
19
+ - Phase 1.2 安全编辑 + git 策略 + plan 模式
20
+ - Phase 1.3 TUI 产品化
21
+ - Phase 1.4 安装分发与文档
22
+ - Phase 1.5 沙箱与安全默认
23
+ - Phase 2.x 评测、生态、分包
24
+ - **文档**:
25
+ - Spec: `docs/superpowers/specs/20260709-agent-cli-competitive-analysis-and-v1-roadmap-spec.md`
26
+ - Plan: `docs/superpowers/plans/20260709-v1.0.0-release-and-roadmap-plan.md`
27
+ - **兼容承诺**:顶层命令与 `/` slash 控制面以兼容优先;破坏性变更将走 deprecation 窗口并在 CHANGELOG 标明。
28
+
29
+ ### Phase 1.1 — Provider 一等公民(同版本增量)
30
+
31
+ - **共享预设表** `src/providers/presets.ts`:setup 与 slash 命令同源(DeepSeek / 百炼 / 智谱 / Kimi / MiniMax / MiMo / SiliconFlow / OpenAI / Ollama)。
32
+ - **`/model` 增强**:
33
+ - `/model` 显示 provider + endpoint + model
34
+ - `/model list` 列出预设
35
+ - `/model use <preset|序号>` 切换整包 LLM 配置(进程内,默认不写盘)
36
+ - `/model <name>` 兼容仅切换 model
37
+ - **AgentLoop**:`getProvider` / `getEndpoint` / `applyLlmSession`;本地 loopback 允许空 API key。
38
+ - **`doctor`**:新增本机 Ollama 探测(仅 loopback,`QLING_OLLAMA_URL` 可覆盖)。
39
+
40
+ ### Phase 1.2 — 编码闭环(同版本增量)
41
+
42
+ - **patch 增强**:空 search 拒绝、noop 检测、`dry_run` 预览 diff、行变更摘要、2MiB 大文件护栏。
43
+ - **Plan Mode**:`/plan on|off|status|<desc>`;会话级拒绝 write/patch/bash/subtask/browser_fetch。
44
+ - **Git auto-commit**:`QLING_GIT_AUTO_COMMIT=off|on|ask`(默认 off);write/patch 成功后按策略提示或自动提交。
45
+
46
+ ### Phase 1.3 — TUI 产品化(同版本增量)
47
+
48
+ - **Top bar**:显示 `Mode`(agent/plan)与 `Perm`。
49
+ - **Statusline**:增加 `模式=plan|agent`,并在 `showPrompt` 真正打印。
50
+ - **工具输出卡片**:`formatToolOutputCard` 统一折叠;stdout 批量写入减闪烁。
51
+ - **`/expand`**:与 Ctrl+O 同源切换长工具输出展开/折叠。
52
+
53
+ ### Phase 1.4 — 分发与上手(同版本增量)
54
+
55
+ - **package.json**:engines / keywords / repository / homepage / bugs / files / license 等发布元数据。
56
+ - **README.en.md**:英文最小上手文档。
57
+ - **docs/install.md**:npm / git / Windows PowerShell / Scoop·winget 草案说明。
58
+ - **packaging/**:Scoop 与 winget 清单草稿(未上架)。
59
+ - **Onboarding**:结构化 3 步首次引导卡片(可测、非阻塞)。
60
+
61
+ ### Phase 1.5 — 安全与沙箱(同版本增量)
62
+
63
+ - **写沙箱**:`QLING_WRITE_SANDBOX=workspace|roots|off`(默认 workspace);write/patch 默认不可出工作区。
64
+ - **敏感写拦截**:默认拒绝 `.env*` / 密钥类文件;`QLING_ALLOW_SENSITIVE_WRITE=1` 可覆盖。
65
+ - **网络模式**:`QLING_GUARD_NETWORK_MODE=strict|open|deny`;`browser_fetch` 与 `url_fetch` 共用 Guard。
66
+ - **密钥扫描**:覆盖更多 `.env.*` 变体。
67
+ - **Docker 文档**:`docs/docker.md` + `packaging/docker/` 草案。
68
+
69
+ ### Phase 2.0 — 评测 / Skills / MCP / SDK(同版本增量)
70
+
71
+ - **eval:smoke**:本地无 LLM 评测集(`npm run eval:smoke`),覆盖沙箱/网络/预设/Plan Mode 等。
72
+ - **Skills**:`skills/templates/SKILL.md` + `skills/examples/repo-triage`;`docs/skills.md`。
73
+ - **MCP**:`qling mcp presets|list|add|remove`;本机 store `~/.qling/mcp-servers.json`。
74
+ - **SDK**:`import { AgentLoop } from "@qlingzzy/qling"`(`src/sdk.ts` + package `exports`);`docs/sdk.md`。
75
+
76
+ ## v0.5.0 (2026-05-07)
77
+
78
+ ### Phase F — Missions & Browser
79
+
80
+ - **Browser Fetch (v0.5)**: 集成 Playwright 支持 JS 渲染页面抓取
81
+ - **Mission Manager**: 引入长任务状态管理与持久化队列
82
+ - **Onboarding flow**: 交互式 `qling setup` 配置向导
83
+ - **Daemon Mode**: 后台守护进程支持(`npm run daemon`)
84
+ - **性能优化**: 优化了流式 TUI 的渲染抖动问题
85
+
86
+ ## v0.4.0 (2026-05-05)
87
+
88
+ ### Phase D-E — Connectivity & Quality
89
+
90
+ - **MCP HTTP Transport**: 支持基于 HTTP 的 Streamable MCP 服务器
91
+ - **E2E Testing Framework**: 引入 Fake LLM Server 与完整的工具链测试
92
+ - **Guard M2 增强**: 完善了内容过滤与权限矩阵的审计日志
93
+ - **文档补全**: 完成了完整的项目架构说明与工具手册
94
+
95
+ ## v0.3.0 (2026-05-03)
96
+
97
+ ### Phase 5, A, B — Production Ready
98
+
99
+ - **Channels**: 增加 Telegram 与 Slack 通道支持
100
+ - **Dashboard**: 内置 Web 观测台,可视化思考链路
101
+ - **Semantic Memory**: 基于 SQLite 的向量记忆索引
102
+ - **Dynamic Skills**: 支持从目录或 URL 动态加载技能
103
+ - **Approval Gate**: 引入工具调用审批流与超时拒绝机制
104
+
105
+ ## v0.2.0 (2026-05-02)
106
+
107
+ ### Phase 3-4 — Memory & MCP
108
+
109
+ - **Memory System**: 三层记忆架构(Scratchpad → Conversation → Persisted)
110
+ - **WAL Log**: 记忆追加日志与崩溃恢复机制
111
+ - **MCP Stdio Client**: 实现 JSON-RPC 2.0 协议的 MCP 客户端
112
+ - **Subtask**: 支持隔离的子任务执行逻辑
113
+
114
+ ## v0.1.0 (2026-05-01)
115
+
116
+ ### Phase 0-2 — Foundation & Stability
117
+
118
+ - 统一配置平面(CLI > ENV > config > defaults)
119
+ - 运行模式(run/chat/repl 子命令)
120
+ - Guard M1(URL 白名单、私网拦截、审计日志)
121
+ - 错误语义升级与统一
122
+ - 核心回归用例(Search/Compactor/Loop)
package/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2026 Zzy
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
package/README.en.md ADDED
@@ -0,0 +1,129 @@
1
+ # Qling (轻灵)
2
+
3
+ [![Node](https://img.shields.io/badge/Node-%E2%89%A518-339933?logo=node.js&logoColor=white)](#requirements)
4
+ [![License: MIT](https://img.shields.io/badge/license-MIT-blue.svg)](LICENSE)
5
+ [![Version](https://img.shields.io/badge/version-1.0.0-orange.svg)](CHANGELOG.md)
6
+
7
+ **Qling** is a **local-first** AI Agent CLI workbench. It keeps sessions, tools, skills, permissions, diagnostics, long-running missions, and recovery controls in one auditable terminal console.
8
+
9
+ > One line: Qling turns the agent into a local workbench—not a black-box chat window.
10
+
11
+ **Chinese docs:** [README.md](README.md) · **Install details:** [docs/install.md](docs/install.md)
12
+
13
+ ## Why Qling
14
+
15
+ | Dimension | Approach |
16
+ |---|---|
17
+ | Local-first | Sessions, checkpoints, exports, memory, and diagnostics stay on disk; `qling privacy` shows boundaries. |
18
+ | Chinese UX | TUI, help, and slash aliases target Chinese terminals (English works too). |
19
+ | Recoverable | `/checkpoint`, `/resume`, daemon + mission state machines. |
20
+ | Governed tools | Permission matrix, approval gate, content filter, audit log. |
21
+ | Honest boundaries | Unsupported cloud features are explained—never faked. |
22
+
23
+ ## Requirements
24
+
25
+ - Node.js ≥ 18
26
+ - npm ≥ 9
27
+ - Optional: Playwright Chromium for `browser_fetch`
28
+
29
+ ## Install
30
+
31
+ ### From source (recommended today)
32
+
33
+ ```bash
34
+ git clone https://github.com/Zzy-min/qling.git
35
+ cd qling
36
+ npm run bootstrap
37
+ # optional browser tools:
38
+ npm run bootstrap -- --with-browser
39
+ ```
40
+
41
+ Link the CLI globally:
42
+
43
+ ```bash
44
+ npm link
45
+ qling
46
+ ```
47
+
48
+ ### From npm
49
+
50
+ ```bash
51
+ npm install -g @qlingzzy/qling
52
+ # CLI binary is still: qling
53
+ qling bootstrap
54
+ qling setup
55
+ ```
56
+
57
+ ### Windows notes
58
+
59
+ See [docs/install.md](docs/install.md) for PowerShell env vars, Scoop draft, and winget draft.
60
+
61
+ ## Minimal config
62
+
63
+ **Never** put API keys in committed files. Prefer OS user environment variables.
64
+
65
+ ```bash
66
+ # example (do not commit real keys)
67
+ QLING_LLM_PROVIDER=deepseek
68
+ QLING_LLM_ENDPOINT=https://api.deepseek.com
69
+ QLING_LLM_MODEL=deepseek-chat
70
+ # set QLING_LLM_API_KEY (or DEEPSEEK_API_KEY) in your shell/OS
71
+ ```
72
+
73
+ Interactive wizard (does **not** write secrets into `.env`):
74
+
75
+ ```bash
76
+ qling setup
77
+ ```
78
+
79
+ Any OpenAI-compatible endpoint works via `QLING_LLM_ENDPOINT` + `QLING_LLM_MODEL`.
80
+
81
+ ## Four commands to try
82
+
83
+ ```bash
84
+ qling # streaming TUI (chat)
85
+ qling run "analyze this repo"
86
+ qling doctor # local diagnostics
87
+ qling privacy # data retention paths
88
+ ```
89
+
90
+ ## Modes
91
+
92
+ | Mode | Purpose |
93
+ |---|---|
94
+ | `qling` / `qling chat` | Streaming TUI |
95
+ | `qling repl` | Minimal REPL |
96
+ | `qling run "…"` | One-shot task |
97
+ | `qling bootstrap` | Local init checks |
98
+ | `qling setup` | Provider/model wizard |
99
+ | `qling daemon` / `mission` | Background long tasks |
100
+
101
+ ## Useful slash commands
102
+
103
+ ```text
104
+ /help local command map
105
+ /model list provider presets
106
+ /model use ollama
107
+ /plan on read-only plan mode
108
+ /expand expand long tool output
109
+ /doctor environment check
110
+ /privacy data boundaries
111
+ ```
112
+
113
+ ## Design principles
114
+
115
+ - **Local-first** — valuable state stays on the machine.
116
+ - **Slash-first** — discover controls from `/`.
117
+ - **Recoverable** — checkpoint / resume / recap.
118
+ - **Honest boundaries** — no fake success for unsupported features.
119
+ - **Terminal-native** — enhance TUI without heavy GUI deps.
120
+
121
+ ## Version
122
+
123
+ - Current: `1.0.0`
124
+ - Changelog: [CHANGELOG.md](CHANGELOG.md)
125
+ - Roadmap specs: `docs/superpowers/specs/`
126
+
127
+ ## License
128
+
129
+ [MIT](LICENSE)
package/README.md ADDED
@@ -0,0 +1,416 @@
1
+ # 轻灵 Qling
2
+
3
+ [![Node](https://img.shields.io/badge/Node-%E2%89%A518-339933?logo=node.js&logoColor=white)](#环境要求)
4
+ [![License: MIT](https://img.shields.io/badge/license-MIT-blue.svg)](LICENSE)
5
+ [![Version](https://img.shields.io/badge/version-1.0.0-orange.svg)](CHANGELOG.md)
6
+
7
+ [English](README.en.md) · [安装指南](docs/install.md) · [CHANGELOG](CHANGELOG.md)
8
+
9
+ 轻灵(qling)是一个本地优先的 AI Agent CLI。它把会话、上下文、工具执行、skill、任务、权限、诊断、后台使命、观测台和恢复能力收拢到一个可审计、可中断、可继续的命令行界面里——不是 Claude Code 的复制品,而是一个面向中文开发者和本机工作流的终端控制台。
10
+
11
+ > 一句话:轻灵让 Agent 像一个本地工作台,而不是一个黑盒聊天窗口。
12
+
13
+ ## 为什么是轻灵
14
+
15
+ | 维度 | 轻灵的做法 |
16
+ |---|---|
17
+ | 本地优先 | 会话、checkpoint、导出、记忆、任务、诊断默认落在本机;`qling privacy` 直接查看边界。 |
18
+ | 中文可用 | TUI、帮助、状态提示、命令别名(`帮助` / `使命` / `代理`)面向中文终端。 |
19
+ | Slash 控制面 | `/` 打开命令面板,过滤、参数提示、方向键选择、`Tab` 补全都在当前输入框内完成。 |
20
+ | 可恢复长任务 | `/checkpoint`、`/resume`、`/rewind`、`--continue`、`qling workflow resume` 让中断后的上下文可以接上。 |
21
+ | 本地 skill | `skills/` 与 `.qling/skills/` 中的 Markdown skill 可被 `/skill` 或 `/<skill-name>` 直接读取;内置命令优先级高于 skill。 |
22
+ | 后台使命 | `qling daemon` + `qling mission` 提供长任务状态机、暂停 / 恢复 / 重试 / attach。 |
23
+ | 观测台 | `qling dashboard start` 打开本地白盒化观测控制台,串起 thinking / tool / token 链路。 |
24
+ | 通道与扩展 | `src/channels/` 内置 console / Telegram / Slack 通道;`qling discovery sync` 动态同步插件与技能。 |
25
+ | 权限可解释 | `/permissions`、`/permissions explain <tool>`、guard、内容过滤、速率限制和密钥脱敏都以本地规则呈现。 |
26
+ | 上下文透明 | `/context`、`/usage` 显示 token 来源、估算、上下文预算和压缩状态。 |
27
+ | 诊断内建 | `/doctor`、`/config`、`/mcp`、`/hooks`、`/diff` 用于快速判断当前项目和运行时状态。 |
28
+ | 诚实边界 | 平台专属命令会被识别并给出本地边界说明,不会伪装成功。 |
29
+
30
+ ## 快速开始
31
+
32
+ 完整安装路径(Windows Scoop/winget 草案、卸载、原生模块注意):见 **[docs/install.md](docs/install.md)**。
33
+
34
+ ### 环境要求
35
+
36
+ - Node.js ≥ 18
37
+ - npm ≥ 9
38
+ - 可选:Playwright Chromium,用于 `browser_fetch` 工具(v0.5 已集成)
39
+
40
+ ### 一键本机启动(推荐)
41
+
42
+ ```bash
43
+ git clone https://github.com/Zzy-min/qling.git
44
+ cd qling
45
+ npm run bootstrap
46
+ ```
47
+
48
+ 需要浏览器抓取能力时:
49
+
50
+ ```bash
51
+ npm run bootstrap -- --with-browser
52
+ ```
53
+
54
+ `bootstrap` 会检查 Node/npm、安装依赖、构建项目、创建本地 `~/.qling/` 目录并给出 `doctor`/`setup` 下一步。默认不安装浏览器依赖,也不自动开启 dashboard、semantic memory、dynamic discovery。
55
+
56
+ ### 全局命令
57
+
58
+ ```bash
59
+ # 源码目录内
60
+ npm link
61
+ qling
62
+
63
+ # 或从 GitHub 直接全局安装
64
+ npm install -g github:Zzy-min/qling
65
+
66
+ # npm 官方包(作用域名,CLI 仍是 qling)
67
+ npm install -g @qlingzzy/qling
68
+ ```
69
+
70
+ 已安装 CLI 后,可运行本机初始化检查:
71
+
72
+ ```bash
73
+ qling bootstrap
74
+ qling bootstrap --with-browser
75
+ qling bootstrap --profile dev
76
+ ```
77
+
78
+ ### 手动安装
79
+
80
+ ```bash
81
+ npm install
82
+ npm run build
83
+ npm link # 可选
84
+ ```
85
+
86
+ ### 最小配置
87
+
88
+ **强烈建议**:永远不要把 API key 直接写到可被同步、备份或分享的运行时文件(包括项目根 `.env` 或 `~/.qling/.env`)。
89
+
90
+ 推荐做法:
91
+ - 使用系统用户环境变量(Windows: 设置 → 环境变量,或 PowerShell `$env:DEEPSEEK_API_KEY=...` 并持久化)。
92
+ - 或运行 `qling setup` 由交互引导配置。
93
+
94
+ 如果必须使用文件,仅在**项目本地** `.env` 且已加入 `.gitignore`。运行时 `~/.qling/.env` 主要用于非敏感 provider/model 配置。
95
+
96
+ 示例(仅演示,实际请勿提交):
97
+ ```bash
98
+ QLING_LLM_PROVIDER=deepseek
99
+ QLING_LLM_ENDPOINT=https://api.deepseek.com
100
+ QLING_LLM_MODEL=deepseek-chat
101
+ # API key 请通过系统环境变量或 qling setup 提供
102
+ ```
103
+
104
+ 或者直接走交互式向导:
105
+
106
+ ```bash
107
+ qling setup
108
+ ```
109
+
110
+ `qling setup` 默认走快速路径:Provider、Model、API key。Dashboard、语义记忆、动态技能发现等能力在 Advanced 分支中显式开启。
111
+
112
+ 轻灵支持任意 OpenAI 兼容 provider;通过 `QLING_LLM_ENDPOINT` / `QLING_LLM_MODEL` + 对应 API key 环境变量接入。
113
+
114
+ > 使用 `/doctor`、`/privacy`、`bootstrap` 时会主动检测运行时 .env 中的明文密钥变量(仅报告名称和路径)。
115
+
116
+ ### 跑通 4 个命令
117
+
118
+ ```bash
119
+ qling # 默认进入流式 TUI(chat)
120
+ qling chat # 显式进入流式 TUI
121
+ qling run "分析这个仓库" # 单次执行,推荐形式
122
+ qling bootstrap # 本机初始化检查
123
+ qling setup # 交互式配置 LLM 提供商
124
+ ```
125
+
126
+ ## 运行模式
127
+
128
+ | 模式 | 用途 |
129
+ |---|---|
130
+ | `qling` | 默认进入流式 TUI,等价于 `qling chat`。 |
131
+ | `qling chat` | 显式进入流式 TUI。 |
132
+ | `qling repl` | 简易 REPL,无 TUI 装饰。 |
133
+ | `qling run "任务"` | 单次执行后退出,适合脚本调用。 |
134
+ | `qling bootstrap` | 本机初始化检查、配置提示和 doctor 验证。 |
135
+ | `qling --continue` | 恢复最近一次交互会话。 |
136
+ | `qling --resume <session>` | 恢复指定交互会话。 |
137
+ | `qling daemon start` | 启动后台守护进程(qlingd)。 |
138
+ | `qling workflow resume <id>` | 从状态机 Checkpoint 恢复执行。 |
139
+ | `qling dashboard start` | 启动本地观测台。 |
140
+
141
+ 向后兼容:`qling --tui`、`qling --repl`、`qling --once "task"`、直接以裸任务作为位置参数仍可用,但会有 warning。
142
+
143
+ ## CLI 顶层命令
144
+
145
+ `qling help` 总是最新基线。常见命令:
146
+
147
+ ```bash
148
+ # 状态 / 诊断 / 隐私
149
+ qling status # 本地状态摘要
150
+ qling doctor # 稳定性与数据留存诊断
151
+ qling privacy # 数据留存路径与隐私边界
152
+ qling storage # 只读盘点 state / sessions / exports / cache
153
+ qling context # 本地上下文与快照状态
154
+ qling recap [session|latest] [count] # 已保存会话的回顾
155
+
156
+ # 会话与恢复
157
+ qling sessions [count] # 本地保存的会话快照
158
+ qling checkpoint [name] # 复制最近会话为本地恢复检查点
159
+ qling exports [count] # 本地 Markdown 会话导出
160
+ qling workflow resume <id> # 从状态机 checkpoint 恢复
161
+
162
+ # 后台使命(v0.5)
163
+ qling mission start "任务" # 开启一个后台使命
164
+ qling mission list # 列出所有使命
165
+ qling mission show <id> # 查看详情
166
+ qling mission logs <id> # 查看日志
167
+ qling mission attach <id> # 跟随使命输出直到结束
168
+ qling mission pause|resume|cancel|retry <id>
169
+
170
+ # 后台守护进程
171
+ qling daemon start|status|stop
172
+
173
+ # 观测 / 同步 / 记忆
174
+ qling dashboard start # 本地白盒化观测台
175
+ qling discovery sync # 动态同步插件与技能
176
+ qling memory status|list|search|sources|practices|graph|show|reindex
177
+
178
+ # 本地任务 / 目标 / 配置
179
+ qling tasks list [count] | cancel <id>
180
+ qling goal status|set|clear
181
+ qling permissions [explain <tool>]
182
+ qling config # 密钥脱敏后的有效配置
183
+ qling mcp # MCP server 摘要
184
+ qling hooks # hooks / guard 摘要
185
+ qling shortcuts # TUI 快捷键
186
+ qling statusline # 输入区状态线
187
+ ```
188
+
189
+ 中文别名(部分示例):
190
+
191
+ ```bash
192
+ qling 帮助 # help
193
+ qling 诊断 # doctor
194
+ qling 状态 # status
195
+ qling 代理 # agents
196
+ qling 使命 列表 # mission list
197
+ qling 日志 <id> # logs <id>
198
+ ```
199
+
200
+ ## TUI 内 slash 命令
201
+
202
+ 进入 TUI(`qling` 或 `qling chat`)后,按 `/` 打开命令面板。输入前缀过滤候选,`↑/↓` 移动选择,`Tab` 接受候选并保留尾随空格,`Enter` 执行当前输入。
203
+
204
+ ### 会话与恢复
205
+
206
+ | Command | Purpose |
207
+ |---|---|
208
+ | `/checkpoint [name] [--force]` | 保存本地恢复点。 |
209
+ | `/sessions` | 列出已保存会话。 |
210
+ | `/resume [session\|latest]` | 恢复指定或最近会话。 |
211
+ | `/rewind`, `/undo` | 显示可恢复点和下一步恢复命令;不自动回滚代码。 |
212
+ | `/clear`, `/reset`, `/new` | 清空当前对话上下文。 |
213
+ | `/compact` | 手动压缩上下文。 |
214
+ | `/export` | 将当前会话导出为本地 Markdown。 |
215
+ | `/exports [count]` | 查看最近导出。 |
216
+
217
+ ### 模型、上下文与用量
218
+
219
+ | Command | Purpose |
220
+ |---|---|
221
+ | `/model [model]` | 显示或切换当前 session 模型;不写入配置文件。 |
222
+ | `/usage`, `/cost`, `/stats` | token 来源、用量、上下文预算和压缩状态。 |
223
+ | `/context` | 本地上下文和 token 使用情况。 |
224
+ | `/statusline [on\|off]` | 显示或切换输入区状态线。 |
225
+
226
+ ### 工作推进
227
+
228
+ | Command | Purpose |
229
+ |---|---|
230
+ | `/plan [description]` | 在当前会话中排入普通计划请求。 |
231
+ | `/goal [status\|set <condition>\|clear]` | 管理当前 session 目标。 |
232
+ | `/loop [interval] [prompt]` | 创建本地重复提示任务。 |
233
+ | `/tasks [cancel <id>\|clear]` | 查看或管理本地 loop 任务。 |
234
+ | `/agents` | 查看本地后台使命分组。 |
235
+ | `/mission ...` | 管理本地使命。 |
236
+
237
+ ### 本地知识与 skill
238
+
239
+ | Command | Purpose |
240
+ |---|---|
241
+ | `/skill`, `/skill list` | 列出本地 skills。 |
242
+ | `/skill search <query>` | 按名称、描述或标签搜索本地 skills。 |
243
+ | `/skill <name>` | 读取指定本地 skill Markdown。 |
244
+ | `/<skill-name>` | 直接调用本地 skill;内置命令优先。 |
245
+ | `/memory ...` | 查看本地记忆、来源、实践、图谱或详情。 |
246
+ | `/dream [count]` | 从当前对话信号中蒸馏本地记忆。 |
247
+ | `/distill [count]` | 查看本地沉淀实践。 |
248
+
249
+ ### 项目、权限与诊断
250
+
251
+ | Command | Purpose |
252
+ |---|---|
253
+ | `/help [topic]` | 查看全部 slash 命令或聚焦主题帮助。 |
254
+ | `/diff` | 只读查看 Git 状态和 diff 摘要。 |
255
+ | `/copy [N]` | 复制最近第 N 条 assistant 回复到剪贴板。 |
256
+ | `/init [--force]` | 创建本地 `AGENTS.md` 项目引导;默认不覆盖。 |
257
+ | `/privacy` | 查看本地数据留存路径和边界。 |
258
+ | `/permissions [status\|allow\|deny\|ask]` | 查看或切换本地工具权限默认策略。 |
259
+ | `/permissions explain <tool>` | 解释某个工具的本地权限决策。 |
260
+ | `/doctor` | 运行本地诊断。 |
261
+ | `/config` | 查看已脱敏的有效配置。 |
262
+ | `/mcp` | 查看本地 MCP server 配置摘要。 |
263
+ | `/hooks` | 查看 hooks 与 guard 配置摘要。 |
264
+ | `/shortcuts` | 查看 TUI 快捷键。 |
265
+
266
+ ## TUI 快捷键
267
+
268
+ | Key | Behavior |
269
+ |---|---|
270
+ | `Enter` | 发送当前输入。 |
271
+ | `Ctrl+C` | 非空输入先清空草稿;空输入连续两次退出。 |
272
+ | `Ctrl+Z` | 恢复被 `Ctrl+C` 清掉的草稿。 |
273
+ | `Ctrl+D` | 仅在输入为空时退出。 |
274
+ | `Ctrl+L` | 清屏并重绘。 |
275
+ | `Ctrl+O` | 切换后续长工具输出展开。 |
276
+ | `Ctrl+R` | 搜索本地输入历史。 |
277
+ | `Ctrl+N` | 插入换行。 |
278
+ | `Tab` | 空输入打开 `/agents`;slash 前缀补全选中命令。 |
279
+ | `↑/↓` | slash 面板打开时移动选择;否则浏览输入历史。 |
280
+
281
+ ## 内置工具
282
+
283
+ | Tool | 来源 | 用途 |
284
+ |---|---|---|
285
+ | `bash` | `src/tools/bash.ts` | 通过 guard 管线执行 shell 命令。 |
286
+ | `read` | `src/tools/read.ts` | 读取本地文件,带大小和二进制保护。 |
287
+ | `write` | `src/tools/write.ts` | 写入本地文件。 |
288
+ | `search` | `src/tools/search.ts` | 搜索本地文件和内容。 |
289
+ | `planner` | `src/tools/planner.ts` | 生成结构化任务计划。 |
290
+ | `skill` | `src/tools/skill.ts` | 加载本地 Markdown skills。 |
291
+ | `todo` | `src/tools/todo.ts` | 管理本地任务列表。 |
292
+ | `url-fetch` | `src/tools/url-fetch.ts` | guard 策略下抓取允许的远程 URL。 |
293
+ | `browser-fetch` | `src/tools/browser-fetch.ts` | 通过 Playwright 抓取浏览器渲染页面(v0.5)。 |
294
+ | `subtask` | `src/tools/subtask.ts` | 运行隔离子任务 agent。 |
295
+ | `vision-analyze` | `src/tools/vision-analyze.ts` | 使用配置的视觉 provider 分析本地图片。 |
296
+
297
+ ## 使命(Mission)后台任务
298
+
299
+ 使命是轻灵在 v0.5 引入的后台任务模型。`qling daemon` 启动 qlingd 后:
300
+
301
+ - `qling mission start "..."` 把任务交给守护进程,关闭终端也能继续。
302
+ - 守护进程挂了或者没起时,CLI 自动回退到本地文件状态机上继续。
303
+ - `qling mission attach <id>` 以只读模式跟随使命输出。
304
+ - `/agents` / `qling agents` / `qling 代理` 按状态分组查看。
305
+
306
+ 完整命令:
307
+
308
+ ```bash
309
+ qling mission start "任务" # 提交到 qlingd
310
+ qling mission list # 列出
311
+ qling mission show <id> # 详情
312
+ qling mission logs <id> # 日志
313
+ qling mission attach <id> # 跟随输出
314
+ qling mission pause|resume|cancel|retry <id>
315
+ qling mission stop|terminate <id> # cancel 的别名
316
+ qling mission respawn <id> # retry 的别名
317
+ ```
318
+
319
+ ## 本地数据边界
320
+
321
+ 轻灵默认把运行态数据写入 `~/.qling/`(可被 `--file-state-dir` 覆盖),常见内容:
322
+
323
+ - saved sessions
324
+ - checkpoints
325
+ - exports
326
+ - memory indexes(SQLite + 向量)
327
+ - session goals
328
+ - loop tasks
329
+ - mission metadata
330
+ - guard / 审计 artifacts
331
+ - 通道状态(Telegram / Slack)
332
+
333
+ 查看边界:
334
+
335
+ ```bash
336
+ qling privacy
337
+ qling storage
338
+ qling doctor
339
+ ```
340
+
341
+ TUI 内:
342
+
343
+ ```text
344
+ /privacy
345
+ /storage
346
+ /doctor
347
+ /context
348
+ ```
349
+
350
+ ## 项目结构
351
+
352
+ ```text
353
+ src/
354
+ agent-loop.ts Agent 主循环与模型 / 工具编排
355
+ agent/ 隔离子任务 agent
356
+ channels/ 控制台 / Telegram / Slack 通道
357
+ cli/ CLI 启动契约 + setup + daemon 控制
358
+ commands/ slash 命令实现
359
+ daemon.ts qlingd 后台守护进程入口
360
+ dashboard-server.ts 本地观测 HTTP 服务
361
+ discovery-*.ts 动态插件 / 技能注册
362
+ guard/ 权限、内容过滤、审计
363
+ mcp/ MCP stdio + HTTP 客户端
364
+ memory/ WAL / 投影 / 语义记忆
365
+ mission/ 使命状态机
366
+ pipeline/ prompt section / hooks / 验证
367
+ session/ 会话注册 / goal / task / scheduler
368
+ skills/ 本地 skill 注册
369
+ tools/ 内置工具实现
370
+ tui/ 流式终端 UI
371
+ tests/
372
+ unit/ 单元测试
373
+ smoke/ 端到端冒烟测试
374
+ docs/superpowers/ specs / plans / reviews
375
+ ```
376
+
377
+ ## 开发与验证
378
+
379
+ ```bash
380
+ npm run build # tsc
381
+ npm test # 单元测试
382
+ npm run test:smoke # 端到端冒烟
383
+ npm run ci:check # build + unit + smoke
384
+ ```
385
+
386
+ 发布前建议:
387
+
388
+ ```bash
389
+ npm run ci:check
390
+ git diff --check
391
+ npm audit --registry=https://registry.npmjs.org --audit-level=high
392
+ ```
393
+
394
+ ## 设计原则
395
+
396
+ - **Local-first**:有价值的状态留在本机,路径和边界可查看。
397
+ - **Slash-first**:本地控制面优先从 `/` 发现和执行。
398
+ - **Recoverable**:长任务必须能 checkpoint、resume、recap 和 inspect。
399
+ - **Honest boundaries**:不支持的云端能力必须明确说明,不伪装成功。
400
+ - **Terminal-native**:增强终端体验,但保持纯文本兼容和低依赖。
401
+
402
+ ## 版本与变更
403
+
404
+ - 当前版本:`1.0.0`
405
+ - 完整变更历史:见 [CHANGELOG.md](CHANGELOG.md)
406
+ - 安装与分发:见 [docs/install.md](docs/install.md)、[packaging/](packaging/)
407
+ - Skills:见 [docs/skills.md](docs/skills.md)
408
+ - SDK:见 [docs/sdk.md](docs/sdk.md)
409
+ - 本地评测:`npm run eval:smoke`
410
+ - 英文说明:见 [README.en.md](README.en.md)
411
+ - 竞品对标与提升路线:见 `docs/superpowers/specs/20260709-agent-cli-competitive-analysis-and-v1-roadmap-spec.md`
412
+ - 设计 / 实施文档:见 `docs/superpowers/specs/`、`docs/superpowers/plans/`
413
+
414
+ ## License
415
+
416
+ [MIT](LICENSE)