@tt-a1i/hive 1.3.4 → 1.4.2

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 (440) hide show
  1. package/CHANGELOG.md +47 -0
  2. package/NOTICE +15 -0
  3. package/README.en.md +38 -1
  4. package/README.md +31 -1
  5. package/TRADEMARK.md +41 -0
  6. package/dist/src/cli/hive.js +34 -8
  7. package/dist/src/server/app.d.ts +2 -1
  8. package/dist/src/server/app.js +68 -1
  9. package/dist/src/server/hive-team-guidance.js +1 -0
  10. package/dist/src/server/marketplace-store.d.ts +38 -0
  11. package/dist/src/server/marketplace-store.js +85 -0
  12. package/dist/src/server/routes-marketplace.d.ts +2 -0
  13. package/dist/src/server/routes-marketplace.js +54 -0
  14. package/dist/src/server/routes.js +2 -0
  15. package/dist/src/server/workspace-store-mutations.js +5 -3
  16. package/dist/vendor/marketplace/en/LICENSE +21 -0
  17. package/dist/vendor/marketplace/en/SOURCES.md +12 -0
  18. package/dist/vendor/marketplace/en/academic/academic-anthropologist.md +125 -0
  19. package/dist/vendor/marketplace/en/academic/academic-geographer.md +127 -0
  20. package/dist/vendor/marketplace/en/academic/academic-historian.md +123 -0
  21. package/dist/vendor/marketplace/en/academic/academic-narratologist.md +118 -0
  22. package/dist/vendor/marketplace/en/academic/academic-psychologist.md +118 -0
  23. package/dist/vendor/marketplace/en/design/design-brand-guardian.md +322 -0
  24. package/dist/vendor/marketplace/en/design/design-image-prompt-engineer.md +236 -0
  25. package/dist/vendor/marketplace/en/design/design-inclusive-visuals-specialist.md +71 -0
  26. package/dist/vendor/marketplace/en/design/design-ui-designer.md +383 -0
  27. package/dist/vendor/marketplace/en/design/design-ux-architect.md +469 -0
  28. package/dist/vendor/marketplace/en/design/design-ux-researcher.md +329 -0
  29. package/dist/vendor/marketplace/en/design/design-visual-storyteller.md +149 -0
  30. package/dist/vendor/marketplace/en/design/design-whimsy-injector.md +438 -0
  31. package/dist/vendor/marketplace/en/engineering/engineering-ai-data-remediation-engineer.md +211 -0
  32. package/dist/vendor/marketplace/en/engineering/engineering-ai-engineer.md +146 -0
  33. package/dist/vendor/marketplace/en/engineering/engineering-autonomous-optimization-architect.md +107 -0
  34. package/dist/vendor/marketplace/en/engineering/engineering-backend-architect.md +235 -0
  35. package/dist/vendor/marketplace/en/engineering/engineering-cms-developer.md +536 -0
  36. package/dist/vendor/marketplace/en/engineering/engineering-code-reviewer.md +76 -0
  37. package/dist/vendor/marketplace/en/engineering/engineering-codebase-onboarding-engineer.md +173 -0
  38. package/dist/vendor/marketplace/en/engineering/engineering-data-engineer.md +306 -0
  39. package/dist/vendor/marketplace/en/engineering/engineering-database-optimizer.md +176 -0
  40. package/dist/vendor/marketplace/en/engineering/engineering-devops-automator.md +376 -0
  41. package/dist/vendor/marketplace/en/engineering/engineering-email-intelligence-engineer.md +353 -0
  42. package/dist/vendor/marketplace/en/engineering/engineering-embedded-firmware-engineer.md +173 -0
  43. package/dist/vendor/marketplace/en/engineering/engineering-feishu-integration-developer.md +598 -0
  44. package/dist/vendor/marketplace/en/engineering/engineering-filament-optimization-specialist.md +283 -0
  45. package/dist/vendor/marketplace/en/engineering/engineering-frontend-developer.md +225 -0
  46. package/dist/vendor/marketplace/en/engineering/engineering-git-workflow-master.md +84 -0
  47. package/dist/vendor/marketplace/en/engineering/engineering-incident-response-commander.md +444 -0
  48. package/dist/vendor/marketplace/en/engineering/engineering-minimal-change-engineer.md +207 -0
  49. package/dist/vendor/marketplace/en/engineering/engineering-mobile-app-builder.md +493 -0
  50. package/dist/vendor/marketplace/en/engineering/engineering-rapid-prototyper.md +462 -0
  51. package/dist/vendor/marketplace/en/engineering/engineering-security-engineer.md +304 -0
  52. package/dist/vendor/marketplace/en/engineering/engineering-senior-developer.md +176 -0
  53. package/dist/vendor/marketplace/en/engineering/engineering-software-architect.md +81 -0
  54. package/dist/vendor/marketplace/en/engineering/engineering-solidity-smart-contract-engineer.md +522 -0
  55. package/dist/vendor/marketplace/en/engineering/engineering-sre.md +90 -0
  56. package/dist/vendor/marketplace/en/engineering/engineering-technical-writer.md +393 -0
  57. package/dist/vendor/marketplace/en/engineering/engineering-threat-detection-engineer.md +534 -0
  58. package/dist/vendor/marketplace/en/engineering/engineering-voice-ai-integration-engineer.md +561 -0
  59. package/dist/vendor/marketplace/en/engineering/engineering-wechat-mini-program-developer.md +350 -0
  60. package/dist/vendor/marketplace/en/finance/finance-bookkeeper-controller.md +260 -0
  61. package/dist/vendor/marketplace/en/finance/finance-financial-analyst.md +234 -0
  62. package/dist/vendor/marketplace/en/finance/finance-fpa-analyst.md +263 -0
  63. package/dist/vendor/marketplace/en/finance/finance-investment-researcher.md +272 -0
  64. package/dist/vendor/marketplace/en/finance/finance-tax-strategist.md +239 -0
  65. package/dist/vendor/marketplace/en/game-development/blender/blender-addon-engineer.md +234 -0
  66. package/dist/vendor/marketplace/en/game-development/game-audio-engineer.md +264 -0
  67. package/dist/vendor/marketplace/en/game-development/game-designer.md +167 -0
  68. package/dist/vendor/marketplace/en/game-development/godot/godot-gameplay-scripter.md +334 -0
  69. package/dist/vendor/marketplace/en/game-development/godot/godot-multiplayer-engineer.md +297 -0
  70. package/dist/vendor/marketplace/en/game-development/godot/godot-shader-developer.md +266 -0
  71. package/dist/vendor/marketplace/en/game-development/level-designer.md +208 -0
  72. package/dist/vendor/marketplace/en/game-development/narrative-designer.md +243 -0
  73. package/dist/vendor/marketplace/en/game-development/roblox-studio/roblox-avatar-creator.md +297 -0
  74. package/dist/vendor/marketplace/en/game-development/roblox-studio/roblox-experience-designer.md +305 -0
  75. package/dist/vendor/marketplace/en/game-development/roblox-studio/roblox-systems-scripter.md +325 -0
  76. package/dist/vendor/marketplace/en/game-development/technical-artist.md +229 -0
  77. package/dist/vendor/marketplace/en/game-development/unity/unity-architect.md +271 -0
  78. package/dist/vendor/marketplace/en/game-development/unity/unity-editor-tool-developer.md +310 -0
  79. package/dist/vendor/marketplace/en/game-development/unity/unity-multiplayer-engineer.md +321 -0
  80. package/dist/vendor/marketplace/en/game-development/unity/unity-shader-graph-artist.md +269 -0
  81. package/dist/vendor/marketplace/en/game-development/unreal-engine/unreal-multiplayer-architect.md +313 -0
  82. package/dist/vendor/marketplace/en/game-development/unreal-engine/unreal-systems-engineer.md +310 -0
  83. package/dist/vendor/marketplace/en/game-development/unreal-engine/unreal-technical-artist.md +256 -0
  84. package/dist/vendor/marketplace/en/game-development/unreal-engine/unreal-world-builder.md +273 -0
  85. package/dist/vendor/marketplace/en/integrations/mcp-memory/backend-architect-with-memory.md +247 -0
  86. package/dist/vendor/marketplace/en/manifest.json +1869 -0
  87. package/dist/vendor/marketplace/en/marketing/marketing-agentic-search-optimizer.md +311 -0
  88. package/dist/vendor/marketplace/en/marketing/marketing-ai-citation-strategist.md +170 -0
  89. package/dist/vendor/marketplace/en/marketing/marketing-app-store-optimizer.md +321 -0
  90. package/dist/vendor/marketplace/en/marketing/marketing-baidu-seo-specialist.md +226 -0
  91. package/dist/vendor/marketplace/en/marketing/marketing-bilibili-content-strategist.md +199 -0
  92. package/dist/vendor/marketplace/en/marketing/marketing-book-co-author.md +110 -0
  93. package/dist/vendor/marketplace/en/marketing/marketing-carousel-growth-engine.md +199 -0
  94. package/dist/vendor/marketplace/en/marketing/marketing-china-ecommerce-operator.md +283 -0
  95. package/dist/vendor/marketplace/en/marketing/marketing-china-market-localization-strategist.md +283 -0
  96. package/dist/vendor/marketplace/en/marketing/marketing-content-creator.md +54 -0
  97. package/dist/vendor/marketplace/en/marketing/marketing-cross-border-ecommerce.md +259 -0
  98. package/dist/vendor/marketplace/en/marketing/marketing-douyin-strategist.md +149 -0
  99. package/dist/vendor/marketplace/en/marketing/marketing-growth-hacker.md +54 -0
  100. package/dist/vendor/marketplace/en/marketing/marketing-instagram-curator.md +113 -0
  101. package/dist/vendor/marketplace/en/marketing/marketing-kuaishou-strategist.md +223 -0
  102. package/dist/vendor/marketplace/en/marketing/marketing-linkedin-content-creator.md +214 -0
  103. package/dist/vendor/marketplace/en/marketing/marketing-livestream-commerce-coach.md +305 -0
  104. package/dist/vendor/marketplace/en/marketing/marketing-podcast-strategist.md +277 -0
  105. package/dist/vendor/marketplace/en/marketing/marketing-private-domain-operator.md +308 -0
  106. package/dist/vendor/marketplace/en/marketing/marketing-reddit-community-builder.md +123 -0
  107. package/dist/vendor/marketplace/en/marketing/marketing-seo-specialist.md +321 -0
  108. package/dist/vendor/marketplace/en/marketing/marketing-short-video-editing-coach.md +412 -0
  109. package/dist/vendor/marketplace/en/marketing/marketing-social-media-strategist.md +125 -0
  110. package/dist/vendor/marketplace/en/marketing/marketing-tiktok-strategist.md +125 -0
  111. package/dist/vendor/marketplace/en/marketing/marketing-twitter-engager.md +126 -0
  112. package/dist/vendor/marketplace/en/marketing/marketing-video-optimization-specialist.md +119 -0
  113. package/dist/vendor/marketplace/en/marketing/marketing-wechat-official-account.md +145 -0
  114. package/dist/vendor/marketplace/en/marketing/marketing-weibo-strategist.md +240 -0
  115. package/dist/vendor/marketplace/en/marketing/marketing-xiaohongshu-specialist.md +138 -0
  116. package/dist/vendor/marketplace/en/marketing/marketing-zhihu-strategist.md +162 -0
  117. package/dist/vendor/marketplace/en/paid-media/paid-media-auditor.md +71 -0
  118. package/dist/vendor/marketplace/en/paid-media/paid-media-creative-strategist.md +71 -0
  119. package/dist/vendor/marketplace/en/paid-media/paid-media-paid-social-strategist.md +71 -0
  120. package/dist/vendor/marketplace/en/paid-media/paid-media-ppc-strategist.md +71 -0
  121. package/dist/vendor/marketplace/en/paid-media/paid-media-programmatic-buyer.md +71 -0
  122. package/dist/vendor/marketplace/en/paid-media/paid-media-search-query-analyst.md +71 -0
  123. package/dist/vendor/marketplace/en/paid-media/paid-media-tracking-specialist.md +71 -0
  124. package/dist/vendor/marketplace/en/product/product-behavioral-nudge-engine.md +80 -0
  125. package/dist/vendor/marketplace/en/product/product-feedback-synthesizer.md +119 -0
  126. package/dist/vendor/marketplace/en/product/product-manager.md +469 -0
  127. package/dist/vendor/marketplace/en/product/product-sprint-prioritizer.md +154 -0
  128. package/dist/vendor/marketplace/en/product/product-trend-researcher.md +159 -0
  129. package/dist/vendor/marketplace/en/project-management/project-management-experiment-tracker.md +198 -0
  130. package/dist/vendor/marketplace/en/project-management/project-management-jira-workflow-steward.md +230 -0
  131. package/dist/vendor/marketplace/en/project-management/project-management-project-shepherd.md +194 -0
  132. package/dist/vendor/marketplace/en/project-management/project-management-studio-operations.md +200 -0
  133. package/dist/vendor/marketplace/en/project-management/project-management-studio-producer.md +203 -0
  134. package/dist/vendor/marketplace/en/project-management/project-manager-senior.md +135 -0
  135. package/dist/vendor/marketplace/en/sales/sales-account-strategist.md +227 -0
  136. package/dist/vendor/marketplace/en/sales/sales-coach.md +271 -0
  137. package/dist/vendor/marketplace/en/sales/sales-deal-strategist.md +180 -0
  138. package/dist/vendor/marketplace/en/sales/sales-discovery-coach.md +225 -0
  139. package/dist/vendor/marketplace/en/sales/sales-engineer.md +182 -0
  140. package/dist/vendor/marketplace/en/sales/sales-outbound-strategist.md +201 -0
  141. package/dist/vendor/marketplace/en/sales/sales-pipeline-analyst.md +267 -0
  142. package/dist/vendor/marketplace/en/sales/sales-proposal-strategist.md +217 -0
  143. package/dist/vendor/marketplace/en/spatial-computing/macos-spatial-metal-engineer.md +337 -0
  144. package/dist/vendor/marketplace/en/spatial-computing/terminal-integration-specialist.md +70 -0
  145. package/dist/vendor/marketplace/en/spatial-computing/visionos-spatial-engineer.md +54 -0
  146. package/dist/vendor/marketplace/en/spatial-computing/xr-cockpit-interaction-specialist.md +32 -0
  147. package/dist/vendor/marketplace/en/spatial-computing/xr-immersive-developer.md +32 -0
  148. package/dist/vendor/marketplace/en/spatial-computing/xr-interface-architect.md +32 -0
  149. package/dist/vendor/marketplace/en/specialized/accounts-payable-agent.md +185 -0
  150. package/dist/vendor/marketplace/en/specialized/agentic-identity-trust.md +387 -0
  151. package/dist/vendor/marketplace/en/specialized/agents-orchestrator.md +367 -0
  152. package/dist/vendor/marketplace/en/specialized/automation-governance-architect.md +216 -0
  153. package/dist/vendor/marketplace/en/specialized/blockchain-security-auditor.md +463 -0
  154. package/dist/vendor/marketplace/en/specialized/compliance-auditor.md +158 -0
  155. package/dist/vendor/marketplace/en/specialized/corporate-training-designer.md +192 -0
  156. package/dist/vendor/marketplace/en/specialized/customer-service.md +398 -0
  157. package/dist/vendor/marketplace/en/specialized/data-consolidation-agent.md +60 -0
  158. package/dist/vendor/marketplace/en/specialized/government-digital-presales-consultant.md +363 -0
  159. package/dist/vendor/marketplace/en/specialized/healthcare-customer-service.md +389 -0
  160. package/dist/vendor/marketplace/en/specialized/healthcare-marketing-compliance.md +395 -0
  161. package/dist/vendor/marketplace/en/specialized/hospitality-guest-services.md +603 -0
  162. package/dist/vendor/marketplace/en/specialized/hr-onboarding.md +451 -0
  163. package/dist/vendor/marketplace/en/specialized/identity-graph-operator.md +260 -0
  164. package/dist/vendor/marketplace/en/specialized/language-translator.md +264 -0
  165. package/dist/vendor/marketplace/en/specialized/legal-billing-time-tracking.md +569 -0
  166. package/dist/vendor/marketplace/en/specialized/legal-client-intake.md +492 -0
  167. package/dist/vendor/marketplace/en/specialized/legal-document-review.md +454 -0
  168. package/dist/vendor/marketplace/en/specialized/loan-officer-assistant.md +555 -0
  169. package/dist/vendor/marketplace/en/specialized/lsp-index-engineer.md +314 -0
  170. package/dist/vendor/marketplace/en/specialized/real-estate-buyer-seller.md +596 -0
  171. package/dist/vendor/marketplace/en/specialized/recruitment-specialist.md +509 -0
  172. package/dist/vendor/marketplace/en/specialized/report-distribution-agent.md +65 -0
  173. package/dist/vendor/marketplace/en/specialized/retail-customer-returns.md +566 -0
  174. package/dist/vendor/marketplace/en/specialized/sales-data-extraction-agent.md +67 -0
  175. package/dist/vendor/marketplace/en/specialized/sales-outreach.md +425 -0
  176. package/dist/vendor/marketplace/en/specialized/specialized-chief-of-staff.md +279 -0
  177. package/dist/vendor/marketplace/en/specialized/specialized-civil-engineer.md +356 -0
  178. package/dist/vendor/marketplace/en/specialized/specialized-cultural-intelligence-strategist.md +88 -0
  179. package/dist/vendor/marketplace/en/specialized/specialized-developer-advocate.md +317 -0
  180. package/dist/vendor/marketplace/en/specialized/specialized-document-generator.md +55 -0
  181. package/dist/vendor/marketplace/en/specialized/specialized-french-consulting-market.md +192 -0
  182. package/dist/vendor/marketplace/en/specialized/specialized-korean-business-navigator.md +216 -0
  183. package/dist/vendor/marketplace/en/specialized/specialized-mcp-builder.md +248 -0
  184. package/dist/vendor/marketplace/en/specialized/specialized-model-qa.md +488 -0
  185. package/dist/vendor/marketplace/en/specialized/specialized-salesforce-architect.md +180 -0
  186. package/dist/vendor/marketplace/en/specialized/specialized-workflow-architect.md +597 -0
  187. package/dist/vendor/marketplace/en/specialized/study-abroad-advisor.md +282 -0
  188. package/dist/vendor/marketplace/en/specialized/supply-chain-strategist.md +582 -0
  189. package/dist/vendor/marketplace/en/support/support-analytics-reporter.md +365 -0
  190. package/dist/vendor/marketplace/en/support/support-executive-summary-generator.md +212 -0
  191. package/dist/vendor/marketplace/en/support/support-finance-tracker.md +442 -0
  192. package/dist/vendor/marketplace/en/support/support-infrastructure-maintainer.md +618 -0
  193. package/dist/vendor/marketplace/en/support/support-legal-compliance-checker.md +588 -0
  194. package/dist/vendor/marketplace/en/support/support-support-responder.md +585 -0
  195. package/dist/vendor/marketplace/en/testing/testing-accessibility-auditor.md +316 -0
  196. package/dist/vendor/marketplace/en/testing/testing-api-tester.md +306 -0
  197. package/dist/vendor/marketplace/en/testing/testing-evidence-collector.md +210 -0
  198. package/dist/vendor/marketplace/en/testing/testing-performance-benchmarker.md +268 -0
  199. package/dist/vendor/marketplace/en/testing/testing-reality-checker.md +236 -0
  200. package/dist/vendor/marketplace/en/testing/testing-test-results-analyzer.md +305 -0
  201. package/dist/vendor/marketplace/en/testing/testing-tool-evaluator.md +394 -0
  202. package/dist/vendor/marketplace/en/testing/testing-workflow-optimizer.md +450 -0
  203. package/dist/vendor/marketplace/zh/LICENSE +22 -0
  204. package/dist/vendor/marketplace/zh/SOURCES.md +12 -0
  205. package/dist/vendor/marketplace/zh/academic/academic-anthropologist.md +124 -0
  206. package/dist/vendor/marketplace/zh/academic/academic-geographer.md +126 -0
  207. package/dist/vendor/marketplace/zh/academic/academic-historian.md +122 -0
  208. package/dist/vendor/marketplace/zh/academic/academic-narratologist.md +117 -0
  209. package/dist/vendor/marketplace/zh/academic/academic-psychologist.md +117 -0
  210. package/dist/vendor/marketplace/zh/academic/academic-study-planner.md +214 -0
  211. package/dist/vendor/marketplace/zh/design/design-brand-guardian.md +321 -0
  212. package/dist/vendor/marketplace/zh/design/design-image-prompt-engineer.md +255 -0
  213. package/dist/vendor/marketplace/zh/design/design-inclusive-visuals-specialist.md +177 -0
  214. package/dist/vendor/marketplace/zh/design/design-ui-designer.md +382 -0
  215. package/dist/vendor/marketplace/zh/design/design-ux-architect.md +482 -0
  216. package/dist/vendor/marketplace/zh/design/design-ux-researcher.md +328 -0
  217. package/dist/vendor/marketplace/zh/design/design-visual-storyteller.md +159 -0
  218. package/dist/vendor/marketplace/zh/design/design-whimsy-injector.md +453 -0
  219. package/dist/vendor/marketplace/zh/engineering/engineering-ai-data-remediation-engineer.md +209 -0
  220. package/dist/vendor/marketplace/zh/engineering/engineering-ai-engineer.md +161 -0
  221. package/dist/vendor/marketplace/zh/engineering/engineering-autonomous-optimization-architect.md +115 -0
  222. package/dist/vendor/marketplace/zh/engineering/engineering-backend-architect.md +234 -0
  223. package/dist/vendor/marketplace/zh/engineering/engineering-cms-developer.md +534 -0
  224. package/dist/vendor/marketplace/zh/engineering/engineering-code-reviewer.md +172 -0
  225. package/dist/vendor/marketplace/zh/engineering/engineering-codebase-onboarding-engineer.md +172 -0
  226. package/dist/vendor/marketplace/zh/engineering/engineering-data-engineer.md +324 -0
  227. package/dist/vendor/marketplace/zh/engineering/engineering-database-optimizer.md +175 -0
  228. package/dist/vendor/marketplace/zh/engineering/engineering-devops-automator.md +375 -0
  229. package/dist/vendor/marketplace/zh/engineering/engineering-dingtalk-integration-developer.md +574 -0
  230. package/dist/vendor/marketplace/zh/engineering/engineering-email-intelligence-engineer.md +349 -0
  231. package/dist/vendor/marketplace/zh/engineering/engineering-embedded-firmware-engineer.md +168 -0
  232. package/dist/vendor/marketplace/zh/engineering/engineering-embedded-linux-driver-engineer.md +255 -0
  233. package/dist/vendor/marketplace/zh/engineering/engineering-feishu-integration-developer.md +597 -0
  234. package/dist/vendor/marketplace/zh/engineering/engineering-filament-optimization-specialist.md +283 -0
  235. package/dist/vendor/marketplace/zh/engineering/engineering-fpga-digital-design-engineer.md +227 -0
  236. package/dist/vendor/marketplace/zh/engineering/engineering-frontend-developer.md +224 -0
  237. package/dist/vendor/marketplace/zh/engineering/engineering-git-workflow-master.md +220 -0
  238. package/dist/vendor/marketplace/zh/engineering/engineering-incident-response-commander.md +465 -0
  239. package/dist/vendor/marketplace/zh/engineering/engineering-iot-solution-architect.md +220 -0
  240. package/dist/vendor/marketplace/zh/engineering/engineering-mechanical-design-engineer.md +311 -0
  241. package/dist/vendor/marketplace/zh/engineering/engineering-minimal-change-engineer.md +206 -0
  242. package/dist/vendor/marketplace/zh/engineering/engineering-mobile-app-builder.md +434 -0
  243. package/dist/vendor/marketplace/zh/engineering/engineering-pc-host-engineer.md +231 -0
  244. package/dist/vendor/marketplace/zh/engineering/engineering-rapid-prototyper.md +461 -0
  245. package/dist/vendor/marketplace/zh/engineering/engineering-security-engineer.md +303 -0
  246. package/dist/vendor/marketplace/zh/engineering/engineering-senior-developer.md +177 -0
  247. package/dist/vendor/marketplace/zh/engineering/engineering-software-architect.md +200 -0
  248. package/dist/vendor/marketplace/zh/engineering/engineering-solidity-smart-contract-engineer.md +541 -0
  249. package/dist/vendor/marketplace/zh/engineering/engineering-sre.md +233 -0
  250. package/dist/vendor/marketplace/zh/engineering/engineering-technical-writer.md +409 -0
  251. package/dist/vendor/marketplace/zh/engineering/engineering-threat-detection-engineer.md +553 -0
  252. package/dist/vendor/marketplace/zh/engineering/engineering-voice-ai-integration-engineer.md +560 -0
  253. package/dist/vendor/marketplace/zh/engineering/engineering-wechat-mini-program-developer.md +288 -0
  254. package/dist/vendor/marketplace/zh/finance/finance-bookkeeper-controller.md +271 -0
  255. package/dist/vendor/marketplace/zh/finance/finance-financial-analyst.md +244 -0
  256. package/dist/vendor/marketplace/zh/finance/finance-financial-forecaster.md +213 -0
  257. package/dist/vendor/marketplace/zh/finance/finance-fpa-analyst.md +272 -0
  258. package/dist/vendor/marketplace/zh/finance/finance-fraud-detector.md +241 -0
  259. package/dist/vendor/marketplace/zh/finance/finance-investment-researcher.md +283 -0
  260. package/dist/vendor/marketplace/zh/finance/finance-invoice-manager.md +242 -0
  261. package/dist/vendor/marketplace/zh/finance/finance-tax-strategist.md +250 -0
  262. package/dist/vendor/marketplace/zh/game-development/blender/blender-addon-engineer.md +233 -0
  263. package/dist/vendor/marketplace/zh/game-development/game-audio-engineer.md +265 -0
  264. package/dist/vendor/marketplace/zh/game-development/game-designer.md +168 -0
  265. package/dist/vendor/marketplace/zh/game-development/godot/godot-gameplay-scripter.md +335 -0
  266. package/dist/vendor/marketplace/zh/game-development/godot/godot-multiplayer-engineer.md +296 -0
  267. package/dist/vendor/marketplace/zh/game-development/godot/godot-shader-developer.md +267 -0
  268. package/dist/vendor/marketplace/zh/game-development/level-designer.md +209 -0
  269. package/dist/vendor/marketplace/zh/game-development/narrative-designer.md +244 -0
  270. package/dist/vendor/marketplace/zh/game-development/roblox-studio/roblox-avatar-creator.md +298 -0
  271. package/dist/vendor/marketplace/zh/game-development/roblox-studio/roblox-experience-designer.md +306 -0
  272. package/dist/vendor/marketplace/zh/game-development/roblox-studio/roblox-systems-scripter.md +325 -0
  273. package/dist/vendor/marketplace/zh/game-development/technical-artist.md +230 -0
  274. package/dist/vendor/marketplace/zh/game-development/unity/unity-architect.md +272 -0
  275. package/dist/vendor/marketplace/zh/game-development/unity/unity-editor-tool-developer.md +300 -0
  276. package/dist/vendor/marketplace/zh/game-development/unity/unity-multiplayer-engineer.md +238 -0
  277. package/dist/vendor/marketplace/zh/game-development/unity/unity-shader-graph-artist.md +270 -0
  278. package/dist/vendor/marketplace/zh/game-development/unreal-engine/unreal-multiplayer-architect.md +314 -0
  279. package/dist/vendor/marketplace/zh/game-development/unreal-engine/unreal-systems-engineer.md +311 -0
  280. package/dist/vendor/marketplace/zh/game-development/unreal-engine/unreal-technical-artist.md +256 -0
  281. package/dist/vendor/marketplace/zh/game-development/unreal-engine/unreal-world-builder.md +274 -0
  282. package/dist/vendor/marketplace/zh/hr/hr-performance-reviewer.md +248 -0
  283. package/dist/vendor/marketplace/zh/hr/hr-recruiter.md +232 -0
  284. package/dist/vendor/marketplace/zh/legal/legal-contract-reviewer.md +240 -0
  285. package/dist/vendor/marketplace/zh/legal/legal-policy-writer.md +308 -0
  286. package/dist/vendor/marketplace/zh/manifest.json +2181 -0
  287. package/dist/vendor/marketplace/zh/marketing/marketing-agentic-search-optimizer.md +312 -0
  288. package/dist/vendor/marketplace/zh/marketing/marketing-ai-citation-strategist.md +169 -0
  289. package/dist/vendor/marketplace/zh/marketing/marketing-app-store-optimizer.md +319 -0
  290. package/dist/vendor/marketplace/zh/marketing/marketing-baidu-seo-specialist.md +220 -0
  291. package/dist/vendor/marketplace/zh/marketing/marketing-bilibili-strategist.md +194 -0
  292. package/dist/vendor/marketplace/zh/marketing/marketing-book-co-author.md +109 -0
  293. package/dist/vendor/marketplace/zh/marketing/marketing-carousel-growth-engine.md +215 -0
  294. package/dist/vendor/marketplace/zh/marketing/marketing-china-ecommerce-operator.md +277 -0
  295. package/dist/vendor/marketplace/zh/marketing/marketing-china-market-localization-strategist.md +282 -0
  296. package/dist/vendor/marketplace/zh/marketing/marketing-content-creator.md +145 -0
  297. package/dist/vendor/marketplace/zh/marketing/marketing-cross-border-ecommerce.md +260 -0
  298. package/dist/vendor/marketplace/zh/marketing/marketing-daily-news-briefing.md +303 -0
  299. package/dist/vendor/marketplace/zh/marketing/marketing-douyin-strategist.md +150 -0
  300. package/dist/vendor/marketplace/zh/marketing/marketing-ecommerce-operator.md +216 -0
  301. package/dist/vendor/marketplace/zh/marketing/marketing-growth-hacker.md +121 -0
  302. package/dist/vendor/marketplace/zh/marketing/marketing-instagram-curator.md +179 -0
  303. package/dist/vendor/marketplace/zh/marketing/marketing-knowledge-commerce-strategist.md +384 -0
  304. package/dist/vendor/marketplace/zh/marketing/marketing-kuaishou-strategist.md +182 -0
  305. package/dist/vendor/marketplace/zh/marketing/marketing-linkedin-content-creator.md +232 -0
  306. package/dist/vendor/marketplace/zh/marketing/marketing-livestream-commerce-coach.md +303 -0
  307. package/dist/vendor/marketplace/zh/marketing/marketing-podcast-strategist.md +278 -0
  308. package/dist/vendor/marketplace/zh/marketing/marketing-private-domain-operator.md +309 -0
  309. package/dist/vendor/marketplace/zh/marketing/marketing-reddit-community-builder.md +127 -0
  310. package/dist/vendor/marketplace/zh/marketing/marketing-seo-specialist.md +298 -0
  311. package/dist/vendor/marketplace/zh/marketing/marketing-short-video-editing-coach.md +413 -0
  312. package/dist/vendor/marketplace/zh/marketing/marketing-social-media-strategist.md +118 -0
  313. package/dist/vendor/marketplace/zh/marketing/marketing-tiktok-strategist.md +124 -0
  314. package/dist/vendor/marketplace/zh/marketing/marketing-twitter-engager.md +132 -0
  315. package/dist/vendor/marketplace/zh/marketing/marketing-video-optimization-specialist.md +128 -0
  316. package/dist/vendor/marketplace/zh/marketing/marketing-wechat-official-account.md +158 -0
  317. package/dist/vendor/marketplace/zh/marketing/marketing-wechat-operator.md +156 -0
  318. package/dist/vendor/marketplace/zh/marketing/marketing-weibo-strategist.md +241 -0
  319. package/dist/vendor/marketplace/zh/marketing/marketing-weixin-channels-strategist.md +297 -0
  320. package/dist/vendor/marketplace/zh/marketing/marketing-xiaohongshu-operator.md +139 -0
  321. package/dist/vendor/marketplace/zh/marketing/marketing-xiaohongshu-specialist.md +151 -0
  322. package/dist/vendor/marketplace/zh/marketing/marketing-zhihu-strategist.md +175 -0
  323. package/dist/vendor/marketplace/zh/paid-media/paid-media-auditor.md +170 -0
  324. package/dist/vendor/marketplace/zh/paid-media/paid-media-creative-strategist.md +173 -0
  325. package/dist/vendor/marketplace/zh/paid-media/paid-media-paid-social-strategist.md +180 -0
  326. package/dist/vendor/marketplace/zh/paid-media/paid-media-ppc-strategist.md +180 -0
  327. package/dist/vendor/marketplace/zh/paid-media/paid-media-programmatic-buyer.md +177 -0
  328. package/dist/vendor/marketplace/zh/paid-media/paid-media-search-query-analyst.md +182 -0
  329. package/dist/vendor/marketplace/zh/paid-media/paid-media-tracking-specialist.md +199 -0
  330. package/dist/vendor/marketplace/zh/product/product-behavioral-nudge-engine.md +246 -0
  331. package/dist/vendor/marketplace/zh/product/product-feedback-synthesizer.md +175 -0
  332. package/dist/vendor/marketplace/zh/product/product-manager.md +474 -0
  333. package/dist/vendor/marketplace/zh/product/product-sprint-prioritizer.md +133 -0
  334. package/dist/vendor/marketplace/zh/product/product-trend-researcher.md +143 -0
  335. package/dist/vendor/marketplace/zh/project-management/project-management-experiment-tracker.md +206 -0
  336. package/dist/vendor/marketplace/zh/project-management/project-management-jira-workflow-steward.md +249 -0
  337. package/dist/vendor/marketplace/zh/project-management/project-management-project-shepherd.md +202 -0
  338. package/dist/vendor/marketplace/zh/project-management/project-management-studio-operations.md +208 -0
  339. package/dist/vendor/marketplace/zh/project-management/project-management-studio-producer.md +211 -0
  340. package/dist/vendor/marketplace/zh/project-management/project-manager-senior.md +135 -0
  341. package/dist/vendor/marketplace/zh/sales/sales-account-strategist.md +243 -0
  342. package/dist/vendor/marketplace/zh/sales/sales-coach.md +291 -0
  343. package/dist/vendor/marketplace/zh/sales/sales-deal-strategist.md +204 -0
  344. package/dist/vendor/marketplace/zh/sales/sales-discovery-coach.md +230 -0
  345. package/dist/vendor/marketplace/zh/sales/sales-engineer.md +200 -0
  346. package/dist/vendor/marketplace/zh/sales/sales-outbound-strategist.md +208 -0
  347. package/dist/vendor/marketplace/zh/sales/sales-pipeline-analyst.md +284 -0
  348. package/dist/vendor/marketplace/zh/sales/sales-proposal-strategist.md +233 -0
  349. package/dist/vendor/marketplace/zh/spatial-computing/macos-spatial-metal-engineer.md +337 -0
  350. package/dist/vendor/marketplace/zh/spatial-computing/terminal-integration-specialist.md +236 -0
  351. package/dist/vendor/marketplace/zh/spatial-computing/visionos-spatial-engineer.md +282 -0
  352. package/dist/vendor/marketplace/zh/spatial-computing/xr-cockpit-interaction-specialist.md +220 -0
  353. package/dist/vendor/marketplace/zh/spatial-computing/xr-immersive-developer.md +229 -0
  354. package/dist/vendor/marketplace/zh/spatial-computing/xr-interface-architect.md +253 -0
  355. package/dist/vendor/marketplace/zh/specialized/accounts-payable-agent.md +212 -0
  356. package/dist/vendor/marketplace/zh/specialized/agentic-identity-trust.md +388 -0
  357. package/dist/vendor/marketplace/zh/specialized/agents-orchestrator.md +366 -0
  358. package/dist/vendor/marketplace/zh/specialized/automation-governance-architect.md +215 -0
  359. package/dist/vendor/marketplace/zh/specialized/blockchain-security-auditor.md +484 -0
  360. package/dist/vendor/marketplace/zh/specialized/compliance-auditor.md +172 -0
  361. package/dist/vendor/marketplace/zh/specialized/corporate-training-designer.md +191 -0
  362. package/dist/vendor/marketplace/zh/specialized/data-consolidation-agent.md +327 -0
  363. package/dist/vendor/marketplace/zh/specialized/gaokao-college-advisor.md +333 -0
  364. package/dist/vendor/marketplace/zh/specialized/government-digital-presales-consultant.md +362 -0
  365. package/dist/vendor/marketplace/zh/specialized/healthcare-customer-service.md +388 -0
  366. package/dist/vendor/marketplace/zh/specialized/healthcare-marketing-compliance.md +394 -0
  367. package/dist/vendor/marketplace/zh/specialized/hospitality-guest-services.md +597 -0
  368. package/dist/vendor/marketplace/zh/specialized/hr-onboarding.md +450 -0
  369. package/dist/vendor/marketplace/zh/specialized/identity-graph-operator.md +270 -0
  370. package/dist/vendor/marketplace/zh/specialized/language-translator.md +275 -0
  371. package/dist/vendor/marketplace/zh/specialized/legal-billing-time-tracking.md +566 -0
  372. package/dist/vendor/marketplace/zh/specialized/legal-client-intake.md +487 -0
  373. package/dist/vendor/marketplace/zh/specialized/legal-document-review.md +452 -0
  374. package/dist/vendor/marketplace/zh/specialized/livestock-archive-auditor.md +135 -0
  375. package/dist/vendor/marketplace/zh/specialized/loan-officer-assistant.md +549 -0
  376. package/dist/vendor/marketplace/zh/specialized/lsp-index-engineer.md +334 -0
  377. package/dist/vendor/marketplace/zh/specialized/prompt-engineer.md +176 -0
  378. package/dist/vendor/marketplace/zh/specialized/real-estate-buyer-seller.md +594 -0
  379. package/dist/vendor/marketplace/zh/specialized/recruitment-specialist.md +508 -0
  380. package/dist/vendor/marketplace/zh/specialized/report-distribution-agent.md +354 -0
  381. package/dist/vendor/marketplace/zh/specialized/retail-customer-returns.md +564 -0
  382. package/dist/vendor/marketplace/zh/specialized/sales-data-extraction-agent.md +159 -0
  383. package/dist/vendor/marketplace/zh/specialized/specialized-ai-policy-writer.md +217 -0
  384. package/dist/vendor/marketplace/zh/specialized/specialized-chief-of-staff.md +278 -0
  385. package/dist/vendor/marketplace/zh/specialized/specialized-civil-engineer.md +355 -0
  386. package/dist/vendor/marketplace/zh/specialized/specialized-cultural-intelligence-strategist.md +168 -0
  387. package/dist/vendor/marketplace/zh/specialized/specialized-developer-advocate.md +334 -0
  388. package/dist/vendor/marketplace/zh/specialized/specialized-document-generator.md +346 -0
  389. package/dist/vendor/marketplace/zh/specialized/specialized-french-consulting-market.md +191 -0
  390. package/dist/vendor/marketplace/zh/specialized/specialized-korean-business-navigator.md +215 -0
  391. package/dist/vendor/marketplace/zh/specialized/specialized-mcp-builder.md +351 -0
  392. package/dist/vendor/marketplace/zh/specialized/specialized-meeting-assistant.md +236 -0
  393. package/dist/vendor/marketplace/zh/specialized/specialized-model-qa.md +507 -0
  394. package/dist/vendor/marketplace/zh/specialized/specialized-pricing-optimizer.md +254 -0
  395. package/dist/vendor/marketplace/zh/specialized/specialized-risk-assessor.md +240 -0
  396. package/dist/vendor/marketplace/zh/specialized/specialized-salesforce-architect.md +179 -0
  397. package/dist/vendor/marketplace/zh/specialized/specialized-workflow-architect.md +596 -0
  398. package/dist/vendor/marketplace/zh/specialized/study-abroad-advisor.md +281 -0
  399. package/dist/vendor/marketplace/zh/specialized/technical-translator-agent.md +167 -0
  400. package/dist/vendor/marketplace/zh/specialized/zk-steward.md +228 -0
  401. package/dist/vendor/marketplace/zh/supply-chain/supply-chain-inventory-forecaster.md +212 -0
  402. package/dist/vendor/marketplace/zh/supply-chain/supply-chain-route-optimizer.md +224 -0
  403. package/dist/vendor/marketplace/zh/supply-chain/supply-chain-strategist.md +581 -0
  404. package/dist/vendor/marketplace/zh/supply-chain/supply-chain-vendor-evaluator.md +232 -0
  405. package/dist/vendor/marketplace/zh/support/support-analytics-reporter.md +364 -0
  406. package/dist/vendor/marketplace/zh/support/support-executive-summary-generator.md +217 -0
  407. package/dist/vendor/marketplace/zh/support/support-finance-tracker.md +447 -0
  408. package/dist/vendor/marketplace/zh/support/support-infrastructure-maintainer.md +623 -0
  409. package/dist/vendor/marketplace/zh/support/support-legal-compliance-checker.md +587 -0
  410. package/dist/vendor/marketplace/zh/support/support-recruitment-specialist.md +508 -0
  411. package/dist/vendor/marketplace/zh/support/support-support-responder.md +584 -0
  412. package/dist/vendor/marketplace/zh/testing/testing-accessibility-auditor.md +329 -0
  413. package/dist/vendor/marketplace/zh/testing/testing-api-tester.md +305 -0
  414. package/dist/vendor/marketplace/zh/testing/testing-embedded-qa-engineer.md +258 -0
  415. package/dist/vendor/marketplace/zh/testing/testing-evidence-collector.md +153 -0
  416. package/dist/vendor/marketplace/zh/testing/testing-performance-benchmarker.md +196 -0
  417. package/dist/vendor/marketplace/zh/testing/testing-reality-checker.md +235 -0
  418. package/dist/vendor/marketplace/zh/testing/testing-test-results-analyzer.md +313 -0
  419. package/dist/vendor/marketplace/zh/testing/testing-tool-evaluator.md +402 -0
  420. package/dist/vendor/marketplace/zh/testing/testing-workflow-optimizer.md +458 -0
  421. package/package.json +8 -1
  422. package/web/dist/assets/AddWorkerDialog-D-XO6MoI.js +2 -0
  423. package/web/dist/assets/{AddWorkspaceDialog-Du0lndJ0.js → AddWorkspaceDialog-D4InpBpd.js} +1 -1
  424. package/web/dist/assets/{FirstRunWizard-B8k7S5De.js → FirstRunWizard-xHiver2Q.js} +1 -1
  425. package/web/dist/assets/MarketplaceDrawer-CqE8_4ZP.js +76 -0
  426. package/web/dist/assets/WorkerModal-DgOuzZMW.js +1 -0
  427. package/web/dist/assets/WorkspaceTaskDrawer-D0Y-Gyvw.js +1 -0
  428. package/web/dist/assets/WorkspaceTerminalPanels-BqEcvvSH.js +1 -0
  429. package/web/dist/assets/WorkspaceTerminalPanels-DDGTF8rc.css +1 -0
  430. package/web/dist/assets/{chevron-right-BvbSCniy.js → chevron-right-Bmg7DcUj.js} +1 -1
  431. package/web/dist/assets/index-BEsTmfrO.css +1 -0
  432. package/web/dist/assets/index-CWW5vUjQ.js +76 -0
  433. package/web/dist/bilibili.ico +0 -0
  434. package/web/dist/index.html +2 -2
  435. package/web/dist/sw.js +1 -1
  436. package/web/dist/assets/AddWorkerDialog-D6-K1wJm.js +0 -1
  437. package/web/dist/assets/WorkerModal-B3XhIvAX.js +0 -1
  438. package/web/dist/assets/WorkspaceTaskDrawer-CjEoLJvS.js +0 -1
  439. package/web/dist/assets/index-DB5fHAMI.js +0 -81
  440. package/web/dist/assets/index-Sbdu6Se0.css +0 -1
