@baimingtao/lbs-agent 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 (1114) hide show
  1. package/AGENTS.md +54 -0
  2. package/README.md +181 -0
  3. package/SOUL.md +31 -0
  4. package/application/__init__.py +1 -0
  5. package/application/container.py +376 -0
  6. package/application/contracts/__init__.py +5 -0
  7. package/application/contracts/result.py +84 -0
  8. package/application/onboarding.py +243 -0
  9. package/application/runtime_factory.py +198 -0
  10. package/application/runtime_paths.py +61 -0
  11. package/application/services/__init__.py +1 -0
  12. package/application/services/agent_service.py +159 -0
  13. package/application/services/cron_service.py +49 -0
  14. package/application/services/gateway_service.py +156 -0
  15. package/application/services/interactive_service.py +275 -0
  16. package/application/services/mcp_service.py +102 -0
  17. package/application/services/model_service.py +519 -0
  18. package/application/services/orchestration_service.py +169 -0
  19. package/application/services/session_service.py +130 -0
  20. package/application/services/skill_service.py +369 -0
  21. package/application/services/tool_service.py +165 -0
  22. package/bin/lbs.js +109 -0
  23. package/config/__init__.py +2 -0
  24. package/config/config.py +453 -0
  25. package/config/config_contract.py +198 -0
  26. package/config/mcp.yaml +30 -0
  27. package/config/state_root.py +28 -0
  28. package/extensions/mcps/optional/linear/manifest.yaml +38 -0
  29. package/extensions/mcps/optional/n8n/manifest.yaml +77 -0
  30. package/extensions/mcps/optional/unreal-engine/manifest.yaml +54 -0
  31. package/extensions/prompts/agents/audit.md +46 -0
  32. package/extensions/prompts/agents/auditor.md +71 -0
  33. package/extensions/prompts/agents/browser_worker.md +56 -0
  34. package/extensions/prompts/agents/chat.md +23 -0
  35. package/extensions/prompts/agents/code.md +52 -0
  36. package/extensions/prompts/agents/data_analyst.md +39 -0
  37. package/extensions/prompts/agents/document.md +19 -0
  38. package/extensions/prompts/agents/email_agent.md +30 -0
  39. package/extensions/prompts/agents/github_agent.md +33 -0
  40. package/extensions/prompts/agents/planner.md +40 -0
  41. package/extensions/prompts/agents/research.md +50 -0
  42. package/extensions/prompts/agents/security.md +28 -0
  43. package/extensions/prompts/agents/verifier.md +28 -0
  44. package/extensions/prompts/agents/vision.md +27 -0
  45. package/extensions/skills/builtin/autonomous-ai-agents/DESCRIPTION.md +3 -0
  46. package/extensions/skills/builtin/autonomous-ai-agents/claude-code/SKILL.md +669 -0
  47. package/extensions/skills/builtin/autonomous-ai-agents/codex/SKILL.md +138 -0
  48. package/extensions/skills/builtin/autonomous-ai-agents/hermes-agent/SKILL.md +728 -0
  49. package/extensions/skills/builtin/autonomous-ai-agents/hermes-agent/references/native-mcp.md +344 -0
  50. package/extensions/skills/builtin/autonomous-ai-agents/hermes-agent/references/webhooks.md +193 -0
  51. package/extensions/skills/builtin/autonomous-ai-agents/opencode/SKILL.md +219 -0
  52. package/extensions/skills/builtin/browser-use/SKILL.md +152 -0
  53. package/extensions/skills/builtin/computer-use/SKILL.md +242 -0
  54. package/extensions/skills/builtin/creative/DESCRIPTION.md +3 -0
  55. package/extensions/skills/builtin/creative/architecture-diagram/SKILL.md +148 -0
  56. package/extensions/skills/builtin/creative/architecture-diagram/templates/template.html +319 -0
  57. package/extensions/skills/builtin/creative/ascii-art/SKILL.md +322 -0
  58. package/extensions/skills/builtin/creative/ascii-video/README.md +290 -0
  59. package/extensions/skills/builtin/creative/ascii-video/SKILL.md +241 -0
  60. package/extensions/skills/builtin/creative/ascii-video/references/architecture.md +568 -0
  61. package/extensions/skills/builtin/creative/ascii-video/references/composition.md +662 -0
  62. package/extensions/skills/builtin/creative/ascii-video/references/effects.md +640 -0
  63. package/extensions/skills/builtin/creative/ascii-video/references/inputs.md +685 -0
  64. package/extensions/skills/builtin/creative/ascii-video/references/optimization.md +688 -0
  65. package/extensions/skills/builtin/creative/ascii-video/references/scenes.md +741 -0
  66. package/extensions/skills/builtin/creative/ascii-video/references/shaders.md +683 -0
  67. package/extensions/skills/builtin/creative/ascii-video/references/troubleshooting.md +367 -0
  68. package/extensions/skills/builtin/creative/baoyu-infographic/PORT_NOTES.md +43 -0
  69. package/extensions/skills/builtin/creative/baoyu-infographic/SKILL.md +237 -0
  70. package/extensions/skills/builtin/creative/baoyu-infographic/references/analysis-framework.md +182 -0
  71. package/extensions/skills/builtin/creative/baoyu-infographic/references/base-prompt.md +43 -0
  72. package/extensions/skills/builtin/creative/baoyu-infographic/references/layouts/bento-grid.md +41 -0
  73. package/extensions/skills/builtin/creative/baoyu-infographic/references/layouts/binary-comparison.md +48 -0
  74. package/extensions/skills/builtin/creative/baoyu-infographic/references/layouts/bridge.md +41 -0
  75. package/extensions/skills/builtin/creative/baoyu-infographic/references/layouts/circular-flow.md +41 -0
  76. package/extensions/skills/builtin/creative/baoyu-infographic/references/layouts/comic-strip.md +41 -0
  77. package/extensions/skills/builtin/creative/baoyu-infographic/references/layouts/comparison-matrix.md +41 -0
  78. package/extensions/skills/builtin/creative/baoyu-infographic/references/layouts/dashboard.md +41 -0
  79. package/extensions/skills/builtin/creative/baoyu-infographic/references/layouts/dense-modules.md +72 -0
  80. package/extensions/skills/builtin/creative/baoyu-infographic/references/layouts/funnel.md +41 -0
  81. package/extensions/skills/builtin/creative/baoyu-infographic/references/layouts/hierarchical-layers.md +48 -0
  82. package/extensions/skills/builtin/creative/baoyu-infographic/references/layouts/hub-spoke.md +41 -0
  83. package/extensions/skills/builtin/creative/baoyu-infographic/references/layouts/iceberg.md +41 -0
  84. package/extensions/skills/builtin/creative/baoyu-infographic/references/layouts/isometric-map.md +41 -0
  85. package/extensions/skills/builtin/creative/baoyu-infographic/references/layouts/jigsaw.md +41 -0
  86. package/extensions/skills/builtin/creative/baoyu-infographic/references/layouts/linear-progression.md +48 -0
  87. package/extensions/skills/builtin/creative/baoyu-infographic/references/layouts/periodic-table.md +41 -0
  88. package/extensions/skills/builtin/creative/baoyu-infographic/references/layouts/story-mountain.md +41 -0
  89. package/extensions/skills/builtin/creative/baoyu-infographic/references/layouts/structural-breakdown.md +48 -0
  90. package/extensions/skills/builtin/creative/baoyu-infographic/references/layouts/tree-branching.md +41 -0
  91. package/extensions/skills/builtin/creative/baoyu-infographic/references/layouts/venn-diagram.md +41 -0
  92. package/extensions/skills/builtin/creative/baoyu-infographic/references/layouts/winding-roadmap.md +41 -0
  93. package/extensions/skills/builtin/creative/baoyu-infographic/references/structured-content-template.md +244 -0
  94. package/extensions/skills/builtin/creative/baoyu-infographic/references/styles/aged-academia.md +36 -0
  95. package/extensions/skills/builtin/creative/baoyu-infographic/references/styles/bold-graphic.md +36 -0
  96. package/extensions/skills/builtin/creative/baoyu-infographic/references/styles/chalkboard.md +61 -0
  97. package/extensions/skills/builtin/creative/baoyu-infographic/references/styles/claymation.md +29 -0
  98. package/extensions/skills/builtin/creative/baoyu-infographic/references/styles/corporate-memphis.md +29 -0
  99. package/extensions/skills/builtin/creative/baoyu-infographic/references/styles/craft-handmade.md +44 -0
  100. package/extensions/skills/builtin/creative/baoyu-infographic/references/styles/cyberpunk-neon.md +29 -0
  101. package/extensions/skills/builtin/creative/baoyu-infographic/references/styles/hand-drawn-edu.md +63 -0
  102. package/extensions/skills/builtin/creative/baoyu-infographic/references/styles/ikea-manual.md +29 -0
  103. package/extensions/skills/builtin/creative/baoyu-infographic/references/styles/kawaii.md +29 -0
  104. package/extensions/skills/builtin/creative/baoyu-infographic/references/styles/knolling.md +29 -0
  105. package/extensions/skills/builtin/creative/baoyu-infographic/references/styles/lego-brick.md +29 -0
  106. package/extensions/skills/builtin/creative/baoyu-infographic/references/styles/morandi-journal.md +60 -0
  107. package/extensions/skills/builtin/creative/baoyu-infographic/references/styles/origami.md +29 -0
  108. package/extensions/skills/builtin/creative/baoyu-infographic/references/styles/pixel-art.md +29 -0
  109. package/extensions/skills/builtin/creative/baoyu-infographic/references/styles/pop-laboratory.md +48 -0
  110. package/extensions/skills/builtin/creative/baoyu-infographic/references/styles/retro-pop-grid.md +47 -0
  111. package/extensions/skills/builtin/creative/baoyu-infographic/references/styles/storybook-watercolor.md +29 -0
  112. package/extensions/skills/builtin/creative/baoyu-infographic/references/styles/subway-map.md +29 -0
  113. package/extensions/skills/builtin/creative/baoyu-infographic/references/styles/technical-schematic.md +36 -0
  114. package/extensions/skills/builtin/creative/baoyu-infographic/references/styles/ui-wireframe.md +29 -0
  115. package/extensions/skills/builtin/creative/claude-design/SKILL.md +591 -0
  116. package/extensions/skills/builtin/creative/comfyui/SKILL.md +609 -0
  117. package/extensions/skills/builtin/creative/comfyui/references/official-cli.md +252 -0
  118. package/extensions/skills/builtin/creative/comfyui/references/rest-api.md +297 -0
  119. package/extensions/skills/builtin/creative/comfyui/references/template-integrity.md +227 -0
  120. package/extensions/skills/builtin/creative/comfyui/references/workflow-format.md +205 -0
  121. package/extensions/skills/builtin/creative/comfyui/scripts/_common.py +835 -0
  122. package/extensions/skills/builtin/creative/comfyui/scripts/auto_fix_deps.py +225 -0
  123. package/extensions/skills/builtin/creative/comfyui/scripts/check_deps.py +437 -0
  124. package/extensions/skills/builtin/creative/comfyui/scripts/comfyui_setup.sh +286 -0
  125. package/extensions/skills/builtin/creative/comfyui/scripts/extract_schema.py +315 -0
  126. package/extensions/skills/builtin/creative/comfyui/scripts/fetch_logs.py +157 -0
  127. package/extensions/skills/builtin/creative/comfyui/scripts/hardware_check.py +497 -0
  128. package/extensions/skills/builtin/creative/comfyui/scripts/health_check.py +223 -0
  129. package/extensions/skills/builtin/creative/comfyui/scripts/run_batch.py +243 -0
  130. package/extensions/skills/builtin/creative/comfyui/scripts/run_workflow.py +796 -0
  131. package/extensions/skills/builtin/creative/comfyui/scripts/ws_monitor.py +267 -0
  132. package/extensions/skills/builtin/creative/comfyui/tests/README.md +44 -0
  133. package/extensions/skills/builtin/creative/comfyui/tests/conftest.py +64 -0
  134. package/extensions/skills/builtin/creative/comfyui/tests/pytest.ini +5 -0
  135. package/extensions/skills/builtin/creative/comfyui/tests/test_check_deps.py +68 -0
  136. package/extensions/skills/builtin/creative/comfyui/tests/test_cloud_integration.py +95 -0
  137. package/extensions/skills/builtin/creative/comfyui/tests/test_common.py +443 -0
  138. package/extensions/skills/builtin/creative/comfyui/tests/test_extract_schema.py +184 -0
  139. package/extensions/skills/builtin/creative/comfyui/tests/test_run_workflow.py +210 -0
  140. package/extensions/skills/builtin/creative/comfyui/workflows/README.md +86 -0
  141. package/extensions/skills/builtin/creative/comfyui/workflows/animatediff_video.json +64 -0
  142. package/extensions/skills/builtin/creative/comfyui/workflows/flux_dev_txt2img.json +78 -0
  143. package/extensions/skills/builtin/creative/comfyui/workflows/sd15_txt2img.json +49 -0
  144. package/extensions/skills/builtin/creative/comfyui/workflows/sdxl_img2img.json +54 -0
  145. package/extensions/skills/builtin/creative/comfyui/workflows/sdxl_inpaint.json +59 -0
  146. package/extensions/skills/builtin/creative/comfyui/workflows/sdxl_txt2img.json +49 -0
  147. package/extensions/skills/builtin/creative/comfyui/workflows/upscale_4x.json +27 -0
  148. package/extensions/skills/builtin/creative/comfyui/workflows/wan_video_t2v.json +69 -0
  149. package/extensions/skills/builtin/creative/design-md/SKILL.md +171 -0
  150. package/extensions/skills/builtin/creative/design-md/templates/starter.md +92 -0
  151. package/extensions/skills/builtin/creative/excalidraw/SKILL.md +195 -0
  152. package/extensions/skills/builtin/creative/excalidraw/references/colors.md +44 -0
  153. package/extensions/skills/builtin/creative/excalidraw/references/dark-mode.md +67 -0
  154. package/extensions/skills/builtin/creative/excalidraw/references/examples.md +140 -0
  155. package/extensions/skills/builtin/creative/excalidraw/scripts/upload.py +133 -0
  156. package/extensions/skills/builtin/creative/humanizer/LICENSE +21 -0
  157. package/extensions/skills/builtin/creative/humanizer/SKILL.md +578 -0
  158. package/extensions/skills/builtin/creative/manim-video/README.md +23 -0
  159. package/extensions/skills/builtin/creative/manim-video/SKILL.md +269 -0
  160. package/extensions/skills/builtin/creative/manim-video/references/animation-design-thinking.md +161 -0
  161. package/extensions/skills/builtin/creative/manim-video/references/animations.md +282 -0
  162. package/extensions/skills/builtin/creative/manim-video/references/camera-and-3d.md +135 -0
  163. package/extensions/skills/builtin/creative/manim-video/references/decorations.md +202 -0
  164. package/extensions/skills/builtin/creative/manim-video/references/equations.md +216 -0
  165. package/extensions/skills/builtin/creative/manim-video/references/graphs-and-data.md +163 -0
  166. package/extensions/skills/builtin/creative/manim-video/references/mobjects.md +333 -0
  167. package/extensions/skills/builtin/creative/manim-video/references/paper-explainer.md +255 -0
  168. package/extensions/skills/builtin/creative/manim-video/references/production-quality.md +190 -0
  169. package/extensions/skills/builtin/creative/manim-video/references/rendering.md +185 -0
  170. package/extensions/skills/builtin/creative/manim-video/references/scene-planning.md +118 -0
  171. package/extensions/skills/builtin/creative/manim-video/references/troubleshooting.md +135 -0
  172. package/extensions/skills/builtin/creative/manim-video/references/updaters-and-trackers.md +260 -0
  173. package/extensions/skills/builtin/creative/manim-video/references/visual-design.md +124 -0
  174. package/extensions/skills/builtin/creative/manim-video/scripts/setup.sh +14 -0
  175. package/extensions/skills/builtin/creative/p5js/README.md +64 -0
  176. package/extensions/skills/builtin/creative/p5js/SKILL.md +555 -0
  177. package/extensions/skills/builtin/creative/p5js/references/animation.md +439 -0
  178. package/extensions/skills/builtin/creative/p5js/references/color-systems.md +352 -0
  179. package/extensions/skills/builtin/creative/p5js/references/core-api.md +410 -0
  180. package/extensions/skills/builtin/creative/p5js/references/export-pipeline.md +566 -0
  181. package/extensions/skills/builtin/creative/p5js/references/interaction.md +398 -0
  182. package/extensions/skills/builtin/creative/p5js/references/shapes-and-geometry.md +300 -0
  183. package/extensions/skills/builtin/creative/p5js/references/troubleshooting.md +532 -0
  184. package/extensions/skills/builtin/creative/p5js/references/typography.md +302 -0
  185. package/extensions/skills/builtin/creative/p5js/references/visual-effects.md +895 -0
  186. package/extensions/skills/builtin/creative/p5js/references/webgl-and-3d.md +423 -0
  187. package/extensions/skills/builtin/creative/p5js/scripts/export-frames.js +179 -0
  188. package/extensions/skills/builtin/creative/p5js/scripts/render.sh +108 -0
  189. package/extensions/skills/builtin/creative/p5js/scripts/serve.sh +28 -0
  190. package/extensions/skills/builtin/creative/p5js/scripts/setup.sh +87 -0
  191. package/extensions/skills/builtin/creative/p5js/templates/viewer.html +395 -0
  192. package/extensions/skills/builtin/creative/popular-web-designs/SKILL.md +202 -0
  193. package/extensions/skills/builtin/creative/popular-web-designs/templates/airbnb.md +259 -0
  194. package/extensions/skills/builtin/creative/popular-web-designs/templates/airtable.md +102 -0
  195. package/extensions/skills/builtin/creative/popular-web-designs/templates/apple.md +326 -0
  196. package/extensions/skills/builtin/creative/popular-web-designs/templates/bmw.md +193 -0
  197. package/extensions/skills/builtin/creative/popular-web-designs/templates/cal.md +272 -0
  198. package/extensions/skills/builtin/creative/popular-web-designs/templates/claude.md +325 -0
  199. package/extensions/skills/builtin/creative/popular-web-designs/templates/clay.md +317 -0
  200. package/extensions/skills/builtin/creative/popular-web-designs/templates/clickhouse.md +294 -0
  201. package/extensions/skills/builtin/creative/popular-web-designs/templates/cohere.md +279 -0
  202. package/extensions/skills/builtin/creative/popular-web-designs/templates/coinbase.md +142 -0
  203. package/extensions/skills/builtin/creative/popular-web-designs/templates/composio.md +320 -0
  204. package/extensions/skills/builtin/creative/popular-web-designs/templates/cursor.md +322 -0
  205. package/extensions/skills/builtin/creative/popular-web-designs/templates/elevenlabs.md +278 -0
  206. package/extensions/skills/builtin/creative/popular-web-designs/templates/expo.md +294 -0
  207. package/extensions/skills/builtin/creative/popular-web-designs/templates/figma.md +233 -0
  208. package/extensions/skills/builtin/creative/popular-web-designs/templates/framer.md +259 -0
  209. package/extensions/skills/builtin/creative/popular-web-designs/templates/hashicorp.md +291 -0
  210. package/extensions/skills/builtin/creative/popular-web-designs/templates/ibm.md +345 -0
  211. package/extensions/skills/builtin/creative/popular-web-designs/templates/intercom.md +159 -0
  212. package/extensions/skills/builtin/creative/popular-web-designs/templates/kraken.md +138 -0
  213. package/extensions/skills/builtin/creative/popular-web-designs/templates/linear.app.md +380 -0
  214. package/extensions/skills/builtin/creative/popular-web-designs/templates/lovable.md +311 -0
  215. package/extensions/skills/builtin/creative/popular-web-designs/templates/minimax.md +270 -0
  216. package/extensions/skills/builtin/creative/popular-web-designs/templates/mintlify.md +339 -0
  217. package/extensions/skills/builtin/creative/popular-web-designs/templates/miro.md +121 -0
  218. package/extensions/skills/builtin/creative/popular-web-designs/templates/mistral.ai.md +274 -0
  219. package/extensions/skills/builtin/creative/popular-web-designs/templates/mongodb.md +279 -0
  220. package/extensions/skills/builtin/creative/popular-web-designs/templates/notion.md +322 -0
  221. package/extensions/skills/builtin/creative/popular-web-designs/templates/nvidia.md +306 -0
  222. package/extensions/skills/builtin/creative/popular-web-designs/templates/ollama.md +280 -0
  223. package/extensions/skills/builtin/creative/popular-web-designs/templates/opencode.ai.md +294 -0
  224. package/extensions/skills/builtin/creative/popular-web-designs/templates/pinterest.md +243 -0
  225. package/extensions/skills/builtin/creative/popular-web-designs/templates/posthog.md +269 -0
  226. package/extensions/skills/builtin/creative/popular-web-designs/templates/raycast.md +281 -0
  227. package/extensions/skills/builtin/creative/popular-web-designs/templates/replicate.md +274 -0
  228. package/extensions/skills/builtin/creative/popular-web-designs/templates/resend.md +316 -0
  229. package/extensions/skills/builtin/creative/popular-web-designs/templates/revolut.md +198 -0
  230. package/extensions/skills/builtin/creative/popular-web-designs/templates/runwayml.md +257 -0
  231. package/extensions/skills/builtin/creative/popular-web-designs/templates/sanity.md +370 -0
  232. package/extensions/skills/builtin/creative/popular-web-designs/templates/sentry.md +275 -0
  233. package/extensions/skills/builtin/creative/popular-web-designs/templates/spacex.md +207 -0
  234. package/extensions/skills/builtin/creative/popular-web-designs/templates/spotify.md +259 -0
  235. package/extensions/skills/builtin/creative/popular-web-designs/templates/stripe.md +335 -0
  236. package/extensions/skills/builtin/creative/popular-web-designs/templates/supabase.md +268 -0
  237. package/extensions/skills/builtin/creative/popular-web-designs/templates/superhuman.md +265 -0
  238. package/extensions/skills/builtin/creative/popular-web-designs/templates/together.ai.md +276 -0
  239. package/extensions/skills/builtin/creative/popular-web-designs/templates/uber.md +308 -0
  240. package/extensions/skills/builtin/creative/popular-web-designs/templates/vercel.md +323 -0
  241. package/extensions/skills/builtin/creative/popular-web-designs/templates/voltagent.md +336 -0
  242. package/extensions/skills/builtin/creative/popular-web-designs/templates/warp.md +265 -0
  243. package/extensions/skills/builtin/creative/popular-web-designs/templates/webflow.md +105 -0
  244. package/extensions/skills/builtin/creative/popular-web-designs/templates/wise.md +186 -0
  245. package/extensions/skills/builtin/creative/popular-web-designs/templates/x.ai.md +270 -0
  246. package/extensions/skills/builtin/creative/popular-web-designs/templates/zapier.md +341 -0
  247. package/extensions/skills/builtin/creative/pretext/SKILL.md +220 -0
  248. package/extensions/skills/builtin/creative/pretext/references/patterns.md +258 -0
  249. package/extensions/skills/builtin/creative/pretext/templates/donut-orbit.html +1468 -0
  250. package/extensions/skills/builtin/creative/pretext/templates/hello-orb-flow.html +95 -0
  251. package/extensions/skills/builtin/creative/sketch/SKILL.md +218 -0
  252. package/extensions/skills/builtin/creative/songwriting-and-ai-music/SKILL.md +273 -0
  253. package/extensions/skills/builtin/creative/touchdesigner-mcp/SKILL.md +356 -0
  254. package/extensions/skills/builtin/creative/touchdesigner-mcp/references/3d-scene.md +275 -0
  255. package/extensions/skills/builtin/creative/touchdesigner-mcp/references/animation.md +221 -0
  256. package/extensions/skills/builtin/creative/touchdesigner-mcp/references/audio-reactive.md +175 -0
  257. package/extensions/skills/builtin/creative/touchdesigner-mcp/references/dat-scripting.md +352 -0
  258. package/extensions/skills/builtin/creative/touchdesigner-mcp/references/external-data.md +322 -0
  259. package/extensions/skills/builtin/creative/touchdesigner-mcp/references/geometry-comp.md +121 -0
  260. package/extensions/skills/builtin/creative/touchdesigner-mcp/references/glsl.md +151 -0
  261. package/extensions/skills/builtin/creative/touchdesigner-mcp/references/layout-compositor.md +131 -0
  262. package/extensions/skills/builtin/creative/touchdesigner-mcp/references/mcp-tools.md +382 -0
  263. package/extensions/skills/builtin/creative/touchdesigner-mcp/references/midi-osc.md +210 -0
  264. package/extensions/skills/builtin/creative/touchdesigner-mcp/references/network-patterns.md +767 -0
  265. package/extensions/skills/builtin/creative/touchdesigner-mcp/references/operator-tips.md +106 -0
  266. package/extensions/skills/builtin/creative/touchdesigner-mcp/references/operators.md +239 -0
  267. package/extensions/skills/builtin/creative/touchdesigner-mcp/references/panel-ui.md +281 -0
  268. package/extensions/skills/builtin/creative/touchdesigner-mcp/references/particles.md +245 -0
  269. package/extensions/skills/builtin/creative/touchdesigner-mcp/references/pitfalls.md +568 -0
  270. package/extensions/skills/builtin/creative/touchdesigner-mcp/references/postfx.md +183 -0
  271. package/extensions/skills/builtin/creative/touchdesigner-mcp/references/projection-mapping.md +211 -0
  272. package/extensions/skills/builtin/creative/touchdesigner-mcp/references/python-api.md +463 -0
  273. package/extensions/skills/builtin/creative/touchdesigner-mcp/references/replicator.md +197 -0
  274. package/extensions/skills/builtin/creative/touchdesigner-mcp/references/troubleshooting.md +244 -0
  275. package/extensions/skills/builtin/creative/touchdesigner-mcp/scripts/setup.sh +115 -0
  276. package/extensions/skills/builtin/data-science/DESCRIPTION.md +3 -0
  277. package/extensions/skills/builtin/data-science/jupyter-live-kernel/SKILL.md +152 -0
  278. package/extensions/skills/builtin/dogfood/SKILL.md +162 -0
  279. package/extensions/skills/builtin/dogfood/references/issue-taxonomy.md +109 -0
  280. package/extensions/skills/builtin/dogfood/templates/dogfood-report-template.md +86 -0
  281. package/extensions/skills/builtin/email/DESCRIPTION.md +3 -0
  282. package/extensions/skills/builtin/email/himalaya/SKILL.md +302 -0
  283. package/extensions/skills/builtin/email/himalaya/references/configuration.md +216 -0
  284. package/extensions/skills/builtin/email/himalaya/references/message-composition.md +199 -0
  285. package/extensions/skills/builtin/github/DESCRIPTION.md +3 -0
  286. package/extensions/skills/builtin/github/codebase-inspection/SKILL.md +116 -0
  287. package/extensions/skills/builtin/github/github-auth/SKILL.md +247 -0
  288. package/extensions/skills/builtin/github/github-auth/scripts/gh-env.sh +66 -0
  289. package/extensions/skills/builtin/github/github-code-review/SKILL.md +481 -0
  290. package/extensions/skills/builtin/github/github-code-review/references/review-output-template.md +74 -0
  291. package/extensions/skills/builtin/github/github-issues/SKILL.md +370 -0
  292. package/extensions/skills/builtin/github/github-issues/templates/bug-report.md +35 -0
  293. package/extensions/skills/builtin/github/github-issues/templates/feature-request.md +31 -0
  294. package/extensions/skills/builtin/github/github-pr-workflow/SKILL.md +367 -0
  295. package/extensions/skills/builtin/github/github-pr-workflow/references/ci-troubleshooting.md +183 -0
  296. package/extensions/skills/builtin/github/github-pr-workflow/references/conventional-commits.md +71 -0
  297. package/extensions/skills/builtin/github/github-pr-workflow/templates/pr-body-bugfix.md +35 -0
  298. package/extensions/skills/builtin/github/github-pr-workflow/templates/pr-body-feature.md +33 -0
  299. package/extensions/skills/builtin/github/github-repo-management/SKILL.md +516 -0
  300. package/extensions/skills/builtin/github/github-repo-management/references/github-api-cheatsheet.md +161 -0
  301. package/extensions/skills/builtin/index-cache/anthropics_skills_skills_.json +1 -0
  302. package/extensions/skills/builtin/index-cache/claude_marketplace_anthropics_skills.json +1 -0
  303. package/extensions/skills/builtin/index-cache/lobehub_index.json +1 -0
  304. package/extensions/skills/builtin/index-cache/openai_skills_skills_.json +1 -0
  305. package/extensions/skills/builtin/media/DESCRIPTION.md +3 -0
  306. package/extensions/skills/builtin/media/gif-search/SKILL.md +91 -0
  307. package/extensions/skills/builtin/media/heartmula/SKILL.md +171 -0
  308. package/extensions/skills/builtin/media/songsee/SKILL.md +83 -0
  309. package/extensions/skills/builtin/media/youtube-content/SKILL.md +75 -0
  310. package/extensions/skills/builtin/media/youtube-content/references/output-formats.md +56 -0
  311. package/extensions/skills/builtin/media/youtube-content/scripts/fetch_transcript.py +124 -0
  312. package/extensions/skills/builtin/mlops/DESCRIPTION.md +3 -0
  313. package/extensions/skills/builtin/mlops/evaluation/DESCRIPTION.md +3 -0
  314. package/extensions/skills/builtin/mlops/evaluation/lm-evaluation-harness/SKILL.md +495 -0
  315. package/extensions/skills/builtin/mlops/evaluation/lm-evaluation-harness/references/api-evaluation.md +490 -0
  316. package/extensions/skills/builtin/mlops/evaluation/lm-evaluation-harness/references/benchmark-guide.md +488 -0
  317. package/extensions/skills/builtin/mlops/evaluation/lm-evaluation-harness/references/custom-tasks.md +602 -0
  318. package/extensions/skills/builtin/mlops/evaluation/lm-evaluation-harness/references/distributed-eval.md +519 -0
  319. package/extensions/skills/builtin/mlops/evaluation/weights-and-biases/SKILL.md +592 -0
  320. package/extensions/skills/builtin/mlops/evaluation/weights-and-biases/references/artifacts.md +584 -0
  321. package/extensions/skills/builtin/mlops/evaluation/weights-and-biases/references/integrations.md +700 -0
  322. package/extensions/skills/builtin/mlops/evaluation/weights-and-biases/references/sweeps.md +846 -0
  323. package/extensions/skills/builtin/mlops/huggingface-hub/SKILL.md +81 -0
  324. package/extensions/skills/builtin/mlops/inference/DESCRIPTION.md +3 -0
  325. package/extensions/skills/builtin/mlops/inference/llama-cpp/SKILL.md +249 -0
  326. package/extensions/skills/builtin/mlops/inference/llama-cpp/references/advanced-usage.md +504 -0
  327. package/extensions/skills/builtin/mlops/inference/llama-cpp/references/hub-discovery.md +168 -0
  328. package/extensions/skills/builtin/mlops/inference/llama-cpp/references/optimization.md +89 -0
  329. package/extensions/skills/builtin/mlops/inference/llama-cpp/references/quantization.md +243 -0
  330. package/extensions/skills/builtin/mlops/inference/llama-cpp/references/server.md +150 -0
  331. package/extensions/skills/builtin/mlops/inference/llama-cpp/references/troubleshooting.md +442 -0
  332. package/extensions/skills/builtin/mlops/inference/vllm/SKILL.md +369 -0
  333. package/extensions/skills/builtin/mlops/inference/vllm/references/optimization.md +226 -0
  334. package/extensions/skills/builtin/mlops/inference/vllm/references/quantization.md +284 -0
  335. package/extensions/skills/builtin/mlops/inference/vllm/references/server-deployment.md +255 -0
  336. package/extensions/skills/builtin/mlops/inference/vllm/references/troubleshooting.md +448 -0
  337. package/extensions/skills/builtin/mlops/models/DESCRIPTION.md +3 -0
  338. package/extensions/skills/builtin/mlops/models/audiocraft/SKILL.md +568 -0
  339. package/extensions/skills/builtin/mlops/models/audiocraft/references/advanced-usage.md +666 -0
  340. package/extensions/skills/builtin/mlops/models/audiocraft/references/troubleshooting.md +504 -0
  341. package/extensions/skills/builtin/mlops/models/segment-anything/SKILL.md +506 -0
  342. package/extensions/skills/builtin/mlops/models/segment-anything/references/advanced-usage.md +589 -0
  343. package/extensions/skills/builtin/mlops/models/segment-anything/references/troubleshooting.md +484 -0
  344. package/extensions/skills/builtin/note-taking/DESCRIPTION.md +3 -0
  345. package/extensions/skills/builtin/note-taking/obsidian/SKILL.md +61 -0
  346. package/extensions/skills/builtin/productivity/DESCRIPTION.md +3 -0
  347. package/extensions/skills/builtin/productivity/airtable/SKILL.md +229 -0
  348. package/extensions/skills/builtin/productivity/google-workspace/SKILL.md +314 -0
  349. package/extensions/skills/builtin/productivity/google-workspace/references/gmail-search-syntax.md +63 -0
  350. package/extensions/skills/builtin/productivity/google-workspace/scripts/_hermes_home.py +42 -0
  351. package/extensions/skills/builtin/productivity/google-workspace/scripts/google_api.py +1225 -0
  352. package/extensions/skills/builtin/productivity/google-workspace/scripts/gws_bridge.py +111 -0
  353. package/extensions/skills/builtin/productivity/google-workspace/scripts/setup.py +481 -0
  354. package/extensions/skills/builtin/productivity/maps/SKILL.md +182 -0
  355. package/extensions/skills/builtin/productivity/maps/scripts/maps_client.py +1297 -0
  356. package/extensions/skills/builtin/productivity/nano-pdf/SKILL.md +52 -0
  357. package/extensions/skills/builtin/productivity/notion/SKILL.md +448 -0
  358. package/extensions/skills/builtin/productivity/notion/references/block-types.md +112 -0
  359. package/extensions/skills/builtin/productivity/ocr-and-documents/DESCRIPTION.md +3 -0
  360. package/extensions/skills/builtin/productivity/ocr-and-documents/SKILL.md +172 -0
  361. package/extensions/skills/builtin/productivity/ocr-and-documents/scripts/extract_marker.py +87 -0
  362. package/extensions/skills/builtin/productivity/ocr-and-documents/scripts/extract_pymupdf.py +98 -0
  363. package/extensions/skills/builtin/productivity/petdex/SKILL.md +76 -0
  364. package/extensions/skills/builtin/productivity/powerpoint/LICENSE.txt +30 -0
  365. package/extensions/skills/builtin/productivity/powerpoint/SKILL.md +237 -0
  366. package/extensions/skills/builtin/productivity/powerpoint/editing.md +205 -0
  367. package/extensions/skills/builtin/productivity/powerpoint/pptxgenjs.md +420 -0
  368. package/extensions/skills/builtin/productivity/powerpoint/scripts/__init__.py +0 -0
  369. package/extensions/skills/builtin/productivity/powerpoint/scripts/add_slide.py +195 -0
  370. package/extensions/skills/builtin/productivity/powerpoint/scripts/clean.py +286 -0
  371. package/extensions/skills/builtin/productivity/powerpoint/scripts/office/helpers/__init__.py +0 -0
  372. package/extensions/skills/builtin/productivity/powerpoint/scripts/office/helpers/merge_runs.py +199 -0
  373. package/extensions/skills/builtin/productivity/powerpoint/scripts/office/helpers/simplify_redlines.py +197 -0
  374. package/extensions/skills/builtin/productivity/powerpoint/scripts/office/pack.py +159 -0
  375. package/extensions/skills/builtin/productivity/powerpoint/scripts/office/schemas/ISO-IEC29500-4_2016/dml-chart.xsd +1499 -0
  376. package/extensions/skills/builtin/productivity/powerpoint/scripts/office/schemas/ISO-IEC29500-4_2016/dml-chartDrawing.xsd +146 -0
  377. package/extensions/skills/builtin/productivity/powerpoint/scripts/office/schemas/ISO-IEC29500-4_2016/dml-diagram.xsd +1085 -0
  378. package/extensions/skills/builtin/productivity/powerpoint/scripts/office/schemas/ISO-IEC29500-4_2016/dml-lockedCanvas.xsd +11 -0
  379. package/extensions/skills/builtin/productivity/powerpoint/scripts/office/schemas/ISO-IEC29500-4_2016/dml-main.xsd +3081 -0
  380. package/extensions/skills/builtin/productivity/powerpoint/scripts/office/schemas/ISO-IEC29500-4_2016/dml-picture.xsd +23 -0
  381. package/extensions/skills/builtin/productivity/powerpoint/scripts/office/schemas/ISO-IEC29500-4_2016/dml-spreadsheetDrawing.xsd +185 -0
  382. package/extensions/skills/builtin/productivity/powerpoint/scripts/office/schemas/ISO-IEC29500-4_2016/dml-wordprocessingDrawing.xsd +287 -0
  383. package/extensions/skills/builtin/productivity/powerpoint/scripts/office/schemas/ISO-IEC29500-4_2016/pml.xsd +1676 -0
  384. package/extensions/skills/builtin/productivity/powerpoint/scripts/office/schemas/ISO-IEC29500-4_2016/shared-additionalCharacteristics.xsd +28 -0
  385. package/extensions/skills/builtin/productivity/powerpoint/scripts/office/schemas/ISO-IEC29500-4_2016/shared-bibliography.xsd +144 -0
  386. package/extensions/skills/builtin/productivity/powerpoint/scripts/office/schemas/ISO-IEC29500-4_2016/shared-commonSimpleTypes.xsd +174 -0
  387. package/extensions/skills/builtin/productivity/powerpoint/scripts/office/schemas/ISO-IEC29500-4_2016/shared-customXmlDataProperties.xsd +25 -0
  388. package/extensions/skills/builtin/productivity/powerpoint/scripts/office/schemas/ISO-IEC29500-4_2016/shared-customXmlSchemaProperties.xsd +18 -0
  389. package/extensions/skills/builtin/productivity/powerpoint/scripts/office/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesCustom.xsd +59 -0
  390. package/extensions/skills/builtin/productivity/powerpoint/scripts/office/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesExtended.xsd +56 -0
  391. package/extensions/skills/builtin/productivity/powerpoint/scripts/office/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesVariantTypes.xsd +195 -0
  392. package/extensions/skills/builtin/productivity/powerpoint/scripts/office/schemas/ISO-IEC29500-4_2016/shared-math.xsd +582 -0
  393. package/extensions/skills/builtin/productivity/powerpoint/scripts/office/schemas/ISO-IEC29500-4_2016/shared-relationshipReference.xsd +25 -0
  394. package/extensions/skills/builtin/productivity/powerpoint/scripts/office/schemas/ISO-IEC29500-4_2016/sml.xsd +4439 -0
  395. package/extensions/skills/builtin/productivity/powerpoint/scripts/office/schemas/ISO-IEC29500-4_2016/vml-main.xsd +570 -0
  396. package/extensions/skills/builtin/productivity/powerpoint/scripts/office/schemas/ISO-IEC29500-4_2016/vml-officeDrawing.xsd +509 -0
  397. package/extensions/skills/builtin/productivity/powerpoint/scripts/office/schemas/ISO-IEC29500-4_2016/vml-presentationDrawing.xsd +12 -0
  398. package/extensions/skills/builtin/productivity/powerpoint/scripts/office/schemas/ISO-IEC29500-4_2016/vml-spreadsheetDrawing.xsd +108 -0
  399. package/extensions/skills/builtin/productivity/powerpoint/scripts/office/schemas/ISO-IEC29500-4_2016/vml-wordprocessingDrawing.xsd +96 -0
  400. package/extensions/skills/builtin/productivity/powerpoint/scripts/office/schemas/ISO-IEC29500-4_2016/wml.xsd +3646 -0
  401. package/extensions/skills/builtin/productivity/powerpoint/scripts/office/schemas/ISO-IEC29500-4_2016/xml.xsd +116 -0
  402. package/extensions/skills/builtin/productivity/powerpoint/scripts/office/schemas/ecma/fourth-edition/opc-contentTypes.xsd +42 -0
  403. package/extensions/skills/builtin/productivity/powerpoint/scripts/office/schemas/ecma/fourth-edition/opc-coreProperties.xsd +50 -0
  404. package/extensions/skills/builtin/productivity/powerpoint/scripts/office/schemas/ecma/fourth-edition/opc-digSig.xsd +49 -0
  405. package/extensions/skills/builtin/productivity/powerpoint/scripts/office/schemas/ecma/fourth-edition/opc-relationships.xsd +33 -0
  406. package/extensions/skills/builtin/productivity/powerpoint/scripts/office/schemas/mce/mc.xsd +75 -0
  407. package/extensions/skills/builtin/productivity/powerpoint/scripts/office/schemas/microsoft/wml-2010.xsd +560 -0
  408. package/extensions/skills/builtin/productivity/powerpoint/scripts/office/schemas/microsoft/wml-2012.xsd +67 -0
  409. package/extensions/skills/builtin/productivity/powerpoint/scripts/office/schemas/microsoft/wml-2018.xsd +14 -0
  410. package/extensions/skills/builtin/productivity/powerpoint/scripts/office/schemas/microsoft/wml-cex-2018.xsd +20 -0
  411. package/extensions/skills/builtin/productivity/powerpoint/scripts/office/schemas/microsoft/wml-cid-2016.xsd +13 -0
  412. package/extensions/skills/builtin/productivity/powerpoint/scripts/office/schemas/microsoft/wml-sdtdatahash-2020.xsd +4 -0
  413. package/extensions/skills/builtin/productivity/powerpoint/scripts/office/schemas/microsoft/wml-symex-2015.xsd +8 -0
  414. package/extensions/skills/builtin/productivity/teams-meeting-pipeline/SKILL.md +116 -0
  415. package/extensions/skills/builtin/research/DESCRIPTION.md +3 -0
  416. package/extensions/skills/builtin/research/arxiv/SKILL.md +282 -0
  417. package/extensions/skills/builtin/research/arxiv/scripts/search_arxiv.py +114 -0
  418. package/extensions/skills/builtin/research/blogwatcher/SKILL.md +137 -0
  419. package/extensions/skills/builtin/research/llm-wiki/SKILL.md +449 -0
  420. package/extensions/skills/builtin/research/polymarket/SKILL.md +75 -0
  421. package/extensions/skills/builtin/research/polymarket/references/api-endpoints.md +220 -0
  422. package/extensions/skills/builtin/research/polymarket/scripts/polymarket.py +284 -0
  423. package/extensions/skills/builtin/research/research-paper-writing/SKILL.md +813 -0
  424. package/extensions/skills/builtin/research/research-paper-writing/references/autoreason-methodology.md +394 -0
  425. package/extensions/skills/builtin/research/research-paper-writing/references/checklists.md +434 -0
  426. package/extensions/skills/builtin/research/research-paper-writing/references/citation-workflow.md +564 -0
  427. package/extensions/skills/builtin/research/research-paper-writing/references/experiment-patterns.md +728 -0
  428. package/extensions/skills/builtin/research/research-paper-writing/references/human-evaluation.md +476 -0
  429. package/extensions/skills/builtin/research/research-paper-writing/references/paper-types.md +481 -0
  430. package/extensions/skills/builtin/research/research-paper-writing/references/reviewer-guidelines.md +433 -0
  431. package/extensions/skills/builtin/research/research-paper-writing/references/sources.md +191 -0
  432. package/extensions/skills/builtin/research/research-paper-writing/references/writing-guide.md +474 -0
  433. package/extensions/skills/builtin/research/research-paper-writing/templates/README.md +251 -0
  434. package/extensions/skills/builtin/research/research-paper-writing/templates/aaai2026/README.md +534 -0
  435. package/extensions/skills/builtin/research/research-paper-writing/templates/aaai2026/aaai2026-unified-supp.tex +144 -0
  436. package/extensions/skills/builtin/research/research-paper-writing/templates/aaai2026/aaai2026-unified-template.tex +952 -0
  437. package/extensions/skills/builtin/research/research-paper-writing/templates/aaai2026/aaai2026.bib +111 -0
  438. package/extensions/skills/builtin/research/research-paper-writing/templates/aaai2026/aaai2026.bst +1493 -0
  439. package/extensions/skills/builtin/research/research-paper-writing/templates/aaai2026/aaai2026.sty +315 -0
  440. package/extensions/skills/builtin/research/research-paper-writing/templates/acl/README.md +48 -0
  441. package/extensions/skills/builtin/research/research-paper-writing/templates/acl/acl.sty +312 -0
  442. package/extensions/skills/builtin/research/research-paper-writing/templates/acl/acl_latex.tex +377 -0
  443. package/extensions/skills/builtin/research/research-paper-writing/templates/acl/acl_lualatex.tex +101 -0
  444. package/extensions/skills/builtin/research/research-paper-writing/templates/acl/acl_natbib.bst +1940 -0
  445. package/extensions/skills/builtin/research/research-paper-writing/templates/acl/anthology.bib.txt +26 -0
  446. package/extensions/skills/builtin/research/research-paper-writing/templates/acl/custom.bib +70 -0
  447. package/extensions/skills/builtin/research/research-paper-writing/templates/acl/formatting.md +322 -0
  448. package/extensions/skills/builtin/research/research-paper-writing/templates/colm2025/README.md +3 -0
  449. package/extensions/skills/builtin/research/research-paper-writing/templates/colm2025/colm2025_conference.bib +11 -0
  450. package/extensions/skills/builtin/research/research-paper-writing/templates/colm2025/colm2025_conference.bst +1440 -0
  451. package/extensions/skills/builtin/research/research-paper-writing/templates/colm2025/colm2025_conference.pdf +0 -0
  452. package/extensions/skills/builtin/research/research-paper-writing/templates/colm2025/colm2025_conference.sty +218 -0
  453. package/extensions/skills/builtin/research/research-paper-writing/templates/colm2025/colm2025_conference.tex +305 -0
  454. package/extensions/skills/builtin/research/research-paper-writing/templates/colm2025/fancyhdr.sty +485 -0
  455. package/extensions/skills/builtin/research/research-paper-writing/templates/colm2025/math_commands.tex +508 -0
  456. package/extensions/skills/builtin/research/research-paper-writing/templates/colm2025/natbib.sty +1246 -0
  457. package/extensions/skills/builtin/research/research-paper-writing/templates/iclr2026/fancyhdr.sty +485 -0
  458. package/extensions/skills/builtin/research/research-paper-writing/templates/iclr2026/iclr2026_conference.bib +24 -0
  459. package/extensions/skills/builtin/research/research-paper-writing/templates/iclr2026/iclr2026_conference.bst +1440 -0
  460. package/extensions/skills/builtin/research/research-paper-writing/templates/iclr2026/iclr2026_conference.pdf +0 -0
  461. package/extensions/skills/builtin/research/research-paper-writing/templates/iclr2026/iclr2026_conference.sty +246 -0
  462. package/extensions/skills/builtin/research/research-paper-writing/templates/iclr2026/iclr2026_conference.tex +414 -0
  463. package/extensions/skills/builtin/research/research-paper-writing/templates/iclr2026/math_commands.tex +508 -0
  464. package/extensions/skills/builtin/research/research-paper-writing/templates/iclr2026/natbib.sty +1246 -0
  465. package/extensions/skills/builtin/research/research-paper-writing/templates/icml2026/algorithm.sty +79 -0
  466. package/extensions/skills/builtin/research/research-paper-writing/templates/icml2026/algorithmic.sty +201 -0
  467. package/extensions/skills/builtin/research/research-paper-writing/templates/icml2026/example_paper.bib +75 -0
  468. package/extensions/skills/builtin/research/research-paper-writing/templates/icml2026/example_paper.pdf +0 -0
  469. package/extensions/skills/builtin/research/research-paper-writing/templates/icml2026/example_paper.tex +662 -0
  470. package/extensions/skills/builtin/research/research-paper-writing/templates/icml2026/fancyhdr.sty +864 -0
  471. package/extensions/skills/builtin/research/research-paper-writing/templates/icml2026/icml2026.bst +1443 -0
  472. package/extensions/skills/builtin/research/research-paper-writing/templates/icml2026/icml2026.sty +767 -0
  473. package/extensions/skills/builtin/research/research-paper-writing/templates/icml2026/icml_numpapers.pdf +0 -0
  474. package/extensions/skills/builtin/research/research-paper-writing/templates/neurips2025/Makefile +36 -0
  475. package/extensions/skills/builtin/research/research-paper-writing/templates/neurips2025/extra_pkgs.tex +53 -0
  476. package/extensions/skills/builtin/research/research-paper-writing/templates/neurips2025/main.tex +38 -0
  477. package/extensions/skills/builtin/research/research-paper-writing/templates/neurips2025/neurips.sty +382 -0
  478. package/extensions/skills/builtin/research/web-research/SKILL.md +10 -0
  479. package/extensions/skills/builtin/smart-home/DESCRIPTION.md +3 -0
  480. package/extensions/skills/builtin/smart-home/openhue/SKILL.md +109 -0
  481. package/extensions/skills/builtin/social-media/DESCRIPTION.md +3 -0
  482. package/extensions/skills/builtin/social-media/xurl/SKILL.md +429 -0
  483. package/extensions/skills/builtin/software-development/hermes-agent-skill-authoring/SKILL.md +196 -0
  484. package/extensions/skills/builtin/software-development/node-inspect-debugger/SKILL.md +319 -0
  485. package/extensions/skills/builtin/software-development/plan/SKILL.md +338 -0
  486. package/extensions/skills/builtin/software-development/python-debugpy/SKILL.md +375 -0
  487. package/extensions/skills/builtin/software-development/requesting-code-review/SKILL.md +275 -0
  488. package/extensions/skills/builtin/software-development/simplify-code/SKILL.md +118 -0
  489. package/extensions/skills/builtin/software-development/spike/SKILL.md +197 -0
  490. package/extensions/skills/builtin/software-development/systematic-debugging/SKILL.md +411 -0
  491. package/extensions/skills/builtin/software-development/test-driven-development/SKILL.md +362 -0
  492. package/extensions/skills/builtin/yuanbao/SKILL.md +108 -0
  493. package/extensions/skills/optional/DESCRIPTION.md +22 -0
  494. package/extensions/skills/optional/autonomous-ai-agents/DESCRIPTION.md +1 -0
  495. package/extensions/skills/optional/autonomous-ai-agents/antigravity-cli/SKILL.md +197 -0
  496. package/extensions/skills/optional/autonomous-ai-agents/antigravity-cli/references/cli-docs.md +64 -0
  497. package/extensions/skills/optional/autonomous-ai-agents/blackbox/SKILL.md +144 -0
  498. package/extensions/skills/optional/autonomous-ai-agents/grok/SKILL.md +246 -0
  499. package/extensions/skills/optional/autonomous-ai-agents/honcho/SKILL.md +431 -0
  500. package/extensions/skills/optional/autonomous-ai-agents/openhands/SKILL.md +149 -0
  501. package/extensions/skills/optional/creative/baoyu-article-illustrator/PORT_NOTES.md +48 -0
  502. package/extensions/skills/optional/creative/baoyu-article-illustrator/SKILL.md +207 -0
  503. package/extensions/skills/optional/creative/baoyu-article-illustrator/prompts/system.md +32 -0
  504. package/extensions/skills/optional/creative/baoyu-article-illustrator/references/palettes/macaron.md +33 -0
  505. package/extensions/skills/optional/creative/baoyu-article-illustrator/references/palettes/mono-ink.md +42 -0
  506. package/extensions/skills/optional/creative/baoyu-article-illustrator/references/palettes/neon.md +33 -0
  507. package/extensions/skills/optional/creative/baoyu-article-illustrator/references/palettes/warm.md +32 -0
  508. package/extensions/skills/optional/creative/baoyu-article-illustrator/references/prompt-construction.md +426 -0
  509. package/extensions/skills/optional/creative/baoyu-article-illustrator/references/style-presets.md +80 -0
  510. package/extensions/skills/optional/creative/baoyu-article-illustrator/references/styles/blueprint.md +57 -0
  511. package/extensions/skills/optional/creative/baoyu-article-illustrator/references/styles/chalkboard.md +62 -0
  512. package/extensions/skills/optional/creative/baoyu-article-illustrator/references/styles/editorial.md +59 -0
  513. package/extensions/skills/optional/creative/baoyu-article-illustrator/references/styles/elegant.md +56 -0
  514. package/extensions/skills/optional/creative/baoyu-article-illustrator/references/styles/fantasy-animation.md +58 -0
  515. package/extensions/skills/optional/creative/baoyu-article-illustrator/references/styles/flat-doodle.md +61 -0
  516. package/extensions/skills/optional/creative/baoyu-article-illustrator/references/styles/flat.md +59 -0
  517. package/extensions/skills/optional/creative/baoyu-article-illustrator/references/styles/ink-notes.md +90 -0
  518. package/extensions/skills/optional/creative/baoyu-article-illustrator/references/styles/intuition-machine.md +57 -0
  519. package/extensions/skills/optional/creative/baoyu-article-illustrator/references/styles/minimal.md +58 -0
  520. package/extensions/skills/optional/creative/baoyu-article-illustrator/references/styles/nature.md +58 -0
  521. package/extensions/skills/optional/creative/baoyu-article-illustrator/references/styles/notion.md +58 -0
  522. package/extensions/skills/optional/creative/baoyu-article-illustrator/references/styles/pixel-art.md +57 -0
  523. package/extensions/skills/optional/creative/baoyu-article-illustrator/references/styles/playful.md +59 -0
  524. package/extensions/skills/optional/creative/baoyu-article-illustrator/references/styles/retro.md +59 -0
  525. package/extensions/skills/optional/creative/baoyu-article-illustrator/references/styles/scientific.md +59 -0
  526. package/extensions/skills/optional/creative/baoyu-article-illustrator/references/styles/screen-print.md +70 -0
  527. package/extensions/skills/optional/creative/baoyu-article-illustrator/references/styles/sketch-notes.md +56 -0
  528. package/extensions/skills/optional/creative/baoyu-article-illustrator/references/styles/sketch.md +57 -0
  529. package/extensions/skills/optional/creative/baoyu-article-illustrator/references/styles/vector-illustration.md +57 -0
  530. package/extensions/skills/optional/creative/baoyu-article-illustrator/references/styles/vintage.md +59 -0
  531. package/extensions/skills/optional/creative/baoyu-article-illustrator/references/styles/warm.md +58 -0
  532. package/extensions/skills/optional/creative/baoyu-article-illustrator/references/styles/watercolor.md +58 -0
  533. package/extensions/skills/optional/creative/baoyu-article-illustrator/references/styles.md +223 -0
  534. package/extensions/skills/optional/creative/baoyu-article-illustrator/references/usage.md +50 -0
  535. package/extensions/skills/optional/creative/baoyu-article-illustrator/references/workflow.md +332 -0
  536. package/extensions/skills/optional/creative/baoyu-comic/PORT_NOTES.md +77 -0
  537. package/extensions/skills/optional/creative/baoyu-comic/SKILL.md +247 -0
  538. package/extensions/skills/optional/creative/baoyu-comic/references/analysis-framework.md +176 -0
  539. package/extensions/skills/optional/creative/baoyu-comic/references/art-styles/chalk.md +101 -0
  540. package/extensions/skills/optional/creative/baoyu-comic/references/art-styles/ink-brush.md +97 -0
  541. package/extensions/skills/optional/creative/baoyu-comic/references/art-styles/ligne-claire.md +75 -0
  542. package/extensions/skills/optional/creative/baoyu-comic/references/art-styles/manga.md +93 -0
  543. package/extensions/skills/optional/creative/baoyu-comic/references/art-styles/minimalist.md +84 -0
  544. package/extensions/skills/optional/creative/baoyu-comic/references/art-styles/realistic.md +89 -0
  545. package/extensions/skills/optional/creative/baoyu-comic/references/auto-selection.md +71 -0
  546. package/extensions/skills/optional/creative/baoyu-comic/references/base-prompt.md +98 -0
  547. package/extensions/skills/optional/creative/baoyu-comic/references/character-template.md +180 -0
  548. package/extensions/skills/optional/creative/baoyu-comic/references/layouts/cinematic.md +23 -0
  549. package/extensions/skills/optional/creative/baoyu-comic/references/layouts/dense.md +23 -0
  550. package/extensions/skills/optional/creative/baoyu-comic/references/layouts/four-panel.md +40 -0
  551. package/extensions/skills/optional/creative/baoyu-comic/references/layouts/mixed.md +23 -0
  552. package/extensions/skills/optional/creative/baoyu-comic/references/layouts/splash.md +23 -0
  553. package/extensions/skills/optional/creative/baoyu-comic/references/layouts/standard.md +23 -0
  554. package/extensions/skills/optional/creative/baoyu-comic/references/layouts/webtoon.md +30 -0
  555. package/extensions/skills/optional/creative/baoyu-comic/references/ohmsha-guide.md +85 -0
  556. package/extensions/skills/optional/creative/baoyu-comic/references/partial-workflows.md +106 -0
  557. package/extensions/skills/optional/creative/baoyu-comic/references/presets/concept-story.md +121 -0
  558. package/extensions/skills/optional/creative/baoyu-comic/references/presets/four-panel.md +107 -0
  559. package/extensions/skills/optional/creative/baoyu-comic/references/presets/ohmsha.md +114 -0
  560. package/extensions/skills/optional/creative/baoyu-comic/references/presets/shoujo.md +116 -0
  561. package/extensions/skills/optional/creative/baoyu-comic/references/presets/wuxia.md +110 -0
  562. package/extensions/skills/optional/creative/baoyu-comic/references/storyboard-template.md +142 -0
  563. package/extensions/skills/optional/creative/baoyu-comic/references/tones/action.md +110 -0
  564. package/extensions/skills/optional/creative/baoyu-comic/references/tones/dramatic.md +95 -0
  565. package/extensions/skills/optional/creative/baoyu-comic/references/tones/energetic.md +105 -0
  566. package/extensions/skills/optional/creative/baoyu-comic/references/tones/neutral.md +63 -0
  567. package/extensions/skills/optional/creative/baoyu-comic/references/tones/romantic.md +100 -0
  568. package/extensions/skills/optional/creative/baoyu-comic/references/tones/vintage.md +104 -0
  569. package/extensions/skills/optional/creative/baoyu-comic/references/tones/warm.md +94 -0
  570. package/extensions/skills/optional/creative/baoyu-comic/references/workflow.md +401 -0
  571. package/extensions/skills/optional/creative/blender-mcp/SKILL.md +117 -0
  572. package/extensions/skills/optional/creative/concept-diagrams/SKILL.md +362 -0
  573. package/extensions/skills/optional/creative/concept-diagrams/examples/apartment-floor-plan-conversion.md +244 -0
  574. package/extensions/skills/optional/creative/concept-diagrams/examples/automated-password-reset-flow.md +276 -0
  575. package/extensions/skills/optional/creative/concept-diagrams/examples/autonomous-llm-research-agent-flow.md +240 -0
  576. package/extensions/skills/optional/creative/concept-diagrams/examples/banana-journey-tree-to-smoothie.md +161 -0
  577. package/extensions/skills/optional/creative/concept-diagrams/examples/commercial-aircraft-structure.md +209 -0
  578. package/extensions/skills/optional/creative/concept-diagrams/examples/cpu-ooo-microarchitecture.md +236 -0
  579. package/extensions/skills/optional/creative/concept-diagrams/examples/electricity-grid-flow.md +182 -0
  580. package/extensions/skills/optional/creative/concept-diagrams/examples/feature-film-production-pipeline.md +172 -0
  581. package/extensions/skills/optional/creative/concept-diagrams/examples/hospital-emergency-department-flow.md +165 -0
  582. package/extensions/skills/optional/creative/concept-diagrams/examples/ml-benchmark-grouped-bar-chart.md +114 -0
  583. package/extensions/skills/optional/creative/concept-diagrams/examples/place-order-uml-sequence.md +325 -0
  584. package/extensions/skills/optional/creative/concept-diagrams/examples/smart-city-infrastructure.md +173 -0
  585. package/extensions/skills/optional/creative/concept-diagrams/examples/smartphone-layer-anatomy.md +154 -0
  586. package/extensions/skills/optional/creative/concept-diagrams/examples/sn2-reaction-mechanism.md +247 -0
  587. package/extensions/skills/optional/creative/concept-diagrams/examples/wind-turbine-structure.md +338 -0
  588. package/extensions/skills/optional/creative/concept-diagrams/references/dashboard-patterns.md +43 -0
  589. package/extensions/skills/optional/creative/concept-diagrams/references/infrastructure-patterns.md +144 -0
  590. package/extensions/skills/optional/creative/concept-diagrams/references/physical-shape-cookbook.md +42 -0
  591. package/extensions/skills/optional/creative/concept-diagrams/templates/template.html +174 -0
  592. package/extensions/skills/optional/creative/creative-ideation/SKILL.md +177 -0
  593. package/extensions/skills/optional/creative/creative-ideation/references/anti-slop.md +106 -0
  594. package/extensions/skills/optional/creative/creative-ideation/references/exercises.md +71 -0
  595. package/extensions/skills/optional/creative/creative-ideation/references/full-prompt-library.md +180 -0
  596. package/extensions/skills/optional/creative/creative-ideation/references/heuristics.md +85 -0
  597. package/extensions/skills/optional/creative/creative-ideation/references/method-catalog.md +88 -0
  598. package/extensions/skills/optional/creative/creative-ideation/references/methods/affinity-diagrams.md +67 -0
  599. package/extensions/skills/optional/creative/creative-ideation/references/methods/analogy-and-blending.md +83 -0
  600. package/extensions/skills/optional/creative/creative-ideation/references/methods/biomimicry.md +58 -0
  601. package/extensions/skills/optional/creative/creative-ideation/references/methods/chance-and-remix.md +75 -0
  602. package/extensions/skills/optional/creative/creative-ideation/references/methods/compression-progress.md +64 -0
  603. package/extensions/skills/optional/creative/creative-ideation/references/methods/creative-discipline.md +82 -0
  604. package/extensions/skills/optional/creative/creative-ideation/references/methods/defamiliarization.md +58 -0
  605. package/extensions/skills/optional/creative/creative-ideation/references/methods/derive-and-mapping.md +76 -0
  606. package/extensions/skills/optional/creative/creative-ideation/references/methods/first-principles.md +63 -0
  607. package/extensions/skills/optional/creative/creative-ideation/references/methods/jobs-to-be-done.md +73 -0
  608. package/extensions/skills/optional/creative/creative-ideation/references/methods/lateral-provocations.md +81 -0
  609. package/extensions/skills/optional/creative/creative-ideation/references/methods/leverage-points.md +70 -0
  610. package/extensions/skills/optional/creative/creative-ideation/references/methods/oblique-strategies.md +87 -0
  611. package/extensions/skills/optional/creative/creative-ideation/references/methods/oulipo.md +75 -0
  612. package/extensions/skills/optional/creative/creative-ideation/references/methods/pataphysics.md +64 -0
  613. package/extensions/skills/optional/creative/creative-ideation/references/methods/pattern-languages.md +78 -0
  614. package/extensions/skills/optional/creative/creative-ideation/references/methods/polya.md +77 -0
  615. package/extensions/skills/optional/creative/creative-ideation/references/methods/premortem-and-inversion.md +71 -0
  616. package/extensions/skills/optional/creative/creative-ideation/references/methods/scamper.md +63 -0
  617. package/extensions/skills/optional/creative/creative-ideation/references/methods/story-skeletons.md +100 -0
  618. package/extensions/skills/optional/creative/creative-ideation/references/methods/triz-principles.md +95 -0
  619. package/extensions/skills/optional/creative/creative-ideation/references/methods/volume-generation.md +74 -0
  620. package/extensions/skills/optional/creative/hyperframes/SKILL.md +191 -0
  621. package/extensions/skills/optional/creative/hyperframes/references/cli.md +185 -0
  622. package/extensions/skills/optional/creative/hyperframes/references/composition.md +129 -0
  623. package/extensions/skills/optional/creative/hyperframes/references/features.md +289 -0
  624. package/extensions/skills/optional/creative/hyperframes/references/gsap.md +136 -0
  625. package/extensions/skills/optional/creative/hyperframes/references/troubleshooting.md +137 -0
  626. package/extensions/skills/optional/creative/hyperframes/references/website-to-video.md +145 -0
  627. package/extensions/skills/optional/creative/hyperframes/scripts/setup.sh +135 -0
  628. package/extensions/skills/optional/creative/kanban-video-orchestrator/SKILL.md +158 -0
  629. package/extensions/skills/optional/creative/kanban-video-orchestrator/assets/brief.md.tmpl +79 -0
  630. package/extensions/skills/optional/creative/kanban-video-orchestrator/assets/setup.sh.tmpl +186 -0
  631. package/extensions/skills/optional/creative/kanban-video-orchestrator/assets/soul.md.tmpl +38 -0
  632. package/extensions/skills/optional/creative/kanban-video-orchestrator/references/examples.md +203 -0
  633. package/extensions/skills/optional/creative/kanban-video-orchestrator/references/intake.md +142 -0
  634. package/extensions/skills/optional/creative/kanban-video-orchestrator/references/kanban-setup.md +271 -0
  635. package/extensions/skills/optional/creative/kanban-video-orchestrator/references/monitoring.md +155 -0
  636. package/extensions/skills/optional/creative/kanban-video-orchestrator/references/role-archetypes.md +234 -0
  637. package/extensions/skills/optional/creative/kanban-video-orchestrator/references/tool-matrix.md +281 -0
  638. package/extensions/skills/optional/creative/kanban-video-orchestrator/scripts/bootstrap_pipeline.py +499 -0
  639. package/extensions/skills/optional/creative/kanban-video-orchestrator/scripts/monitor.py +195 -0
  640. package/extensions/skills/optional/creative/meme-generation/EXAMPLES.md +46 -0
  641. package/extensions/skills/optional/creative/meme-generation/SKILL.md +130 -0
  642. package/extensions/skills/optional/creative/meme-generation/scripts/generate_meme.py +470 -0
  643. package/extensions/skills/optional/creative/meme-generation/scripts/templates.json +97 -0
  644. package/extensions/skills/optional/creative/pixel-art/ATTRIBUTION.md +48 -0
  645. package/extensions/skills/optional/creative/pixel-art/SKILL.md +199 -0
  646. package/extensions/skills/optional/creative/pixel-art/references/palettes.md +49 -0
  647. package/extensions/skills/optional/creative/pixel-art/scripts/__init__.py +0 -0
  648. package/extensions/skills/optional/creative/pixel-art/scripts/palettes.py +167 -0
  649. package/extensions/skills/optional/creative/pixel-art/scripts/pixel_art.py +162 -0
  650. package/extensions/skills/optional/creative/pixel-art/scripts/pixel_art_video.py +345 -0
  651. package/extensions/skills/optional/devops/cli/SKILL.md +156 -0
  652. package/extensions/skills/optional/devops/cli/references/app-discovery.md +111 -0
  653. package/extensions/skills/optional/devops/cli/references/authentication.md +59 -0
  654. package/extensions/skills/optional/devops/cli/references/cli-reference.md +104 -0
  655. package/extensions/skills/optional/devops/cli/references/running-apps.md +171 -0
  656. package/extensions/skills/optional/devops/docker-management/SKILL.md +281 -0
  657. package/extensions/skills/optional/devops/hermes-s6-container-supervision/SKILL.md +178 -0
  658. package/extensions/skills/optional/devops/pinggy-tunnel/SKILL.md +309 -0
  659. package/extensions/skills/optional/devops/watchers/SKILL.md +111 -0
  660. package/extensions/skills/optional/devops/watchers/scripts/_watermark.py +148 -0
  661. package/extensions/skills/optional/devops/watchers/scripts/watch_github.py +169 -0
  662. package/extensions/skills/optional/devops/watchers/scripts/watch_http_json.py +131 -0
  663. package/extensions/skills/optional/devops/watchers/scripts/watch_rss.py +121 -0
  664. package/extensions/skills/optional/dogfood/DESCRIPTION.md +3 -0
  665. package/extensions/skills/optional/dogfood/adversarial-ux-test/SKILL.md +191 -0
  666. package/extensions/skills/optional/finance/3-statement-model/SKILL.md +430 -0
  667. package/extensions/skills/optional/finance/3-statement-model/references/formatting.md +118 -0
  668. package/extensions/skills/optional/finance/3-statement-model/references/formulas.md +292 -0
  669. package/extensions/skills/optional/finance/3-statement-model/references/sec-filings.md +125 -0
  670. package/extensions/skills/optional/finance/comps-analysis/SKILL.md +662 -0
  671. package/extensions/skills/optional/finance/dcf-model/SKILL.md +850 -0
  672. package/extensions/skills/optional/finance/dcf-model/TROUBLESHOOTING.md +40 -0
  673. package/extensions/skills/optional/finance/dcf-model/requirements.txt +7 -0
  674. package/extensions/skills/optional/finance/dcf-model/scripts/validate_dcf.py +291 -0
  675. package/extensions/skills/optional/finance/excel-author/SKILL.md +244 -0
  676. package/extensions/skills/optional/finance/excel-author/scripts/recalc.py +88 -0
  677. package/extensions/skills/optional/finance/lbo-model/SKILL.md +290 -0
  678. package/extensions/skills/optional/finance/merger-model/SKILL.md +144 -0
  679. package/extensions/skills/optional/finance/pptx-author/SKILL.md +173 -0
  680. package/extensions/skills/optional/finance/stocks/SKILL.md +88 -0
  681. package/extensions/skills/optional/finance/stocks/scripts/stocks_client.py +755 -0
  682. package/extensions/skills/optional/mcp/DESCRIPTION.md +3 -0
  683. package/extensions/skills/optional/mcp/fastmcp/SKILL.md +300 -0
  684. package/extensions/skills/optional/mcp/fastmcp/references/fastmcp-cli.md +110 -0
  685. package/extensions/skills/optional/mcp/fastmcp/scripts/scaffold_fastmcp.py +56 -0
  686. package/extensions/skills/optional/mcp/fastmcp/templates/api_wrapper.py +54 -0
  687. package/extensions/skills/optional/mcp/fastmcp/templates/database_server.py +77 -0
  688. package/extensions/skills/optional/mcp/fastmcp/templates/file_processor.py +55 -0
  689. package/extensions/skills/optional/mcp/mcporter/SKILL.md +123 -0
  690. package/extensions/skills/optional/migration/DESCRIPTION.md +1 -0
  691. package/extensions/skills/optional/migration/openclaw-migration/SKILL.md +298 -0
  692. package/extensions/skills/optional/migration/openclaw-migration/scripts/openclaw_to_hermes.py +3136 -0
  693. package/extensions/skills/optional/mlops/accelerate/SKILL.md +333 -0
  694. package/extensions/skills/optional/mlops/accelerate/references/custom-plugins.md +453 -0
  695. package/extensions/skills/optional/mlops/accelerate/references/megatron-integration.md +489 -0
  696. package/extensions/skills/optional/mlops/accelerate/references/performance.md +525 -0
  697. package/extensions/skills/optional/mlops/chroma/SKILL.md +408 -0
  698. package/extensions/skills/optional/mlops/chroma/references/integration.md +38 -0
  699. package/extensions/skills/optional/mlops/clip/SKILL.md +255 -0
  700. package/extensions/skills/optional/mlops/clip/references/applications.md +207 -0
  701. package/extensions/skills/optional/mlops/faiss/SKILL.md +223 -0
  702. package/extensions/skills/optional/mlops/faiss/references/index_types.md +280 -0
  703. package/extensions/skills/optional/mlops/flash-attention/SKILL.md +364 -0
  704. package/extensions/skills/optional/mlops/flash-attention/references/benchmarks.md +215 -0
  705. package/extensions/skills/optional/mlops/flash-attention/references/transformers-integration.md +293 -0
  706. package/extensions/skills/optional/mlops/guidance/SKILL.md +574 -0
  707. package/extensions/skills/optional/mlops/guidance/references/backends.md +553 -0
  708. package/extensions/skills/optional/mlops/guidance/references/constraints.md +674 -0
  709. package/extensions/skills/optional/mlops/guidance/references/examples.md +767 -0
  710. package/extensions/skills/optional/mlops/huggingface-tokenizers/SKILL.md +518 -0
  711. package/extensions/skills/optional/mlops/huggingface-tokenizers/references/algorithms.md +653 -0
  712. package/extensions/skills/optional/mlops/huggingface-tokenizers/references/integration.md +637 -0
  713. package/extensions/skills/optional/mlops/huggingface-tokenizers/references/pipeline.md +723 -0
  714. package/extensions/skills/optional/mlops/huggingface-tokenizers/references/training.md +565 -0
  715. package/extensions/skills/optional/mlops/inference/outlines/SKILL.md +654 -0
  716. package/extensions/skills/optional/mlops/inference/outlines/references/backends.md +615 -0
  717. package/extensions/skills/optional/mlops/inference/outlines/references/examples.md +773 -0
  718. package/extensions/skills/optional/mlops/inference/outlines/references/json_generation.md +649 -0
  719. package/extensions/skills/optional/mlops/instructor/SKILL.md +742 -0
  720. package/extensions/skills/optional/mlops/instructor/references/examples.md +107 -0
  721. package/extensions/skills/optional/mlops/instructor/references/providers.md +70 -0
  722. package/extensions/skills/optional/mlops/instructor/references/validation.md +606 -0
  723. package/extensions/skills/optional/mlops/lambda-labs/SKILL.md +549 -0
  724. package/extensions/skills/optional/mlops/lambda-labs/references/advanced-usage.md +611 -0
  725. package/extensions/skills/optional/mlops/lambda-labs/references/troubleshooting.md +530 -0
  726. package/extensions/skills/optional/mlops/llava/SKILL.md +306 -0
  727. package/extensions/skills/optional/mlops/llava/references/training.md +197 -0
  728. package/extensions/skills/optional/mlops/modal/SKILL.md +345 -0
  729. package/extensions/skills/optional/mlops/modal/references/advanced-usage.md +503 -0
  730. package/extensions/skills/optional/mlops/modal/references/troubleshooting.md +494 -0
  731. package/extensions/skills/optional/mlops/nemo-curator/SKILL.md +384 -0
  732. package/extensions/skills/optional/mlops/nemo-curator/references/deduplication.md +87 -0
  733. package/extensions/skills/optional/mlops/nemo-curator/references/filtering.md +102 -0
  734. package/extensions/skills/optional/mlops/obliteratus/SKILL.md +342 -0
  735. package/extensions/skills/optional/mlops/obliteratus/references/analysis-modules.md +160 -0
  736. package/extensions/skills/optional/mlops/obliteratus/references/methods-guide.md +139 -0
  737. package/extensions/skills/optional/mlops/obliteratus/templates/abliteration-config.yaml +33 -0
  738. package/extensions/skills/optional/mlops/obliteratus/templates/analysis-study.yaml +40 -0
  739. package/extensions/skills/optional/mlops/obliteratus/templates/batch-abliteration.yaml +41 -0
  740. package/extensions/skills/optional/mlops/peft/SKILL.md +435 -0
  741. package/extensions/skills/optional/mlops/peft/references/advanced-usage.md +514 -0
  742. package/extensions/skills/optional/mlops/peft/references/troubleshooting.md +480 -0
  743. package/extensions/skills/optional/mlops/pinecone/SKILL.md +360 -0
  744. package/extensions/skills/optional/mlops/pinecone/references/deployment.md +181 -0
  745. package/extensions/skills/optional/mlops/pytorch-fsdp/SKILL.md +85 -0
  746. package/extensions/skills/optional/mlops/pytorch-fsdp/references/index.md +7 -0
  747. package/extensions/skills/optional/mlops/pytorch-fsdp/references/other.md +3297 -0
  748. package/extensions/skills/optional/mlops/pytorch-lightning/SKILL.md +348 -0
  749. package/extensions/skills/optional/mlops/pytorch-lightning/references/callbacks.md +436 -0
  750. package/extensions/skills/optional/mlops/pytorch-lightning/references/distributed.md +490 -0
  751. package/extensions/skills/optional/mlops/pytorch-lightning/references/hyperparameter-tuning.md +556 -0
  752. package/extensions/skills/optional/mlops/qdrant/SKILL.md +497 -0
  753. package/extensions/skills/optional/mlops/qdrant/references/advanced-usage.md +648 -0
  754. package/extensions/skills/optional/mlops/qdrant/references/troubleshooting.md +631 -0
  755. package/extensions/skills/optional/mlops/research/DESCRIPTION.md +3 -0
  756. package/extensions/skills/optional/mlops/research/dspy/SKILL.md +592 -0
  757. package/extensions/skills/optional/mlops/research/dspy/references/examples.md +663 -0
  758. package/extensions/skills/optional/mlops/research/dspy/references/modules.md +475 -0
  759. package/extensions/skills/optional/mlops/research/dspy/references/optimizers.md +566 -0
  760. package/extensions/skills/optional/mlops/saelens/SKILL.md +390 -0
  761. package/extensions/skills/optional/mlops/saelens/references/README.md +69 -0
  762. package/extensions/skills/optional/mlops/saelens/references/api.md +333 -0
  763. package/extensions/skills/optional/mlops/saelens/references/tutorials.md +318 -0
  764. package/extensions/skills/optional/mlops/simpo/SKILL.md +220 -0
  765. package/extensions/skills/optional/mlops/simpo/references/datasets.md +478 -0
  766. package/extensions/skills/optional/mlops/simpo/references/hyperparameters.md +452 -0
  767. package/extensions/skills/optional/mlops/simpo/references/loss-functions.md +350 -0
  768. package/extensions/skills/optional/mlops/slime/SKILL.md +467 -0
  769. package/extensions/skills/optional/mlops/slime/references/api-reference.md +392 -0
  770. package/extensions/skills/optional/mlops/slime/references/troubleshooting.md +386 -0
  771. package/extensions/skills/optional/mlops/stable-diffusion/SKILL.md +523 -0
  772. package/extensions/skills/optional/mlops/stable-diffusion/references/advanced-usage.md +716 -0
  773. package/extensions/skills/optional/mlops/stable-diffusion/references/troubleshooting.md +555 -0
  774. package/extensions/skills/optional/mlops/tensorrt-llm/SKILL.md +189 -0
  775. package/extensions/skills/optional/mlops/tensorrt-llm/references/multi-gpu.md +298 -0
  776. package/extensions/skills/optional/mlops/tensorrt-llm/references/optimization.md +242 -0
  777. package/extensions/skills/optional/mlops/tensorrt-llm/references/serving.md +470 -0
  778. package/extensions/skills/optional/mlops/torchtitan/SKILL.md +361 -0
  779. package/extensions/skills/optional/mlops/torchtitan/references/checkpoint.md +181 -0
  780. package/extensions/skills/optional/mlops/torchtitan/references/custom-models.md +258 -0
  781. package/extensions/skills/optional/mlops/torchtitan/references/float8.md +133 -0
  782. package/extensions/skills/optional/mlops/torchtitan/references/fsdp.md +126 -0
  783. package/extensions/skills/optional/mlops/training/axolotl/SKILL.md +164 -0
  784. package/extensions/skills/optional/mlops/training/axolotl/references/api.md +1535 -0
  785. package/extensions/skills/optional/mlops/training/axolotl/references/dataset-formats.md +843 -0
  786. package/extensions/skills/optional/mlops/training/axolotl/references/index.md +15 -0
  787. package/extensions/skills/optional/mlops/training/axolotl/references/other.md +2367 -0
  788. package/extensions/skills/optional/mlops/training/trl-fine-tuning/SKILL.md +460 -0
  789. package/extensions/skills/optional/mlops/training/trl-fine-tuning/references/dpo-variants.md +227 -0
  790. package/extensions/skills/optional/mlops/training/trl-fine-tuning/references/grpo-training.md +504 -0
  791. package/extensions/skills/optional/mlops/training/trl-fine-tuning/references/online-rl.md +82 -0
  792. package/extensions/skills/optional/mlops/training/trl-fine-tuning/references/reward-modeling.md +122 -0
  793. package/extensions/skills/optional/mlops/training/trl-fine-tuning/references/sft-training.md +168 -0
  794. package/extensions/skills/optional/mlops/training/trl-fine-tuning/templates/basic_grpo_training.py +228 -0
  795. package/extensions/skills/optional/mlops/training/unsloth/SKILL.md +81 -0
  796. package/extensions/skills/optional/mlops/training/unsloth/references/index.md +7 -0
  797. package/extensions/skills/optional/mlops/training/unsloth/references/llms-full.md +381 -0
  798. package/extensions/skills/optional/mlops/training/unsloth/references/llms-txt.md +382 -0
  799. package/extensions/skills/optional/mlops/training/unsloth/references/llms.md +82 -0
  800. package/extensions/skills/optional/mlops/whisper/SKILL.md +319 -0
  801. package/extensions/skills/optional/mlops/whisper/references/languages.md +189 -0
  802. package/extensions/skills/optional/productivity/canvas/SKILL.md +98 -0
  803. package/extensions/skills/optional/productivity/canvas/scripts/canvas_api.py +160 -0
  804. package/extensions/skills/optional/productivity/here-now/SKILL.md +217 -0
  805. package/extensions/skills/optional/productivity/here-now/scripts/drive.sh +406 -0
  806. package/extensions/skills/optional/productivity/here-now/scripts/publish.sh +445 -0
  807. package/extensions/skills/optional/productivity/memento-flashcards/SKILL.md +324 -0
  808. package/extensions/skills/optional/productivity/memento-flashcards/scripts/memento_cards.py +353 -0
  809. package/extensions/skills/optional/productivity/memento-flashcards/scripts/youtube_quiz.py +88 -0
  810. package/extensions/skills/optional/productivity/shop/SKILL.md +224 -0
  811. package/extensions/skills/optional/productivity/shop/references/catalog-mcp.md +236 -0
  812. package/extensions/skills/optional/productivity/shop/references/direct-api.md +265 -0
  813. package/extensions/skills/optional/productivity/shop/references/legal.md +3 -0
  814. package/extensions/skills/optional/productivity/shop/references/safety.md +36 -0
  815. package/extensions/skills/optional/productivity/shopify/SKILL.md +373 -0
  816. package/extensions/skills/optional/productivity/siyuan/SKILL.md +298 -0
  817. package/extensions/skills/optional/productivity/telephony/SKILL.md +418 -0
  818. package/extensions/skills/optional/productivity/telephony/scripts/telephony.py +1343 -0
  819. package/extensions/skills/optional/research/bioinformatics/SKILL.md +235 -0
  820. package/extensions/skills/optional/research/darwinian-evolver/SKILL.md +161 -0
  821. package/extensions/skills/optional/research/darwinian-evolver/scripts/parrot_openrouter.py +218 -0
  822. package/extensions/skills/optional/research/darwinian-evolver/scripts/show_snapshot.py +92 -0
  823. package/extensions/skills/optional/research/darwinian-evolver/templates/custom_problem_template.py +240 -0
  824. package/extensions/skills/optional/research/domain-intel/SKILL.md +97 -0
  825. package/extensions/skills/optional/research/domain-intel/scripts/domain_intel.py +397 -0
  826. package/extensions/skills/optional/research/drug-discovery/SKILL.md +218 -0
  827. package/extensions/skills/optional/research/drug-discovery/references/ADMET_REFERENCE.md +66 -0
  828. package/extensions/skills/optional/research/drug-discovery/scripts/chembl_target.py +53 -0
  829. package/extensions/skills/optional/research/drug-discovery/scripts/ro5_screen.py +44 -0
  830. package/extensions/skills/optional/research/duckduckgo-search/SKILL.md +238 -0
  831. package/extensions/skills/optional/research/duckduckgo-search/scripts/duckduckgo.sh +28 -0
  832. package/extensions/skills/optional/research/gitnexus-explorer/SKILL.md +196 -0
  833. package/extensions/skills/optional/research/gitnexus-explorer/scripts/proxy.mjs +92 -0
  834. package/extensions/skills/optional/research/osint-investigation/SKILL.md +227 -0
  835. package/extensions/skills/optional/research/osint-investigation/references/sources/courtlistener.md +92 -0
  836. package/extensions/skills/optional/research/osint-investigation/references/sources/gdelt.md +94 -0
  837. package/extensions/skills/optional/research/osint-investigation/references/sources/icij-offshore.md +79 -0
  838. package/extensions/skills/optional/research/osint-investigation/references/sources/nyc-acris.md +85 -0
  839. package/extensions/skills/optional/research/osint-investigation/references/sources/ofac-sdn.md +84 -0
  840. package/extensions/skills/optional/research/osint-investigation/references/sources/opencorporates.md +88 -0
  841. package/extensions/skills/optional/research/osint-investigation/references/sources/sec-edgar.md +80 -0
  842. package/extensions/skills/optional/research/osint-investigation/references/sources/senate-ld.md +85 -0
  843. package/extensions/skills/optional/research/osint-investigation/references/sources/usaspending.md +90 -0
  844. package/extensions/skills/optional/research/osint-investigation/references/sources/wayback.md +87 -0
  845. package/extensions/skills/optional/research/osint-investigation/references/sources/wikipedia.md +96 -0
  846. package/extensions/skills/optional/research/osint-investigation/scripts/_http.py +82 -0
  847. package/extensions/skills/optional/research/osint-investigation/scripts/_normalize.py +67 -0
  848. package/extensions/skills/optional/research/osint-investigation/scripts/build_findings.py +221 -0
  849. package/extensions/skills/optional/research/osint-investigation/scripts/entity_resolution.py +228 -0
  850. package/extensions/skills/optional/research/osint-investigation/scripts/fetch_courtlistener.py +149 -0
  851. package/extensions/skills/optional/research/osint-investigation/scripts/fetch_gdelt.py +161 -0
  852. package/extensions/skills/optional/research/osint-investigation/scripts/fetch_icij_offshore.py +234 -0
  853. package/extensions/skills/optional/research/osint-investigation/scripts/fetch_nyc_acris.py +203 -0
  854. package/extensions/skills/optional/research/osint-investigation/scripts/fetch_ofac_sdn.py +175 -0
  855. package/extensions/skills/optional/research/osint-investigation/scripts/fetch_opencorporates.py +191 -0
  856. package/extensions/skills/optional/research/osint-investigation/scripts/fetch_sec_edgar.py +184 -0
  857. package/extensions/skills/optional/research/osint-investigation/scripts/fetch_senate_ld.py +146 -0
  858. package/extensions/skills/optional/research/osint-investigation/scripts/fetch_usaspending.py +170 -0
  859. package/extensions/skills/optional/research/osint-investigation/scripts/fetch_wayback.py +142 -0
  860. package/extensions/skills/optional/research/osint-investigation/scripts/fetch_wikipedia.py +266 -0
  861. package/extensions/skills/optional/research/osint-investigation/scripts/timing_analysis.py +252 -0
  862. package/extensions/skills/optional/research/osint-investigation/templates/source-template.md +57 -0
  863. package/extensions/skills/optional/research/parallel-cli/SKILL.md +391 -0
  864. package/extensions/skills/optional/research/qmd/SKILL.md +417 -0
  865. package/extensions/skills/optional/research/scrapling/SKILL.md +336 -0
  866. package/extensions/skills/optional/research/searxng-search/SKILL.md +212 -0
  867. package/extensions/skills/optional/research/searxng-search/scripts/searxng.sh +22 -0
  868. package/extensions/skills/optional/security/DESCRIPTION.md +3 -0
  869. package/extensions/skills/optional/software-development/code-wiki/SKILL.md +442 -0
  870. package/extensions/skills/optional/software-development/code-wiki/templates/README.md +31 -0
  871. package/extensions/skills/optional/software-development/code-wiki/templates/architecture.md +30 -0
  872. package/extensions/skills/optional/software-development/code-wiki/templates/getting-started.md +47 -0
  873. package/extensions/skills/optional/software-development/code-wiki/templates/module.md +38 -0
  874. package/extensions/skills/optional/software-development/rest-graphql-debug/SKILL.md +514 -0
  875. package/extensions/skills/optional/software-development/subagent-driven-development/SKILL.md +352 -0
  876. package/extensions/skills/optional/software-development/subagent-driven-development/references/context-budget-discipline.md +53 -0
  877. package/extensions/skills/optional/software-development/subagent-driven-development/references/gates-taxonomy.md +93 -0
  878. package/extensions/skills/optional/web-development/DESCRIPTION.md +5 -0
  879. package/extensions/skills/optional/web-development/cloudflare-temporary-deploy/SKILL.md +127 -0
  880. package/extensions/skills/optional/web-development/cloudflare-temporary-deploy/scripts/parse_deploy_output.py +122 -0
  881. package/extensions/skills/optional/web-development/page-agent/SKILL.md +190 -0
  882. package/interfaces/__init__.py +1 -0
  883. package/interfaces/api/__init__.py +1 -0
  884. package/interfaces/api/_impl/_models.py +105 -0
  885. package/interfaces/api/_impl/server.py +1480 -0
  886. package/interfaces/cli/__init__.py +1 -0
  887. package/interfaces/cli/_impl/__init__.py +1 -0
  888. package/interfaces/cli/_impl/commands/__init__.py +1 -0
  889. package/interfaces/cli/_impl/commands/agents.py +106 -0
  890. package/interfaces/cli/_impl/commands/architecture.py +63 -0
  891. package/interfaces/cli/_impl/commands/chat_repl.py +291 -0
  892. package/interfaces/cli/_impl/commands/common.py +17 -0
  893. package/interfaces/cli/_impl/commands/cron.py +145 -0
  894. package/interfaces/cli/_impl/commands/doctor.py +201 -0
  895. package/interfaces/cli/_impl/commands/gateway.py +111 -0
  896. package/interfaces/cli/_impl/commands/llm.py +113 -0
  897. package/interfaces/cli/_impl/commands/models.py +578 -0
  898. package/interfaces/cli/_impl/commands/orchestrator.py +71 -0
  899. package/interfaces/cli/_impl/commands/run_agent.py +102 -0
  900. package/interfaces/cli/_impl/commands/sessions.py +237 -0
  901. package/interfaces/cli/_impl/commands/skill.py +121 -0
  902. package/interfaces/cli/_impl/commands/smoke_test.py +193 -0
  903. package/interfaces/cli/_impl/commands/soul.py +106 -0
  904. package/interfaces/cli/_impl/commands/tools.py +249 -0
  905. package/interfaces/cli/_impl/handlers/__init__.py +1 -0
  906. package/interfaces/cli/_impl/main.py +727 -0
  907. package/interfaces/cli/_impl/parser/__init__.py +1 -0
  908. package/interfaces/cli/_impl/renderers/__init__.py +23 -0
  909. package/interfaces/cli/_impl/result.py +81 -0
  910. package/interfaces/gateway/__init__.py +1 -0
  911. package/interfaces/gateway/_impl/__init__.py +163 -0
  912. package/interfaces/gateway/_impl/adapters/dingtalk/__init__.py +8 -0
  913. package/interfaces/gateway/_impl/adapters/dingtalk/adapter.py +100 -0
  914. package/interfaces/gateway/_impl/adapters/feishu/__init__.py +8 -0
  915. package/interfaces/gateway/_impl/adapters/feishu/adapter.py +575 -0
  916. package/interfaces/gateway/_impl/adapters/qq/__init__.py +8 -0
  917. package/interfaces/gateway/_impl/adapters/qq/adapter.py +266 -0
  918. package/interfaces/gateway/_impl/adapters/slack/__init__.py +8 -0
  919. package/interfaces/gateway/_impl/adapters/slack/adapter.py +72 -0
  920. package/interfaces/gateway/_impl/adapters/wechat/__init__.py +8 -0
  921. package/interfaces/gateway/_impl/adapters/wechat/adapter.py +239 -0
  922. package/interfaces/gateway/_impl/middleware/__init__.py +1 -0
  923. package/interfaces/gateway/_impl/routes/__init__.py +1 -0
  924. package/interfaces/web/__init__.py +1 -0
  925. package/interfaces/web/frontend/.oxlintrc.json +8 -0
  926. package/interfaces/web/frontend/README.md +32 -0
  927. package/interfaces/web/frontend/index.html +13 -0
  928. package/interfaces/web/frontend/package-lock.json +5179 -0
  929. package/interfaces/web/frontend/package.json +48 -0
  930. package/interfaces/web/frontend/postcss.config.js +6 -0
  931. package/interfaces/web/frontend/public/cat-spritesheet.webp +0 -0
  932. package/interfaces/web/frontend/public/favicon.svg +1 -0
  933. package/interfaces/web/frontend/public/icons.svg +24 -0
  934. package/interfaces/web/frontend/run-5173.cmd +3 -0
  935. package/interfaces/web/frontend/src/App.css +184 -0
  936. package/interfaces/web/frontend/src/App.tsx +272 -0
  937. package/interfaces/web/frontend/src/api/client.ts +115 -0
  938. package/interfaces/web/frontend/src/assets/hero.png +0 -0
  939. package/interfaces/web/frontend/src/assets/react.svg +1 -0
  940. package/interfaces/web/frontend/src/assets/vite.svg +1 -0
  941. package/interfaces/web/frontend/src/components/AgentAvatar.tsx +59 -0
  942. package/interfaces/web/frontend/src/components/CatSpirit.tsx +248 -0
  943. package/interfaces/web/frontend/src/components/ChatFlow.tsx +587 -0
  944. package/interfaces/web/frontend/src/components/DateTimePicker.tsx +170 -0
  945. package/interfaces/web/frontend/src/components/MarkdownView.tsx +20 -0
  946. package/interfaces/web/frontend/src/components/NiceSelect.tsx +166 -0
  947. package/interfaces/web/frontend/src/components/PagePanel.tsx +68 -0
  948. package/interfaces/web/frontend/src/components/PixelCat.tsx +150 -0
  949. package/interfaces/web/frontend/src/components/RichEditor.tsx +129 -0
  950. package/interfaces/web/frontend/src/components/SakuraParticles.tsx +70 -0
  951. package/interfaces/web/frontend/src/components/SidebarLeft.tsx +100 -0
  952. package/interfaces/web/frontend/src/components/SidebarRight.tsx +333 -0
  953. package/interfaces/web/frontend/src/components/Toggle.tsx +19 -0
  954. package/interfaces/web/frontend/src/contexts/ThemeContext.tsx +230 -0
  955. package/interfaces/web/frontend/src/contexts/ThemeContextCore.ts +14 -0
  956. package/interfaces/web/frontend/src/contexts/useTheme.ts +8 -0
  957. package/interfaces/web/frontend/src/hooks/useAgent.ts +507 -0
  958. package/interfaces/web/frontend/src/hooks/useDashboardData.ts +160 -0
  959. package/interfaces/web/frontend/src/index.css +1903 -0
  960. package/interfaces/web/frontend/src/main.tsx +11 -0
  961. package/interfaces/web/frontend/src/mock/data.ts +3 -0
  962. package/interfaces/web/frontend/src/pages/AgentsPage.tsx +156 -0
  963. package/interfaces/web/frontend/src/pages/CronPage.tsx +80 -0
  964. package/interfaces/web/frontend/src/pages/FilesPage.tsx +57 -0
  965. package/interfaces/web/frontend/src/pages/McpPage.tsx +143 -0
  966. package/interfaces/web/frontend/src/pages/ModelsPage.tsx +170 -0
  967. package/interfaces/web/frontend/src/pages/SessionsPage.tsx +135 -0
  968. package/interfaces/web/frontend/src/pages/SkillsPage.tsx +4 -0
  969. package/interfaces/web/frontend/src/pages/SoulsPage.tsx +109 -0
  970. package/interfaces/web/frontend/src/pages/ToolsPage.tsx +3 -0
  971. package/interfaces/web/frontend/src/pages/UsagePage.tsx +132 -0
  972. package/interfaces/web/frontend/src/pages/WorkersPage.tsx +198 -0
  973. package/interfaces/web/frontend/src/types/index.ts +138 -0
  974. package/interfaces/web/frontend/tailwind.config.js +52 -0
  975. package/interfaces/web/frontend/tsconfig.app.json +26 -0
  976. package/interfaces/web/frontend/tsconfig.json +7 -0
  977. package/interfaces/web/frontend/tsconfig.node.json +23 -0
  978. package/interfaces/web/frontend/vite.config.ts +16 -0
  979. package/interfaces/web/frontend/yarn.lock +2281 -0
  980. package/interfaces/web/legacy_web/index.html +1259 -0
  981. package/lbs.py +6 -0
  982. package/package.json +53 -0
  983. package/requirements.txt +98 -0
  984. package/runtime/__init__.py +1 -0
  985. package/runtime/context/__init__.py +26 -0
  986. package/runtime/context/compression/strategies/__init__.py +1 -0
  987. package/runtime/context/compression/token_counter.py +62 -0
  988. package/runtime/context/compressor.py +594 -0
  989. package/runtime/context/management/__init__.py +1 -0
  990. package/runtime/context/management/context_builder.py +67 -0
  991. package/runtime/context/management/context_manager.py +1008 -0
  992. package/runtime/context/trimming/__init__.py +1 -0
  993. package/runtime/context/trimming/priority.py +58 -0
  994. package/runtime/context/trimming/window.py +56 -0
  995. package/runtime/core/__init__.py +1 -0
  996. package/runtime/core/llm/__init__.py +24 -0
  997. package/runtime/core/llm/auxiliary_client.py +279 -0
  998. package/runtime/core/llm/builtins.py +300 -0
  999. package/runtime/core/llm/client/__init__.py +699 -0
  1000. package/runtime/core/llm/credential.py +334 -0
  1001. package/runtime/core/llm/error_classifier.py +158 -0
  1002. package/runtime/core/llm/factory/__init__.py +1 -0
  1003. package/runtime/core/llm/health.py +106 -0
  1004. package/runtime/core/llm/model_router.py +592 -0
  1005. package/runtime/core/llm/provider.py +120 -0
  1006. package/runtime/core/llm/redact.py +142 -0
  1007. package/runtime/core/llm/registry/__init__.py +50 -0
  1008. package/runtime/core/llm/registry/models.yaml +233 -0
  1009. package/runtime/core/llm/think_scrubber.py +232 -0
  1010. package/runtime/core/llm/tokenizer.py +150 -0
  1011. package/runtime/core/llm/usage_pricing.py +373 -0
  1012. package/runtime/core/sub_agents/__init__.py +11 -0
  1013. package/runtime/core/sub_agents/agents.yaml +477 -0
  1014. package/runtime/core/sub_agents/base.py +28 -0
  1015. package/runtime/core/sub_agents/builtin/__init__.py +1 -0
  1016. package/runtime/core/sub_agents/registry.py +96 -0
  1017. package/runtime/core/tokenizer.py +146 -0
  1018. package/runtime/gateway.py +14 -0
  1019. package/runtime/memory/__init__.py +11 -0
  1020. package/runtime/memory/context_memory.py +249 -0
  1021. package/runtime/memory/long_term/knowledge_graph/__init__.py +1 -0
  1022. package/runtime/memory/long_term/sqlite/__init__.py +104 -0
  1023. package/runtime/memory/long_term/vector_store/__init__.py +1 -0
  1024. package/runtime/memory/manager.py +144 -0
  1025. package/runtime/memory/provider.py +97 -0
  1026. package/runtime/memory/providers/long_term.py +143 -0
  1027. package/runtime/memory/providers/working.py +53 -0
  1028. package/runtime/memory/session/__init__.py +4 -0
  1029. package/runtime/memory/session/identity.py +48 -0
  1030. package/runtime/memory/session/session_context.py +23 -0
  1031. package/runtime/memory/session/session_store.py +1118 -0
  1032. package/runtime/memory/short_term/__init__.py +8 -0
  1033. package/runtime/memory/short_term/buffer.py +8 -0
  1034. package/runtime/memory/short_term/working.py +93 -0
  1035. package/runtime/memory/task_contracts/__init__.py +115 -0
  1036. package/runtime/orchestration/__init__.py +8 -0
  1037. package/runtime/orchestration/auto_cycle/__init__.py +486 -0
  1038. package/runtime/orchestration/auto_cycle/trigger.py +8 -0
  1039. package/runtime/orchestration/background_review.py +470 -0
  1040. package/runtime/orchestration/display.py +206 -0
  1041. package/runtime/orchestration/iteration_budget.py +98 -0
  1042. package/runtime/orchestration/loop/__init__.py +17 -0
  1043. package/runtime/orchestration/loop/completion_gate.py +156 -0
  1044. package/runtime/orchestration/loop/context_window.py +71 -0
  1045. package/runtime/orchestration/loop/main_loop.py +2014 -0
  1046. package/runtime/orchestration/loop/message_history.py +71 -0
  1047. package/runtime/orchestration/loop/progress_tracker.py +211 -0
  1048. package/runtime/orchestration/loop/run_trace.py +70 -0
  1049. package/runtime/orchestration/loop/tool_call_executor.py +214 -0
  1050. package/runtime/orchestration/loop/tool_execution_contract.py +134 -0
  1051. package/runtime/orchestration/loop/types.py +282 -0
  1052. package/runtime/orchestration/retry_engine.py +241 -0
  1053. package/runtime/orchestration/runtime/__init__.py +20 -0
  1054. package/runtime/orchestration/runtime/arbiter.py +85 -0
  1055. package/runtime/orchestration/runtime/checkpoint.py +148 -0
  1056. package/runtime/orchestration/runtime/error_policy.py +55 -0
  1057. package/runtime/orchestration/runtime/events.py +92 -0
  1058. package/runtime/orchestration/runtime/process_registry.py +605 -0
  1059. package/runtime/orchestration/runtime/resume_manager.py +283 -0
  1060. package/runtime/orchestration/runtime/retry_policy.py +26 -0
  1061. package/runtime/orchestration/runtime/status.py +60 -0
  1062. package/runtime/orchestration/runtime/types.py +74 -0
  1063. package/runtime/orchestration/scheduler/__init__.py +8 -0
  1064. package/runtime/orchestration/scheduler/master_scheduler.py +36 -0
  1065. package/runtime/orchestration/scheduler/task_graph.py +67 -0
  1066. package/runtime/orchestration/supervisor_loop.py +1041 -0
  1067. package/runtime/orchestration/tool_guardrails.py +249 -0
  1068. package/runtime/orchestration/tracer.py +403 -0
  1069. package/runtime/orchestration/verification/__init__.py +14 -0
  1070. package/runtime/orchestration/verification/completion.py +248 -0
  1071. package/runtime/orchestration/verification/task_acceptance.py +87 -0
  1072. package/runtime/orchestration/verification/tool_result.py +38 -0
  1073. package/runtime/orchestration/verification/worker_result.py +54 -0
  1074. package/runtime/perception/README.md +24 -0
  1075. package/runtime/perception/__init__.py +5 -0
  1076. package/runtime/perception/detectors/__init__.py +1 -0
  1077. package/runtime/perception/detectors/entity.py +86 -0
  1078. package/runtime/perception/detectors/intent.py +103 -0
  1079. package/runtime/perception/input/multimodal/__init__.py +1 -0
  1080. package/runtime/perception/input/streaming/__init__.py +1 -0
  1081. package/runtime/perception/input/text/__init__.py +1 -0
  1082. package/runtime/perception/preprocess/__init__.py +1 -0
  1083. package/scripts/check_llm_layer.py +16 -0
  1084. package/scripts/check_orchestration_layer.py +15 -0
  1085. package/scripts/clean-pycache.js +56 -0
  1086. package/scripts/init.js +187 -0
  1087. package/tools/__init__.py +1 -0
  1088. package/tools/mcp/clients/__init__.py +368 -0
  1089. package/tools/mcp/registry.py +538 -0
  1090. package/tools/mcp/servers/__init__.py +46 -0
  1091. package/tools/skill/__init__.py +4 -0
  1092. package/tools/skill/curator.py +368 -0
  1093. package/tools/skill/registry/__init__.py +11 -0
  1094. package/tools/skill/registry/registry.py +367 -0
  1095. package/tools/skill/registry/source_config.py +101 -0
  1096. package/tools/skill/skills/__init__.py +1 -0
  1097. package/tools/tool/__init__.py +12 -0
  1098. package/tools/tool/advanced_tools.py +307 -0
  1099. package/tools/tool/approval_workflow.py +216 -0
  1100. package/tools/tool/builtin.py +656 -0
  1101. package/tools/tool/config.py +191 -0
  1102. package/tools/tool/hermes_migrated.py +190 -0
  1103. package/tools/tool/implementations/__init__.py +1 -0
  1104. package/tools/tool/implementations/browser_use_provider.py +691 -0
  1105. package/tools/tool/implementations/extended_tools.py +260 -0
  1106. package/tools/tool/mcp_provider.py +95 -0
  1107. package/tools/tool/policy.py +65 -0
  1108. package/tools/tool/providers/base.py +115 -0
  1109. package/tools/tool/registry/__init__.py +183 -0
  1110. package/tools/tool/runtime.py +87 -0
  1111. package/tools/tool/schema.py +99 -0
  1112. package/tools/tool/skill_provider.py +164 -0
  1113. package/tools/tool/todo_provider.py +161 -0
  1114. package/tools/tool/tools.yaml +115 -0
