@ohos-cpf/3rdloop 0.0.1 → 0.0.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (393) hide show
  1. package/README.md +245 -425
  2. package/bin/3rdloop.mjs +46 -46
  3. package/lib/cli.js +781 -740
  4. package/lib/config-cmd.js +452 -0
  5. package/lib/config.js +318 -317
  6. package/lib/doctor.js +113 -113
  7. package/lib/exit-codes.js +30 -30
  8. package/lib/opencode.js +155 -155
  9. package/lib/orch.js +426 -426
  10. package/lib/queries.js +263 -263
  11. package/lib/step.js +325 -325
  12. package/lib/ui.js +222 -222
  13. package/lib/update.js +280 -0
  14. package/lib/workflow.js +308 -290
  15. package/lib/workflows.js +131 -131
  16. package/package.json +50 -50
  17. package/vendor/Server/Agent/SkillSelector/README.md +343 -343
  18. package/vendor/Server/Agent/SkillSelector/core/Agent.js +207 -207
  19. package/vendor/Server/Agent/SkillSelector/index.js +14 -14
  20. package/vendor/Server/Agent/SkillSelector/llm/llmClient.js +313 -313
  21. package/vendor/Server/Agent/SkillSelector/llm/prompts.js +161 -161
  22. package/vendor/Server/Agent/SkillSelector/llm/reactSteps.js +144 -144
  23. package/vendor/Server/Agent/SkillSelector/matcher/fuzzyMatcher.js +433 -433
  24. package/vendor/Server/Agent/SkillSelector/scanner/skillScanner.js +382 -382
  25. package/vendor/Server/Agent/SkillSelector/utils/actionWords.js +59 -59
  26. package/vendor/Server/Brain/AnalysisStrategies.js +422 -422
  27. package/vendor/Server/Brain/Brain.js +686 -686
  28. package/vendor/Server/Brain/DecompositionStrategies.js +621 -621
  29. package/vendor/Server/Brain/PlanPersistence.js +196 -196
  30. package/vendor/Server/Brain/SkillExecutor.js +251 -251
  31. package/vendor/Server/Brain/index.js +11 -11
  32. package/vendor/Server/CLI/cli.js +275 -243
  33. package/vendor/Server/CLI/deveco-code/index.js +71 -0
  34. package/vendor/Server/CLI/deveco-code.js +5 -0
  35. package/vendor/Server/CLI/opencode/index.js +817 -804
  36. package/vendor/Server/CLI/opencode.js +5 -5
  37. package/vendor/Server/DbUse/MessageArchive.js +61 -61
  38. package/vendor/Server/DbUse/StorageManager.js +107 -107
  39. package/vendor/Server/DbUse/adapters/BaseAdapter.js +94 -94
  40. package/vendor/Server/DbUse/adapters/FileAdapter.js +138 -138
  41. package/vendor/Server/DbUse/adapters/JsonAdapter.js +138 -138
  42. package/vendor/Server/DbUse/adapters/JsonlAdapter.js +114 -114
  43. package/vendor/Server/DbUse/adapters/SqliteAdapter.js +157 -157
  44. package/vendor/Server/DbUse/index.js +160 -160
  45. package/vendor/Server/DbUse/stores/SessionStore.js +279 -279
  46. package/vendor/Server/DbUse/stores/TaskExecutionStore.js +133 -133
  47. package/vendor/Server/DbUse/stores/TaskRegistryStore.js +262 -262
  48. package/vendor/Server/DbUse/stores/TaskStepStore.js +279 -279
  49. package/vendor/Server/FlexRunner/FlexRunner.js +1759 -1759
  50. package/vendor/Server/FlexRunner/index.js +12 -12
  51. package/vendor/Server/Knowledge/KnowledgeImporter.js +523 -523
  52. package/vendor/Server/Knowledge/KnowledgeManager.js +341 -341
  53. package/vendor/Server/Knowledge/index.js +33 -33
  54. package/vendor/Server/LoopEngine/LoopEngine.js +1133 -1133
  55. package/vendor/Server/LoopEngine/index.js +11 -11
  56. package/vendor/Server/Orchestrator/Orchestrator.js +0 -3
  57. package/vendor/Server/Orchestrator/StepNode.js +312 -312
  58. package/vendor/Server/Orchestrator/index.js +13 -13
  59. package/vendor/Server/Routes/controllers/BrainController.js +241 -241
  60. package/vendor/Server/Routes/controllers/FlexRunnerController.js +1125 -1125
  61. package/vendor/Server/Routes/controllers/HealthController.js +44 -44
  62. package/vendor/Server/Routes/controllers/KnowledgeImportController.js +355 -355
  63. package/vendor/Server/Routes/controllers/LoopEngineController.js +788 -788
  64. package/vendor/Server/Routes/controllers/StatsController.js +57 -57
  65. package/vendor/Server/Routes/controllers/StreamController.js +67 -67
  66. package/vendor/Server/Routes/library/logger.js +179 -179
  67. package/vendor/Server/Routes/library/zipArchive.js +172 -172
  68. package/vendor/Server/Routes/router/Router.js +204 -204
  69. package/vendor/Server/Routes/routes/brain.js +47 -47
  70. package/vendor/Server/Routes/routes/flexrunner.js +72 -72
  71. package/vendor/Server/Routes/routes/health.js +28 -28
  72. package/vendor/Server/Routes/routes/index.js +57 -57
  73. package/vendor/Server/Routes/routes/knowledge.js +55 -55
  74. package/vendor/Server/Routes/routes/loopengine.js +58 -58
  75. package/vendor/Server/Routes/routes/orchestrator.js +61 -61
  76. package/vendor/Server/Routes/routes/registry.js +97 -97
  77. package/vendor/Server/Routes/routes/stats.js +23 -23
  78. package/vendor/Server/Routes/routes/stream.js +30 -30
  79. package/vendor/Server/Routes/server.js +203 -202
  80. package/vendor/Server/Routes/sse/SseHub.js +308 -308
  81. package/vendor/Server/Skills/acceptance-check/SKILL.md +191 -174
  82. package/vendor/Server/Skills/acceptance-check/references/PHASE1_ARTIFACT_COLLECTION.md +52 -52
  83. package/vendor/Server/Skills/acceptance-check/references/PHASE2_CRITERIA_EVALUATION.md +77 -77
  84. package/vendor/Server/Skills/acceptance-check/references/PHASE2_EVIDENCE_VERIFICATION.md +70 -0
  85. package/vendor/Server/Skills/arkts-code-check/SKILL.md +320 -313
  86. package/vendor/Server/Skills/arkts-code-check/references/CODE_CHECK_GUIDE.md +210 -159
  87. package/vendor/Server/Skills/arkts-code-check/references/FILE_TYPE_GUIDE.md +28 -28
  88. package/vendor/Server/Skills/arkts-code-check/references/PHASE1_INFO_COLLECTION.md +233 -222
  89. package/vendor/Server/Skills/arkts-code-check/references/REPORT_TEMPLATE.md +219 -219
  90. package/vendor/Server/Skills/arkts-library-compile-validate/SKILL.md +328 -328
  91. package/vendor/Server/Skills/arkts-library-compile-validate/scripts/build.ps1 +93 -93
  92. package/vendor/Server/Skills/arkts-library-compile-validate/scripts/code-linter.cjs +432 -432
  93. package/vendor/Server/Skills/arkts-library-compile-validate/scripts/migrate.cjs +851 -851
  94. package/vendor/Server/Skills/arkts-library-compile-validate/scripts/ohpm-switch.cjs +788 -788
  95. package/vendor/Server/Skills/arkts-library-demo-code/SKILL.md +291 -291
  96. package/vendor/Server/Skills/arkts-library-demo-code/references/API_SIGNATURE_CHECKS.md +68 -68
  97. package/vendor/Server/Skills/arkts-library-demo-code/references/BUILD_VALIDATION.md +184 -184
  98. package/vendor/Server/Skills/arkts-library-demo-code/references/CODE_STANDARDS.md +337 -337
  99. package/vendor/Server/Skills/arkts-library-demo-code/references/EXAMPLES.md +400 -400
  100. package/vendor/Server/Skills/arkts-library-demo-code/references/SYSTEM_API_LOOKUP.md +98 -98
  101. package/vendor/Server/Skills/arkts-library-demo-code/references/TEMPLATE.md +544 -544
  102. package/vendor/Server/Skills/arkts-library-demo-code/scripts/build.ps1 +93 -93
  103. package/vendor/Server/Skills/arkts-library-demo-code/scripts/code-linter.cjs +432 -432
  104. package/vendor/Server/Skills/arkts-library-demo-code/scripts/migrate.cjs +851 -851
  105. package/vendor/Server/Skills/arkts-library-demo-code/scripts/ohpm-switch.cjs +788 -788
  106. package/vendor/Server/Skills/arkts-library-demo-coverage/SKILL.md +174 -174
  107. package/vendor/Server/Skills/arkts-library-demo-scenario/SKILL.md +321 -321
  108. package/vendor/Server/Skills/arkts-library-demo-scenario/references/EXAMPLES.md +100 -100
  109. package/vendor/Server/Skills/arkts-library-demo-scenario/references/TEMPLATE.md +185 -185
  110. package/vendor/Server/Skills/arkts-library-documentation-quality-check/SKILL.md +233 -233
  111. package/vendor/Server/Skills/arkts-library-documentation-quality-check/assets/REPORT_TEMPLATE.md +102 -102
  112. package/vendor/Server/Skills/arkts-library-documentation-quality-check/references/CHECK_DIMENSIONS.md +89 -89
  113. package/vendor/Server/Skills/arkts-library-documentation-quality-check/references/COMPLIANCE_CHECKLIST.md +62 -62
  114. package/vendor/Server/Skills/arkts-library-documentation-quality-check/references/KB_QUERY_GUIDE.md +107 -107
  115. package/vendor/Server/Skills/arkts-library-documentation-quality-check/references/MCP_TOOL_DISCOVERY.md +124 -124
  116. package/vendor/Server/Skills/arkts-library-documentation-quality-check/references/REPORT_TEMPLATE.md +90 -90
  117. package/vendor/Server/Skills/arkts-library-documentation-quality-check/references/SCORING_FORMULA.md +57 -57
  118. package/vendor/Server/Skills/arkts-library-documentation-quality-check/scripts/validate-skill.cjs +259 -259
  119. package/vendor/Server/Skills/arkts-library-interface-spec/SKILL.md +97 -97
  120. package/vendor/Server/Skills/arkts-library-memory-leak-check/SKILL.md +391 -391
  121. package/vendor/Server/Skills/arkts-library-source-clone/SKILL.md +113 -113
  122. package/vendor/Server/Skills/arkts-library-stability-check/SKILL.md +312 -312
  123. package/vendor/Server/Skills/arkts-library-stability-check/assets/REPORT_TEMPLATE.md +154 -154
  124. package/vendor/Server/Skills/arkts-library-stability-check/references/CHECKLIST.md +165 -165
  125. package/vendor/Server/Skills/arkts-library-stability-check/references/CODE_EXAMPLES.md +308 -308
  126. package/vendor/Server/Skills/arkts-library-stability-check/references/SCORING_RULES.md +90 -90
  127. package/vendor/Server/Skills/arkts-library-stability-check/scripts/validate-skill.cjs +282 -282
  128. package/vendor/Server/Skills/arkts-library-test-coverage-check/SKILL.md +360 -360
  129. package/vendor/Server/Skills/arkts-library-test-coverage-check/assets/REPORT_TEMPLATE.md +145 -145
  130. package/vendor/Server/Skills/arkts-library-test-coverage-check/references/CHECKLIST.md +252 -252
  131. package/vendor/Server/Skills/arkts-library-test-coverage-check/references/MCP_TOOL_USAGE.md +114 -114
  132. package/vendor/Server/Skills/arkts-library-test-coverage-check/scripts/validate-skill.cjs +262 -262
  133. package/vendor/Server/Skills/arkts-library-xts-code/SKILL.md +455 -455
  134. package/vendor/Server/Skills/arkts-library-xts-code/assets/report-template.md +60 -60
  135. package/vendor/Server/Skills/arkts-library-xts-code/references/ACCESS_MODIFIER_PRECHECK.md +76 -76
  136. package/vendor/Server/Skills/arkts-library-xts-code/references/BUILD_VERIFICATION.md +200 -200
  137. package/vendor/Server/Skills/arkts-library-xts-code/references/CODE_STANDARDS.md +518 -518
  138. package/vendor/Server/Skills/arkts-library-xts-code/references/SUBAGENT_PROMPT_TEMPLATE.md +276 -276
  139. package/vendor/Server/Skills/arkts-library-xts-code/references/SYSTEM_API_LOOKUP.md +92 -92
  140. package/vendor/Server/Skills/arkts-library-xts-code/references/XTS_TEMPLATE.md +767 -767
  141. package/vendor/Server/Skills/arkts-library-xts-code/scripts/build.ps1 +93 -93
  142. package/vendor/Server/Skills/arkts-library-xts-code/scripts/code-linter.cjs +432 -432
  143. package/vendor/Server/Skills/arkts-library-xts-code/scripts/migrate.cjs +851 -851
  144. package/vendor/Server/Skills/arkts-library-xts-code/scripts/ohpm-switch.cjs +788 -788
  145. package/vendor/Server/Skills/arkts-library-xts-code/scripts/precheck-access-modifiers.cjs +221 -221
  146. package/vendor/Server/Skills/arkts-library-xts-code-fix/SKILL.md +228 -228
  147. package/vendor/Server/Skills/arkts-library-xts-coverage/SKILL.md +97 -97
  148. package/vendor/Server/Skills/arkts-library-xts-doc/SKILL.md +194 -194
  149. package/vendor/Server/Skills/arkts-library-xts-doc/references/EXAMPLES.md +575 -575
  150. package/vendor/Server/Skills/arkts-library-xts-doc/references/TEMPLATE.md +574 -574
  151. package/vendor/Server/Skills/arkts-library-xts-doc/references/TESTABILITY_GUIDE.md +182 -182
  152. package/vendor/Server/Skills/arkts-library-xts-execution/SKILL.md +490 -490
  153. package/vendor/Server/Skills/arkts-library-xts-execution/references/error-fixing-examples.md +217 -217
  154. package/vendor/Server/Skills/arkts-library-xts-execution/scripts/build.ps1 +93 -93
  155. package/vendor/Server/Skills/arkts-library-xts-execution/scripts/code-linter.cjs +432 -432
  156. package/vendor/Server/Skills/arkts-library-xts-execution/scripts/migrate.cjs +851 -851
  157. package/vendor/Server/Skills/arkts-library-xts-execution/scripts/ohpm-switch.cjs +788 -788
  158. package/vendor/Server/Skills/flutter-code-check/SKILL.md +299 -299
  159. package/vendor/Server/Skills/flutter-code-check/assets/OUTPUT_TEMPLATE.md +311 -311
  160. package/vendor/Server/Skills/flutter-code-check/references/CHECKLIST.md +190 -190
  161. package/vendor/Server/Skills/flutter-code-check/references/PLATFORMS.md +133 -133
  162. package/vendor/Server/Skills/flutter-code-check/scripts/validate-skill.cjs +259 -259
  163. package/vendor/Server/Skills/flutter-interface/README.md +75 -75
  164. package/vendor/Server/Skills/flutter-interface/SKILL.md +291 -291
  165. package/vendor/Server/Skills/flutter-interface/references/EXAMPLES.md +336 -336
  166. package/vendor/Server/Skills/flutter-interface/references/GIT_CLONE_GUIDE.md +190 -190
  167. package/vendor/Server/Skills/flutter-interface/references/SCRIPT_REFERENCE.md +258 -258
  168. package/vendor/Server/Skills/flutter-interface/references/TEMPLATE.md +254 -254
  169. package/vendor/Server/Skills/flutter-library-consistency-check/SKILL.md +517 -517
  170. package/vendor/Server/Skills/flutter-library-consistency-check/references/CHECKLIST.md +381 -381
  171. package/vendor/Server/Skills/flutter-library-consistency-check/references/FUNCTION_COMPARISON_GUIDE.md +341 -341
  172. package/vendor/Server/Skills/flutter-library-consistency-check/references/PLATFORM_LIMITATION_GUIDE.md +71 -71
  173. package/vendor/Server/Skills/flutter-library-documentation-quality-check/SKILL.md +518 -518
  174. package/vendor/Server/Skills/flutter-library-documentation-quality-check/references/CHECKLIST.md +406 -406
  175. package/vendor/Server/Skills/flutter-library-memory-leak-check/SKILL.md +652 -652
  176. package/vendor/Server/Skills/flutter-library-memory-leak-check/references/CHECKLIST.md +396 -396
  177. package/vendor/Server/Skills/flutter-library-stability-check/SKILL.md +744 -744
  178. package/vendor/Server/Skills/flutter-library-stability-check/references/CHECKLIST.md +720 -720
  179. package/vendor/Server/Skills/flutter-library-test-coverage-check/SKILL.md +414 -414
  180. package/vendor/Server/Skills/flutter-library-test-coverage-check/assets/REPORT_TEMPLATE.md +150 -150
  181. package/vendor/Server/Skills/flutter-library-test-coverage-check/references/CHECKLIST.md +304 -304
  182. package/vendor/Server/Skills/flutter-library-test-coverage-check/references/SCORING_RULES.md +265 -265
  183. package/vendor/Server/Skills/flutter-library-test-coverage-check/references/SCRIPT_USAGE.md +286 -286
  184. package/vendor/Server/Skills/knowledge-import/SKILL.md +383 -383
  185. package/vendor/Server/Skills/knowledge-import/references/MCP_TOOL_USAGE.md +165 -165
  186. package/vendor/Server/Skills/knowledge-import/references/SKILL_LOCATOR_GUIDE.md +91 -91
  187. package/vendor/Server/Skills/knowledge-import/references/SKILL_OPTIMIZATION_GUIDE.md +127 -127
  188. package/vendor/Server/Skills/ohos-lib-pr-push/SKILL.md +453 -301
  189. package/vendor/Server/Skills/ohos-lib-pr-push/assets/PR_CHECKLIST.md +151 -0
  190. package/vendor/Server/Skills/ohos-lib-pr-push/assets/PR_ISSUE_TEMPLATE.md +257 -105
  191. package/vendor/Server/Skills/ohos-lib-pr-push/references/GITCODE_API.md +191 -127
  192. package/vendor/Server/Skills/ohos-lib-pr-push/scripts/gitcode-api.cjs +317 -208
  193. package/vendor/Server/Skills/rn-code-check/SKILL.md +320 -320
  194. package/vendor/Server/Skills/rn-code-check/references/API-GUIDE.md +234 -234
  195. package/vendor/Server/Skills/rn-code-check/references/CHECKLIST.md +188 -188
  196. package/vendor/Server/Skills/rn-code-check/references/REPORT-TEMPLATE.md +246 -246
  197. package/vendor/Server/Skills/rn-lib-add-example/SKILL.md +198 -198
  198. package/vendor/Server/Skills/rn-lib-add-example/references/APP_RENAME_GUIDE.md +40 -40
  199. package/vendor/Server/Skills/rn-lib-add-example/references/SHELL_ADAPTATION_CHECKLIST.md +78 -78
  200. package/vendor/Server/Skills/rn-lib-add-example/references/TEMPLATE_REPO_GUIDE.md +70 -70
  201. package/vendor/Server/Skills/rn-lib-add-example/references/VERIFICATION_GUIDE.md +47 -47
  202. package/vendor/Server/Skills/rn-lib-add-example/scripts/create-example.cjs +252 -252
  203. package/vendor/Server/Skills/rn-lib-update-doc/SKILL.md +176 -176
  204. package/vendor/Server/Skills/rn-lib-update-doc/config.json +5 -5
  205. package/vendor/Server/Skills/rn-lib-update-doc/references/changelog-template.md +35 -35
  206. package/vendor/Server/Skills/rn-lib-update-doc/references/format-diff.md +137 -137
  207. package/vendor/Server/Skills/rn-lib-update-doc/references/link-registry.json +33 -33
  208. package/vendor/Server/Skills/rn-lib-update-doc/references/model-0.4.2-overview.md +40 -40
  209. package/vendor/Server/Skills/rn-lib-update-doc/references/model-0.4.2.md +429 -429
  210. package/vendor/Server/Skills/rn-lib-update-doc/scripts/detect-readme-format.cjs +105 -105
  211. package/vendor/Server/Skills/rn-lib-update-doc/scripts/find-usage-doc.cjs +90 -90
  212. package/vendor/Server/Skills/rn-lib-update-doc/scripts/link-verify.cjs +213 -213
  213. package/vendor/Server/Skills/rn-lib-update-doc/scripts/normalize-changelog.cjs +73 -73
  214. package/vendor/Server/Skills/rn-lib-update-doc/scripts/normalize-package-meta.cjs +258 -258
  215. package/vendor/Server/Skills/rn-lib-update-doc/scripts/normalize-readme-links.cjs +341 -341
  216. package/vendor/Server/Skills/rn-lib-update-doc/scripts/resolve-usage-docs.cjs +67 -67
  217. package/vendor/Server/Skills/rn-library-consistency-check/SKILL.md +299 -299
  218. package/vendor/Server/Skills/rn-library-consistency-check/assets/REPORT_TEMPLATE.md +293 -293
  219. package/vendor/Server/Skills/rn-library-consistency-check/references/ARKTS_COMPONENT_CHECK_GUIDE.md +857 -857
  220. package/vendor/Server/Skills/rn-library-consistency-check/references/ARKTS_TURBOMODULE_CHECK_GUIDE.md +856 -856
  221. package/vendor/Server/Skills/rn-library-consistency-check/references/CHECKLIST.md +157 -157
  222. package/vendor/Server/Skills/rn-library-consistency-check/references/CPP_COMPONENT_CHECK_GUIDE.md +801 -801
  223. package/vendor/Server/Skills/rn-library-consistency-check/references/CPP_TURBOMODULE_CHECK_GUIDE.md +683 -683
  224. package/vendor/Server/Skills/rn-library-consistency-check/references/FUNCTION_COMPARISON_GUIDE.md +233 -233
  225. package/vendor/Server/Skills/rn-library-consistency-check/references/NATIVE_COMPONENT_IDENTIFICATION.md +1373 -1373
  226. package/vendor/Server/Skills/rn-library-consistency-check/references/SCORING_STANDARD.md +220 -220
  227. package/vendor/Server/Skills/rn-library-consistency-check/scripts/validate-skill.py +245 -245
  228. package/vendor/Server/Skills/rn-library-documentation-quality-check/SKILL.md +263 -263
  229. package/vendor/Server/Skills/rn-library-documentation-quality-check/assets/MODEL.md +414 -414
  230. package/vendor/Server/Skills/rn-library-documentation-quality-check/assets/MODEL_en.md +413 -413
  231. package/vendor/Server/Skills/rn-library-documentation-quality-check/assets/REPORT_TEMPLATE.md +311 -311
  232. package/vendor/Server/Skills/rn-library-documentation-quality-check/references/CHECK_CHECKLIST.md +355 -355
  233. package/vendor/Server/Skills/rn-library-documentation-quality-check/references/CROSS_VALIDATION_GUIDE.md +115 -115
  234. package/vendor/Server/Skills/rn-library-documentation-quality-check/references/DOC_COLLECTION_GUIDE.md +139 -139
  235. package/vendor/Server/Skills/rn-library-documentation-quality-check/references/EXAMPLES.md +586 -586
  236. package/vendor/Server/Skills/rn-library-documentation-quality-check/references/GOTCHAS.md +57 -57
  237. package/vendor/Server/Skills/rn-library-documentation-quality-check/scripts/validate-skill.py +259 -259
  238. package/vendor/Server/Skills/rn-library-interface-analyzer/SKILL.md +301 -301
  239. package/vendor/Server/Skills/rn-library-interface-analyzer/assets/REPORT_TEMPLATE.md +148 -148
  240. package/vendor/Server/Skills/rn-library-interface-analyzer/references/DOC_ANNOTATION_GUIDE.md +118 -118
  241. package/vendor/Server/Skills/rn-library-interface-analyzer/references/SCRIPT_USAGE_GUIDE.md +168 -168
  242. package/vendor/Server/Skills/rn-library-interface-analyzer/references/URL_PARSING_RULES.md +176 -176
  243. package/vendor/Server/Skills/rn-library-issue-generalizer/SKILL.md +274 -274
  244. package/vendor/Server/Skills/rn-library-issue-generalizer/assets/case-template.md +45 -45
  245. package/vendor/Server/Skills/rn-library-issue-generalizer/assets/rule-template.md +25 -25
  246. package/vendor/Server/Skills/rn-library-issue-generalizer/references/PR_FETCH_GUIDE.md +61 -61
  247. package/vendor/Server/Skills/rn-library-issue-generalizer/references/RULE_TEMPLATE_GUIDE.md +165 -165
  248. package/vendor/Server/Skills/rn-library-issue-generalizer/scripts/fetch-pr-info.py +239 -239
  249. package/vendor/Server/Skills/rn-library-known-issue-check/SKILL.md +263 -263
  250. package/vendor/Server/Skills/rn-library-known-issue-check/assets/REPORT_TEMPLATE.md +96 -96
  251. package/vendor/Server/Skills/rn-library-known-issue-check/references/COMPLIANCE_CHECKLIST.md +57 -57
  252. package/vendor/Server/Skills/rn-library-known-issue-check/references/INSPECTION_GUIDE.md +99 -99
  253. package/vendor/Server/Skills/rn-library-known-issue-check/references/PRESCREEN_GUIDE.md +64 -64
  254. package/vendor/Server/Skills/rn-library-known-issue-check/references/SOURCE_PREP_GUIDE.md +74 -74
  255. package/vendor/Server/Skills/rn-library-known-issue-check/scripts/validate-known-issue-report.py +164 -164
  256. package/vendor/Server/Skills/rn-library-memory-leak-check/SKILL.md +356 -339
  257. package/vendor/Server/Skills/rn-library-memory-leak-check/assets/REPORT_TEMPLATE.md +85 -83
  258. package/vendor/Server/Skills/rn-library-memory-leak-check/references/CHECKLIST.md +905 -859
  259. package/vendor/Server/Skills/rn-library-memory-leak-check/references/HARMONY_CODE_PATTERNS.md +124 -122
  260. package/vendor/Server/Skills/rn-library-memory-leak-check/scripts/scan_harmony_code.py +287 -279
  261. package/vendor/Server/Skills/rn-library-stability-check/SKILL.md +273 -273
  262. package/vendor/Server/Skills/rn-library-stability-check/assets/REPORT_TEMPLATE.md +129 -129
  263. package/vendor/Server/Skills/rn-library-stability-check/references/CHECKLIST.md +581 -581
  264. package/vendor/Server/Skills/rn-library-stability-check/references/SCORING_RULES.md +138 -138
  265. package/vendor/Server/Skills/rn-library-stability-check/scripts/scan-harmony-code.py +168 -168
  266. package/vendor/Server/Skills/rn-library-test-coverage-check/SKILL.md +526 -506
  267. package/vendor/Server/Skills/rn-library-test-coverage-check/references/CHECKLIST.md +321 -280
  268. package/vendor/Server/Skills/rn-library-test-coverage-check/references/DEMO_LOCATION.md +221 -221
  269. package/vendor/Server/Skills/rn-library-test-coverage-check/references/REPORT_TEMPLATE.md +220 -209
  270. package/vendor/Server/Skills/rn-library-test-coverage-check/references/SCRIPT_USAGE.md +325 -325
  271. package/vendor/Server/Skills/rn-ohos-xts-generator/SKILL.md +279 -279
  272. package/vendor/Server/Skills/rn-ohos-xts-generator/assets/TEST_FILE_TEMPLATES.md +404 -404
  273. package/vendor/Server/Skills/rn-ohos-xts-generator/references/BUILD_TROUBLESHOOTING.md +185 -185
  274. package/vendor/Server/Skills/rn-ohos-xts-generator/references/BUILD_WORKFLOW.md +265 -265
  275. package/vendor/Server/Skills/rn-ohos-xts-generator/references/COMMON_CONFIG.md +189 -189
  276. package/vendor/Server/Skills/rn-ohos-xts-generator/references/CONFIG_GUIDE.md +203 -203
  277. package/vendor/Server/Skills/rn-ohos-xts-generator/references/COVERAGE_ANALYZER.md +147 -147
  278. package/vendor/Server/Skills/rn-ohos-xts-generator/references/DESIGN_DOC_GUIDE.md +148 -148
  279. package/vendor/Server/Skills/rn-ohos-xts-generator/references/GENERATION_FLOW.md +165 -165
  280. package/vendor/Server/Skills/rn-ohos-xts-generator/references/GENERATION_STRATEGY.md +195 -195
  281. package/vendor/Server/Skills/rn-ohos-xts-generator/references/HARMONY_SCANNER.md +249 -249
  282. package/vendor/Server/Skills/rn-ohos-xts-generator/references/JEST_FRAMEWORK.md +235 -235
  283. package/vendor/Server/Skills/rn-ohos-xts-generator/references/PLATFORM_COMPAT.md +161 -161
  284. package/vendor/Server/Skills/rn-ohos-xts-generator/references/RN_TEST_PATTERNS.md +413 -413
  285. package/vendor/Server/Skills/rn-ohos-xts-generator/references/SOURCE_PARSER.md +235 -235
  286. package/vendor/Server/Skills/rn-ohos-xts-generator/references/TEST_CONVENTIONS.md +245 -245
  287. package/vendor/Server/Skills/rn-ohos-xts-generator/references/TROUBLESHOOTING.md +282 -282
  288. package/vendor/Server/Skills/rn-ohos-xts-generator/references/USAGE_GUIDE.md +251 -251
  289. package/vendor/Server/Skills/rnoh-cptf-api-test/SKILL.md +469 -469
  290. package/vendor/Server/Skills/rnoh-cptf-api-test/assets/CPTF_TEST_TEMPLATE.md +310 -310
  291. package/vendor/Server/Skills/rnoh-cptf-api-test/assets/DEMO_PAGE_TEMPLATE.md +303 -303
  292. package/vendor/Server/Skills/rnoh-cptf-api-test/references/CPTF_TEST_GENERATION_GUIDE.md +421 -421
  293. package/vendor/Server/Skills/rnoh-cptf-api-test/references/DEMO_GENERATION_GUIDE.md +358 -358
  294. package/vendor/Server/Skills/rnoh-cptf-api-test/references/QUALITY_CHECKLIST.md +114 -114
  295. package/vendor/Server/Skills/rnoh-cptf-api-test/references/SPEC_PARSING_GUIDE.md +274 -274
  296. package/vendor/Server/Skills/rnoh-cptf-api-test/scripts/validate-rnoh-cptf-api-test.sh +185 -185
  297. package/vendor/Server/Skills/rnoh-cptf-demo-test/SKILL.md +191 -191
  298. package/vendor/Server/Skills/rnoh-cptf-demo-test/assets/TEST_TEMPLATE.md +216 -216
  299. package/vendor/Server/Skills/rnoh-cptf-demo-test/references/CPTF_SETUP.md +107 -107
  300. package/vendor/Server/Skills/rnoh-cptf-demo-test/references/DEMO_ANALYSIS.md +120 -120
  301. package/vendor/Server/Skills/rnoh-cptf-demo-test/scripts/validate-rnoh-cptf-test.sh +108 -108
  302. package/vendor/Server/Skills/rnoh-cptf-test-run/SKILL.md +237 -237
  303. package/vendor/Server/Skills/rnoh-cptf-test-run/references/DEBUG_PLAYBOOK.md +261 -261
  304. package/vendor/Server/Skills/rnoh-cptf-test-run/scripts/validate-run-env.sh +112 -112
  305. package/vendor/Server/Skills/rnoh-lib-code-adapt/SKILL.md +497 -497
  306. package/vendor/Server/Skills/rnoh-lib-code-adapt/references/adapt-checklist.md +270 -270
  307. package/vendor/Server/Skills/rnoh-lib-code-adapt/references/api-migration-checklist.md +164 -164
  308. package/vendor/Server/Skills/rnoh-lib-code-adapt/references/common-compile-errors.md +556 -556
  309. package/vendor/Server/Skills/rnoh-lib-code-adapt/references/deveco-cli-tools.md +459 -459
  310. package/vendor/Server/Skills/rnoh-lib-code-adapt/references/edge-cases.md +65 -65
  311. package/vendor/Server/Skills/rnoh-lib-code-adapt/references/har-tgz-build.md +512 -512
  312. package/vendor/Server/Skills/rnoh-lib-code-adapt/references/version-compat-matrix.md +132 -132
  313. package/vendor/Server/Skills/rnoh-lib-code-adapt/scripts/auto-integrate.sh +424 -424
  314. package/vendor/Server/Skills/rnoh-lib-demo-coverage/SKILL.md +137 -137
  315. package/vendor/Server/Skills/rnoh-lib-demo-create/SKILL.md +306 -306
  316. package/vendor/Server/Skills/rnoh-lib-demo-create/assets/DEMO_PAGE_TEMPLATE.md +485 -485
  317. package/vendor/Server/Skills/rnoh-lib-demo-create/assets/INDEX_TEMPLATE.md +172 -172
  318. package/vendor/Server/Skills/rnoh-lib-demo-create/references/DEMO_CODE_RULES.md +422 -422
  319. package/vendor/Server/Skills/rnoh-lib-demo-create/references/QUALITY_CHECKLIST.md +95 -95
  320. package/vendor/Server/Skills/rnoh-lib-demo-create/references/SOURCE_EXPLORATION.md +169 -169
  321. package/vendor/Server/Skills/rnoh-lib-demo-doc/SKILL.md +554 -554
  322. package/vendor/Server/Skills/rnoh-lib-demo-doc/assets/DEMO_DOC_TEMPLATE.md +106 -106
  323. package/vendor/Server/Skills/rnoh-lib-demo-doc/references/COVERAGE_INCREMENTAL.md +216 -216
  324. package/vendor/Server/Skills/rnoh-lib-demo-doc/references/DEMO_DESIGN_RULES.md +413 -413
  325. package/vendor/Server/Skills/rnoh-lib-demo-doc/references/OUTPUT_FORMAT.md +269 -269
  326. package/vendor/Server/Skills/rnoh-lib-demo-doc/references/QUALITY_CHECKLIST.md +98 -98
  327. package/vendor/Server/Skills/rnoh-lib-func-test/SKILL.md +337 -337
  328. package/vendor/Server/Skills/rnoh-lib-rnt-search/SKILL.md +722 -722
  329. package/vendor/Server/Skills/rnoh-lib-rnt-search/assets/PORT_REPORT_TEMPLATE.md +219 -219
  330. package/vendor/Server/Skills/rnoh-lib-rnt-search/references/DEMO_PORTING_GUIDE.md +345 -345
  331. package/vendor/Server/Skills/rnoh-lib-rnt-search/references/PORT_VERIFICATION.md +269 -269
  332. package/vendor/Server/Skills/rnoh-lib-rnt-search/references/RNT_PROJECT_STRUCTURE.md +173 -173
  333. package/vendor/Server/Skills/rnoh-lib-rnt-search/scripts/analyze-demo-deps.cjs +267 -267
  334. package/vendor/Server/Skills/rnoh-lib-rnt-search/scripts/detect-rnoh-version.cjs +174 -174
  335. package/vendor/Server/Skills/rnoh-lib-rnt-search/scripts/find-rnt-demo.sh +111 -111
  336. package/vendor/Server/Skills/rnoh-lib-rnt-search/scripts/port-demo.sh +186 -186
  337. package/vendor/Server/Skills/rnoh-lib-rnt-search/scripts/read-lib-meta.cjs +150 -150
  338. package/vendor/Server/Skills/rnoh-lib-test-align/SKILL.md +296 -296
  339. package/vendor/Server/Skills/rnoh-lib-test-align/references/jest-troubleshooting.md +371 -371
  340. package/vendor/Server/Skills/rnoh-lib-test-align/references/port-test-demo-guide.md +212 -212
  341. package/vendor/Server/Skills/rnoh-lib-test-align/references/runtime-troubleshooting.md +345 -345
  342. package/vendor/Server/Skills/rnoh-lib-test-align/references/unit-test-template.md +223 -223
  343. package/vendor/Server/Skills/rnoh-lib-test-align/scripts/port-test-demo.sh +1053 -1053
  344. package/vendor/Server/Skills/rnoh-lib-version-diff/SKILL.md +295 -255
  345. package/vendor/Server/Skills/rnoh-lib-version-diff/references/OHOS_ADAPTATION.md +82 -77
  346. package/vendor/Server/Skills/rnoh-lib-version-diff/references/OHOS_API_LOOKUP.md +224 -224
  347. package/vendor/Server/Skills/rnoh-lib-version-diff/references/script-reference.md +175 -174
  348. package/vendor/Server/Skills/rnoh-lib-version-diff/scripts/detect-upstream-version.js +967 -967
  349. package/vendor/Server/Skills/rnoh-lib-version-diff/scripts/generate-diff.js +1798 -1798
  350. package/vendor/Server/Skills/rnoh-lib-version-diff/scripts/package.json +5 -5
  351. package/vendor/Server/Skills/rnoh-lib-version-diff/templates/report-template.md +180 -137
  352. package/vendor/Server/Skills/rnoh-lib-xts-coverage/SKILL.md +145 -145
  353. package/vendor/Server/Skills/skill-generator/SKILL.md +365 -365
  354. package/vendor/Server/Skills/skill-generator/assets/SKILL_TEMPLATE.md +183 -183
  355. package/vendor/Server/Skills/skill-generator/references/COMPLIANCE_CHECKLIST.md +82 -82
  356. package/vendor/Server/Skills/skill-generator/references/KB_QUERY_GUIDE.md +110 -110
  357. package/vendor/Server/Skills/skill-generator/references/MCP_TOOL_DISCOVERY.md +122 -122
  358. package/vendor/Server/Skills/skill-generator/references/SKILL_SPEC.md +121 -121
  359. package/vendor/Server/Skills/skill-generator/scripts/validate-skill.cjs +259 -259
  360. package/vendor/Server/Skills/task-analysis/SKILL.md +234 -234
  361. package/vendor/Server/Skills/task-analysis/assets/OUTPUT_EXAMPLES.md +160 -160
  362. package/vendor/Server/Skills/task-analysis/references/ACCEPTANCE_CRITERIA_GUIDE.md +190 -190
  363. package/vendor/Server/Skills/task-analysis/references/ANALYSIS_SCHEMA.md +224 -224
  364. package/vendor/Server/Skills/task-analysis/references/INTEGRATION_CONTEXT.md +162 -162
  365. package/vendor/Server/Skills/task-analysis/references/LESSONS_LEARNED.md +55 -55
  366. package/vendor/Server/Skills/task-analysis/references/REPLAN_CONTEXT_GUIDE.md +126 -126
  367. package/vendor/Server/Skills/task-analysis/scripts/validate-analysis-output.sh +256 -256
  368. package/vendor/Server/Skills/task-decomposition/SKILL.md +528 -528
  369. package/vendor/Server/Skills/task-decomposition/assets/OUTPUT_EXAMPLES.md +451 -451
  370. package/vendor/Server/Skills/task-decomposition/references/ACCEPTANCE_CRITERIA_GUIDE.md +179 -179
  371. package/vendor/Server/Skills/task-decomposition/references/DEPENDENCY_GRAPH_GUIDE.md +152 -152
  372. package/vendor/Server/Skills/task-decomposition/references/INTEGRATION_CONTEXT.md +175 -175
  373. package/vendor/Server/Skills/task-decomposition/references/REPLAN_CONTEXT_GUIDE.md +195 -195
  374. package/vendor/Server/Skills/task-decomposition/references/TASK_DECOMPOSITION_TEMPLATES.md +226 -226
  375. package/vendor/Server/Skills/task-decomposition/scripts/list-available-skills.cjs +263 -263
  376. package/vendor/Server/Skills/task-decomposition/scripts/skill-blacklist.json +29 -29
  377. package/vendor/Server/Skills/task-decomposition/scripts/validate-decomposition-output.cjs +376 -376
  378. package/vendor/Server/Skills/task-decomposition/scripts/validate-param-consistency.cjs +259 -259
  379. package/vendor/Server/Skills/task-decomposition/scripts/validate-specified-skills.cjs +216 -216
  380. package/vendor/Server/Skills/task-decomposition/scripts/validate-step-graph.cjs +424 -424
  381. package/vendor/Server/Skills/tpc-cpp-check/SKILL.md +427 -427
  382. package/vendor/Server/Skills/tpc-cpp-check/references/CHECKLIST.md +214 -214
  383. package/vendor/Server/Skills/tpc-cpp-check/references/HPKBUILD_GUIDE.md +235 -235
  384. package/vendor/Server/Skills/tpc-cpp-check/references/REPORT_TEMPLATE.md +250 -250
  385. package/vendor/Server/TestCheck/TestCheck.js +775 -775
  386. package/vendor/Server/TestCheck/index.js +11 -11
  387. package/vendor/Server/library/McpToolGuide.js +280 -280
  388. package/vendor/Server/library/StatsService.js +126 -126
  389. package/vendor/Server/library/cstTime.js +16 -16
  390. package/vendor/VERSION +3 -3
  391. package/workflows/pr-check.mjs +105 -105
  392. package/workflows/pr-push.mjs +193 -0
  393. package/vendor/Server/Agent/SkillSelector/types.js +0 -63