package/CHANGELOG.md CHANGED
@@ -2,6 +2,53 @@
2
2
 
3
3
  All notable user-facing changes will be documented in this file.
4
4
 
5
+ ## 1.4.2 - 2026-05-27
6
+
7
+ Demo video, worker naming, and small UI polish.
8
+
9
+ - Adds a Bilibili demo video entry to the sidebar footer and replaces the demo
10
+ workspace mockup with the actual demo video embed.
11
+ - Links the Hive logo and version in the topbar to `hivehq.dev`.
12
+ - Uses role glyph avatars for workers instead of two-letter placeholders.
13
+ - Auto-fills a generated worker name when the Add Member dialog opens and
14
+ prevents the name from regenerating while the dialog stays open.
15
+ - Trims random worker-name pools to well-known figures for clearer,
16
+ localized names.
17
+ - Improves the empty Tasks panel with a stronger add-task call to action.
18
+ - Serves the sidebar Bilibili icon from a packaged static asset instead of an
19
+ inline data URL.
20
+
21
+ ## 1.4.1 - 2026-05-26
22
+
23
+ Private release-source housekeeping.
24
+
25
+ - Keeps the packaged product release train on the private release-source
26
+ repository.
27
+ - Adds attribution and trademark notices to the packaged npm tarball.
28
+ - Documents the private/public repository split so future release work does
29
+ not accidentally expose internal implementation notes or unreleased product
30
+ work.
31
+ - Stabilizes the manual startup-command smoke test under full-suite PTY load.
32
+
33
+ ## 1.4.0 - 2026-05-22
34
+
35
+ Template marketplace and agent picker polish.
36
+
37
+ - Adds a bilingual template marketplace to the Add Member flow, with English
38
+ and Chinese agent libraries, category filters, search, and one-click import
39
+ into custom role instructions.
40
+ - Ships the marketplace templates inside the npm package under
41
+ `dist/vendor/marketplace`, so the library works from packaged installs
42
+ without fetching remote content.
43
+ - Polishes the marketplace drawer/card design for denser browsing, clearer
44
+ imported states, stronger search ergonomics, and better Chinese/English
45
+ category labels.
46
+ - Keeps the Tasks side panel aligned with the Team Members panel width for a
47
+ more predictable two-panel layout.
48
+ - Shows the selected CLI's brand mark in the Agent CLI picker, while keeping a
49
+ terminal glyph for generic custom commands.
50
+ - Removes stale Biome suppression comments from marketplace-related UI code.
51
+
5
52
  ## 1.3.4 - 2026-05-21