@@ -0,0 +1,360 @@
1
+ ---
2
+ name: pinecone
3
+ description: 用于生产级 AI 应用的托管型向量数据库。全托管、自动扩缩容,支持混合搜索(dense + sparse)、metadata 过滤和 namespaces。低延迟(<100ms p95)。适用于生产级 RAG、推荐系统或大规模语义搜索。最适合 serverless、托管型基础设施。
4
+ version: 1.0.0
5
+ author: Orchestra Research
6
+ license: MIT
7
+ dependencies: [pinecone-client]
8
+ platforms: [linux, macos, windows]
9
+ metadata:
10
+ hermes:
11
+ tags: [RAG, Pinecone, Vector Database, Managed Service, Serverless, Hybrid Search, Production, Auto-Scaling, Low Latency, Recommendations]
12
+
13
+ ---
14
+
15
+ # Pinecone - 托管型向量数据库
16
+
17
+ 面向生产级 AI 应用的向量数据库。
18
+
19
+ ## 何时使用 Pinecone
20
+
21
+ **适用于:**
22
+ - 需要托管型、serverless 向量数据库
23
+ - 生产级 RAG 应用
24
+ - 需要自动扩缩容
25
+ - 关键的低延迟要求(<100ms)
26
+ - 不希望自行管理基础设施
27
+ - 需要混合搜索(dense + sparse 向量)
28
+
29
+ **Metrics**:
30
+ - 完全托管的 SaaS
31
+ - 可自动扩容至数十亿条向量
32
+ - **p95 延迟 <100ms**
33
+ - 99.9% 的正常运行时间 SLA
34
+
35
+ **可使用的替代方案**:
36
+ - **Chroma**: 自托管、开源
37
+ - **FAISS**: 离线、纯相似度搜索
38
+ - **Weaviate**: 具有更多功能的自托管方案
39
+
40
+ ## 快速 start
41
+
42
+ ### 安装
43
+
44
+ ```bash
45
+ pip install pinecone-client
46
+ ```
47
+
48
+ ### 基础 usage
49
+
50
+ ```python
51
+ from pinecone import Pinecone, ServerlessSpec
52
+
53
+ # Initialize
54
+ pc = Pinecone(api_key="your-api-key")
55
+
56
+ # Create index
57
+ pc.create_index(
58
+ name="my-index",
59
+ dimension=1536, # Must match embedding dimension
60
+ metric="cosine", # or "euclidean", "dotproduct"
61
+ spec=ServerlessSpec(cloud="aws", region="us-east-1")
62
+ )
63
+
64
+ # Connect to index
65
+ index = pc.Index("my-index")
66
+
67
+ # Upsert vectors
68
+ index.upsert(vectors=[
69
+ {"id": "vec1", "values": [0.1, 0.2, ...], "metadata": {"category": "A"}},
70
+ {"id": "vec2", "values": [0.3, 0.4, ...], "metadata": {"category": "B"}}
71
+ ])
72
+
73
+ # Query
74
+ results = index.query(
75
+ vector=[0.1, 0.2, ...],
76
+ top_k=5,
77
+ include_metadata=True
78
+ )
79
+
80
+ print(results["matches"])
81
+ ```
82
+
83
+ ## 核心操作
84
+
85
+ ### 创建 index
86
+
87
+ ```python
88
+ # Serverless (recommended)
89
+ pc.create_index(
90
+ name="my-index",
91
+ dimension=1536,
92
+ metric="cosine",
93
+ spec=ServerlessSpec(
94
+ cloud="aws", # or "gcp", "azure"
95
+ region="us-east-1"
96
+ )
97
+ )
98
+
99
+ # Pod-based (for consistent performance)
100
+ from pinecone import PodSpec
101
+
102
+ pc.create_index(
103
+ name="my-index",
104
+ dimension=1536,
105
+ metric="cosine",
106
+ spec=PodSpec(
107
+ environment="us-east1-gcp",
108
+ pod_type="p1.x1"
109
+ )
110
+ )
111
+ ```
112
+
113
+ ### 插入 (Upsert) 向量
114
+
115
+ ```python
116
+ # Single upsert
117
+ index.upsert(vectors=[
118
+ {
119
+ "id": "doc1",
120
+ "values": [0.1, 0.2, ...], # 1536 dimensions
121
+ "metadata": {
122
+ "text": "Document content",
123
+ "category": "tutorial",
124
+ "timestamp": "2025-01-01"
125
+ }
126
+ }
127
+ ])
128
+
129
+ # Batch upsert (recommended)
130
+ vectors = [
131
+ {"id": f"vec{i}", "values": embedding, "metadata": metadata}
132
+ for i, (embedding, metadata) in enumerate(zip(embeddings, metadatas))
133
+ ]
134
+
135
+ index.upsert(vectors=vectors, batch_size=100)
136
+ ```
137
+
138
+ ### 查询向量
139
+
140
+ ```python
141
+ # Basic query
142
+ results = index.query(
143
+ vector=[0.1, 0.2, ...],
144
+ top_k=10,
145
+ include_metadata=True,
146
+ include_values=False
147
+ )
148
+
149
+ # With metadata filtering
150
+ results = index.query(
151
+ vector=[0.1, 0.2, ...],
152
+ top_k=5,
153
+ filter={"category": {"$eq": "tutorial"}}
154
+ )
155
+
156
+ # Namespace query
157
+ results = index.query(
158
+ vector=[0.1, 0.2, ...],
159
+ top_k=5,
160
+ namespace="production"
161
+ )
162
+
163
+ # Access results
164
+ for match in results["matches"]:
165
+ print(f"ID: {match['id']}")
166
+ print(f"Score: {match['score']}")
167
+ print(f"Metadata: {match['metadata']}")
168
+ ```
169
+
170
+ ### Metadata 过滤
171
+
172
+ ```python
173
+ # Exact match
174
+ filter = {"category": "tutorial"}
175
+
176
+ # Comparison
177
+ filter = {"price": {"$gte": 100}} # $gt, $gte, $lt, $lte, $ne
178
+
179
+ # Logical operators
180
+ filter = {
181
+ "$and": [
182
+ {"category": "tutorial"},
183
+ {"difficulty": {"$lte": 3}}
184
+ ]
185
+ } # Also: $or
186
+
187
+ # In operator
188
+ filter = {"tags": {"$in": ["python", "ml"]}}
189
+ ```
190
+
191
+ ## Namespaces
192
+
193
+ ```python
194
+ # Partition data by namespace
195
+ index.upsert(
196
+ vectors=[{"id": "vec1", "values": [...]}],
197
+ namespace="user-123"
198
+ )
199
+
200
+ # Query specific namespace
201
+ results = index.query(
202
+ vector=[...],
203
+ namespace="user-123",
204
+ top_k=5
205
+ )
206
+
207
+ # List namespaces
208
+ stats = index.describe_index_stats()
209
+ print(stats['namespaces'])
210
+ ```
211
+
212
+ ## 混合搜索 (dense + sparse)
213
+
214
+ ```python
215
+ # Upsert with sparse vectors
216
+ index.upsert(vectors=[
217
+ {
218
+ "id": "doc1",
219
+ "values": [0.1, 0.2, ...], # Dense vector
220
+ "sparse_values": {
221
+ "indices": [10, 45, 123], # Token IDs
222
+ "values": [0.5, 0.3, 0.8] # TF-IDF scores
223
+ },
224
+ "metadata": {"text": "..."}
225
+ }
226
+ ])
227
+
228
+ # Hybrid query
229
+ results = index.query(
230
+ vector=[0.1, 0.2, ...],
231
+ sparse_vector={
232
+ "indices": [10, 45],
233
+ "values": [0.5, 0.3]
234
+ },
235
+ top_k=5,
236
+ alpha=0.5 # 0=sparse, 1=dense, 0.5=hybrid
237
+ )
238
+ ```
239
+
240
+ ## LangChain 集成
241
+
242
+ ```python
243
+ from langchain_pinecone import PineconeVectorStore
244
+ from langchain_openai import OpenAIEmbeddings
245
+
246
+ # Create vector store
247
+ vectorstore = PineconeVectorStore.from_documents(
248
+ documents=docs,
249
+ embedding=OpenAIEmbeddings(),
250
+ index_name="my-index"
251
+ )
252
+
253
+ # Query
254
+ results = vectorstore.similarity_search("query", k=5)
255
+
256
+ # With metadata filter
257
+ results = vectorstore.similarity_search(
258
+ "query",
259
+ k=5,
260
+ filter={"category": "tutorial"}
261
+ )
262
+
263
+ # As retriever
264
+ retriever = vectorstore.as_retriever(search_kwargs={"k": 10})
265
+ ```
266
+
267
+ ## LlamaIndex 集成
268
+
269
+ ```python
270
+ from llama_index.vector_stores.pinecone import PineconeVectorStore
271
+
272
+ # Connect to Pinecone
273
+ pc = Pinecone(api_key="your-key")
274
+ pinecone_index = pc.Index("my-index")
275
+
276
+ # Create vector store
277
+ vector_store = PineconeVectorStore(pinecone_index=pinecone_index)
278
+
279
+ # Use in LlamaIndex
280
+ from llama_index.core import StorageContext, VectorStoreIndex
281
+
282
+ storage_context = StorageContext.from_defaults(vector_store=vector_store)
283
+ index = VectorStoreIndex.from_documents(documents, storage_context=storage_context)
284
+ ```
285
+
286
+ ## Index 管理
287
+
288
+ ```python
289
+ # List indices
290
+ indexes = pc.list_indexes()
291
+
292
+ # Describe index
293
+ index_info = pc.describe_index("my-index")
294
+ print(index_info)
295
+
296
+ # Get index stats
297
+ stats = index.describe_index_stats()
298
+ print(f"Total vectors: {stats['total_vector_count']}")
299
+ print(f"Namespaces: {stats['namespaces']}")
300
+
301
+ # Delete index
302
+ pc.delete_index("my-index")
303
+ ```
304
+
305
+ ## 删除向量
306
+
307
+ ```python
308
+ # Delete by ID
309
+ index.delete(ids=["vec1", "vec2"])
310
+
311
+ # Delete by filter
312
+ index.delete(filter={"category": "old"})
313
+
314
+ # Delete all in namespace
315
+ index.delete(delete_all=True, namespace="test")
316
+
317
+ # Delete entire index
318
+ index.delete(delete_all=True)
319
+ ```
320
+
321
+ ## 最佳实践
322
+
323
+ 1. **使用 serverless** - 自动扩缩容,性价比高
324
+ 2. **批量 upsert** - 效率更高(每批 100-200 条)
325
+ 3. **添加 metadata** - 启用过滤功能
326
+ 4. **使用 namespaces** - 按用户/租户隔离数据
327
+ 5. **监控使用情况** - 查看 Pinecone dashboard
328
+ 6. **优化过滤器** - 为频繁过滤的字段建立 index
329
+ 7. **使用免费额度进行测试** - 免费 1 个 index、10 万条向量
330
+ 8. **使用混合搜索** - 提升质量
331
+ 9. **设置合适的维度** - 需与 embedding 模型相匹配
332
+ 10. **定期备份** - 导出重要数据
333
+
334
+ ## 性能
335
+
336
+ | Operation | Latency | 说明 |
337
+ |-----------|---------|-------|
338
+ | Upsert | ~50-100ms | 按批次计 |
339
+ | Query (p50) | ~50ms | 取决于 index 大小 |
340
+ | Query (p95) | ~100ms | SLA 目标 |
341
+ | Metadata filter | ~+10-20ms | 额外开销 |
342
+
343
+ ## 定价 (截至 2025 年)
344
+
345
+ **Serverless**:
346
+ - 每 100 万个 read units $0.096
347
+ - 每 100 万个 write units $0.06
348
+ - 每 GB 存储/月 $0.06
349
+
350
+ **免费额度**:
351
+ - 1 个 serverless index
352
+ - 10 万条向量(1536 维)
353
+ - 非常适合原型设计
354
+
355
+ ## 资源
356
+
357
+ - **Website**: https://www.pinecone.io
358
+ - **Docs**: https://docs.pinecone.io
359
+ - **Console**: https://app.pinecone.io
360
+ - **Pricing**: https://www.pinecone.io/pricing
@@ -0,0 +1,181 @@
1
+ # Pinecone 部署指南
2
+
3
+ Pinecone 的生产环境部署模式。
4
+
5
+ ## Serverless 与 Pod-based 对比
6
+
7
+ ### Serverless(推荐)
8
+
9
+ ```python
10
+ from pinecone import Pinecone, ServerlessSpec
11
+
12
+ pc = Pinecone(api_key="your-key")
13
+
14
+ # Create serverless index
15
+ pc.create_index(
16
+ name="my-index",
17
+ dimension=1536,
18
+ metric="cosine",
19
+ spec=ServerlessSpec(
20
+ cloud="aws", # or "gcp", "azure"
21
+ region="us-east-1"
22
+ )
23
+ )
24
+ ```
25
+
26
+ **优势:**
27
+ - 自动扩缩容
28
+ - 按用量付费
29
+ - 无需基础设施管理
30
+ - 对于负载波动较大的场景具有成本效益
31
+
32
+ **适用场景:**
33
+ - 流量不稳定
34
+ - 注重成本优化
35
+ - 不需要一致的延迟
36
+
37
+ ### Pod-based
38
+
39
+ ```python
40
+ from pinecone import PodSpec
41
+
42
+ pc.create_index(
43
+ name="my-index",
44
+ dimension=1536,
45
+ metric="cosine",
46
+ spec=PodSpec(
47
+ environment="us-east1-gcp",
48
+ pod_type="p1.x1", # or p1.x2, p1.x4, p1.x8
49
+ pods=2, # Number of pods
50
+ replicas=2 # High availability
51
+ )
52
+ )
53
+ ```
54
+
55
+ **优势:**
56
+ - 稳定的性能
57
+ - 可预测的延迟
58
+ - 更高的吞吐量
59
+ - 专用资源
60
+
61
+ **适用场景:**
62
+ - 生产环境工作负载
63
+ - 需要一致的 p95 延迟
64
+ - 需要高吞吐量
65
+
66
+ ## 混合搜索
67
+
68
+ ### Dense + Sparse vectors
69
+
70
+ ```python
71
+ # Upsert with both dense and sparse vectors
72
+ index.upsert(vectors=[
73
+ {
74
+ "id": "doc1",
75
+ "values": [0.1, 0.2, ...], # Dense (semantic)
76
+ "sparse_values": {
77
+ "indices": [10, 45, 123], # Token IDs
78
+ "values": [0.5, 0.3, 0.8] # TF-IDF/BM25 scores
79
+ },
80
+ "metadata": {"text": "..."}
81
+ }
82
+ ])
83
+
84
+ # Hybrid query
85
+ results = index.query(
86
+ vector=[0.1, 0.2, ...], # Dense query
87
+ sparse_vector={
88
+ "indices": [10, 45],
89
+ "values": [0.5, 0.3]
90
+ },
91
+ top_k=10,
92
+ alpha=0.5 # 0=sparse only, 1=dense only, 0.5=balanced
93
+ )
94
+ ```
95
+
96
+ **优势:**
97
+ - 结合两者的优点
98
+ - 语义 + 关键词匹配
99
+ - 比单一搜索具有更好的召回率
100
+
101
+ ## 用于多租户的 Namespaces
102
+
103
+ ```python
104
+ # Separate data by user/tenant
105
+ index.upsert(
106
+ vectors=[{"id": "doc1", "values": [...]}],
107
+ namespace="user-123"
108
+ )
109
+
110
+ # Query specific namespace
111
+ results = index.query(
112
+ vector=[...],
113
+ namespace="user-123",
114
+ top_k=5
115
+ )
116
+
117
+ # List namespaces
118
+ stats = index.describe_index_stats()
119
+ print(stats['namespaces'])
120
+ ```
121
+
122
+ **用例:**
123
+ - 多租户 SaaS
124
+ - 针对特定用户的数据隔离
125
+ - A/B 测试(prod/staging namespaces)
126
+
127
+ ## Metadata 过滤
128
+
129
+ ### 精确匹配
130
+
131
+ ```python
132
+ results = index.query(
133
+ vector=[...],
134
+ filter={"category": "tutorial"},
135
+ top_k=5
136
+ )
137
+ ```
138
+
139
+ ### 范围查询
140
+
141
+ ```python
142
+ results = index.query(
143
+ vector=[...],
144
+ filter={"price": {"$gte": 100, "$lte": 500}},
145
+ top_k=5
146
+ )
147
+ ```
148
+
149
+ ### 复杂过滤器
150
+
151
+ ```python
152
+ results = index.query(
153
+ vector=[...],
154
+ filter={
155
+ "$and": [
156
+ {"category": {"$in": ["tutorial", "guide"]}},
157
+ {"difficulty": {"$lte": 3}},
158
+ {"published": {"$gte": "2024-01-01"}}
159
+ ]
160
+ },
161
+ top_k=5
162
+ )
163
+ ```
164
+
165
+ ## 最佳实践
166
+
167
+ 1. **在开发环境中使用 serverless** - 具有成本效益
168
+ 2. **在生产环境中切换为 pods** - 性能稳定
169
+ 3. **实现 namespaces** - 用于多租户管理
170
+ 4. **策略性地添加 metadata** - 启用过滤功能
171
+ 5. **使用混合搜索** - 提升质量
172
+ 6. **批量 upserts** - 每批 100-200 个 vectors
173
+ 7. **监控使用情况** - 查看 Pinecone dashboard
174
+ 8. **设置警报** - 针对使用量/成本阈值
175
+ 9. **定期备份** - 导出重要数据
176
+ 10. **测试过滤器** - 验证性能
177
+
178
+ ## 资源
179
+
180
+ - **Docs**: https://docs.pinecone.io
181
+ - **Console**: https://app.pinecone.io
@@ -0,0 +1,85 @@
1
+ ---
2
+ name: pytorch-fsdp
3
+ description: 关于使用 PyTorch FSDP 进行完全分片数据并行训练的专家指南 - 参数分片、混合精度、CPU 卸载、FSDP2
4
+ version: 1.0.0
5
+ author: Orchestra Research
6
+ license: MIT
7
+ dependencies: [torch>=2.0, transformers]
8
+ platforms: [linux, macos]
9
+ metadata:
10
+ hermes:
11
+ tags: [分布式训练, PyTorch, FSDP, 数据并行, 分片, 混合精度, CPU 卸载, FSDP2, 大规模训练]
12
+
13
+ ---
14
+
15
+ # Pytorch-Fsdp 技能
16
+
17
+ 提供关于 pytorch-fsdp 开发的全面协助,内容根据官方文档生成。
18
+
19
+ ## 何时使用此技能
20
+
21
+ 在以下情况下应触发此技能:
22
+ - 使用 pytorch-fsdp
23
+ - 询问关于 pytorch-fsdp 的特性或 API
24
+ - 实施 pytorch-fsdp 解决方案
25
+ - 调试 pytorch-fsdp 代码
26
+ - 学习 pytorch-fsdp 最佳实践
27
+
28
+ ## 快速参考
29
+
30
+ ### 常见模式
31
+
32
+ **模式 1:** 通用 Join 上下文管理器 # 创建于:2025年6月6日 | 最后更新于:2025年6月6日 通用 join(加入)上下文管理器促进了在不均匀输入上的分布式训练。本页概述了相关类的 API:`Join`、`Joinable` 和 `JoinHook`。如需教程,请参阅《使用 Join 上下文管理器处理不均匀输入的分布式训练》。 class torch.distributed.algorithms.Join(joinables, enable=True, throw_on_early_termination=False, **kwargs)[source]# 该类定义了通用的 join 上下文管理器,它允许在一个进程加入后调用自定义的钩子。这些钩子应当模拟(或者说“掩护”)未加入进程的集合通信,以防止挂起和报错,并确保算法的正确性。有关钩子定义的详细信息,请参阅 `JoinHook`。 警告 上下文管理器要求每个参与的 `Joinable` 在其自身每次迭代的集合通信之前调用 `notify_join_context()` 方法以确保正确性。 警告 上下文管理器要求 `JoinHook` 对象中的所有 `process_group` 属性必须相同。如果有多个 `JoinHook` 对象,则使用第一个对象的设备。进程组和设备信息用于检查是否有未加入的进程,并在启用了 `throw_on_early_termination` 时通过 all-reduce 通知进程抛出异常。 参数 joinables (List[Joinable]) – 参与的 `Joinable` 列表;它们的钩子将按给定顺序被遍历。 enable (bool) – 启用不均匀输入检测的标志;设置为 `False` 将禁用上下文管理器的功能,并且仅当用户知道输入不会不均匀时才应设置(默认:`True`)。 throw_on_early_termination (bool) – 控制在检测到不均匀输入时是否抛出异常的标志(默认:`False`)。 示例: >>> import os >>> import torch >>> import torch.distributed as dist >>> import torch.multiprocessing as mp >>> import torch.nn.parallel.DistributedDataParallel as DDP >>> import torch.distributed.optim.ZeroRedundancyOptimizer as ZeRO >>> from torch.distributed.algorithms.join import Join >>> >>> # 在每个生成的工作进程上 >>> def worker(rank): >>> dist.init_process_group("nccl", rank=rank, world_size=2) >>> model = DDP(torch.nn.Linear(1, 1).to(rank), device_ids=[rank]) >>> optim = ZeRO(model.parameters(), torch.optim.Adam, lr=0.01) >>> # Rank 1 比 rank 0 多获取一个输入 >>> inputs = [torch.tensor([1.]).to(rank) for _ in range(10 + rank)] >>> with Join([model, optim]): >>> for input in inputs: >>> loss = model(input).sum() >>> loss.backward() >>> optim.step() >>> # 所有 rank 都能到达这里而不会挂起/报错 static notify_join_context(joinable)[source]# 通知 join 上下文管理器调用此方法的进程尚未加入。然后,如果 `throw_on_early_termination=True`,则检查是否检测到了不均匀输入(即是否已有进程加入),如果是则抛出异常。此方法应在 `Joinable` 对象进行其每次迭代的集合通信之前被调用。例如,这应该在 `DistributedDataParallel` 的前向传播开始时被调用。只有传递给上下文管理器的第一个 `Joinable` 对象会在此方法中执行集合通信,而对于其他对象,此方法是空操作。 参数 joinable (Joinable) – 调用此方法的 `Joinable` 对象。 返回 如果 `joinable` 是传入上下文管理器的第一个对象,则返回用于通知上下文管理器该进程尚未加入的 all-reduce 异步工作句柄;否则返回 `None`。 class torch.distributed.algorithms.Joinable[source]# 这定义了可加入类的抽象基类。一个可加入的类(继承自 `Joinable`)应该实现 `join_hook()`,返回一个 `JoinHook` 实例,此外还要实现分别返回设备和进程组信息的 `join_device()` 和 `join_process_group()`。 abstract property join_device: device# 返回执行 join 上下文管理器所需集合通信的设备。 abstract join_hook(**kwargs)[source]# 为给定的 `Joinable` 返回一个 `JoinHook` 实例。 参数 kwargs (dict) – 一个包含任意关键字参数的字典,用于在运行时修改加入钩子的行为;所有共享相同 join 上下文管理器的 `Joinable` 实例都会接收到相同的 `kwargs` 值。 返回类型 JoinHook abstract property join_process_group: Any# 返回 join 上下文管理器本身所需集合通信的进程组。 class torch.distributed.algorithms.JoinHook[source]# 这定义了一个加入钩子,它在 join 上下文管理器中提供了两个入口点。 入口点:一个是主钩子,只要存在未加入的进程,它就会被重复调用;另一个是后置钩子,当所有进程都加入后,它会被调用一次。要为通用的 join 上下文管理器实现加入钩子,请定义一个继承自 `JoinHook` 的类,并视情况重写 `main_hook()` 和 `post_hook()`。 main_hook()[source]# 只要存在未加入的进程,就调用此钩子以模拟训练迭代中的集合通信。训练迭代,即在一次前向传播、反向传播和优化器步骤中。 post_hook(is_last_joiner)[source]# 当所有进程都加入后调用此钩子。它被传递了一个额外的布尔参数 `is_last_joiner`,指示该 rank 是否是最后加入的进程之一。 参数 is_last_joiner (bool) – 如果该 rank 是最后加入的之一则为 `True`;否则为 `False`。
33
+
34
+ ```
35
+ Join
36
+ ```
37
+
38
+ **模式 2:** 分布式通信包 - torch.distributed # 创建于:2017年7月12日 | 最后更新于:2025年9月4日 注释 请参阅《PyTorch 分布式概述》,以简要了解所有与分布式训练相关的特性。 后端# torch.distributed 支持四个内置后端,每个后端具有不同的功能。下表显示了每个后端可用于 CPU 或 GPU 的函数。对于 NCCL,GPU 指的是 CUDA GPU,而对于 XCCL 指的是 XPU GPU。仅当用于构建 PyTorch 的实现支持时,MPI 才支持 CUDA。 后端 gloo mpi nccl xccl 设备 CPU GPU CPU GPU CPU GPU CPU GPU 发送 ✓ ✘ ✓ ? ✘ ✓ ✘ ✓ 接收 ✓ ✘ ✓ ? ✘ ✓ ✘ ✓ 广播 ✓ ✓ ✓ ? ✘ ✓ ✘ ✓ 全局规约 ✓ ✓ ✓ ? ✘ ✓ ✘ ✓ 规约 ✓ ✓ ✓ ? ✘ ✓ ✘ ✓ 全局聚集 ✓ ✓ ✓ ? ✘ ✓ ✘ ✓ 聚集 ✓ ✓ ✓ ? ✘ ✓ ✘ ✓ 散射 ✓ ✓ ✓ ? ✘ ✓ ✘ ✓ 规约散射 ✓ ✓ ✘ ✘ ✘ ✓ ✘ ✓ 全互联 ✓ ✓ ✓ ? ✘ ✓ ✘ ✓ 同步屏障 ✓ ✘ ✓ ? ✘ ✓ ✘ ✓ PyTorch 附带的后端# PyTorch 分布式包支持 Linux(稳定版)、MacOS(稳定版)和 Windows(原型版)。对于 Linux,默认情况下,Gloo 和 NCCL 后端会被构建并包含在 PyTorch 分布式中(NCCL 仅在使用 CUDA 构建时包含)。MPI 是一个可选后端,只有从源代码构建 PyTorch 时才能包含。(例如,在安装了 MPI 的主机上构建 PyTorch。) 注释 从 PyTorch v1.8 开始,Windows 支持除 NCCL 外的所有集合通信后端。如果 `init_process_group()` 的 `init_method` 参数指向一个文件,它必须遵守以下架构: 本地文件系统,`init_method="file:///d:/tmp/some_file"` 共享文件系统,`init_method="file://////{machine_name}/{share_folder_name}/some_file"` 与 Linux 平台相同,您可以通过设置环境变量 `MASTER_ADDR` 和 `MASTER_PORT` 来启用 `TcpStore`。 应该使用哪个后端?# 过去,我们经常被问到:“我应该使用哪个后端?”。 经验法则 对于使用 CUDA GPU 的分布式训练,请使用 NCCL 后端。 对于使用 XPU GPU 的分布式训练,请使用 XCCL 后端。 对于使用 CPU 的分布式训练,请使用 Gloo 后端。 带有 InfiniBand 互连的 GPU 主机 使用 NCCL,因为它是目前唯一支持 InfiniBand 和 GPUDirect 的后端。 带有以太网互连的 GPU 主机 使用 NCCL,因为它目前为分布式 GPU 训练提供了最佳性能,尤其是对于多进程单节点或多节点的分布式训练。如果您在使用 NCCL 时遇到任何问题,请使用 Gloo 作为备选方案。(请注意,目前对于 GPU,Gloo 的运行速度比 NCCL 慢。) 带有 InfiniBand 互连的 CPU 主机 如果您的 InfiniBand 启用了 IP over IB,请使用 Gloo,否则请使用 MPI。我们计划在即将发布的版本中为 Gloo 添加 InfiniBand 支持。 带有以太网互连的 CPU 主机 使用 Gloo,除非您有特定理由使用 MPI。 常用环境变量# 选择要使用的网络接口# 默认情况下,NCCL 和 Gloo 后端都会尝试自动寻找合适的网络接口来使用。如果自动检测到的接口不正确,您可以使用以下环境变量覆盖它(适用于相应的后端): `NCCL_SOCKET_IFNAME`,例如 `export NCCL_SOCKET_IFNAME=eth0` `GLOO_SOCKET_IFNAME`,例如 `export GLOO_SOCKET_IFNAME=eth0` 如果您使用 Gloo 后端,可以通过逗号分隔指定多个接口,例如:`export GLOO_SOCKET_IFNAME=eth0,eth1,eth2,eth3`。后端将以轮询(round-robin)方式在这些接口上分发操作。所有进程必须在此变量中指定相同数量的接口,这一点至关重要。 其他 NCCL 环境变量# 调试 - 如果发生 NCCL 故障,您可以设置 `NCCL_DEBUG=INFO` 来打印显式的警告信息以及基本的 NCCL 初始化信息。您还可以使用 `NCCL_DEBUG_SUBSYS` 获取有关 NCCL 特定方面的更多详细信息。例如,`NCCL_DEBUG_SUBSYS=COLL` 会打印集合调用的日志,这在调试挂起问题(尤其是由集合类型或消息大小不匹配引起的问题)时非常有用。如果拓扑检测失败,设置 `NCCL_DEBUG_SUBSYS=GRAPH` 来检查详细的检测结果并作为参考保存,以便后续向 NCCL 团队寻求进一步帮助,将会很有帮助。 性能调优 - NCCL 会根据其拓扑检测结果进行自动调优,以节省用户的调优精力。在某些基于 socket 的系统上,用户仍可尝试调整 `NCCL_SOCKET_NTHREADS` 和 `NCCL_NSOCKS_PERTHREAD` 来增加 socket 网络带宽。NCCL 已经针对一些云提供商(如 AWS 或 GCP)预调优了这两个环境变量。有关 NCCL 环境变量的完整列表,请参阅 NVIDIA NCCL 的官方文档 您还可以使用 `torch.distributed.ProcessGroupNCCL.NCCLConfig` 和 `torch.distributed.ProcessGroupNCCL.Options` 进一步调整 NCCL 通信器。在解释器中使用 `help` 了解有关它们的更多信息(例如 `help(torch.distributed.ProcessGroupNCCL.NCCLConfig)`)。 基础# torch.distributed 包为在一台或多台机器上运行的多个计算节点之间的多进程并行提供了 PyTorch 支持和通信原语。`torch.nn.parallel.DistributedDataParallel()` 类在此功能的基础上构建,作为任何 PyTorch 模型的包装器,提供同步分布式训练。这与 Multiprocessing 包 - torch.multiprocessing 和 torch.nn.DataParallel() 提供的并行方式不同,因为它支持多台网络连接的机器,并且用户必须为每个进程显式启动主训练脚本的单独副本。在单机同步的情况下,torch.distributed 或 `torch.nn.parallel.DistributedDataParallel()` 包装器相比于其他数据并行方法(包括 `torch.nn.DataParallel()`)可能仍然具有优势: 每个进程都会维护自己的优化器,并在每次迭代中执行完整的优化步骤。虽然这看起来可能是冗余的,因为梯度已经被收集在一起并在各进程间求平均,因此对于每个进程来说梯度都是相同的,但这意味着不需要参数广播步骤,从而减少了在节点之间传输张量所花费的时间。 每个进程都包含一个独立的 Python 解释器,消除了从单个 Python 进程驱动多个执行线程、模型副本或 GPU 所带来的额外解释器开销和“GIL 抖动”。这对于大量使用 Python 运行时的模型(包括具有循环层或许多小组件的模型)尤为重要。 初始化# 在调用任何其他方法之前,需要使用 `torch.distributed.init_process_group()` 或 `torch.distributed.device_mesh.init_device_mesh()` 函数对该包进行初始化。两者都会阻塞,直到所有进程都加入。 警告 初始化不是线程安全的。进程组的创建应该在单个线程中执行,以防止各个 rank 之间 'UUID' 分配不一致,并防止初始化期间发生可能导致挂起的竞争条件。 torch.distributed.is_available()[source]# 如果分布式包可用,则返回 `True`。否则,`torch.distributed` 不会暴露任何其他 API。目前,`torch.distributed` 在 Linux、MacOS 和 Windows 上可用。在从源代码构建 PyTorch 时,设置 `USE_DISTRIBUTED=1` 可启用它。目前,Linux 和 Windows 的默认值为 `USE_DISTRIBUTED=1`,MacOS 的默认值为 `USE_DISTRIBUTED=0`。 返回类型 bool torch.distributed.init_process_group(backend=None, init_method=None, timeout=None, world_size=-1, rank=-1, store=None, group_name='', pg_options=None, device_id=None)[source]# 初始化默认的分布式进程组。这也会初始化分布式包。有两种主要的方法可以初始化进程组: 1. 显式指定 `store`、`rank` 和 `world_size`。 2. 指定 `init_method`(一个 URL 字符串),指示在哪里/如何发现对等节点。可选择指定 `rank` 和 `world_size`,或者将所有需要的参数编码在 URL 中并省略它们。 如果两者都未指定,则 `init_method` 假定为 “env://”。 参数 backend (str 或 Backend, 可选) – 要使用的后端。根据构建时的配置,有效值包括 `mpi`、`gloo`、`nccl`、`ucc`、`xccl` 或者由第三方插件注册的后端。从 2.6 版本开始,如果未提供 `backend`,c10d 将使用为 `device_id` 关键字参数(如果提供)指示的设备类型注册的后端。目前已知的默认注册有:`cuda` 对应 `nccl`,`cpu` 对应 `gloo`,`xpu` 对应 `xccl`。如果 `backend` 和 `device_id` 均未提供,c10d 将检测运行时机器上的加速器,并使用为检测到的加速器(或 cpu)注册的后端。此字段可以以小写字符串形式给出(例如 `"gloo"`),也可以通过 `Backend` 属性访问(例如 `Backend.GLOO`)。如果在每台机器上使用多个进程并采用 nccl 后端,则每个进程必须对其使用的每个 GPU 具有独占访问权,因为进程之间共享 GPU 可能会导致死锁或 NCCL 的无效用法。`ucc` 后端是实验性的。可以使用 `get_default_backend_for_device()` 查询设备的默认后端。 init_method (str, 可选) – 指定如何初始化进程组的 URL。如果未指定 `init_method` 或 `store`,则默认为 “env://”。与 `store` 互斥。 world_size (int, 可选) – 参与作业的进程数。如果指定了 `store` 则为必需项。 rank (int, 可选) – 当前进程的 rank(它必须是 0 到 `world_size-1` 之间的数字)。如果指定了 `store` 则为必需项。 store (Store, 可选) – 所有工作进程均可访问的键/值存储,用于交换连接/地址信息。与 `init_method` 互斥。 timeout (timedelta, 可选) – 针对进程组执行操作的超时时间。NCCL 的默认值为 10 分钟,其他后端的默认值为 30 分钟。这是集合通信将被异步中止并且进程将崩溃的持续时间。这样做是因为 CUDA 执行是异步的,由于失败的异步 NCCL 操作可能导致随后的 CUDA 操作在损坏的数据上运行,此时继续执行用户代码不再安全。当设置了 `TORCH_NCCL_BLOCKING_WAIT` 时,进程将阻塞并等待此超时时间。 group_name (str, 可选, 已弃用) – 组名。该参数将被忽略 pg_options (ProcessGroupOptions, 可选) – 进程组选项,指定在构造特定进程组期间需要传入的附加选项。目前,我们仅支持用于 nccl 后端的 `ProcessGroupNCCL.Options`,可以指定 `is_high_priority_stream`,以便在有计算内核等待时,nccl 后端可以获取高优先级的 CUDA 流。有关配置 nccl 的其他可用选项,请参阅 https://docs.nvidia.com/deeplearning/nccl/user-guide/docs/api/types.html#ncclconfig-t device_id (torch.device | int, 可选) – 此进程将处理的单个特定设备,允许进行特定于后端的优化。目前这有两种效果,仅在 NCCL 下:通信器会立即形成(立即调用 `ncclCommInit*`,而不是通常的延迟调用),并且子组将在可能的情况下使用 `ncclCommSplit` 以避免组创建的不必要开销。如果您想尽早了解 NCCL 初始化错误,也可以使用此字段。如果提供的是 int,API 将假定使用编译时的加速器类型。 注释 要启用 `backend == Backend.MPI`,必须在支持 MPI 的系统上从源代码构建 PyTorch。 注释 对多后端的支持是实验性的。目前,当未指定后端时,将同时创建 gloo 和 nccl 后端。gloo 后端将用于带有 CPU 张量的集合通信,而 nccl 后端将用于带有 CUDA 张量的集合通信。可以通过传入格式为 “<device_type>:<backend_name>,<device_type>:<backend_name>” 的字符串来指定自定义后端,例如 “cpu:gloo,cuda:custom_backend”。 torch.distributed.device_mesh.init_device_mesh(device_type, mesh_shape, *, mesh_dim_names=None, backend_override=None)[source]# 根据 `device_type`、`mesh_shape` 和 `mesh_dim_names` 参数初始化一个 `DeviceMesh`。这将创建一个具有 n 维数组布局的 `DeviceMesh`,其中 n 是 `mesh_shape` 的长度。如果提供了 `mesh_dim_names`,则每个维度将被标记为 `mesh_dim_names[i]`。 注释 `init_device_mesh` 遵循 SPMD 编程模型,这意味着相同的 PyTorch Python 程序在集群中的所有进程/rank 上运行。请确保 `mesh_shape`(描述设备布局的 nD 数组的维度)在所有 rank 上是完全相同的。不一致的 `mesh_shape` 可能会导致挂起。 注释 如果未找到进程组,`init_device_mesh` 将在后台初始化分布式通信所需的分布式进程组。 参数 device_type (str) – 网格的设备类型。目前支持:“cpu”、“cuda/cuda-like”、“xpu”。不允许传入带有 GPU 索引的设备类型,例如 “cuda:0”。 mesh_shape (Tuple[int]) – 定义描述设备布局的多维数组维度的元组。 mesh_dim_names (Tuple[str], 可选) – 分配给描述设备布局的多维数组每个维度的网格维度名称元组。其长度必须与 `mesh_shape` 的长度匹配。`mesh_dim_names` 中的每个字符串必须唯一。 backend_override (Dict[int | str, tuple[str, Options] | str | Options], 可选) – 对将为每个网格维度创建的部分或所有 `ProcessGroup` 的覆盖。每个键可以是维度的索引或其名称(如果提供了 `mesh_dim_names`)。每个值可以是包含后端名称及其选项的元组,或者只是这两个组件之一(在这种情况下,另一个将被设置为其默认值)。 返回 代表设备布局的 `DeviceMesh` 对象。 返回类型 DeviceMesh 示例: >>> from torch.distributed.device_mesh import init_device_mesh >>> >>> mesh_1d = init_device_mesh("cuda", mesh_shape=(8,)) >>> mesh_2d = init_device_mesh("cuda", mesh_shape=(2, 8), mesh_dim_names=("dp", "tp")) torch.distributed.is_initialized()[source]# 检查默认进程组是否已初始化。 返回类型 bool torch.distributed.is_mpi_available()[source]# 检查 MPI 后端是否可用。 返回类型 bool torch.distributed.is_nccl_available()[source]# 检查 NCCL 后端是否可用。 返回类型 bool torch.distributed.is_gloo_available()[source]# 检查 Gloo 后端是否可用。 返回类型 bool torch.distributed.distributed_c10d.is_xccl_available()[source]# 检查 XCCL 后端是否可用。 返回类型 bool torch.distributed.is_torchelastic_launched()[source]# 检查此进程是否由 `torch.distributed.elastic`(也称为 torchelastic)启动。`TORCHELASTIC_RUN_ID` 环境变量的存在被用作确定当前进程是否由 torchelastic 启动的代理。这是一个合理的代理,因为 `TORCHELASTIC_RUN_ID` 映射到 rendezvous id,该 id 始终是一个非空值,用于标识用于对等发现目的的作业 ID。 返回类型 bool torch.distributed.get_default_backend_for_device(device)[source]# 返回给定设备的默认后端。 参数 device (Union[str, torch.device]) – 要获取其默认后端的设备。 返回 给定设备的默认后端,以小写字符串形式返回。 返回类型 str 目前支持三种初始化方法: TCP 初始化# 使用 TCP 初始化有两种方法,两者都要求一个可从所有进程访问的网络地址以及期望的 `world_size`。第一种方法要求指定一个属于 rank 0 进程的地址。这种初始化方法要求所有进程都手动指定 rank。请注意,最新的分布式包中不再支持多播地址。`group_name` 也已被弃用。 import torch.distributed as dist # 使用其中一台机器的地址 dist.init_process_group(backend, init_method='tcp://10.1.1.20:23456', rank=args.rank, world_size=4) 共享文件系统初始化# 另一种初始化方法利用了一个组内所有机器都能看到和共享的文件系统,以及一个期望的 `world_size`。URL 应该以 `file://` 开头,并包含共享文件系统上一个(在现有目录中的)不存在文件的路径。如果文件不存在,文件系统初始化将自动创建该文件,但不会删除该文件。因此,您有责任在下次对同一文件路径/名称调用 `init_process_group()` 之前清理该文件。请注意,最新的分布式包中不再支持自动分配 rank,并且 `group_name` 也已弃用。 警告 此方法假定文件系统支持使用 `fcntl` 进行锁定 - 大多数本地系统和 NFS 都支持它。 警告 此方法将始终创建文件,并尽最大努力在程序结束时清理并删除该文件。换句话说,每次使用文件初始化方法进行初始化时,都需要一个全新的空文件才能使初始化成功。如果再次使用了之前初始化(恰好未被清理)使用的同一个文件,这是非预期的行为,通常会导致死锁和失败。因此,即使此方法会尽最大努力清理文件,如果自动删除碰巧未成功,您也有责任确保在训练结束时删除该文件,以防下次再次重用同一文件。如果您计划在同一文件名上多次调用 `init_process_group()`,这一点尤为重要。换句话说,如果文件未被删除/清理,并且您再次对该文件调用 `init_process_group()`,则很可能会发生失败。这里的经验法则是,每次调用 `init_process_group()` 时,都要确保该文件不存在或为空。 import torch.distributed as dist # 应始终指定 rank dist.init_process_group(backend, init_method='file:///mnt/nfs/sharedfile', world_size=4, rank=args.rank) 环境变量初始化# 此方法将从环境变量中读取配置,允许人们完全自定义信息的获取方式。需要设置的变量有: MASTER_PORT - 必需;必须是 rank 0 机器上的空闲端口 MASTER_ADDR - 必需(rank 0 除外);rank 0 节点的地址 WORLD_SIZE - 必需;可以在此处设置,也可以在 init 函数调用中设置 RANK - 必需;可以在此处设置,也可以在 init 函数调用中设置 rank 为 0 的机器将用于建立所有连接。这是默认方法,这意味着不必指定 `init_method`(或者可以为 env://)。 改善初始化时间# `TORCH_GLOO_LAZY_INIT` - 按需建立连接,而不是使用全连接网格,这可以大大改善非 all2all 操作的初始化时间。 初始化后# 一旦运行了 `torch.distributed.init_process_group()`,就可以使用以下函数。要检查进程组是否已经初始化,请使用 `torch.distributed.is_initialized()`。 class torch.distributed.Backend(name)[source]# 后端的类似枚举的类。 可用的后端:GLOO、NCCL、UCC、MPI、XCCL 以及其他已注册的后端。此类的值是小写字符串,例如 `"gloo"`。它们可以作为属性访问,例如 `Backend.NCCL`。此类可以被直接调用以解析字符串,例如 `Backend(backend_str)` 将检查 `backend_str` 是否有效,如果有效则返回解析后的小写字符串。它也接受大写字符串,例如 `Backend("GLOO")` 返回 `"gloo"`。 注释 存在 `Backend.UNDEFINED` 条目,但仅用作某些字段的初始值。用户既不应直接使用它,也不应假设它的存在。 classmethod register_backend(name, func, extended_api=False, devices=None)[source]# 使用给定的名称和实例化函数注册一个新的后端。第三方 `ProcessGroup` 扩展使用此类方法来注册新的后端。 参数 name (str) – `ProcessGroup` 扩展的后端名称。它应该与 `init_process_group()` 中的名称一致。 func (函数) – 实例化后端的函数处理程序。该函数应该在后端扩展中实现,并接受四个参数,包括 `store`、`rank`、`world_size` 和 `timeout`。 extended_api (bool, 可选) – 后端是否支持扩展的参数结构。默认值:`False`。如果设置为 `True`,后端将获得一个 `c10d::DistributedBackendOptions` 实例,以及一个由后端实现定义的进程组选项对象。 device (str 或 str 列表, 可选) – 此后端支持的设备类型,例如 “cpu”、“cuda” 等。如果为 `None`,则假定同时支持 “cpu” 和 “cuda”。 注释 对第三方后端的这种支持是实验性的,随时可能更改。 torch.distributed.get_backend(group=None)[source]# 返回给定进程组的后端。 参数 group (ProcessGroup, 可选) – 要操作的进程组。默认为通用的主进程组。如果指定了另一个特定组,则调用进程必须是该组的一部分。 返回 给定进程组的后端,以小写字符串形式返回。 返回类型 Backend torch.distributed.get_rank(group=None)[source]# 返回当前进程在给定组中的 rank,否则返回默认组的 rank。Rank 是分配给分布式进程组内每个进程的唯一标识符。它们始终是范围从 0 到 `world_size` 的连续整数。 参数 group (ProcessGroup, 可选) – 要操作的进程组。如果为 `None`,则将使用默认进程组。 返回 进程组的 rank。如果不属于该组,则为 -1。 返回类型 int torch.distributed.get_world_size(group=None)[source]# 返回当前进程组中的进程数。 参数 group (ProcessGroup, 可选) – 要操作的进程组。如果为 `None`,则将使用默认进程组。 返回 进程组的总规模。如果不属于该组,则为 -1。 返回类型 int 关闭# 在退出时通过调用 `destroy_process_group()` 来清理资源非常重要。最简单的遵循模式是在训练脚本中不再需要通信的时候(通常靠近 `main()` 的末尾),通过使用默认值 `None` 作为 `group` 参数调用 `destroy_process_group()` 来销毁每个进程组和后端。该调用应由每个训练器进程执行一次,而不是在外部的进程启动器层执行。如果在超时持续时间内,进程组中的所有 rank 未全部调用 `destroy_process_group()`(尤其是在应用程序中有多个进程组的情况下,例如用于 N-D 并行),则退出时可能会发生挂起。这是因为 `ProcessGroupNCCL` 的析构函数调用了 `ncclCommAbort`,该函数必须被集体调用,但是如果由 Python 的垃圾回收器 (GC) 调用 `ProcessGroupNCCL` 的析构函数,其调用顺序是不确定的。调用 `destroy_process_group()` 有助于确保在各个 rank 之间以一致的顺序调用 `ncclCommAbort`,并避免在 `ProcessGroupNCCL` 的析构函数中调用 `ncclCommAbort`。 重新初始化# `destroy_process_group` 也可用于销毁单个进程组。一个用例可能是容错训练,在运行期间可能会销毁一个进程组,然后初始化一个新的进程组。在这种情况下,关键是要在调用 destroy 之后并在随后初始化之前,使用 `torch.distributed` 原语以外的某种手段来同步训练器进程。由于实现这种同步很困难,这种行为目前不受支持/未经验证,并被视为一个已知问题。如果这是阻碍您使用的案例,请提交 github issue 或 RFC。 组# 默认情况下,集合通信在默认组(也称为 world)上运行,并要求所有进程都进入分布式函数调用。然而,一些工作负载可以从更细粒度的通信中受益。这就是分布式组发挥作用的地方。`new_group()` 函数可用于创建新组,其中包含所有进程的任意子集。它返回一个不透明的组句柄,可以作为 `group` 参数传递给所有的集合通信(集合通信是在某些众所周知的编程模式中交换信息的分布式函数)。 torch.distributed.new_group(ranks=None, timeout=None, backend=None, pg_options=None, use_local_synchronization=False, group_desc=None, device_id=None)[source]# 创建一个新的分布式组。此函数要求主组(即属于分布式作业一部分的所有进程)中的所有进程都进入此函数,即使它们不打算成为该组的成员。此外,组在所有进程中的创建顺序必须相同。 警告 安全的并发使用:当在 NCCL 后端使用多个进程组时,用户必须确保各个 rank 之间的集合通信具有全局一致的执行顺序。如果一个进程内的多个线程发出集合通信,则必须进行显式同步以确保顺序一致。当使用 `torch.distributed` 通信 API 的异步变体时,会返回一个工作对象,并且通信内核会排入单独的 CUDA 流中,从而允许通信和计算重叠。一旦在一个进程组上发出了一个或多个异步操作,在切换使用另一个进程组之前,必须通过调用 `work.wait()` 将它们与其他 CUDA 流进行同步。有关详细信息,请参阅《并发使用多个 NCCL 通信器》<https://docs.nvidia.com/deeplearning/nccl/user-guide/docs/usage/communicators.html#using-multiple-nccl-communicators-concurrently>。 参数 ranks (list[int]) – 组成员 rank 的列表。如果为 `None`,将被设置为所有 rank。默认值为 `None`。 timeout (timedelta, 可选) – 详细信息和默认值请参见 `init_process_group`。 backend (str 或 Backend, 可选) – 要使用的后端。根据构建时的配置,有效值为 `gloo` 和 `nccl`。默认使用与全局组相同的后端。此字段应以小写字符串形式给出(例如 `"gloo"`),也可以通过 `Backend` 属性访问(例如 `Backend.GLOO`)。如果传入 `None`,将使用与默认进程组对应的后端。默认值为 `None`。 pg_options (ProcessGroupOptions, 可选) – 进程组选项,指定在构造特定进程组期间需要传入的附加选项。例如,对于 nccl 后端,可以指定 `is_high_priority_stream`,以便进程组可以获取高优先级的 CUDA 流。有关配置 nccl 的其他可用选项,请参阅 https://docs.nvidia.com/deeplearning/nccl/user-guide/docs/api/types.html#ncclconfig-t use_local_synchronization (bool, 可选):在进程组创建结束时执行一个组内的局部屏障。这不同之处在于,非成员 rank 不需要调用该 API 并且不加入屏障。 group_desc (str, 可选) – 描述进程组的字符串。 device_id (torch.device, 可选) – 将此进程“绑定”到的单个特定设备,如果提供了此字段,`new_group` 调用将尝试立即为该设备初始化一个通信后端。 返回 可以传递给集合通信调用的分布式组句柄;如果该 rank 不是 `ranks` 的一部分,则为 `GroupMember.NON_GROUP_MEMBER`。 附注:`use_local_synchronization` 不能与 MPI 一起使用。 附注:虽然对于大型集群和小型进程组,`use_local_synchronization=True` 可以显著加快速度,但由于它会改变集群行为(非成员 rank 不加入组屏障 `barrier()`),因此必须小心。 附注:当每个 rank 创建多个重叠的进程组时,`use_local_synchronization=True` 可能导致死锁。为避免这种情况,请确保所有 rank 遵循相同的全局创建顺序。 torch.distributed.get_group_rank(group, global_rank)[source]# 将全局 rank 转换为组 rank。`global_rank` 必须是 `group` 的一部分,否则将引发 `RuntimeError`。 参数 group (ProcessGroup) – 用于查找相对 rank 的 `ProcessGroup`。 global_rank (int) – 要查询的全局 rank。 返回 相对于 `group` 的 `global_rank` 的组 rank 返回类型 int 附注:在默认进程组上调用此函数返回标识本身。 torch.distributed.get_global_rank(group, group_rank)[source]# 将组 rank 转换为全局 rank。`group_rank` 必须是 `group` 的一部分,否则将引发 `RuntimeError`。 参数 group (ProcessGroup) – 用于查找全局 rank 的 `ProcessGroup`。 group_rank (int) – 要查询的组 rank。 返回 相对于 `group` 的 `group_rank` 的全局 rank 返回类型 int 附注:在默认进程组上调用此函数返回标识本身。 torch.distributed.get_process_group_ranks(group)[source]# 获取与 `group` 关联的所有 rank。 参数 group (Optional[ProcessGroup]) – 要从中获取所有 rank 的 `ProcessGroup`。如果为 `None`,则将使用默认进程组。 返回 按组 rank 排序的全局 rank 列表。 返回类型 list[int] 设备网格# `DeviceMesh` 是管理进程组(或 NCCL 通信器)的更高级别抽象。它允许用户轻松创建节点间和节点内的进程组,而无需担心如何正确地为不同的子进程组设置 rank,并且有助于轻松管理这些分布式进程组。`init_device_mesh()` 函数可用于创建新的 `DeviceMesh`,使用描述设备拓扑的网格形状。 class torch.distributed.device_mesh.DeviceMesh(device_type, mesh, *, mesh_dim_names=None, backend_override=None, _init_backend=True)[source]# `DeviceMesh` 代表一个设备网格,其中设备的布局可以表示为 n-d 维数组,而 n-d 维数组的每个值是默认进程组 rank 的全局 ID。`DeviceMesh` 可用于设置集群间的 N 维设备连接,并管理 N 维并行的 `ProcessGroup`。通信可以分别在 `DeviceMesh` 的每个维度上进行。`DeviceMesh` 尊重用户已经选择的设备(即如果用户在 `DeviceMesh` 初始化之前调用 `torch.cuda.set_device`),并且如果用户事先未设置设备,它将为当前进程选择/设置设备。请注意,手动设备选择应该发生在 `DeviceMesh` 初始化之前。当与 DTensor API 一起使用时,`DeviceMesh` 也可用作上下文管理器。 注释 `DeviceMesh` 遵循 SPMD 编程模型,这意味着相同的 PyTorch Python 程序在集群中的所有进程/rank 上运行。因此,用户需要确保网格数组(描述设备布局)在所有 rank 上是相同的。不一致的网格会导致无声的挂起。 参数 device_type (str) – 网格的设备类型。目前支持:“cpu”、“cuda/cuda-like”。 mesh (ndarray) – 描述设备布局的多维数组或整数张量,其中 ID 是默认进程组的全局 ID。 返回 代表设备布局的 `DeviceMesh` 对象。 返回类型 DeviceMesh 以下程序以 SPMD 方式在每个进程/rank
39
+
40
+ ## 参考文件
41
+
42
+ 此技能包含位于 `references/` 中的综合文档:
43
+
44
+ - **other.md** - 其他文档
45
+
46
+ 当需要详细信息时,请使用 `view` 阅读特定的参考文件。
47
+
48
+ ## 使用此技能
49
+
50
+ ### 面向初学者
51
+ 请从 getting_started 或 tutorials 参考文件开始,以了解基础概念。
52
+
53
+ ### 面向特定特性
54
+ 请使用相应的类别参考文件(api、guides 等)以获取详细信息。
55
+
56
+ ### 面向代码示例
57
+ 上方的快速参考部分包含了从官方文档中提取的常见模式。
58
+
59
+ ## 资源
60
+
61
+ ### references/
62
+ 从官方来源提取的整理好的文档。这些文件包含:
63
+ - 详细说明
64
+ - 带有语言标注的代码示例
65
+ - 原始文档链接
66
+ - 用于快速导航的目录
67
+
68
+ ### scripts/
69
+ 在此处为常见的自动化任务添加辅助脚本。
70
+
71
+ ### assets/
72
+ 在此处添加模板、样板代码或示例项目。
73
+
74
+ ## 说明
75
+
76
+ - 此技能根据官方文档自动生成
77
+ - 参考文件保留了源文档的结构和示例
78
+ - 代码示例包含语言检测,以实现更好的语法高亮
79
+ - 快速参考模式是从文档中的常见用法示例中提取的
80
+
81
+ ## 更新
82
+
83
+ 要使用更新的文档刷新此技能:
84
+ 1. 使用相同的配置重新运行抓取器
85
+ 2. 该技能将使用最新信息重新构建