package/README.md CHANGED
@@ -1,425 +1,245 @@
1
- # @ohos-cpf/3rdloop
2
-
3
- 3rdLibraryLoop 三方库自动化检视命令行工具(嵌入式模式)。
4
-
5
- `3rdloop` CLI 直接复用 3rdLibraryLoop 的**核心引擎**(LoopEngine / Brain / Orchestrator /
6
- FlexRunner / TestCheck / Knowledge),无需启动 HTTP 服务,即可从终端完整跑一遍
7
- "任务拆解 → 编排执行 → 准出审核"的大循环。
8
-
9
- ## 快速开始
10
-
11
- ```bash
12
- # 环境自检
13
- 3rdloop doctor
14
-
15
- # 提交并阻塞到准出终态(最常用)
16
- 3rdloop run "为 libcurl 生成鸿蒙 demo 场景并跑通编译"
17
-
18
- # 提交并立即返回 taskId(进程内继续跑,需保持进程存活)
19
- 3rdloop submit "分析 sqlite3 的鸿蒙化可行性"
20
-
21
- # 等待到终态 / 查询进度 / 中止 / 列表 / 结果
22
- 3rdloop wait <taskId> --timeout 30m
23
- 3rdloop progress <taskId> --watch
24
- 3rdloop abort <taskId>
25
- 3rdloop list --status running
26
- 3rdloop result <taskId> --json
27
- ```
28
-
29
- ## 命令一览
30
-
31
- | 命令 | 说明 |
32
- |------|------|
33
- | `3rdloop run <desc>` | 提交任务并阻塞到准出终态(默认行为) |
34
- | `3rdloop submit <desc>` | 提交任务,打印 taskId 后进程内继续执行 |
35
- | `3rdloop wait <taskId> [--timeout 30m]` | 等待任务到终态 |
36
- | `3rdloop progress <taskId> [--watch]` | 查询进度;`--watch` 持续轮询到终态 |
37
- | `3rdloop abort <taskId>` | 中止任务 |
38
- | `3rdloop list [--status st] [--limit N] [--older-than 7d]` | 列出任务 |
39
- | `3rdloop result <taskId> [--raw]` | 读取最终结果 |
40
- | `3rdloop step run <desc> [--task-id id] [--step-id N] [--input-report p] [--max-retries N] [--loop N] [--task-dir p] [--specified-skill <SKILL name\|目录名>]` | 单步执行(FlexRunner 直连,不经拆解/编排/审核) |
41
- | `3rdloop step status <taskId> [--step-id N]` | 查询单步状态/产物/会话 |
42
- | `3rdloop step result <taskId> [--step-id N]` | 读取该步 result.md 内容 |
43
- | `3rdloop orch run <task-def.json>` | 加载任务定义 + 启动编排,阻塞到终态 |
44
- | `3rdloop orch load <task-def.json>` | 仅加载任务定义(落盘 orchestration.json) |
45
- | `3rdloop orch start <taskId>` | 从磁盘恢复 LOADED 状态并启动编排,阻塞到终态 |
46
- | `3rdloop orch progress <taskId> [--loop N]` | 查询编排进度 |
47
- | `3rdloop orch abort|pause|resume <taskId>` | 终止/暂停/恢复编排 |
48
- | `3rdloop orch tasks` | 列出编排任务 |
49
- | `3rdloop workflows` | 列出已注册的固定编排工作流 |
50
- | `3rd3rdloop run <工作流名> [--flag <值> ...]` | 以固定编排执行工作流(阻塞到终态) |
51
- | `3rdloop run pr-check --pr-url <URL> [--library-type <arkts\|flutter\|rn\|tpccplus>]` | PR 代码检视(等价前端 PR 检视面板,taskId 带 `codecheck_` 前缀) |
52
- | `3rdloop doctor` | 环境自检(Node/opencode/.env/SKILL/数据目录) |
53
- | `3rdloop version` | 版本信息 |
54
-
55
- ## 全局选项
56
-
57
- | 选项 | 说明 |
58
- |------|------|
59
- | `--json` | 结构化输出到 **stdout**(进度/日志走 stderr,脚本可安全解析 stdout) |
60
- | `-v, --verbose` | 详细模式 |
61
- | `--quiet` | 仅输出最终结果 |
62
- | `--data-dir <p>` | 数据目录覆盖(默认 `<项目根同级>/db`,如 `D:\code\3rdLibraryLoop` `D:\code\db`) |
63
- | `--project <n>` | 项目名覆盖(默认取 git 仓库根名) |
64
- | `--skill-dir <p>` | SKILL 目录覆盖 |
65
- | `-h, --help` | 帮助 |
66
-
67
- ## 退出码
68
-
69
- | 码 | 含义 |
70
- |----|------|
71
- | 0 | 通过 / 成功 |
72
- | 1 | 错误(参数 / 环境 / 任务不存在) |
73
- | 2 | 任务执行失败(终态 `failed` / `error` / 未通过) |
74
- | 3 | `wait` 超时 |
75
- | 130 | Ctrl+C(SIGINT) |
76
- | 143 | SIGTERM |
77
-
78
- ## 单步执行(FlexRunner)
79
-
80
- `3rdloop step` 直接复用通用单步执行器 **FlexRunner**(不经 Brain 拆解 / Orchestrator
81
- 编排 / TestCheck 审核),适合"只跑一个步骤"的精确控制场景:
82
-
83
- ```bash
84
- # 阻塞执行单个步骤(成功退出码 0,失败 2)
85
- 3rdloop step run "为 libcurl HTTP 请求生成 ArkTS demo" \
86
- --task-id step_demo_001 --step-id 1 --max-retries 2
87
-
88
- # 带输入报告 / 指定产物目录 / 指定大循环轮次
89
- 3rdloop step run "根据检视报告修复 XTS 用例" \
90
- --task-id step_fix_001 --input-report output/report.md --loop 1
91
-
92
- # 固定执行某个 SKILL(跳过 SkillSelector 匹配,直接使用该 SKILL)
93
- 3rdloop step run "为 FastBle 生成 XTS 代码" \
94
- --task-id step_skill_001 --specified-skill arkts-library-xts-code
95
-
96
- # 查询步骤状态或读取最终产物
97
- 3rdloop step status step_demo_001
98
- 3rdloop step result step_demo_001 --json
99
- ```
100
-
101
- ### 参数
102
-
103
- | 参数 | 说明 |
104
- |------|------|
105
- | `--task-id <id>` | 任务 ID(**必填**,step 命令不自动生成) |
106
- | `--step-id <N>` | 步骤编号(默认 `1`) |
107
- | `--input-report <p>` | 输入报告/上下文文件路径(可选) |
108
- | `--max-retries <N>` | 最多重试次数(默认 `3`) |
109
- | `--loop <N>` | 大循环轮次编号(默认 `0`) |
110
- | `--task-dir <p>` | 产物目录(默认 `<data-dir>/task/<taskId>`) |
111
- | `--specified-skill <name>` | 固定执行的 SKILL name 或目录名(在 skill 目录内解析);传入后跳过 SkillSelector 匹配直接执行该 SKILL |
112
-
113
- ### 行为与差异
114
-
115
- - **产物**:写入 taskDir 下 `stepId{n}_loop{L}_result_{R}.md`
116
- (`R` 为第几次重试),并同时生成
117
- `stepId{n}_loop{L}_Summary_{R}.md` 经验总结与步骤记录
118
- `stepid_{stepId}_loop{L}.json`。
119
- - **loop.json**:写精简状态(`isSingleExecution: true`),因此
120
- `3rdloop list` / `3rdloop progress <taskId>` / `3rdloop result <taskId>` 都能看到该任务。
121
- - **与 `3rdloop run` 的差异**:`run` 走完整大循环(拆解→编排→审核→可重规划,
122
- 自动生成 taskId);`step` 只执行一步,适合把已拆好的任务按步骤手动串联。
123
- - **中断**:Ctrl+C 会对 FlexRunner 调用 `controlExecution('abort')` 终止当前步骤
124
- 并清理 opencode 子进程,退出码 130。
125
- - **多次执行同一 taskId**:不会归档旧任务(与 `run` 的自动归档不同),
126
- 每次 `step run` 在相同 loop 编号下会覆盖同名产物,建议不同尝试用不同 `--loop`。
127
-
128
- ## 编排执行(Orchestrator)
129
-
130
- `3rdloop orch` 对应 HTTP 层 `POST /api/orchestrator/load` 与 `/api/orchestrator/start`
131
- 接口,直接复用 **Orchestrator** 核心类做多步骤依赖编排(不经 Brain 拆解 /
132
- TestCheck 审核)。适合已经把任务拆成步骤、且步骤之间存在 `nextStepId` /
133
- `failStepId` / `dependId` 依赖关系的场景。
134
-
135
- ```bash
136
- # ① 加载任务定义 + 启动编排并阻塞到终态(推荐入口)
137
- 3rdloop orch run task-def-demo.json
138
-
139
- # ② 仅加载任务定义(落盘 orchestration.json,进程退出后仍可 start)
140
- 3rdloop orch load task-def-demo.json
141
-
142
- # 从磁盘恢复 LOADED 状态并启动(跨进程)
143
- 3rdloop orch start task_xxx
144
-
145
- # 查询 / 控制 / 列表
146
- 3rdloop orch progress task_xxx --loop 0
147
- 3rdloop orch abort task_xxx
148
- 3rdloop orch pause task_xxx # 恢复:3rdloop orch resume task_xxx
149
- 3rdloop orch tasks
150
- ```
151
-
152
- ### 任务定义 JSON(task-def.json)
153
-
154
- 格式与 `Orchestrator.loadTask` 对齐:
155
-
156
- ```json
157
- {
158
- "taskId": "task_xxx",
159
- "taskDir": "",
160
- "skillDirectory": "",
161
- "loopCount": 0,
162
- "steps": [
163
- { "stepId": 1, "taskDescription": "分析三方库接口", "dependId": 0, "nextStepId": 2, "failStepId": 0, "maxRetries": 3 },
164
- { "stepId": 2, "taskDescription": "生成 demo 场景", "dependId": 1, "nextStepId": 0, "failStepId": 1, "maxRetries": 3 }
165
- ]
166
- }
167
- ```
168
-
169
- 字段说明:
170
-
171
- | 字段 | 说明 |
172
- |------|------|
173
- | `taskId` | 任务 ID(必填) |
174
- | `taskDir` | 产物目录(可选,默认 `<data-dir>/task/<taskId>`) |
175
- | `skillDirectory` | SKILL 目录(可选,默认 CLI 解析的 skill-dir) |
176
- | `loopCount` | 大循环轮次(默认 `0`,用于区分各轮产物文件) |
177
- | `steps[].stepId` | 步骤唯一 ID(必填) |
178
- | `steps[].taskDescription` | 步骤任务描述(必填) |
179
- | `steps[].dependId` | 前置依赖(`0`=入口;支持数组做 fan-in 聚合) |
180
- | `steps[].nextStepId` | 成功后下一步(`0`=结束) |
181
- | `steps[].failStepId` | 失败后修复步骤(`0`=失败即终止) |
182
- | `steps[].maxRetries` | 最大重试次数(默认 `3`) |
183
- | `steps[].specifiedSkill` | 固定执行的 SKILL name 或目录名(可选,在 `skillDirectory` 内解析);传入后该步骤跳过 SkillSelector 匹配直接执行该 SKILL |
184
-
185
- ### 语义与限制
186
-
187
- - **load 可跨进程**:`3rdloop orch load` 会立即落盘 `orchestration.json`
188
- (状态 `loaded`),之后任何终端/进程都能 `3rdloop orch start <taskId>` 恢复并启动。
189
- - **start 仅接受 LOADED**:任务处于 `completed`/`failed`/`running` 等状态时
190
- 拒绝启动(与 HTTP `controller.start` 校验一致)。
191
- - **progress 读磁盘**:`3rdloop orch progress` 直接读 `orchestration.json` /
192
- `orchestration_loop{N}.json`,不依赖内存实例,历史轮次可用 `--loop N`。
193
- - **loop.json**:编排结束后写精简状态(`isOrchestration: true`),因此
194
- `3rdloop list` / `3rdloop result` 也能看到编排任务。
195
- - **中断**:Ctrl+C 会对 Orchestrator 调用 `abort()` 并清理 opencode 子进程,
196
- 退出码 130。
197
- - **跨进程控制限制**:`abort`/`pause`/`resume` 优先作用于**当前进程内**正在
198
- 运行的编排实例;无法中断另一进程的运行中任务(v1 `3rdloop run` 语义一致)。
199
-
200
- ## 工作流机制(固定编排)
201
-
202
- 工作流是将"固定步骤编排"封装为带参数的 CLI 命令入口:`3rd3rdloop run <工作流名>` 会在运行时
203
- 把参数构造为具参 taskDef,并复用 `3rdloop orch` 链路(`orchLoad` + `orchStart`)阻塞执行到终态。
204
- 适合把一组固定的 SKILL 串联(如 `pr push`、`code check` 等)沉淀为可复用命令。
205
-
206
- ### 使用
207
-
208
- ```bash
209
- # 查看已注册工作流
210
- 3rdloop workflows
211
-
212
- # 查看某个工作流的参数说明
213
- 3rd3rdloop run <工作流名> --help
214
-
215
- # 正式执行(阻塞到终态;退出码 0=通过 / 2=任务失败)
216
- 3rd3rdloop run <工作流名> --flag1 <值> --flag2 <值>
217
-
218
- # dry-run:只构造并打印/落盘 taskDef,不触碰引擎(调试新工作流用)
219
- 3rd3rdloop run <工作流名> --flag1 <值> --print-taskdef
220
- ```
221
-
222
- - `3rdloop run submit` 同样支持工作流名(命中时走工作流,未命中保持原任务描述语义)
223
- - 产物落默认 `<数据目录>/task/{taskId}/`;`--print-taskdef` 会额外写
224
- `task-def.dry.json` 供人工核对
225
- - 退出码:`0` 通过 / `1` 参数或环境错误 / `2` 任务执行失败 / `130` Ctrl+C / `143` SIGTERM
226
-
227
- ### 已注册工作流
228
-
229
- - **`pr-check` —— PR 代码检视**(等价封装前端 `Web/public/js/codecheck.js` 的 PR 检视面板):
230
-
231
- ```bash
232
- # 按库类型检视 PR(arkts 为默认,不传 --library-type 即可)
233
- 3rdloop run pr-check --pr-url https://gitcode.com/owner/repo/pulls/123 --library-type rn
234
-
235
- # dry-run:核对构造出的 taskDef 与前端是否等价(不触碰引擎)
236
- 3rdloop run pr-check --pr-url https://gitcode.com/owner/repo/pulls/123 --print-taskdef
237
- ```
238
-
239
- 与前端协同的两个约定:
240
-
241
- - **taskId 前缀 `codecheck_`**:格式 `codecheck_{owner}_{repo}_{prNum}_{ts36}`,与前端
242
- `codecheck.js` 一致。前端 PR 检视历史页按 `taskIdPrefix=codecheck_` 过滤,故 CLI 提交的
243
- 检视任务在前端历史页同样可见。
244
- - **SKILL 映射**:`arkts→arkts-code-check`(默认) / `flutter→flutter-code-check` /
245
- `rn→rn-code-check` / `tpccplus→tpc-cpp-check`,与前端 `_CC_SKILL_MAP` 同构;单步骤
246
- `specifiedSkill` 固定绑定,`maxRetries: 3`,`title` 格式 `PR检视|{libraryType}|{prUrl}`
247
- (供前端历史恢复解析)。
248
- - **参数校验**:`--pr-url` 必填;`--library-type` 非法值(非上述四种)在 dry-run 阶段即报错退出。
249
-
250
- ### 如何新增一个工作流
251
-
252
- 在 `cli/workflows/` 目录下新增一个 `.js`/`.mjs` 文件,默认导出一个工作流声明对象 **即可自动注册**,
253
- 无需改动任何分发代码:
254
-
255
- ```js
256
- export default {
257
- name: 'demo prep', // 工作流名,支持多词(空格分隔,分发时最长匹配)
258
- description: '示例:构造一个占位固定编排(仅演示注册约定)',
259
- params: [ // CLI flags schema(驱动参数校验 / --help)
260
- { flag: 'workspace-dir', required: true, describe: '本地工作区 git 仓库根目录' },
261
- { flag: 'report-name', required: false, describe: '输出报告名(默认 check-report.md)' },
262
- ],
263
- // params: { 'workspace-dir': <值>, ... } → 返回与 Orchestrator.loadTask 对齐的 taskDef
264
- buildTaskDef(params) {
265
- return {
266
- taskId: '', // 缺省时 CLI 自动生成(generateTaskId())
267
- title: 'Demo 固定编排',
268
- skillDirectory: '',
269
- loopCount: 0,
270
- steps: [{
271
- stepId: 1,
272
- taskDescription: `分析工作区修改并输出 ${params['report-name'] || 'check-report.md'} 报告`,
273
- dependId: 0, nextStepId: 0, failStepId: 0, maxRetries: 3,
274
- inputReport: '',
275
- }],
276
- };
277
- },
278
- };
279
- ```
280
-
281
- 约定与细节:
282
-
283
- - **自动注册**:`cli/lib/workflows.js` 启动时扫描 `cli/workflows/*.mjs|*.js`,每文件默认导出一个工作流。
284
- 加载失败 / name 缺失 / 重名的工作流会被跳过并输出警告(不阻断其余工作流)。
285
- - **多词名最长匹配**:`3rdloop run pr push ...` 会先试完整 `pr push`,未注册再退 `pr`。
286
- - **steps 格式**:与 `3rdloop orch run <task-def.json>` 的 [taskDef 格式](#编排执行orchestrator) 完全一致
287
- (stepId / taskDescription / dependId / nextStepId / failStepId / maxRetries / specifiedSkill / inputReport)。
288
- - **specifiedSkill 建议**:与核心引擎约定一致——步骤职责能匹配某可用 SKILL 时,把它写入
289
- `specifiedSkill`(值为 SKILL name 或目录名),执行层将跳过 SkillSelector 自动匹配。
290
- - **只读环境注入**:`buildTaskDef(params, { dataDir })` 第二参携带运行时环境(数据目录等),
291
- 需要落盘相对路径时使用。
292
-
293
- ### 职责边界
294
-
295
- - 工作流注册表只负责"参数 → taskDef"。**业务工作流(如 `pr push`)与所需 SKILL 由其他项目
296
- 开发者按上述约定注册与维护**,CLI 核心不预置任何业务工作流。
297
- - 新增业务 SKILL 请放在 `Server/Skills/` 下(沿用既有 SKILL 约定),工作流文件中以
298
- `specifiedSkill` 引用即可。
299
-
300
- ## 环境约定
301
-
302
- - **`.env`** 加载链:系统环境变量 > `~/.3lib/.env`(用户级) > 项目根 `Server/.env`。
303
- - **数据目录**:`<项目根同级>/db`(如 `D:\code\3rdLibraryLoop` → `D:\code\db`),与核心引擎默认 workspace 级数据库一致;任务写入 `<数据目录>/task/{taskId}/`。
304
- - **opencode**:`3rdloop` 会自动拉起 `opencode serve`(需在项目**上一级**目录运行),
305
- 退出时负责清理进程树。若已存在运行中的 opencode 服务则直接复用。
306
-
307
- ## 环境变量
308
-
309
- CLI 自身配置(`3LIB_*` 前缀):
310
-
311
- | 变量 | 作用 | 默认值 |
312
- |------|------|--------|
313
- | `3LIB_DATA_DIR` | 数据目录覆盖(等效 `--data-dir`) | `<项目根同级>/db` |
314
- | `3LIB_ROOT` | 项目根覆盖(须为系统环境变量,`.env` 文件不生效) | 自动探测 |
315
- | `3LIB_HOME` | 用户 3lib 主目录(含日志 `logs/`,须为系统环境变量) | `~/.3lib` |
316
- | `3LIB_SKILL_DIR` | SKILL 目录覆盖(等效 `--skill-dir`) | `vendor/Server/Skills` |
317
- | `3LIB_TASK_PREFIX` | taskId 前缀(审计用) | 空 |
318
-
319
- Windows 设置方式:
320
-
321
- ```powershell
322
- # 当前终端临时生效
323
- $env:3LIB_DATA_DIR = "D:\code\tmp\db"
324
- # 用户级永久生效(需重开终端)
325
- setx 3LIB_DATA_DIR "D:\code\tmp\db"
326
- # 或写入 C:\Users\<用户>\.3lib\.env
327
- ```
328
-
329
- > **注意**:提交用的 `--data-dir` / `3LIB_DATA_DIR` 必须与 `wait`/`progress`/`list`/`result` 一致,
330
- > 否则会出现"任务不存在"。跨终端统一最简单的方式是 `setx 3LIB_DATA_DIR` 一人设全局。
331
-
332
- LLM 凭据变量(`DASHSCOPE_API_KEY` / `LLM_MODEL` 等):按 `.env` 加载链任选一层配置即可。
333
-
334
- ## 场景一:新用户接入
335
-
336
- ### 前置条件
337
-
338
- - Node.js >= 22
339
- - opencode CLI(`opencode serve` 可运行)
340
- - LLM 凭据(一个 `.env` 即可)
341
-
342
- ### 接入步骤
343
-
344
- ```bash
345
- # ① 安装 CLI(正式发布后)
346
- npm i -g @ohos-cpf/3rdloop
347
-
348
- # 开发期替代:与后端共用仓库时用 npm link(直引 Server/ 源码,无需生成 vendor)
349
- cd cli && npm install && npm link
350
-
351
- # ② 环境自检,缺什么看什么
352
- 3rdloop doctor
353
-
354
- # ③ 配置 LLM 凭据(三选一)
355
- # A. 项目级:在仓库 Server/.env 填 key(推荐,跟仓库走)
356
- # B. 用户级:C:\Users\<用户>\.3lib\.env
357
- # C. 系统环境变量:setx DASHSCOPE_API_KEY "sk-xxx"
358
-
359
- # ④ 跑一个最小任务验证
360
- 3rdloop run "冒烟:分析一个三方库的鸿蒙化可行性" --max-loops 1
361
- ```
362
-
363
- 数据目录默认在仓库根同级 `<项目根同级>/db`(与核心引擎默认一致,团队同机共享任务数据);如需每用户隔离,用 `--data-dir` 或 `3LIB_DATA_DIR` 覆盖。
364
-
365
- ## 场景二:后端更新与软链
366
-
367
- ### 开发期(仓库内共享):零副本,直引源码
368
-
369
- CLI 在**开发期不生成 `cli/vendor/`**,直接引用仓库 `Server/` 源码:
370
- - 引擎模块回退:`cli/vendor/Server` 不存在时,加载 `../Server`(`runner.js: resolveVendorServer`)。
371
- - SKILL 目录回退:`vendor/Server/Skills` 不存在时,用仓库 `Server/Skills`(`config.js: resolveSkillDir`)。
372
-
373
- 后端代码改完立即可用,无需任何复制步骤:
374
-
375
- ```bash
376
- cd cli
377
-
378
- # ① npm link 后全局 3rdloop 与本地一致(直引 Server/ 源码)
379
- npm link
380
-
381
- # ② 校验 Server/ 源码引入的外部依赖都在 package.json 声明
382
- # 后端新增第三方库时会在这一步暴露,然后 npm install <新依赖> 补上
383
- npm run verify-deps
384
-
385
- # ③ 回归冒烟
386
- npm test
387
-
388
- # ④ 确认当前用的引擎来源(vendor 缺失时显示源码回退)
389
- 3rdloop doctor
390
- ```
391
-
392
- ### 发布期(打包给他人):临时生成 vendor + 自动清理
393
-
394
- 发布 tarball 必须自包含引擎(npm `files` 只能打包包内文件),所以发布时才把
395
- `Server/` 快照复制进 `cli/vendor/`,打包完成后自动删除本地副本:
396
-
397
- ```bash
398
- cd cli
399
- npm version patch # 0.1.0 → 0.1.1
400
- npm publish # prepack 自动复制 vendor → 打包 → postpack 自动清理
401
- ```
402
-
403
- `npm pack` / `npm publish` 的全自动流程:
404
-
405
- | 阶段 | 钩子 | 动作 |
406
- |------|------|------|
407
- | 打包前 | `prepack` | 复制 `Server/` → `cli/vendor/Server/`,写 VERSION,扫描敏感文件 |
408
- | 打包中 | — | tarball 包含完整 vendor(自包含引擎) |
409
- | 打包后 | `postpack` | 删除本地 `cli/vendor/`,工作区回归仅一份源码 |
410
-
411
- > **不要**手工改动 `cli/vendor/Server/` —— 它是发布期临时生成物,不入库
412
- > (`.gitignore` 已忽略),下次 `npm pack/publish` 会重新生成并自动清理。
413
- > `npm run verify-deps` 同样双模式:有 vendor 扫 vendor,否则回退扫 `Server/` 源码。
414
-
415
- ## 开发者
416
-
417
- ```bash
418
- cd cli
419
- npm install
420
- npm link # 直引仓库 Server/ 源码,无需 prepack
421
- node bin/3rdloop.mjs doctor
422
- ```
423
-
424
- 发布前检查:`npm run verify-deps`(有 vendor 扫 vendor,否则回退扫 `Server/` 源码)
425
- 校验引擎代码的依赖声明完整性。
1
+ # @ohos-cpf/3rdloop
2
+
3
+ 三方库自动化检视命令行工具:基于 3rdLibraryLoop 核心引擎,从终端完整跑一遍"任务拆解 → 编排执行 → 准出审核"的大循环。
4
+
5
+ ![npm version](https://img.shields.io/npm/v/@ohos-cpf/3rdloop)
6
+ ![downloads](https://img.shields.io/npm/dm/@ohos-cpf/3rdloop)
7
+ ![license](https://img.shields.io/npm/l/@ohos-cpf/3rdloop)
8
+
9
+ ## 功能特性
10
+
11
+ - **嵌入式核心引擎**:直接复用 3rdLibraryLoop 的 LoopEngine / Brain / Orchestrator / FlexRunner / TestCheck / Knowledge,无需启动 HTTP 服务
12
+ - **完整大循环**:任务拆解 → 编排执行 → 准出审核,多轮次自动重规划直到通过
13
+ - **任务生命周期管理**:提交 / 等待 / 查询进度 / 中止 / 列表 / 读结果
14
+ - **单步与固定编排**:`step` 单步执行(FlexRunner 直连)、`orch` 多步骤依赖编排、`workflows` 预置固定工作流一键执行
15
+ - **命令行配置**:`config` 子命令管理 `.env` 配置项(默认 `~/.3lib/.env`,跨项目全局生效)
16
+ - **自更新**:`update` 一键更新到 npm latest,尊重用户镜像源
17
+
18
+
19
+
20
+ ## 安装
21
+
22
+ ```bash
23
+ npm i -g @ohos-cpf/3rdloop
24
+ ```
25
+
26
+ 需要 Node.js >= 22。查看版本与环境自检:
27
+
28
+ ```bash
29
+ 3rdloop version
30
+ 3rdloop doctor
31
+ ```
32
+
33
+
34
+
35
+ ## 使用
36
+
37
+
38
+
39
+ ### 前置条件
40
+
41
+ - **Node.js** >= 22
42
+ - **opencode CLI**:`3rdloop` 会自动拉起 `opencode serve`(在项目上一级目录运行),退出时清理进程树;已存在则复用
43
+ - **LLM 凭据**:以下任一层配置即可
44
+ - 项目级:仓库 `Server/.env`
45
+ - 用户级:`~/.3lib/.env`
46
+ - 系统环境变量:`setx DASHSCOPE_API_KEY "sk-xxx"`
47
+
48
+
49
+
50
+ ### 快速开始
51
+
52
+ ```bash
53
+ # 环境自检
54
+ 3rdloop doctor
55
+
56
+ # 提交并阻塞到准出终态(最常用)
57
+ 3rdloop run "为 libcurl 生成鸿蒙 demo 场景并跑通编译"
58
+
59
+ # 提交并立即返回 taskId(进程内继续跑,需保持进程存活)
60
+ 3rdloop submit "分析 sqlite3 的鸿蒙化可行性"
61
+
62
+ # 等待到终态 / 查询进度 / 中止 / 列表 / 结果
63
+ 3rdloop wait <taskId> --timeout 30m
64
+ 3rdloop progress <taskId> --watch
65
+ 3rdloop abort <taskId>
66
+ 3rdloop list --status running
67
+ 3rdloop result <taskId> --json
68
+ ```
69
+
70
+
71
+
72
+ ### 命令一览
73
+
74
+
75
+ | 命令 | 说明 |
76
+ | ---------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------- |
77
+ | `3rdloop run <desc>` | 提交任务并阻塞到准出终态(默认行为) |
78
+ | `3rdloop submit <desc>` | 提交任务,打印 taskId 后进程内继续执行 |
79
+ | `3rdloop wait <taskId> [--timeout 30m]` | 等待任务到终态 |
80
+ | `3rdloop progress <taskId> [--watch]` | 查询进度;`--watch` 持续轮询到终态 |
81
+ | `3rdloop abort <taskId>` | 中止任务 |
82
+ | `3rdloop list [--status st] [--limit N] [--older-than 7d]` | 列出任务 |
83
+ | `3rdloop result <taskId> [--raw]` | 读取最终结果 |
84
+ | `3rdloop step run <desc> [--task-id id] [--step-id N] [--input-report p] [--max-retries N] [--loop N] [--task-dir p] [--specified-skill <SKILL name|目录名>]` | 单步执行(FlexRunner 直连,不经拆解/编排/审核) |
85
+ | `3rdloop step status <taskId> [--step-id N]` | 查询单步状态/产物/会话 |
86
+ | `3rdloop step result <taskId> [--step-id N]` | 读取该步 result.md 内容 |
87
+ | `3rdloop orch run <task-def.json>` | 加载任务定义 + 启动编排,阻塞到终态 |
88
+ | `3rdloop orch load <task-def.json>` | 仅加载任务定义(落盘 orchestration.json,进程退出后仍可 start) |
89
+ | `3rdloop orch start <taskId>` | 从磁盘恢复 LOADED 状态并启动编排,阻塞到终态 |
90
+ | `3rdloop orch progress <taskId> [--loop N]` | 查询编排进度 |
91
+ | `3rdloop orch abort|pause|resume <taskId>` | 终止/暂停/恢复编排 |
92
+ | `3rdloop orch tasks` | 列出编排任务 |
93
+ | `3rdloop workflows` | 列出已注册的固定编排工作流 |
94
+ | `3rdloop run <工作流名> [--flag <值> ...]` | 以固定编排执行工作流(阻塞到终态) |
95
+ | `3rdloop run pr-check --pr-url <URL> [--library-type <arkts|flutter|rn|tpccplus>]` | PR 代码检视 |
96
+ | `3rdloop run pr-push [--workspace-dir <p>] [--upstream-url <URL>] [--base-branch <b>] [--changelog <auto|true|false>] [--dry-run <true|false>]` | 三方库自动提 PR(fork 工作区修改 → 源仓库 Issue/PR + 触发 CI) |
97
+ | `3rdloop config list|get|set|unset` | 命令配置 `.env` 配置项(默认读写 `~/.3lib/.env`) |
98
+ | `3rdloop update [--check] [--yes] [--force] [--registry <url>]` | 自更新到 npm 最新版(尊重用户镜像源) |
99
+ | `3rdloop doctor` | 环境自检(Node/opencode/.env/SKILL/数据目录) |
100
+ | `3rdloop version` | 版本信息 |
101
+
102
+
103
+ 更多进阶用法(`step` 参数细节、`orch` 任务定义格式、工作流注册),见仓库 `cli/README_DEVELOP.md` 或 `3rdloop <子命令> --help`。
104
+
105
+ ### 退出码
106
+
107
+
108
+ | | 含义 |
109
+ | --- | ----------------------------------- |
110
+ | 0 | 通过 / 成功 |
111
+ | 1 | 错误(参数 / 环境 / 任务不存在) |
112
+ | 2 | 任务执行失败(终态 `failed` / `error` / 未通过) |
113
+ | 3 | `wait` 超时 |
114
+ | 130 | Ctrl+C(SIGINT) |
115
+ | 143 | SIGTERM |
116
+
117
+
118
+
119
+
120
+ ## 配置
121
+
122
+
123
+
124
+ ### 数据目录(中间产物)
125
+
126
+ 任务中间产物默认落在用户级统一目录,跨平台一致、不随执行目录或 npm 卸载变化:
127
+
128
+ > 默认 `~/.3lib/3rdloop/db`
129
+ >
130
+ > - Windows: `C:\Users\<用户>\.3lib\3rdloop\db`
131
+ > - macOS / Linux: `~/.3lib/3rdloop/db`
132
+
133
+ 任务写入 `<数据目录>/task/{taskId}/`。可用 `--data-dir` flag 或 `3LIB_DATA_DIR` 覆盖(如团队共享目录)。
134
+
135
+ ### 环境变量
136
+
137
+ CLI 自身配置(`3LIB_*` 前缀):
138
+
139
+
140
+ | 变量 | 作用 | 默认值 |
141
+ | ------------------ | --------------------------------- | -------------------- |
142
+ | `3LIB_DATA_DIR` | 数据目录覆盖(等效 `--data-dir`) | `~/.3lib/3rdloop/db` |
143
+ | `3LIB_ROOT` | 项目根覆盖(须为系统环境变量,`.env` 文件不生效) | 自动探测 |
144
+ | `3LIB_HOME` | 用户 3lib 主目录(含日志 `logs/`,须为系统环境变量) | `~/.3lib` |
145
+ | `3LIB_SKILL_DIR` | SKILL 目录覆盖(等效 `--skill-dir`) | 默认按发布/开发状态自动解析 |
146
+ | `3LIB_TASK_PREFIX` | taskId 前缀(审计用) | 空 |
147
+
148
+
149
+ LLM 凭据变量(`DASHSCOPE_API_KEY` / `LLM_MODEL` 等):按上面的 `.env` 加载链任选一层配置即可。
150
+
151
+ ### 命令行配置(3rdloop config)
152
+
153
+ `config` 子命令对 `.env` 配置项做命令式管理,默认读写用户级 `~/.3lib/.env`(跨项目全局生效),无需手改 `.env` 文件:
154
+
155
+ ```bash
156
+ # 查看当前生效的数据目录
157
+ 3rdloop config get 3LIB_DATA_DIR
158
+
159
+ # 将任务产物统一存到团队共享目录(全局生效,无需每次带 --data-dir)
160
+ 3rdloop config set 3LIB_DATA_DIR "D:\code\team\shared-db"
161
+
162
+ # 查看全部配置项及当前生效值(密钥类脱敏)
163
+ 3rdloop config list
164
+
165
+ # 恢复默认
166
+ 3rdloop config unset 3LIB_DATA_DIR
167
+ ```
168
+
169
+ - 读取优先级:**系统环境变量 >** `~/.3lib/.env`**(用户级) > 项目根** `Server/.env` **> 内置默认值**
170
+ - `config` 内置白名单与值校验,未知键 `set` 会报错;`DASHSCOPE_API_KEY` / `GIT_TOKEN` 等密钥在 `get`/`list` 中脱敏显示
171
+ - `3LIB_ROOT` / `3LIB_HOME` 为系统环境变量专用,`config set` 会拒绝,请用 `setx` / `export`
172
+ - `--data-dir` / `--skill-dir` 命令行 flag 仍是最高的单次覆盖
173
+
174
+
175
+
176
+ ### 环境加载细节
177
+
178
+ - `.env` **加载链**:系统环境变量 > `~/.3lib/.env` > 项目根 `Server/.env`
179
+ - **opencode**:自动拉起 `opencode serve`(项目上一级目录),退出时清理进程树;已存在则复用
180
+ - **任务数据隔离**:CLI 任务数据默认与 Web 前端(读取仓库根 `db/`)分离,CLI 提交的任务不会出现在前端任务列表
181
+
182
+
183
+
184
+ ## API
185
+
186
+ `3rdloop` 是纯命令行工具,无编程 API。对脚本使用方,输出契约如下:
187
+
188
+ - **stdout**:只放 `--json` 结构化数据或最终结果(脚本可安全解析)
189
+ - **stderr**:进度日志 / 诊断信息
190
+ - **退出码**:见 [退出码](#退出码)
191
+
192
+
193
+
194
+ ### 全局选项
195
+
196
+
197
+ | 选项 | 说明 |
198
+ | ----------------- | -------------------------------- |
199
+ | `--json` | 结构化输出到 **stdout**(进度/日志走 stderr) |
200
+ | `-v, --verbose` | 详细模式 |
201
+ | `--quiet` | 仅输出最终结果 |
202
+ | `--data-dir <p>` | 数据目录覆盖(默认 `~/.3lib/3rdloop/db`) |
203
+ | `--project <n>` | 项目名覆盖(默认取 git 仓库根名) |
204
+ | `--skill-dir <p>` | SKILL 目录覆盖 |
205
+ | `-h, --help` | 帮助 |
206
+
207
+
208
+
209
+
210
+ ## 自更新
211
+
212
+ ```bash
213
+ # 检查 + 交互确认后更新到 latest
214
+ 3rdloop update
215
+
216
+ # 仅检查是否有新版本,不执行更新(适合 CI / 提醒)
217
+ 3rdloop update --check
218
+
219
+ # 跳过交互确认直接更新(非 TTY 场景或自动化)
220
+ 3rdloop update --yes
221
+
222
+ # 覆盖 npm registry(默认尊重用户 npm 镜像配置,如 npmmirror)
223
+ 3rdloop update --registry https://registry.npmjs.org/
224
+ ```
225
+
226
+ - 以 `npm link` 开发方式安装(连接到仓库源码)时,`update` 默认跳过并提示用 `git pull` 更新源码,加 `--force` 可强制替换为 registry 正式包
227
+ - 更新只替换程序文件,**数据目录** `~/.3lib/3rdloop/db` **与** `~/.3lib/.env` **配置不受影响**
228
+
229
+
230
+
231
+ ## 更新日志
232
+
233
+ [CHANGELOG.md](./CHANGELOG.md)(计划中,待补)
234
+
235
+ ## 贡献
236
+
237
+ 欢迎提交 Issue 和 PR,详见 [CONTRIBUTING.md](./CONTRIBUTING.md)(计划中,待补)
238
+
239
+ ## 维护者
240
+
241
+ [@junxiaoliu927](https://gitcode.com/Sincerelyurs/3rdLibraryLoop)
242
+
243
+ ## 许可证
244
+
245
+ [MIT](./LICENSE) © 2026 junxiaoliu927