6
53
 
7
54
  Terminal performance and Tasks panel polish.
package/NOTICE ADDED
@@ -0,0 +1,15 @@
1
+ Hive
2
+ Copyright (c) 2026 Shaokun Tu (tt-a1i) and contributors.
3
+
4
+ This product includes software licensed under the Business Source License 1.1.
5
+ See LICENSE.BSL for the source license and LICENSE for historical Apache-2.0
6
+ terms that apply only to versions covered by that file.
7
+
8
+ Redistributions, forks, and modified versions must preserve this notice and
9
+ the applicable license files. The Hive name, logo, and visual identity are
10
+ covered by the trademark guidelines in TRADEMARK.md and are not granted by the
11
+ source license.
12
+
13
+ Hive includes optional marketplace prompt snapshots from third-party projects.
14
+ Their upstream license files are preserved under the packaged vendor
15
+ marketplace directories when those snapshots are included in a release.
package/README.en.md CHANGED
@@ -318,6 +318,32 @@ polishing the multi-agent collaboration workflow, Windows support, and clearer
318
318
  orchestration observability. Try it out and open issues — feedback shapes what
319
319
  gets prioritized next.
320
320
 
321
+ ## On the roadmap: cross-agent long-term memory
322
+
323
+ <p align="center">
324
+ <a href="https://github.com/EverMind-AI/EverOS">
325
+ <img src="https://avatars.githubusercontent.com/EverMind-AI" width="72" alt="EverMind / EverOS" />
326
+ </a>
327
+ </p>
328
+
329
+ Single-agent memory already exists, but the styles diverge:
330
+
331
+ - **Claude Code's [Auto Dream](https://claudefa.st/blog/guide/mechanics/auto-dream)** is **batch / offline** — invoked via `/dream` (or on a 24h timer), Claude consolidates JSONL session logs in the cloud, merges duplicates, extracts patterns, and proposes a new memory file for you to review and adopt. REM-sleep style, with a clean wake/sleep separation.
332
+ - **Hermes Agent** runs the opposite playbook — **embedded and in-stride**. Every N turns it forks a background sub-agent to review the recent exchange and writes directly into a **multi-organ local store**: `MEMORY.md` (facts/rules) · `USER.md` (who-you-are) · SQLite + FTS5 (episodic search) · Honcho (third-person model) · `skills/` (procedural memory). The agent is allowed to edit its own skill files in stride — memory and capability are the same thing.
333
+
334
+ But these are all **per-agent** memories. Hive coordinates *teams* of agents, so the next step is wiring them together: let the whole team **share one long-term memory store** — what Worker A learned today becomes context the Orchestrator can dispatch to Worker B tomorrow.
335
+
336
+ We're planning to back this with **[EverOS](https://github.com/EverMind-AI/EverOS)**
337
+ — an open-source long-term memory OS from [EverMind](https://evermind.ai/),
338
+ currently SOTA on the LoCoMo / LongMemEval / HaluMem memory benchmarks.
339
+ Its four-layer architecture (Agentic / Memory / Index / API+MCP) maps
340
+ cleanly onto Hive's multi-PTY model: each agent keeps its in-CLI memory,
341
+ team-level facts flow through EverOS, and the Orchestrator joins both
342
+ when dispatching.
343
+
344
+ Track progress at [#6](https://github.com/tt-a1i/hive/issues/6) — drop a
345
+ +1 or comment with your use case to influence priority.
346
+
321
347
  ## A different form factor: squad
322
348
 
323
349
  If you'd rather have **pure CLI, zero background process, and the ability to
@@ -328,6 +354,17 @@ per agent. The two projects don't replace each other; pick by workflow:
328
354
  - **Hive** — visual workbench, one-click restart, workspace sidebar, easier to demo to a team
329
355
  - **squad** — lives in tmux, SSH remote dev, no extra background process, Windows servers
330
356
 
357
+ ## Acknowledgements
358
+
359
+ The built-in template marketplace ships snapshots of two community-maintained prompt libraries, both distributed under their upstream MIT licenses:
360
+
361
+ - English (used when the UI is set to EN): [`msitarzewski/agency-agents`](https://github.com/msitarzewski/agency-agents)
362
+ - Chinese (used when the UI is set to 中文): [`jnMetaCode/agency-agents-zh`](https://github.com/jnMetaCode/agency-agents-zh)
363
+
364
+ Upstream content is mirrored verbatim, license files are kept under `vendor/marketplace/<lang>/LICENSE`, and snapshots are refreshed by `pnpm sync:marketplace` before each Hive release.
365
+
331
366
  ## License
332
367
 
333
- Hive is open source under the Business Source License 1.1. Personal use, internal deployment, embedding, and forks are permitted — see [LICENSE.BSL](LICENSE.BSL) for the exact boundary.
368
+ Hive source is available under the Business Source License 1.1. Personal use, internal deployment, embedding, and forks are permitted — see [LICENSE.BSL](LICENSE.BSL) for the exact boundary.
369
+
370
+ Forks and redistributions must preserve [NOTICE](NOTICE), [LICENSE.BSL](LICENSE.BSL), and the applicable license files. The Hive name, logo, and visual identity are not licensed by the source license; see [TRADEMARK.md](TRADEMARK.md) for brand usage boundaries.
package/README.md CHANGED
@@ -241,6 +241,25 @@ pnpm release:dry
241
241
 
242
242
  Hive 目前处于 alpha 阶段,核心流程已可用。当前重点是继续打磨多 Agent 协作体验、Windows 支持和更清晰的调度可观测性。欢迎试用、提 issue——反馈会直接影响后续节奏。
243
243
 
244
+ ## 在路上:跨 Agent 的长时记忆
245
+
246
+ <p align="center">
247
+ <a href="https://github.com/EverMind-AI/EverOS">
248
+ <img src="https://avatars.githubusercontent.com/EverMind-AI" width="72" alt="EverMind / EverOS" />
249
+ </a>
250
+ </p>
251
+
252
+ 单 agent 现在已经各有各的"记忆"了——但风格其实差很多:
253
+
254
+ - **Claude Code 的 [Auto Dream](https://claudefa.st/blog/guide/mechanics/auto-dream)(俗称"做梦")** 走 **离线批处理** 路线:`/dream` 触发(或 24h 自动),Claude 在云端把 JSONL 会话归并去重抽模式,产出新版本 memory 库给你审查再采纳——像人类的 REM 睡眠,**清醒 / 睡眠二相**。
255
+ - **Hermes Agent** 反过来走 **嵌入式 / 在场** 路线:不睡,每 N 轮对话后台 fork 一个 sub-agent review,结果直接落进本地的 **多层记忆**——`MEMORY.md`(事实/规则)·`USER.md`(用户画像)·SQLite + FTS5(情景检索)·Honcho(第三人称表征)·`skills/`(程序性记忆)——而且 agent 允许边走边改自己的 skill 文件,记忆和能力是一回事。
256
+
257
+ 但 **这些都是单 agent 内部的记忆**。Hive 是多 agent 协作工作台,下一步要做的事是把它们打通:让整支团队 **共享一座长时记忆库**——Worker A 今天踩的坑,明天 Orchestrator 派给 Worker B 时能自动调来当上下文。
258
+
259
+ 底层我们计划接 **[EverOS](https://github.com/EverMind-AI/EverOS)**([EverMind](https://evermind.ai/) 出品的开源长时记忆 OS,目前在 LoCoMo / LongMemEval / HaluMem 三个记忆 benchmark 上 SOTA)当跨 agent 的记忆后端。它的四层架构(Agentic / Memory / Index / API+MCP)跟 Hive 的多 PTY 协作模型很搭:每个 agent 各跑各的 CLI session,团队级的事实和模式凝在 EverOS,Orchestrator 派单时一并喂给 worker。
260
+
261
+ 进度跟踪:[#6](https://github.com/tt-a1i/hive/issues/6)——想看进度或提建议,在 issue 留 +1。
262
+
244
263
  ## 另一种形态:squad
245
264
 
246
265
  如果你更喜欢 **纯 CLI、零后台进程、能直接在 SSH 进的远端服务器上跑** 的形态,[squad](https://github.com/mco-org/squad) 是同一个想法的另一条路线——SQLite 当通信层,每个 agent 各自开一个终端。两个项目互不替代,按工作流挑就行:
@@ -248,6 +267,17 @@ Hive 目前处于 alpha 阶段,核心流程已可用。当前重点是继续
248
267
  - **Hive** — 想要可视化工作台、一键重启、侧边栏切 workspace、给团队演示
249
268
  - **squad** — 活在 tmux 里、SSH 远端开发、不想跑额外后台进程、Windows server
250
269
 
270
+ ## 鸣谢
271
+
272
+ Hive 的"模板市场"内置了两份社区角色 prompt 库的快照,两份都按各自上游的 MIT 许可分发:
273
+
274
+ - 英文版(界面切到 EN 时使用):[`msitarzewski/agency-agents`](https://github.com/msitarzewski/agency-agents)
275
+ - 中文版(界面切到中文时使用):[`jnMetaCode/agency-agents-zh`](https://github.com/jnMetaCode/agency-agents-zh)
276
+
277
+ 上游内容未做修改,许可证文本保留在 `vendor/marketplace/<lang>/LICENSE`;快照通过 `pnpm sync:marketplace` 在 hive 发版前刷新。
278
+
251
279
  ## License
252
280
 
253
- Hive Business Source License 1.1 下开源。个人使用、内部部署、嵌入、fork 都可以;详细边界见 [LICENSE.BSL](LICENSE.BSL)。
281
+ Hive 源码在 Business Source License 1.1 下提供。个人使用、内部部署、嵌入、fork 都可以;详细边界见 [LICENSE.BSL](LICENSE.BSL)。
282
+
283
+ Fork 或再分发版本必须保留 [NOTICE](NOTICE)、[LICENSE.BSL](LICENSE.BSL) 和相关许可证文件。Hive 名称、logo 和视觉识别不随源码许可证授权;品牌使用边界见 [TRADEMARK.md](TRADEMARK.md)。
package/TRADEMARK.md ADDED
@@ -0,0 +1,41 @@
1
+ # Trademark Guidelines
2
+
3
+ These guidelines apply to the Hive name, logo, icons, visual identity, and
4
+ other brand assets owned by Shaokun Tu (tt-a1i).
5
+
6
+ The source license for Hive grants rights to use, modify, and distribute the
7
+ software under the terms of LICENSE.BSL. It does not grant trademark rights.
8
+
9
+ ## Permitted Uses
10
+
11
+ You may:
12
+
13
+ - Refer to Hive by name when describing compatibility, attribution, or that a
14
+ project is based on Hive.
15
+ - Use phrases such as "forked from Hive", "based on Hive", or "compatible with
16
+ Hive" when the relationship is accurate.
17
+ - Link to the upstream Hive repository and documentation.
18
+
19
+ ## Uses That Need Permission
20
+
21
+ You need prior written permission to:
22
+
23
+ - Use the Hive name, logo, or icons as the primary name or identity of a fork,
24
+ distribution, hosted service, or commercial product.
25
+ - Present a fork or derivative work in a way that suggests it is official,
26
+ endorsed, sponsored, or maintained by tt-a1i.
27
+ - Register domains, social accounts, packages, apps, or marketplaces names that
28
+ are likely to confuse users about whether they are official Hive properties.
29
+ - Use Hive brand assets in paid advertising, product packaging, or hosted
30
+ service branding.
31
+
32
+ ## Forks And Derivative Products
33
+
34
+ Forks should use a distinct product name and distinct visual identity. They
35
+ must preserve the applicable license files and NOTICE file, and should clearly
36
+ state that they are independent from upstream Hive unless a separate written
37
+ agreement says otherwise.
38
+
39
+ These guidelines do not change the software license. If there is a conflict
40
+ between this document and LICENSE.BSL, LICENSE.BSL controls software license
41
+ rights and this document controls brand usage.
@@ -65,6 +65,26 @@ const maybePrintUpdateHint = async (versionService) => {
65
65
  return;
66
66
  console.log(`Hive update available: ${info.current_version} -> ${info.latest_version}. Run: ${info.install_hint}`);
67
67
  };
68
+ const isListenError = (error) => error instanceof Error && typeof error.code === 'string';
69
+ const formatPortInUseMessage = (port) => [
70
+ `Hive could not start because port ${port} is already in use.`,
71
+ '',
72
+ 'Another Hive instance may already be running:',
73
+ ` http://127.0.0.1:${port}`,
74
+ '',
75
+ 'Options:',
76
+ ' - Open the existing Hive window.',
77
+ ' - Stop the process using that port:',
78
+ ` lsof -tiTCP:${port} -sTCP:LISTEN | xargs kill`,
79
+ ' - Start Hive on another port:',
80
+ ` hive --port ${port + 1}`,
81
+ ].join('\n');
82
+ const formatListenError = (error, requestedPort) => {
83
+ if (isListenError(error) && error.code === 'EADDRINUSE') {
84
+ return new Error(formatPortInUseMessage(error.port ?? requestedPort));
85
+ }
86
+ return error;
87
+ };
68
88
  export const runHiveCommand = async (argv, options = {}) => {
69
89
  const port = parsePort(argv);
70
90
  const dataDir = resolveDataDir();
@@ -76,13 +96,19 @@ export const runHiveCommand = async (argv, options = {}) => {
76
96
  }),
77
97
  versionService,
78
98
  });
79
- app.server.listen(port, '127.0.0.1');
80
- await Promise.race([
81
- once(app.server, 'listening'),
82
- once(app.server, 'error').then(([error]) => {
83
- throw error;
84
- }),
85
- ]);
99
+ try {
100
+ app.server.listen(port, '127.0.0.1');
101
+ await Promise.race([
102
+ once(app.server, 'listening'),
103
+ once(app.server, 'error').then(([error]) => {
104
+ throw error;
105
+ }),
106
+ ]);
107
+ }
108
+ catch (error) {
109
+ await app.store.close();
110
+ throw formatListenError(error, port);
111
+ }
86
112
  const address = app.server.address();
87
113
  if (!address || typeof address === 'string') {
88
114
  throw new Error('Server did not bind to an inet port');
@@ -146,7 +172,7 @@ if (isMainModule) {
146
172
  }
147
173
  else {
148
174
  runHiveCommand(argv).catch((error) => {
149
- console.error(error);
175
+ console.error(error instanceof Error ? error.message : error);
150
176
  process.exit(1);
151
177
  });
152
178
  }
@@ -8,10 +8,11 @@ interface CreateAppOptions {
8
8
  store: RuntimeStore;
9
9
  pickFolderService?: () => Promise<PickFolderResponse>;
10
10
  openWorkspaceService?: OpenWorkspaceService;
11
+ packageVersionReader?: () => string;
11
12
  tasksFileService?: TasksFileService;
12
13
  versionService?: VersionService;
13
14
  }
14
- export declare const createApp: ({ store, pickFolderService, openWorkspaceService, tasksFileService, versionService, }: CreateAppOptions) => {
15
+ export declare const createApp: ({ store, pickFolderService, openWorkspaceService, packageVersionReader, tasksFileService, versionService, }: CreateAppOptions) => {
15
16
  server: import("http").Server<typeof IncomingMessage, typeof ServerResponse>;
16
17
  store: RuntimeStore;
17
18
  };
@@ -7,6 +7,7 @@ import { pickFolder } from './fs-pick-folder.js';
7
7
  import { HttpError } from './http-errors.js';
8
8
  import { assertLocalRequest } from './local-request-guard.js';
9
9
  import { openWorkspace } from './open-target-commands.js';
10
+ import { readPackageVersion } from './package-version.js';
10
11
  import { matchRoute } from './routes.js';
11
12
  import { createTasksFileService } from './tasks-file.js';
12
13
  import { createTerminalWebSocketServer } from './terminal-ws-server.js';
@@ -87,8 +88,64 @@ const sendJson = (response, statusCode, body) => {
87
88
  response.setHeader('content-type', 'application/json; charset=utf-8');
88
89
  response.end(JSON.stringify(body));
89
90
  };
90
- export const createApp = ({ store, pickFolderService = pickFolder, openWorkspaceService = (input) => openWorkspace(input), tasksFileService = createTasksFileService(), versionService = createVersionService(), }) => {
91
+ const escapeHtml = (value) => value
92
+ .replaceAll('&', '&amp;')
93
+ .replaceAll('<', '&lt;')
94
+ .replaceAll('>', '&gt;')
95
+ .replaceAll('"', '&quot;')
96
+ .replaceAll("'", '&#39;');
97
+ const createVersionMismatchBody = (runtimeVersion, installedVersion) => `<!doctype html>
98
+ <html lang="en">
99
+ <head>
100
+ <meta charset="utf-8" />
101
+ <meta name="viewport" content="width=device-width, initial-scale=1" />
102
+ <title>Restart Hive</title>
103
+ <style>
104
+ :root { color-scheme: dark; font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; }
105
+ body { align-items: center; background: #0d0f12; color: #f4f4f5; display: flex; justify-content: center; margin: 0; min-height: 100vh; }
106
+ main { border: 1px solid rgba(255,255,255,.12); border-radius: 14px; background: #17191d; box-shadow: 0 18px 64px rgba(0,0,0,.4); max-width: 520px; padding: 28px; }
107
+ h1 { font-size: 22px; line-height: 1.2; margin: 0 0 10px; }
108
+ p { color: #a1a1aa; font-size: 14px; line-height: 1.6; margin: 0 0 14px; }
109
+ code { background: rgba(255,255,255,.08); border: 1px solid rgba(255,255,255,.1); border-radius: 6px; color: #e5e7eb; padding: 2px 6px; }
110
+ </style>
111
+ </head>
112
+ <body>
113
+ <main>
114
+ <h1>Restart Hive</h1>
115
+ <p>Hive was updated on disk while this runtime process was still running.</p>
116
+ <p>Running runtime: <code>${escapeHtml(runtimeVersion)}</code><br />Installed package: <code>${escapeHtml(installedVersion)}</code></p>
117
+ <p>Stop the current <code>hive</code> process and start it again to load the new UI and API together.</p>
118
+ </main>
119
+ </body>
120
+ </html>`;
121
+ const readVersionMismatch = (runtimeVersion, packageVersionReader) => {
122
+ const installedVersion = packageVersionReader();
123
+ if (runtimeVersion === 'unknown' ||
124
+ installedVersion === 'unknown' ||
125
+ installedVersion === runtimeVersion) {
126
+ return null;
127
+ }
128
+ return { installedVersion, runtimeVersion };
129
+ };
130
+ const sendVersionMismatchJson = (response, mismatch) => {
131
+ sendJson(response, 409, {
132
+ code: 'runtime_version_mismatch',
133
+ current_version: mismatch.runtimeVersion,
134
+ error: 'Hive was updated on disk. Restart the running hive process to use the new version.',
135
+ installed_version: mismatch.installedVersion,
136
+ });
137
+ };
138
+ const sendVersionMismatchPage = (response, request, mismatch) => {
139
+ response.statusCode = 409;
140
+ response.setHeader('content-type', 'text/html; charset=utf-8');
141
+ response.setHeader('cache-control', 'no-store');
142
+ response.end(request.method === 'HEAD'
143
+ ? undefined
144
+ : createVersionMismatchBody(mismatch.runtimeVersion, mismatch.installedVersion));
145
+ };
146
+ export const createApp = ({ store, pickFolderService = pickFolder, openWorkspaceService = (input) => openWorkspace(input), packageVersionReader = readPackageVersion, tasksFileService = createTasksFileService(), versionService = createVersionService(), }) => {
91
147
  const staticDir = process.env.HIVE_STATIC_DIR ?? getDefaultStaticDir();
148
+ const runtimeVersion = packageVersionReader();
92
149
  const staticAvailablePromise = canServeStatic(staticDir);
93
150
  const server = createServer(async (request, response) => {
94
151
  const method = request.method ?? 'GET';
@@ -110,10 +167,20 @@ export const createApp = ({ store, pickFolderService = pickFolder, openWorkspace
110
167
  return;
111
168
  }
112
169
  if (isReservedPath(url.pathname)) {
170
+ const mismatch = readVersionMismatch(runtimeVersion, packageVersionReader);
171
+ if (mismatch) {
172
+ sendVersionMismatchJson(response, mismatch);
173
+ return;
174
+ }
113
175
  sendJson(response, 404, { error: 'Not found' });
114
176
  return;
115
177
  }
116
178
  if (await staticAvailablePromise) {
179
+ const mismatch = readVersionMismatch(runtimeVersion, packageVersionReader);
180
+ if (mismatch) {
181
+ sendVersionMismatchPage(response, request, mismatch);
182
+ return;
183
+ }
117
184
  const served = await sendStatic(response, staticDir, url.pathname, request);
118
185
  if (served)
119
186
  return;
@@ -31,6 +31,7 @@ const ORCHESTRATOR_RULES = [
31
31
  '普通、低风险、几分钟内能直接完成的小任务可以自己做;不要为了形式感派 worker。需要并行、长时间执行、独立 review/test、专门角色,或 user 明确要求 worker/成员处理时,再用 `team send`。',
32
32
  '如果只有一个可用 worker,直接用 `team send <worker-name> "<task>"` 派给它;不要把选择题丢回给 user。',
33
33
  '当 user 要你“让 worker ...”时,必须用 `team send <worker-name> "<task>"` 派给 Hive worker。',
34
+ '派单时如果任务明显需要某种角色能力(例如代码评审、测试、安全审查),但 `team list` 中没有匹配 role 的成员,可以在回复 user 的自然语言部分(而非 `team send` 的任务正文)末尾用一句话建议添加该角色,例如:“如果这类任务后续会变多,可以考虑添加一个 reviewer”。仅在明显缺失时提;同一缺口在 user 未响应前不要重复建议。',
34
35
  '方向变更或 user 明确取消某个未完成派单时,使用 `team cancel --dispatch <id> "<reason>"` 显式关闭旧 dispatch;不要只用自然语言说“取消”。',
35
36
  '不要使用你所在 CLI 的内置 subagent / 子代理工具(如 Task / Explore 等)来代替 Hive worker;它们不会出现在 Hive UI,也不会更新 Hive 调度状态。',
36
37
  '`team list` 返回的 `last_pty_line` 是该 worker PTY 终端的最后一行原始输出(含任意 stdout / help / 控制序列噪声),**不是** worker 的正式汇报。正式汇报只来自 stdin 注入的 `[Hive 系统消息:来自 @<name> 的汇报]` 或 `[Hive 系统消息:来自 @<name> 的状态更新]`——只把这两种来源当作 reply。',
@@ -0,0 +1,38 @@
1
+ export type MarketplaceLanguage = 'en' | 'zh';
2
+ export interface MarketplaceAgentEntry {
3
+ path: string;
4
+ category: string;
5
+ name: string;
6
+ displayName?: string;
7
+ nameOverflows?: boolean;
8
+ description: string;
9
+ emoji: string | null;
10
+ color: string | null;
11
+ vibe: string | null;
12
+ }
13
+ export interface MarketplaceManifest {
14
+ source: {
15
+ repo: string;
16
+ commit: string;
17
+ fetched_at: string;
18
+ };
19
+ language: MarketplaceLanguage;
20
+ categories: string[];
21
+ agents: MarketplaceAgentEntry[];
22
+ }
23
+ export interface MarketplaceAgentDetail {
24
+ path: string;
25
+ frontmatter: Record<string, unknown>;
26
+ body: string;
27
+ }
28
+ export declare class MarketplaceNotFoundError extends Error {
29
+ constructor(message: string);
30
+ }
31
+ export declare const isMarketplaceLanguage: (value: unknown) => value is MarketplaceLanguage;
32
+ /**
33
+ * Where on disk the bundled marketplace lives. Tests inject a fixture via
34
+ * `HIVE_MARKETPLACE_VENDOR_ROOT` (mirrors fs-sandbox's HIVE_FS_BROWSE_ROOT).
35
+ */
36
+ export declare const getMarketplaceVendorRoot: () => string;
37
+ export declare const loadManifest: (language: MarketplaceLanguage) => MarketplaceManifest;
38
+ export declare const readAgent: (language: MarketplaceLanguage, relativePath: string) => MarketplaceAgentDetail;
@@ -0,0 +1,85 @@
1
+ // Marketplace store — read-only access to the bundled `vendor/marketplace/`
2
+ // snapshot of upstream agent prompt repos (one per UI language).
3
+ //
4
+ // **Vendor path invariant**: `new URL('../../vendor/marketplace', import.meta.url)`
5
+ // resolves the same in dev and dist because `tsconfig.json` has `rootDir: "."`.
6
+ // - dev: this file is `src/server/marketplace-store.ts` → repo-root `vendor/`
7
+ // - dist: this file is `dist/src/server/marketplace-store.js` → `dist/vendor/`
8
+ //
9
+ // The build hook (`scripts/prepare-build-artifacts.mjs`) copies the source-of-
10
+ // truth `vendor/marketplace/` into `dist/vendor/marketplace/` at pack time. If
11
+ // either the `rootDir` setting or the build hook changes, that invariant must
12
+ // be re-verified — there is no fallback path.
13
+ import { existsSync, readFileSync, statSync } from 'node:fs';
14
+ import { resolve } from 'node:path';
15
+ import { fileURLToPath } from 'node:url';
16
+ import matter from 'gray-matter';
17
+ import { isPathWithinRoot } from './fs-sandbox.js';
18
+ export class MarketplaceNotFoundError extends Error {
19
+ constructor(message) {
20
+ super(message);
21
+ this.name = 'MarketplaceNotFoundError';
22
+ }
23
+ }
24
+ const SUPPORTED_LANGUAGES = new Set(['en', 'zh']);
25
+ export const isMarketplaceLanguage = (value) => typeof value === 'string' && SUPPORTED_LANGUAGES.has(value);
26
+ const defaultVendorRoot = () => fileURLToPath(new URL('../../vendor/marketplace', import.meta.url));
27
+ /**
28
+ * Where on disk the bundled marketplace lives. Tests inject a fixture via
29
+ * `HIVE_MARKETPLACE_VENDOR_ROOT` (mirrors fs-sandbox's HIVE_FS_BROWSE_ROOT).
30
+ */
31
+ export const getMarketplaceVendorRoot = () => {
32
+ const override = process.env.HIVE_MARKETPLACE_VENDOR_ROOT;
33
+ return override && override.length > 0 ? resolve(override) : defaultVendorRoot();
34
+ };
35
+ const languageRoot = (language, vendorRoot = getMarketplaceVendorRoot()) => resolve(vendorRoot, language);
36
+ const manifestCache = new Map();
37
+ const agentCache = new Map();
38
+ export const loadManifest = (language) => {
39
+ const vendorRoot = getMarketplaceVendorRoot();
40
+ const cacheKey = `${vendorRoot}\0${language}`;
41
+ const cached = manifestCache.get(cacheKey);
42
+ if (cached)
43
+ return cached;
44
+ const manifestPath = resolve(languageRoot(language, vendorRoot), 'manifest.json');
45
+ if (!existsSync(manifestPath)) {
46
+ throw new MarketplaceNotFoundError(`Marketplace manifest missing for language: ${language}`);
47
+ }
48
+ const raw = readFileSync(manifestPath, 'utf8');
49
+ const manifest = JSON.parse(raw);
50
+ manifestCache.set(cacheKey, manifest);
51
+ return manifest;
52
+ };
53
+ export const readAgent = (language, relativePath) => {
54
+ if (!relativePath.endsWith('.md')) {
55
+ throw new MarketplaceNotFoundError(`Marketplace agent path must end with .md: ${relativePath}`);
56
+ }
57
+ const vendorRoot = getMarketplaceVendorRoot();
58
+ const root = languageRoot(language, vendorRoot);
59
+ const candidate = resolve(root, relativePath);
60
+ if (!isPathWithinRoot(root, candidate)) {
61
+ throw new MarketplaceNotFoundError(`Marketplace agent path escapes language root: ${relativePath}`);
62
+ }
63
+ if (!existsSync(candidate)) {
64
+ throw new MarketplaceNotFoundError(`Marketplace agent not found: ${language}/${relativePath}`);
65
+ }
66
+ // Guard against upstream pushing a directory whose name ends in `.md` —
67
+ // the suffix check would pass, existsSync would pass, but readFileSync
68
+ // would throw EISDIR. Surface as a 404 instead of a 500.
69
+ if (!statSync(candidate).isFile()) {
70
+ throw new MarketplaceNotFoundError(`Marketplace agent not a file: ${language}/${relativePath}`);
71
+ }
72
+ const cacheKey = `${vendorRoot}\0${language}\0${relativePath}`;
73
+ const cached = agentCache.get(cacheKey);
74
+ if (cached)
75
+ return cached;
76
+ const raw = readFileSync(candidate, 'utf8');
77
+ const parsed = matter(raw);
78
+ const detail = {
79
+ path: relativePath,
80
+ frontmatter: parsed.data,
81
+ body: parsed.content,
82
+ };
83
+ agentCache.set(cacheKey, detail);
84
+ return detail;
85
+ };
@@ -0,0 +1,2 @@
1
+ import type { RouteDefinition } from './route-types.js';
2
+ export declare const marketplaceRoutes: RouteDefinition[];
@@ -0,0 +1,54 @@
1
+ import { isMarketplaceLanguage, loadManifest, MarketplaceNotFoundError, readAgent, } from './marketplace-store.js';
2
+ import { route, sendJson } from './route-helpers.js';
3
+ import { requireUiTokenFromRequest } from './ui-auth-helpers.js';
4
+ const readLanguageParam = (request) => {
5
+ const url = new URL(request.url ?? '/', 'http://127.0.0.1');
6
+ return url.searchParams.get('lang');
7
+ };
8
+ const readPathParam = (request) => {
9
+ const url = new URL(request.url ?? '/', 'http://127.0.0.1');
10
+ return url.searchParams.get('path') ?? '';
11
+ };
12
+ export const marketplaceRoutes = [
13
+ route('GET', '/api/marketplace/manifest', ({ request, response, store }) => {
14
+ requireUiTokenFromRequest(request, store.validateUiToken);
15
+ const lang = readLanguageParam(request);
16
+ if (!isMarketplaceLanguage(lang)) {
17
+ sendJson(response, 400, { error: 'Invalid or missing lang parameter (expected en|zh)' });
18
+ return;
19
+ }
20
+ try {
21
+ sendJson(response, 200, loadManifest(lang));
22
+ }
23
+ catch (error) {
24
+ if (error instanceof MarketplaceNotFoundError) {
25
+ sendJson(response, 404, { error: error.message });
26
+ return;
27
+ }
28
+ throw error;
29
+ }
30
+ }),
31
+ route('GET', '/api/marketplace/agent', ({ request, response, store }) => {
32
+ requireUiTokenFromRequest(request, store.validateUiToken);
33
+ const lang = readLanguageParam(request);
34
+ if (!isMarketplaceLanguage(lang)) {
35
+ sendJson(response, 400, { error: 'Invalid or missing lang parameter (expected en|zh)' });
36
+ return;
37
+ }
38
+ const relativePath = readPathParam(request);
39
+ if (!relativePath) {
40
+ sendJson(response, 400, { error: 'Missing path parameter' });
41
+ return;
42
+ }
43
+ try {
44
+ sendJson(response, 200, readAgent(lang, relativePath));
45
+ }
46
+ catch (error) {
47
+ if (error instanceof MarketplaceNotFoundError) {
48
+ sendJson(response, 404, { error: error.message });
49
+ return;
50
+ }
51
+ throw error;
52
+ }
53
+ }),
54
+ ];
@@ -1,6 +1,7 @@
1
1
  import { matchPath } from './route-helpers.js';
2
2
  import { dispatchRoutes } from './routes-dispatches.js';
3
3
  import { fsRoutes } from './routes-fs.js';
4
+ import { marketplaceRoutes } from './routes-marketplace.js';
4
5
  import { openWorkspaceRoutes } from './routes-open-workspace.js';
5
6
  import { runtimeRoutes } from './routes-runtime.js';
6
7
  import { settingsRoutes } from './routes-settings.js';
@@ -20,6 +21,7 @@ const routes = [
20
21
  ...runtimeRoutes,
21
22
  ...teamRoutes,
22
23
  ...fsRoutes,
24
+ ...marketplaceRoutes,
23
25
  ];
24
26
  export const matchRoute = (method, pathname) => {
25
27
  for (const routeDefinition of routes) {
@@ -24,9 +24,11 @@ export const getWorkerByNameRecord = (workspaces, workspaceId, workerName) => {
24
24
  return worker;
25
25
  };
26
26
  export const markAgentStarted = (workspaces, workspaceId, agentId) => {
27
- const pendingTaskCount = getAgentRecord(workspaces, workspaceId, agentId).pendingTaskCount;
28
- getAgentRecord(workspaces, workspaceId, agentId).status =
29
- getStatusFromPendingCount(pendingTaskCount);
27
+ // Worker status tracks "is this agent currently working", not "are there
28
+ // pending tasks". A freshly started PTY hasn't done anything yet, even if
29
+ // dispatch ledger replayed pendingTaskCount > 0 during hydration. The next
30
+ // team send will flip status to 'working' via markTaskDispatched.
31
+ getAgentRecord(workspaces, workspaceId, agentId).status = 'idle';
30
32
  };
31
33
  export const markAgentStopped = (workspaces, workspaceId, agentId) => {
32
34
  getAgentRecord(workspaces, workspaceId, agentId).status = 'stopped';
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2025 AgentLand Contributors
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
@@ -0,0 +1,12 @@
1
+ # Source attribution
2
+
3
+ This directory mirrors [msitarzewski/agency-agents](https://github.com/msitarzewski/agency-agents) at commit `783f6a72bfd7f3135700ac273c619d92821b419a`.
4
+
5
+ - Language: en
6
+ - Agents: 184
7
+ - Synced: 2026-05-22T12:26:20.094Z
8
+ - License: MIT (see LICENSE in this directory)
9
+
10
+ All markdown content is unmodified from upstream. Hive only filters out top-level
11
+ meta files (READMEs, CATALOG, etc.) and parses YAML frontmatter to build the
12
+ manifest. To refresh, run `pnpm sync:marketplace` at the hive repo root.