@tomako/tools-runtime 0.1.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 (531) hide show
  1. package/README.md +12 -0
  2. package/package.json +629 -0
  3. package/src/assets/icons/brands/social/bluesky-icon.tsx +9 -0
  4. package/src/assets/icons/brands/social/facebook-icon.tsx +9 -0
  5. package/src/assets/icons/brands/social/index.ts +8 -0
  6. package/src/assets/icons/brands/social/instagram-icon.tsx +9 -0
  7. package/src/assets/icons/brands/social/linkedin-icon.tsx +9 -0
  8. package/src/assets/icons/brands/social/threads-icon.tsx +9 -0
  9. package/src/assets/icons/brands/social/tiktok-icon.tsx +10 -0
  10. package/src/assets/icons/brands/social/x-icon.tsx +9 -0
  11. package/src/assets/icons/brands/social/youtube-icon.tsx +9 -0
  12. package/src/assets/icons/social-profile/facebook-icon.tsx +12 -0
  13. package/src/assets/icons/social-profile/index.ts +29 -0
  14. package/src/assets/icons/social-profile/instagram-icon.tsx +18 -0
  15. package/src/assets/icons/social-profile/linkedin-icon.tsx +12 -0
  16. package/src/assets/icons/social-profile/tiktok-icon.tsx +12 -0
  17. package/src/assets/icons/social-profile/x-icon.tsx +13 -0
  18. package/src/assets/icons/social-profile/youtube-icon.tsx +12 -0
  19. package/src/components/tools/engine/form-builder.tsx +219 -0
  20. package/src/components/tools/engine/package-widget-loader.tsx +38 -0
  21. package/src/components/tools/engine/package-widget-runtime.tsx +409 -0
  22. package/src/components/tools/engine/package-widget.tsx +77 -0
  23. package/src/components/tools/engine/result-view.tsx +596 -0
  24. package/src/components/tools/engine/use-legacy-llm-task.ts +64 -0
  25. package/src/components/tools/engine/use-tool-task.ts +195 -0
  26. package/src/components/tools/market-forecast-report.tsx +1150 -0
  27. package/src/components/tools/registry.ts +13 -0
  28. package/src/components/tools/workspace/index.ts +39 -0
  29. package/src/components/tools/workspace/tool-action-bar.tsx +99 -0
  30. package/src/components/tools/workspace/tool-empty-panel.tsx +32 -0
  31. package/src/components/tools/workspace/tool-error-panel.tsx +40 -0
  32. package/src/components/tools/workspace/tool-field.tsx +124 -0
  33. package/src/components/tools/workspace/tool-file-upload.tsx +112 -0
  34. package/src/components/tools/workspace/tool-form-section.tsx +21 -0
  35. package/src/components/tools/workspace/tool-form-shell.tsx +36 -0
  36. package/src/components/tools/workspace/tool-loading-panel.tsx +269 -0
  37. package/src/components/tools/workspace/tool-option-row.tsx +97 -0
  38. package/src/components/tools/workspace/tool-preview-panel.tsx +31 -0
  39. package/src/components/tools/workspace/tool-result-actions.tsx +67 -0
  40. package/src/components/tools/workspace/tool-result-file-actions.ts +31 -0
  41. package/src/components/tools/workspace/tool-result-header.tsx +39 -0
  42. package/src/components/tools/workspace/tool-status.tsx +13 -0
  43. package/src/components/tools/workspace/tool-workspace-layout.tsx +226 -0
  44. package/src/constants/LKS.ts +29 -0
  45. package/src/constants/related-tools.ts +18 -0
  46. package/src/constants/social-profile-kit.ts +284 -0
  47. package/src/constants/tool-assets.ts +7 -0
  48. package/src/env.d.ts +3 -0
  49. package/src/features/tools/_templates/standard-tool.container.tsx +90 -0
  50. package/src/features/tools/app-icon-resizer/app-icon-resizer.container.tsx +11 -0
  51. package/src/features/tools/app-icon-resizer/app-icon-resizer.spec.ts +15 -0
  52. package/src/features/tools/app-icon-resizer/widget/app-icon-resizer.tsx +444 -0
  53. package/src/features/tools/app-icon-resizer/widget/constants.ts +19 -0
  54. package/src/features/tools/app-icon-resizer/widget/helpers.ts +314 -0
  55. package/src/features/tools/app-icon-resizer/widget/index.ts +7 -0
  56. package/src/features/tools/app-icon-resizer/widget/platform-icons.tsx +59 -0
  57. package/src/features/tools/app-icon-resizer/widget/preview-dialogs.tsx +139 -0
  58. package/src/features/tools/app-icon-resizer/widget/result-shell.tsx +165 -0
  59. package/src/features/tools/app-icon-resizer/widget/types.ts +36 -0
  60. package/src/features/tools/app-store-screenshot-generator/app-store-screenshot-generator.container.tsx +108 -0
  61. package/src/features/tools/app-store-screenshot-generator/app-store-screenshot-generator.spec.ts +14 -0
  62. package/src/features/tools/app-store-screenshot-generator/config.ts +3 -0
  63. package/src/features/tools/app-store-screenshot-generator/widget/app-store-screenshot-generator.tsx +1250 -0
  64. package/src/features/tools/app-store-screenshot-generator/widget/asset-slots.ts +76 -0
  65. package/src/features/tools/app-store-screenshot-generator/widget/constants.ts +43 -0
  66. package/src/features/tools/app-store-screenshot-generator/widget/form-controls.tsx +214 -0
  67. package/src/features/tools/app-store-screenshot-generator/widget/generation.ts +528 -0
  68. package/src/features/tools/app-store-screenshot-generator/widget/index.ts +7 -0
  69. package/src/features/tools/app-store-screenshot-generator/widget/input-media.ts +175 -0
  70. package/src/features/tools/app-store-screenshot-generator/widget/types.ts +60 -0
  71. package/src/features/tools/app-store-screenshot-generator/widget/zip.ts +119 -0
  72. package/src/features/tools/build-in-public-story-generator/build-in-public-story-generator.container.tsx +135 -0
  73. package/src/features/tools/build-in-public-story-generator/build-in-public-story-generator.spec.ts +15 -0
  74. package/src/features/tools/build-in-public-story-generator/widget/build-in-public-story-generator.tsx +314 -0
  75. package/src/features/tools/build-in-public-story-generator/widget/constants.ts +3 -0
  76. package/src/features/tools/build-in-public-story-generator/widget/helpers.ts +25 -0
  77. package/src/features/tools/build-in-public-story-generator/widget/index.ts +7 -0
  78. package/src/features/tools/build-in-public-story-generator/widget/preview-panels.tsx +58 -0
  79. package/src/features/tools/build-in-public-story-generator/widget/result-shell.tsx +164 -0
  80. package/src/features/tools/build-in-public-story-generator/widget/types.ts +6 -0
  81. package/src/features/tools/cold-start-channel-selector/cold-start-channel-selector.container.tsx +30 -0
  82. package/src/features/tools/cold-start-channel-selector/cold-start-channel-selector.spec.ts +15 -0
  83. package/src/features/tools/cold-start-channel-selector/widget/cold-start-channel-selector.tsx +417 -0
  84. package/src/features/tools/cold-start-channel-selector/widget/constants.ts +46 -0
  85. package/src/features/tools/cold-start-channel-selector/widget/form-controls.tsx +41 -0
  86. package/src/features/tools/cold-start-channel-selector/widget/helpers.ts +75 -0
  87. package/src/features/tools/cold-start-channel-selector/widget/index.ts +7 -0
  88. package/src/features/tools/cold-start-channel-selector/widget/preview-panels.tsx +250 -0
  89. package/src/features/tools/cold-start-channel-selector/widget/result-shell.tsx +199 -0
  90. package/src/features/tools/cold-start-channel-selector/widget/types.ts +21 -0
  91. package/src/features/tools/commercial-bp-generator/commercial-bp-generator.container.tsx +102 -0
  92. package/src/features/tools/commercial-bp-generator/commercial-bp-generator.spec.ts +14 -0
  93. package/src/features/tools/commercial-bp-generator/widget/commercial-bp-generator.tsx +676 -0
  94. package/src/features/tools/commercial-bp-generator/widget/constants.ts +32 -0
  95. package/src/features/tools/commercial-bp-generator/widget/helpers.ts +147 -0
  96. package/src/features/tools/commercial-bp-generator/widget/index.ts +7 -0
  97. package/src/features/tools/commercial-bp-generator/widget/result-shell.tsx +271 -0
  98. package/src/features/tools/commercial-bp-generator/widget/style-option.tsx +54 -0
  99. package/src/features/tools/commercial-bp-generator/widget/types.ts +33 -0
  100. package/src/features/tools/community-feedback-inbox/community-feedback-inbox.container.tsx +126 -0
  101. package/src/features/tools/community-feedback-inbox/community-feedback-inbox.spec.ts +15 -0
  102. package/src/features/tools/community-feedback-inbox/widget/community-feedback-inbox.tsx +271 -0
  103. package/src/features/tools/community-feedback-inbox/widget/constants.ts +3 -0
  104. package/src/features/tools/community-feedback-inbox/widget/helpers.ts +28 -0
  105. package/src/features/tools/community-feedback-inbox/widget/index.ts +7 -0
  106. package/src/features/tools/community-feedback-inbox/widget/preview-panels.tsx +92 -0
  107. package/src/features/tools/community-feedback-inbox/widget/result-shell.tsx +266 -0
  108. package/src/features/tools/community-feedback-inbox/widget/types.ts +6 -0
  109. package/src/features/tools/community-pain-point-extractor/community-pain-point-extractor.container.tsx +124 -0
  110. package/src/features/tools/community-pain-point-extractor/community-pain-point-extractor.spec.ts +15 -0
  111. package/src/features/tools/community-pain-point-extractor/widget/community-pain-point-extractor.tsx +404 -0
  112. package/src/features/tools/community-pain-point-extractor/widget/constants.ts +41 -0
  113. package/src/features/tools/community-pain-point-extractor/widget/helpers.ts +76 -0
  114. package/src/features/tools/community-pain-point-extractor/widget/index.ts +8 -0
  115. package/src/features/tools/community-pain-point-extractor/widget/progress-panels.tsx +251 -0
  116. package/src/features/tools/community-pain-point-extractor/widget/result-shell.tsx +478 -0
  117. package/src/features/tools/community-pain-point-extractor/widget/types.ts +33 -0
  118. package/src/features/tools/community-post-risk-checker/community-post-risk-checker.package.ts +792 -0
  119. package/src/features/tools/competitor-analysis/competitor-analysis.container.tsx +136 -0
  120. package/src/features/tools/competitor-analysis/competitor-analysis.spec.ts +15 -0
  121. package/src/features/tools/competitor-analysis/widget/competitor-analysis.tsx +241 -0
  122. package/src/features/tools/competitor-analysis/widget/constants.ts +9 -0
  123. package/src/features/tools/competitor-analysis/widget/index.ts +7 -0
  124. package/src/features/tools/competitor-analysis/widget/preview-panels.tsx +60 -0
  125. package/src/features/tools/competitor-analysis/widget/result-shell.tsx +418 -0
  126. package/src/features/tools/competitor-analysis/widget/types.ts +13 -0
  127. package/src/features/tools/disclaimer-generator/disclaimer-generator.package.ts +339 -0
  128. package/src/features/tools/email-template-generator/email-template-generator.container.tsx +224 -0
  129. package/src/features/tools/email-template-generator/email-template-generator.spec.ts +14 -0
  130. package/src/features/tools/email-template-generator/widget/email-template-generator.tsx +358 -0
  131. package/src/features/tools/email-template-generator/widget/helpers.ts +39 -0
  132. package/src/features/tools/email-template-generator/widget/index.ts +7 -0
  133. package/src/features/tools/email-template-generator/widget/preview-panel.tsx +311 -0
  134. package/src/features/tools/email-template-generator/widget/result-text-block.tsx +7 -0
  135. package/src/features/tools/email-template-generator/widget/types.ts +24 -0
  136. package/src/features/tools/gtm-readiness-checklist/gtm-readiness-checklist.container.tsx +75 -0
  137. package/src/features/tools/gtm-readiness-checklist/gtm-readiness-checklist.spec.ts +15 -0
  138. package/src/features/tools/gtm-readiness-checklist/widget/gtm-readiness-checklist.tsx +122 -0
  139. package/src/features/tools/gtm-readiness-checklist/widget/index.ts +7 -0
  140. package/src/features/tools/investor-matching-planner/investor-matching-planner.package.ts +869 -0
  141. package/src/features/tools/koko-codex-assistant/koko-codex-assistant.container.tsx +151 -0
  142. package/src/features/tools/koko-codex-assistant/koko-codex-assistant.spec.ts +14 -0
  143. package/src/features/tools/koko-codex-assistant/widget/index.ts +7 -0
  144. package/src/features/tools/koko-codex-assistant/widget/koko-codex-assistant-download.tsx +192 -0
  145. package/src/features/tools/logo-generator/logo-generator.container.tsx +112 -0
  146. package/src/features/tools/logo-generator/logo-generator.spec.ts +15 -0
  147. package/src/features/tools/logo-generator/widget/index.ts +7 -0
  148. package/src/features/tools/logo-generator/widget/logo-generator.tsx +1244 -0
  149. package/src/features/tools/market-forecast-report/market-forecast-report.container.tsx +73 -0
  150. package/src/features/tools/market-forecast-report/market-forecast-report.spec.ts +15 -0
  151. package/src/features/tools/million-user-growth-test/million-user-growth-test.container.tsx +123 -0
  152. package/src/features/tools/million-user-growth-test/million-user-growth-test.spec.ts +14 -0
  153. package/src/features/tools/million-user-growth-test/widget/index.ts +7 -0
  154. package/src/features/tools/million-user-growth-test/widget/million-user-growth-test.tsx +433 -0
  155. package/src/features/tools/module-loader.ts +107 -0
  156. package/src/features/tools/og-image-generator/og-image-generator.container.tsx +86 -0
  157. package/src/features/tools/og-image-generator/og-image-generator.spec.ts +14 -0
  158. package/src/features/tools/og-image-generator/widget/constants.ts +38 -0
  159. package/src/features/tools/og-image-generator/widget/form-fields.tsx +240 -0
  160. package/src/features/tools/og-image-generator/widget/index.ts +7 -0
  161. package/src/features/tools/og-image-generator/widget/og-image-generator.tsx +742 -0
  162. package/src/features/tools/og-image-generator/widget/preview-panel.tsx +305 -0
  163. package/src/features/tools/og-image-generator/widget/types.ts +1 -0
  164. package/src/features/tools/package/direct-models.ts +20 -0
  165. package/src/features/tools/package/form.ts +38 -0
  166. package/src/features/tools/package/l10n.ts +22 -0
  167. package/src/features/tools/package/package-container.tsx +285 -0
  168. package/src/features/tools/package/package-loaders.ts +22 -0
  169. package/src/features/tools/package/package-registry.ts +36 -0
  170. package/src/features/tools/package/result-markdown.ts +142 -0
  171. package/src/features/tools/package/schema.ts +379 -0
  172. package/src/features/tools/package/to-tool-module.ts +20 -0
  173. package/src/features/tools/package/to-tool-spec.ts +52 -0
  174. package/src/features/tools/package/types.ts +381 -0
  175. package/src/features/tools/pitch-deck-generator/pitch-deck-generator.container.tsx +175 -0
  176. package/src/features/tools/pitch-deck-generator/pitch-deck-generator.spec.ts +14 -0
  177. package/src/features/tools/pitch-deck-generator/pitch-deck-library-data.ts +476 -0
  178. package/src/features/tools/pitch-deck-generator/pitch-deck-library.tsx +159 -0
  179. package/src/features/tools/pitch-deck-generator/widget/ceremony-line.tsx +27 -0
  180. package/src/features/tools/pitch-deck-generator/widget/constants.ts +27 -0
  181. package/src/features/tools/pitch-deck-generator/widget/index.ts +7 -0
  182. package/src/features/tools/pitch-deck-generator/widget/pitch-deck-generator.tsx +763 -0
  183. package/src/features/tools/pitch-deck-generator/widget/result-helpers.ts +102 -0
  184. package/src/features/tools/pitch-deck-generator/widget/result-shell.tsx +263 -0
  185. package/src/features/tools/pitch-deck-generator/widget/slide-frame.tsx +106 -0
  186. package/src/features/tools/pitch-deck-generator/widget/slide-lightbox.tsx +149 -0
  187. package/src/features/tools/pitch-deck-generator/widget/style-option.tsx +54 -0
  188. package/src/features/tools/pitch-deck-generator/widget/types.ts +44 -0
  189. package/src/features/tools/product-agreement-generator/product-agreement-generator.container.tsx +137 -0
  190. package/src/features/tools/product-agreement-generator/product-agreement-generator.spec.ts +14 -0
  191. package/src/features/tools/product-agreement-generator/widget/constants.ts +27 -0
  192. package/src/features/tools/product-agreement-generator/widget/form-controls.tsx +218 -0
  193. package/src/features/tools/product-agreement-generator/widget/helpers.ts +68 -0
  194. package/src/features/tools/product-agreement-generator/widget/index.ts +7 -0
  195. package/src/features/tools/product-agreement-generator/widget/product-agreement-generator.tsx +671 -0
  196. package/src/features/tools/product-agreement-generator/widget/result-shell.tsx +473 -0
  197. package/src/features/tools/product-agreement-generator/widget/types.ts +89 -0
  198. package/src/features/tools/product-hunt-launch-planner/product-hunt-launch-planner.container.tsx +122 -0
  199. package/src/features/tools/product-hunt-launch-planner/product-hunt-launch-planner.spec.ts +15 -0
  200. package/src/features/tools/product-hunt-launch-planner/widget/constants.ts +5 -0
  201. package/src/features/tools/product-hunt-launch-planner/widget/helpers.ts +44 -0
  202. package/src/features/tools/product-hunt-launch-planner/widget/index.ts +7 -0
  203. package/src/features/tools/product-hunt-launch-planner/widget/preview-panel.tsx +143 -0
  204. package/src/features/tools/product-hunt-launch-planner/widget/product-hunt-launch-planner.tsx +504 -0
  205. package/src/features/tools/product-hunt-launch-planner/widget/result-shell.tsx +176 -0
  206. package/src/features/tools/product-hunt-launch-planner/widget/types.ts +20 -0
  207. package/src/features/tools/product-name-generator/product-name-generator.container.tsx +14 -0
  208. package/src/features/tools/product-name-generator/product-name-generator.spec.ts +15 -0
  209. package/src/features/tools/product-name-generator/widget/candidate-card.tsx +273 -0
  210. package/src/features/tools/product-name-generator/widget/constants.ts +21 -0
  211. package/src/features/tools/product-name-generator/widget/form-controls.tsx +136 -0
  212. package/src/features/tools/product-name-generator/widget/helpers.ts +41 -0
  213. package/src/features/tools/product-name-generator/widget/index.ts +7 -0
  214. package/src/features/tools/product-name-generator/widget/product-name-generator.tsx +776 -0
  215. package/src/features/tools/product-name-generator/widget/types.ts +36 -0
  216. package/src/features/tools/product-positioning-analyzer/product-positioning-analyzer.package.ts +801 -0
  217. package/src/features/tools/product-poster-generator/product-poster-generator.container.tsx +14 -0
  218. package/src/features/tools/product-poster-generator/product-poster-generator.spec.ts +15 -0
  219. package/src/features/tools/product-poster-generator/widget/constants.ts +125 -0
  220. package/src/features/tools/product-poster-generator/widget/form-controls.tsx +204 -0
  221. package/src/features/tools/product-poster-generator/widget/helpers.ts +155 -0
  222. package/src/features/tools/product-poster-generator/widget/index.ts +7 -0
  223. package/src/features/tools/product-poster-generator/widget/product-poster-generator.tsx +663 -0
  224. package/src/features/tools/product-poster-generator/widget/result-shell.tsx +12 -0
  225. package/src/features/tools/product-poster-generator/widget/types.ts +83 -0
  226. package/src/features/tools/product-ui-generator/product-ui-generator.container.tsx +116 -0
  227. package/src/features/tools/product-ui-generator/product-ui-generator.spec.ts +14 -0
  228. package/src/features/tools/product-ui-generator/widget/constants.ts +18 -0
  229. package/src/features/tools/product-ui-generator/widget/helpers.ts +11 -0
  230. package/src/features/tools/product-ui-generator/widget/index.ts +7 -0
  231. package/src/features/tools/product-ui-generator/widget/preview-panels.tsx +73 -0
  232. package/src/features/tools/product-ui-generator/widget/product-ui-generator.tsx +304 -0
  233. package/src/features/tools/product-ui-generator/widget/result-shell.tsx +118 -0
  234. package/src/features/tools/product-ui-generator/widget/types.ts +9 -0
  235. package/src/features/tools/reddit-pain-point-finder/reddit-pain-point-finder.container.tsx +113 -0
  236. package/src/features/tools/reddit-pain-point-finder/reddit-pain-point-finder.spec.ts +15 -0
  237. package/src/features/tools/reddit-pain-point-finder/widget/constants.ts +5 -0
  238. package/src/features/tools/reddit-pain-point-finder/widget/index.ts +7 -0
  239. package/src/features/tools/reddit-pain-point-finder/widget/preview-panels.tsx +73 -0
  240. package/src/features/tools/reddit-pain-point-finder/widget/reddit-pain-point-finder.tsx +281 -0
  241. package/src/features/tools/reddit-pain-point-finder/widget/result-shell.tsx +203 -0
  242. package/src/features/tools/reddit-pain-point-finder/widget/types.ts +15 -0
  243. package/src/features/tools/registry.ts +288 -0
  244. package/src/features/tools/runtime-registry.ts +186 -0
  245. package/src/features/tools/shared/create-guide-stack-container.tsx +176 -0
  246. package/src/features/tools/shared/create-standard-landing-container.tsx +163 -0
  247. package/src/features/tools/shared/tool-content-sections.tsx +659 -0
  248. package/src/features/tools/shared/tool-cta.tsx +66 -0
  249. package/src/features/tools/shared/tool-draft-view.tsx +53 -0
  250. package/src/features/tools/shared/tool-guide-section.tsx +191 -0
  251. package/src/features/tools/shared/tool-handoff.tsx +38 -0
  252. package/src/features/tools/shared/tool-mcp-badge.tsx +23 -0
  253. package/src/features/tools/shared/tool-message-translator.ts +37 -0
  254. package/src/features/tools/shared/tool-page-shell.tsx +348 -0
  255. package/src/features/tools/shared/tool-standard-generation-steps.tsx +52 -0
  256. package/src/features/tools/shared/tool-standard-landing-sections.tsx +447 -0
  257. package/src/features/tools/shared/tool-ui-registry.ts +237 -0
  258. package/src/features/tools/shared/tool-widget-slot.tsx +29 -0
  259. package/src/features/tools/slogan-generator/slogan-generator.package.ts +641 -0
  260. package/src/features/tools/social-listening-research-report/social-listening-research-report.container.tsx +124 -0
  261. package/src/features/tools/social-listening-research-report/social-listening-research-report.spec.ts +15 -0
  262. package/src/features/tools/social-listening-research-report/widget/constants.ts +4 -0
  263. package/src/features/tools/social-listening-research-report/widget/index.ts +7 -0
  264. package/src/features/tools/social-listening-research-report/widget/preview-panels.tsx +73 -0
  265. package/src/features/tools/social-listening-research-report/widget/result-shell.tsx +216 -0
  266. package/src/features/tools/social-listening-research-report/widget/social-listening-research-report.tsx +303 -0
  267. package/src/features/tools/social-listening-research-report/widget/types.ts +15 -0
  268. package/src/features/tools/social-platform-asset-adapter/social-platform-asset-adapter.container.tsx +123 -0
  269. package/src/features/tools/social-platform-asset-adapter/social-platform-asset-adapter.spec.ts +15 -0
  270. package/src/features/tools/social-platform-asset-adapter/widget/constants.ts +43 -0
  271. package/src/features/tools/social-platform-asset-adapter/widget/helpers.ts +249 -0
  272. package/src/features/tools/social-platform-asset-adapter/widget/index.ts +7 -0
  273. package/src/features/tools/social-platform-asset-adapter/widget/result-shell.tsx +350 -0
  274. package/src/features/tools/social-platform-asset-adapter/widget/section-heading.tsx +18 -0
  275. package/src/features/tools/social-platform-asset-adapter/widget/social-platform-asset-adapter.tsx +641 -0
  276. package/src/features/tools/social-platform-asset-adapter/widget/types.ts +40 -0
  277. package/src/features/tools/social-profile-kit/social-profile-kit.container.tsx +177 -0
  278. package/src/features/tools/social-profile-kit/social-profile-kit.spec.ts +15 -0
  279. package/src/features/tools/social-profile-kit/widget/context-editor.tsx +171 -0
  280. package/src/features/tools/social-profile-kit/widget/generation-runtime.ts +281 -0
  281. package/src/features/tools/social-profile-kit/widget/index.ts +7 -0
  282. package/src/features/tools/social-profile-kit/widget/input-panel.tsx +294 -0
  283. package/src/features/tools/social-profile-kit/widget/platform-dock.tsx +115 -0
  284. package/src/features/tools/social-profile-kit/widget/profile-canvas.tsx +318 -0
  285. package/src/features/tools/social-profile-kit/widget/profile-preview/bluesky-preview.tsx +188 -0
  286. package/src/features/tools/social-profile-kit/widget/profile-preview/facebook-preview.tsx +168 -0
  287. package/src/features/tools/social-profile-kit/widget/profile-preview/index.ts +1 -0
  288. package/src/features/tools/social-profile-kit/widget/profile-preview/instagram-preview.tsx +278 -0
  289. package/src/features/tools/social-profile-kit/widget/profile-preview/linkedin-preview.tsx +358 -0
  290. package/src/features/tools/social-profile-kit/widget/profile-preview/profile-preview.tsx +348 -0
  291. package/src/features/tools/social-profile-kit/widget/profile-preview/shared.tsx +391 -0
  292. package/src/features/tools/social-profile-kit/widget/profile-preview/threads-preview.tsx +148 -0
  293. package/src/features/tools/social-profile-kit/widget/profile-preview/tiktok-preview.tsx +319 -0
  294. package/src/features/tools/social-profile-kit/widget/profile-preview/x-preview.tsx +341 -0
  295. package/src/features/tools/social-profile-kit/widget/profile-preview/youtube-preview.tsx +297 -0
  296. package/src/features/tools/social-profile-kit/widget/social-profile-kit-generator.tsx +1059 -0
  297. package/src/features/tools/social-profile-kit/widget/types.ts +104 -0
  298. package/src/features/tools/spec-registry.ts +158 -0
  299. package/src/features/tools/startup-idea-research/startup-idea-research.container.tsx +111 -0
  300. package/src/features/tools/startup-idea-research/startup-idea-research.spec.ts +15 -0
  301. package/src/features/tools/startup-idea-research/widget/constants.ts +11 -0
  302. package/src/features/tools/startup-idea-research/widget/index.ts +7 -0
  303. package/src/features/tools/startup-idea-research/widget/preview-panels.tsx +67 -0
  304. package/src/features/tools/startup-idea-research/widget/result-shell.tsx +323 -0
  305. package/src/features/tools/startup-idea-research/widget/startup-idea-research.tsx +272 -0
  306. package/src/features/tools/startup-idea-research/widget/types.ts +21 -0
  307. package/src/features/tools/tarot-reading/tarot-reading.container.tsx +412 -0
  308. package/src/features/tools/tarot-reading/tarot-reading.spec.ts +15 -0
  309. package/src/features/tools/tarot-reading/widget/cards.tsx +152 -0
  310. package/src/features/tools/tarot-reading/widget/constants.ts +69 -0
  311. package/src/features/tools/tarot-reading/widget/deck-view.tsx +86 -0
  312. package/src/features/tools/tarot-reading/widget/deck.ts +86 -0
  313. package/src/features/tools/tarot-reading/widget/index.ts +7 -0
  314. package/src/features/tools/tarot-reading/widget/landing-view.tsx +209 -0
  315. package/src/features/tools/tarot-reading/widget/reading-copy.tsx +138 -0
  316. package/src/features/tools/tarot-reading/widget/reading-view.tsx +189 -0
  317. package/src/features/tools/tarot-reading/widget/reveal-view.tsx +50 -0
  318. package/src/features/tools/tarot-reading/widget/ritual-view.tsx +276 -0
  319. package/src/features/tools/tarot-reading/widget/tarot-reading.tsx +262 -0
  320. package/src/features/tools/tarot-reading/widget/types.ts +22 -0
  321. package/src/features/tools/twitter-gif-downloader/twitter-gif-downloader.container.tsx +114 -0
  322. package/src/features/tools/twitter-gif-downloader/twitter-gif-downloader.spec.ts +14 -0
  323. package/src/features/tools/twitter-gif-downloader/widget/index.ts +7 -0
  324. package/src/features/tools/twitter-gif-downloader/widget/twitter-gif-downloader.tsx +351 -0
  325. package/src/features/tools/types.ts +68 -0
  326. package/src/features/tools/user-interview-guide-generator/user-interview-guide-generator.package.ts +774 -0
  327. package/src/features/tools/user-interview-insight-report-generator/user-interview-insight-report-generator.container.tsx +23 -0
  328. package/src/features/tools/user-interview-insight-report-generator/user-interview-insight-report-generator.spec.ts +14 -0
  329. package/src/features/tools/user-interview-insight-report-generator/widget/constants.ts +8 -0
  330. package/src/features/tools/user-interview-insight-report-generator/widget/helpers.ts +4 -0
  331. package/src/features/tools/user-interview-insight-report-generator/widget/index.ts +7 -0
  332. package/src/features/tools/user-interview-insight-report-generator/widget/preview-panels.tsx +55 -0
  333. package/src/features/tools/user-interview-insight-report-generator/widget/result-shell.tsx +122 -0
  334. package/src/features/tools/user-interview-insight-report-generator/widget/types.ts +16 -0
  335. package/src/features/tools/user-interview-insight-report-generator/widget/user-interview-insight-report-generator.tsx +293 -0
  336. package/src/features/tools/user-interview-record-generator/user-interview-record-generator.container.tsx +18 -0
  337. package/src/features/tools/user-interview-record-generator/user-interview-record-generator.spec.ts +14 -0
  338. package/src/features/tools/user-interview-record-generator/widget/constants.ts +9 -0
  339. package/src/features/tools/user-interview-record-generator/widget/helpers.ts +4 -0
  340. package/src/features/tools/user-interview-record-generator/widget/index.ts +7 -0
  341. package/src/features/tools/user-interview-record-generator/widget/preview-panels.tsx +48 -0
  342. package/src/features/tools/user-interview-record-generator/widget/result-shell.tsx +128 -0
  343. package/src/features/tools/user-interview-record-generator/widget/types.ts +16 -0
  344. package/src/features/tools/user-interview-record-generator/widget/user-interview-record-generator.tsx +305 -0
  345. package/src/features/tools/utm-builder/utm-builder.package.ts +846 -0
  346. package/src/features/tools/widget-registry.ts +73 -0
  347. package/src/generated/mcp-tools-registry.json +17 -0
  348. package/src/host/client-proxy.test.ts +33 -0
  349. package/src/host/client.ts +678 -0
  350. package/src/host/server.ts +119 -0
  351. package/src/i18n/client.ts +11 -0
  352. package/src/i18n/locale-fallback.ts +38 -0
  353. package/src/i18n/locale.ts +18 -0
  354. package/src/i18n/messages/en/page/tools.ts +124 -0
  355. package/src/i18n/messages/en/tools/app-icon-resizer.ts +244 -0
  356. package/src/i18n/messages/en/tools/app-store-screenshot-generator.ts +145 -0
  357. package/src/i18n/messages/en/tools/build-in-public-story-generator.ts +229 -0
  358. package/src/i18n/messages/en/tools/cold-start-channel-selector.ts +423 -0
  359. package/src/i18n/messages/en/tools/commercial-bp-generator.ts +304 -0
  360. package/src/i18n/messages/en/tools/community-feedback-inbox.ts +218 -0
  361. package/src/i18n/messages/en/tools/community-pain-point-extractor.ts +230 -0
  362. package/src/i18n/messages/en/tools/community-post-risk-checker.ts +209 -0
  363. package/src/i18n/messages/en/tools/competitor-analysis.ts +197 -0
  364. package/src/i18n/messages/en/tools/email-template-generator.ts +302 -0
  365. package/src/i18n/messages/en/tools/engine.ts +69 -0
  366. package/src/i18n/messages/en/tools/gtm-readiness-checklist.ts +166 -0
  367. package/src/i18n/messages/en/tools/index.ts +73 -0
  368. package/src/i18n/messages/en/tools/koko-codex-assistant.ts +171 -0
  369. package/src/i18n/messages/en/tools/logo-generator.ts +173 -0
  370. package/src/i18n/messages/en/tools/market-forecast-report.ts +228 -0
  371. package/src/i18n/messages/en/tools/million-user-growth-test.ts +386 -0
  372. package/src/i18n/messages/en/tools/og-image-generator.ts +172 -0
  373. package/src/i18n/messages/en/tools/pitch-deck-generator.ts +358 -0
  374. package/src/i18n/messages/en/tools/product-agreement-generator.ts +411 -0
  375. package/src/i18n/messages/en/tools/product-hunt-launch-planner.ts +272 -0
  376. package/src/i18n/messages/en/tools/product-name-generator.ts +383 -0
  377. package/src/i18n/messages/en/tools/product-poster-generator.ts +294 -0
  378. package/src/i18n/messages/en/tools/product-ui-generator.ts +234 -0
  379. package/src/i18n/messages/en/tools/reddit-pain-point-finder.ts +163 -0
  380. package/src/i18n/messages/en/tools/shared.ts +24 -0
  381. package/src/i18n/messages/en/tools/social-listening-research-report.ts +185 -0
  382. package/src/i18n/messages/en/tools/social-media-profile-generator.ts +22 -0
  383. package/src/i18n/messages/en/tools/social-platform-asset-adapter.ts +287 -0
  384. package/src/i18n/messages/en/tools/social-profile-kit.ts +150 -0
  385. package/src/i18n/messages/en/tools/startup-idea-research.ts +170 -0
  386. package/src/i18n/messages/en/tools/tarot-reading.ts +230 -0
  387. package/src/i18n/messages/en/tools/twitter-gif-downloader.ts +145 -0
  388. package/src/i18n/messages/en/tools/user-interview-insight-report-generator.ts +242 -0
  389. package/src/i18n/messages/en/tools/user-interview-record-generator.ts +244 -0
  390. package/src/i18n/messages/en/tools-ui.ts +704 -0
  391. package/src/i18n/messages/zh/page/tools.ts +124 -0
  392. package/src/i18n/messages/zh/tools/app-icon-resizer.ts +242 -0
  393. package/src/i18n/messages/zh/tools/app-store-screenshot-generator.ts +145 -0
  394. package/src/i18n/messages/zh/tools/build-in-public-story-generator.ts +230 -0
  395. package/src/i18n/messages/zh/tools/cold-start-channel-selector.ts +422 -0
  396. package/src/i18n/messages/zh/tools/commercial-bp-generator.ts +302 -0
  397. package/src/i18n/messages/zh/tools/community-feedback-inbox.ts +217 -0
  398. package/src/i18n/messages/zh/tools/community-pain-point-extractor.ts +230 -0
  399. package/src/i18n/messages/zh/tools/community-post-risk-checker.ts +200 -0
  400. package/src/i18n/messages/zh/tools/competitor-analysis.ts +192 -0
  401. package/src/i18n/messages/zh/tools/email-template-generator.ts +302 -0
  402. package/src/i18n/messages/zh/tools/engine.ts +68 -0
  403. package/src/i18n/messages/zh/tools/gtm-readiness-checklist.ts +166 -0
  404. package/src/i18n/messages/zh/tools/index.ts +73 -0
  405. package/src/i18n/messages/zh/tools/koko-codex-assistant.ts +170 -0
  406. package/src/i18n/messages/zh/tools/logo-generator.ts +172 -0
  407. package/src/i18n/messages/zh/tools/market-forecast-report.ts +228 -0
  408. package/src/i18n/messages/zh/tools/million-user-growth-test.ts +385 -0
  409. package/src/i18n/messages/zh/tools/og-image-generator.ts +173 -0
  410. package/src/i18n/messages/zh/tools/pitch-deck-generator.ts +358 -0
  411. package/src/i18n/messages/zh/tools/product-agreement-generator.ts +401 -0
  412. package/src/i18n/messages/zh/tools/product-hunt-launch-planner.ts +267 -0
  413. package/src/i18n/messages/zh/tools/product-name-generator.ts +383 -0
  414. package/src/i18n/messages/zh/tools/product-poster-generator.ts +282 -0
  415. package/src/i18n/messages/zh/tools/product-ui-generator.ts +234 -0
  416. package/src/i18n/messages/zh/tools/reddit-pain-point-finder.ts +162 -0
  417. package/src/i18n/messages/zh/tools/shared.ts +24 -0
  418. package/src/i18n/messages/zh/tools/social-listening-research-report.ts +181 -0
  419. package/src/i18n/messages/zh/tools/social-media-profile-generator.ts +22 -0
  420. package/src/i18n/messages/zh/tools/social-platform-asset-adapter.ts +284 -0
  421. package/src/i18n/messages/zh/tools/social-profile-kit.ts +150 -0
  422. package/src/i18n/messages/zh/tools/startup-idea-research.ts +165 -0
  423. package/src/i18n/messages/zh/tools/tarot-reading.ts +228 -0
  424. package/src/i18n/messages/zh/tools/twitter-gif-downloader.ts +138 -0
  425. package/src/i18n/messages/zh/tools/user-interview-insight-report-generator.ts +224 -0
  426. package/src/i18n/messages/zh/tools/user-interview-record-generator.ts +226 -0
  427. package/src/i18n/messages/zh/tools-ui.ts +684 -0
  428. package/src/i18n/messages/zh-tw/page/tools.ts +115 -0
  429. package/src/i18n/messages/zh-tw/tools/app-icon-resizer.ts +242 -0
  430. package/src/i18n/messages/zh-tw/tools/app-store-screenshot-generator.ts +145 -0
  431. package/src/i18n/messages/zh-tw/tools/build-in-public-story-generator.ts +230 -0
  432. package/src/i18n/messages/zh-tw/tools/cold-start-channel-selector.ts +440 -0
  433. package/src/i18n/messages/zh-tw/tools/commercial-bp-generator.ts +302 -0
  434. package/src/i18n/messages/zh-tw/tools/community-feedback-inbox.ts +217 -0
  435. package/src/i18n/messages/zh-tw/tools/community-pain-point-extractor.ts +230 -0
  436. package/src/i18n/messages/zh-tw/tools/community-post-risk-checker.ts +200 -0
  437. package/src/i18n/messages/zh-tw/tools/competitor-analysis.ts +192 -0
  438. package/src/i18n/messages/zh-tw/tools/email-template-generator.ts +302 -0
  439. package/src/i18n/messages/zh-tw/tools/engine.ts +68 -0
  440. package/src/i18n/messages/zh-tw/tools/gtm-readiness-checklist.ts +166 -0
  441. package/src/i18n/messages/zh-tw/tools/index.ts +73 -0
  442. package/src/i18n/messages/zh-tw/tools/koko-codex-assistant.ts +170 -0
  443. package/src/i18n/messages/zh-tw/tools/logo-generator.ts +71 -0
  444. package/src/i18n/messages/zh-tw/tools/market-forecast-report.ts +228 -0
  445. package/src/i18n/messages/zh-tw/tools/million-user-growth-test.ts +385 -0
  446. package/src/i18n/messages/zh-tw/tools/og-image-generator.ts +173 -0
  447. package/src/i18n/messages/zh-tw/tools/pitch-deck-generator.ts +358 -0
  448. package/src/i18n/messages/zh-tw/tools/product-agreement-generator.ts +401 -0
  449. package/src/i18n/messages/zh-tw/tools/product-hunt-launch-planner.ts +267 -0
  450. package/src/i18n/messages/zh-tw/tools/product-name-generator.ts +383 -0
  451. package/src/i18n/messages/zh-tw/tools/product-poster-generator.ts +282 -0
  452. package/src/i18n/messages/zh-tw/tools/product-ui-generator.ts +234 -0
  453. package/src/i18n/messages/zh-tw/tools/reddit-pain-point-finder.ts +162 -0
  454. package/src/i18n/messages/zh-tw/tools/shared.ts +24 -0
  455. package/src/i18n/messages/zh-tw/tools/social-listening-research-report.ts +181 -0
  456. package/src/i18n/messages/zh-tw/tools/social-media-profile-generator.ts +22 -0
  457. package/src/i18n/messages/zh-tw/tools/social-platform-asset-adapter.ts +284 -0
  458. package/src/i18n/messages/zh-tw/tools/social-profile-kit.ts +150 -0
  459. package/src/i18n/messages/zh-tw/tools/startup-idea-research.ts +165 -0
  460. package/src/i18n/messages/zh-tw/tools/tarot-reading.ts +228 -0
  461. package/src/i18n/messages/zh-tw/tools/twitter-gif-downloader.ts +138 -0
  462. package/src/i18n/messages/zh-tw/tools/user-interview-insight-report-generator.ts +224 -0
  463. package/src/i18n/messages/zh-tw/tools/user-interview-record-generator.ts +226 -0
  464. package/src/i18n/messages/zh-tw/tools-ui.ts +525 -0
  465. package/src/index.ts +15 -0
  466. package/src/lib/activity-task-handoff.ts +404 -0
  467. package/src/lib/api/errors.ts +39 -0
  468. package/src/lib/app-origin.ts +30 -0
  469. package/src/lib/fact-claim-contract.ts +68 -0
  470. package/src/lib/fake-delay.ts +3 -0
  471. package/src/lib/file/download.ts +10 -0
  472. package/src/lib/routing/locale-paths.ts +27 -0
  473. package/src/lib/seo-meta.ts +3 -0
  474. package/src/lib/tools/app-icon-resizer-schema.ts +191 -0
  475. package/src/lib/tools/app-store-screenshot-generator-schema.ts +185 -0
  476. package/src/lib/tools/build-in-public-story-generator-schema.ts +67 -0
  477. package/src/lib/tools/build-in-public-story-generator.format.ts +507 -0
  478. package/src/lib/tools/cold-start-channel-selector-schema.ts +147 -0
  479. package/src/lib/tools/commercial-bp-generator-schema.ts +222 -0
  480. package/src/lib/tools/community-feedback-inbox-schema.ts +125 -0
  481. package/src/lib/tools/community-feedback-inbox.format.ts +764 -0
  482. package/src/lib/tools/community-pain-point-extractor-schema.ts +166 -0
  483. package/src/lib/tools/community-post-risk-checker-schema.ts +99 -0
  484. package/src/lib/tools/community-post-risk-checker.format.ts +557 -0
  485. package/src/lib/tools/competitor-analysis-schema.ts +144 -0
  486. package/src/lib/tools/draft-preview-access.ts +3 -0
  487. package/src/lib/tools/draft-store.ts +69 -0
  488. package/src/lib/tools/email-template-generator-schema.ts +124 -0
  489. package/src/lib/tools/gtm-checklist-copy.ts +57 -0
  490. package/src/lib/tools/gtm-checklist-structure.ts +37 -0
  491. package/src/lib/tools/image-download.ts +68 -0
  492. package/src/lib/tools/input-quality.ts +97 -0
  493. package/src/lib/tools/logo-generator-schema.ts +224 -0
  494. package/src/lib/tools/market-forecast-report-schema.ts +299 -0
  495. package/src/lib/tools/mcp-registry.ts +16 -0
  496. package/src/lib/tools/mcp-types.ts +18 -0
  497. package/src/lib/tools/million-user-growth-test-schema.ts +49 -0
  498. package/src/lib/tools/million-user-growth-test.ts +181 -0
  499. package/src/lib/tools/og-image-generator-render.ts +448 -0
  500. package/src/lib/tools/og-image-generator-schema.ts +140 -0
  501. package/src/lib/tools/ops-catalog.ts +102 -0
  502. package/src/lib/tools/pitch-deck-generator-schema.ts +182 -0
  503. package/src/lib/tools/pitch-deck-package.ts +0 -0
  504. package/src/lib/tools/product-agreement-generator-schema.ts +168 -0
  505. package/src/lib/tools/product-hunt-launch-planner-schema.ts +136 -0
  506. package/src/lib/tools/product-hunt-launch-planner.format.ts +72 -0
  507. package/src/lib/tools/product-name-generator-schema.ts +563 -0
  508. package/src/lib/tools/product-poster-generator-schema.ts +215 -0
  509. package/src/lib/tools/product-ui-generator-schema.ts +157 -0
  510. package/src/lib/tools/reddit-pain-point-finder-schema.ts +88 -0
  511. package/src/lib/tools/resolve-tool-locale-copy.ts +75 -0
  512. package/src/lib/tools/slug.ts +60 -0
  513. package/src/lib/tools/social-listening-research-report-schema.ts +105 -0
  514. package/src/lib/tools/social-platform-asset-adapter-schema.ts +152 -0
  515. package/src/lib/tools/social-profile-kit.constants.ts +12 -0
  516. package/src/lib/tools/social-profile-kit.generation.ts +257 -0
  517. package/src/lib/tools/social-profile-kit.input.ts +290 -0
  518. package/src/lib/tools/social-profile-kit.manual.ts +481 -0
  519. package/src/lib/tools/social-profile-kit.package.ts +220 -0
  520. package/src/lib/tools/social-profile-kit.schema.ts +328 -0
  521. package/src/lib/tools/startup-idea-research-schema.ts +107 -0
  522. package/src/lib/tools/tarot-imagery.ts +89 -0
  523. package/src/lib/tools/tarot-reading.ts +1044 -0
  524. package/src/lib/tools/tool-message-keys.ts +18 -0
  525. package/src/lib/tools/types.ts +32 -0
  526. package/src/lib/tools/user-interview.format.ts +147 -0
  527. package/src/lib/tools/user-interview.generation.ts +670 -0
  528. package/src/lib/tools/user-interview.schema.ts +192 -0
  529. package/src/lib/zip.ts +106 -0
  530. package/src/services/tools/handlers/gtm-readiness-checklist.ts +71 -0
  531. package/src/services/tools/handlers/types.ts +7 -0
@@ -0,0 +1,170 @@
1
+ const kokoCodexAssistant = {
2
+ meta: {
3
+ title: "KoKo Codex 桌面助手 Beta",
4
+ displayTitle: "KoKo 桌面助手",
5
+ description: "下载 KoKo Codex 桌面助手 Mac Beta,通过悬浮窗把启动项目、推拉代码、Skill 调用和完成提醒做成一键快捷动作。下载需输入内部邀请码。",
6
+ intro: "给常用 Codex prompt 和 Skill 做一个桌面悬浮入口。输入内部邀请码后下载 Mac Beta,把启动项目、推拉代码、固定工作流和任务完成提醒变成随手可点的 KoKo 动作。",
7
+ category: "Codex 工具",
8
+ keywords: [
9
+ "Codex 桌面助手",
10
+ "KoKo Codex Assistant",
11
+ "Mac 悬浮窗启动项目",
12
+ "Skill 快捷调用",
13
+ "Codex 推拉代码助手",
14
+ ],
15
+ inputSignal: "内部邀请码",
16
+ outputSignal: "Mac Beta 安装包下载",
17
+ boundarySignal: "Windows 版敬请期待,仅供内部测试",
18
+ },
19
+ widget: {
20
+ betaBadge: "Beta 测试版",
21
+ macTitle: "Mac 版内测下载",
22
+ macBody:
23
+ "当前下载为 KoKo Codex 桌面助手 Mac Beta。它会在桌面显示悬浮入口,把常用 Codex prompt、Skill 和项目参数变成可点击动作。",
24
+ macPoints: [
25
+ "悬浮窗 hover 后展开快捷按钮",
26
+ "每个按钮可绑定 Prompt、Skill 或预设参数",
27
+ "点击后自动调起 Codex 并发送到指定项目",
28
+ "Codex 完成任务后由提示小助手提醒查看结果",
29
+ ],
30
+ downloadMac: "下载 Mac Beta",
31
+ downloadAgain: "重新下载 Mac Beta",
32
+ verifiedHint: "邀请码已验证,本次会直接进入下载。",
33
+ comingSoon: "敬请期待",
34
+ windowsTitle: "Windows 版",
35
+ windowsBody:
36
+ "Windows 版入口先保留在右侧,当前不可下载。等兼容性和安装流程稳定后会开放测试。",
37
+ windowsStatus: "Windows 版敬请期待",
38
+ workspaceAlt: "KoKo 悬浮窗展开快捷按钮的像素风预览图",
39
+ dialogTitle: "输入内部邀请码",
40
+ dialogDescription: "KoKo 目前仅供内部 Beta 测试使用,通过邀请码后即可下载 Mac 安装包。",
41
+ inviteLabel: "邀请码",
42
+ invitePlaceholder: "请输入邀请码",
43
+ wrongCode: "邀请码不正确,请确认后再试。",
44
+ cancel: "取消",
45
+ confirmDownload: "验证并下载",
46
+ },
47
+ guide: {
48
+ betaBadge: "Beta 测试版",
49
+ heroVisualAlt: "KoKo 番茄像素助手、悬浮快捷按钮和 Mac Beta 安装包视觉",
50
+ workspaceHeading: "下载 KoKo Mac Beta",
51
+ workspaceHint:
52
+ "当前版本仅供内部测试。点击 Mac 下载后输入邀请码;Windows 入口已预留,但暂不开放。",
53
+ resultHeading: "你会得到什么",
54
+ resultBody: [
55
+ "KoKo 安装后会在桌面提供一个轻量悬浮窗。你可以把“启动项目”“拉取代码”“推送代码”“调用某个 Skill”这类重复操作固定成按钮,无论当前屏幕停在哪个应用,都能快速把任务交给 Codex。",
56
+ "当 Codex 跑完任务,KoKo 还可以通过提示小助手提醒你回来看结果。你不用一直盯着终端或反复切回 Codex,只需要等通知出现,再打开对应任务复核输出。",
57
+ "它不是另一个在线生成器,也不需要在网页里填写长表单。KoKo 的价值在于把你已经信任的 Codex 对话、项目路径、Prompt、Skill 和完成提醒组合起来,让个人开发者和小团队少做重复切换。",
58
+ ],
59
+ workspaceVisualAlt: "KoKo 悬浮窗展开多个快捷按钮的产品预览图",
60
+ scenarioHeading: "更适合先做成按钮的场景",
61
+ scenarioIntro:
62
+ "第一版重点服务高频、可预设、结果可等待的 Codex 工作流。下面四个场景中,前两个是研发日常,后两个适合团队把固定 Skill 流程交给 KoKo。",
63
+ scenarioItems: [
64
+ {
65
+ title: "启动代码项目",
66
+ body: "把项目路径、启动命令和必要检查写进按钮。hover KoKo 后点击“启动”,Codex 会进入指定项目并执行预设启动流程,你只需要等终端和服务就绪。",
67
+ },
68
+ {
69
+ title: "推拉代码",
70
+ body: "把 pull、检查分支、提交摘要、push 或 PR 草稿提示拆成快捷按钮。适合每天多次同步代码,又不想重复输入固定命令和说明的个人开发者。",
71
+ },
72
+ {
73
+ title: "调用固定 Skill",
74
+ body: "把 SEO、品牌物料、文档整理、邮件草稿等 Skill 调用配置成按钮。KoKo 会把固定 prompt 发送到对应 Codex 对话或项目,减少找技能和复制指令的时间。",
75
+ },
76
+ {
77
+ title: "交接例行任务",
78
+ body: "团队可以把检查清单、发布前确认、复盘模板或素材生成流程做成共享配置。新人不需要记住完整 prompt,也能按同一套流程触发 Codex。",
79
+ },
80
+ ],
81
+ configHeading: "自定义悬浮窗左侧按钮",
82
+ configBody: [
83
+ "KoKo 的核心不是固定功能列表,而是可配置的快捷动作。每个按钮都可以绑定一段 Prompt、某个 Skill、项目路径、目标对话或预设参数;你可以按自己的工作流决定 hover 后左侧出现什么。",
84
+ "例如一个按钮只负责启动本地服务,一个按钮负责拉取最新代码,一个按钮负责调用 `$programmatic-seo` 写页面 Brief。按钮越贴近日常动作,KoKo 越像你的桌面 Codex 调度台。",
85
+ ],
86
+ configVisualAlt: "KoKo 把 Prompt、Skill 和清单模块配置成悬浮按钮的像素图",
87
+ flowHeading: "点击后自动调起 Codex",
88
+ flowBody: [
89
+ "当你点击按钮时,KoKo 会根据配置打开 Codex,并把对应内容发送到指定对话框或项目里。你的动作从“切换窗口、找项目、复制 prompt、确认上下文”变成“hover、点击、等待结果”。",
90
+ "这让 KoKo 很适合那些不需要你临场发挥、但需要 Codex 在正确项目里执行的事务:启动、同步、检查、生成、整理、复盘和发布前准备。",
91
+ ],
92
+ valueVisualAlt: "零散研发任务通过 KoKo 变成启动、拉取和推送动作的视觉图",
93
+ notificationHeading: "任务完成时提醒你回来查看",
94
+ notificationBody: [
95
+ "很多 Codex 任务不是点完马上结束:启动服务、整理文档、生成素材、跑检查都可能需要等一会。KoKo 会在任务完成时通过提示小助手发出提醒,让你知道结果已经可以查看。",
96
+ "这个提醒只负责把注意力带回结果现场,不替你判断代码是否安全、文档是否可发布或生成内容是否能直接上线。你仍然可以在 Codex 里复核输出、继续追问或决定下一步操作。",
97
+ ],
98
+ notificationVisualAlt: "KoKo 提示小助手在 Codex 任务完成后提醒用户查看结果的像素图",
99
+ standardsHeading: "好的 Codex 桌面助手应该具备什么",
100
+ standardsItems: [
101
+ {
102
+ title: "足够快",
103
+ body: "入口必须随手可达,点击后直接进入已配置的 Codex 上下文,不让你重新找项目、找 Skill 或复制 prompt。",
104
+ },
105
+ {
106
+ title: "足够可控",
107
+ body: "每个按钮对应的 Prompt、Skill 和参数都应可见、可改、可复用。KoKo 只负责把你确认过的动作稳定送达。",
108
+ },
109
+ {
110
+ title: "结果不丢",
111
+ body: "适合等待的任务完成后,提示小助手会提醒你回到 Codex 查看结果,减少反复切窗和忘记复核的问题。",
112
+ },
113
+ {
114
+ title: "边界清楚",
115
+ body: "Beta 阶段先聚焦 Mac 桌面、内部邀请码和固定工作流;需要人工确认的代码、提交和发布动作仍应由你最终判断。",
116
+ },
117
+ ],
118
+ boundaryHeading: "Beta 下载与平台边界",
119
+ boundaryBody: [
120
+ "当前 Mac 安装包是 Beta 测试版,仅供内部使用。下载前需要通过内部邀请码;邀请码只在弹窗中输入,不作为页面正文展示。",
121
+ "Windows 版入口已放在右侧,但当前显示“敬请期待”。这能让访问者知道平台规划,同时避免误以为 Windows 包已经可下载。",
122
+ "KoKo 会帮助你把配置好的内容发送给 Codex,也会在任务完成时提醒你查看结果,但不会替你判断代码是否一定安全、提交是否应该发布、生成内容是否能直接上线。研发相关按钮建议保留必要检查和人工确认。",
123
+ ],
124
+ betaVisualAlt: "KoKo Mac Beta 安装包、邀请码锁和 Windows 敬请期待入口视觉",
125
+ faq: "常见问题",
126
+ faqItems: [
127
+ {
128
+ question: "KoKo 和普通快捷启动器有什么区别?",
129
+ answer:
130
+ "普通启动器通常只打开 App 或执行命令。KoKo 面向 Codex 工作流,可以把 Prompt、Skill、项目路径和预设参数组合成按钮,并自动发送到指定 Codex 对话或项目。",
131
+ },
132
+ {
133
+ question: "为什么下载 KoKo Mac Beta 需要邀请码?",
134
+ answer:
135
+ "这版还处于内部 Beta 测试,需要先控制下载范围,方便收集安装、悬浮窗、Codex 调起和按钮配置反馈。如已获得邀请码,请在下载弹窗中输入。",
136
+ },
137
+ {
138
+ question: "KoKo 能直接帮我启动代码项目吗?",
139
+ answer:
140
+ "可以把启动项目所需的路径、命令和检查说明配置成按钮。点击后 KoKo 会调起 Codex 并发送对应内容,但服务启动结果仍取决于你的本地环境、依赖和项目脚本。",
141
+ },
142
+ {
143
+ question: "能用 KoKo 做推拉代码吗?",
144
+ answer:
145
+ "可以把拉取、检查、提交、推送或 PR 草稿拆成按钮。建议在按钮 prompt 里保留分支检查、变更摘要和确认步骤,避免把需要判断的代码发布动作完全自动化。",
146
+ },
147
+ {
148
+ question: "Windows 版什么时候能下载?",
149
+ answer:
150
+ "目前 Windows 版还未开放下载,页面只保留入口并显示敬请期待。等安装、悬浮窗权限和 Codex 调起流程稳定后,再开放 Windows Beta。",
151
+ },
152
+ {
153
+ question: "我可以把其他 Skill 配成 KoKo 按钮吗?",
154
+ answer:
155
+ "可以。适合配置那些高频、固定、结果可等待的 Skill,例如 SEO 页面 Brief、品牌物料、文档整理、发布检查、邮件草稿或项目复盘。",
156
+ },
157
+ {
158
+ question: "提示小助手会在什么时候提醒我?",
159
+ answer:
160
+ "当 KoKo 触发的 Codex 任务完成后,提示小助手会提醒你回到对应结果查看输出。它适合启动、检查、生成和整理这类需要等待的任务;最终是否继续提交、发布或采用结果,仍由你复核决定。",
161
+ },
162
+ ],
163
+ ctaHint:
164
+ "KoKo 仍是内部 Beta。如果你只想先探索 Tomako 现有工具,可以回到工具列表;如果要准备命名或页面内容,也可以继续使用相关工具。",
165
+ ctaPrimary: "返回全部工具",
166
+ ctaSecondary: "试试产品命名工具",
167
+ },
168
+ } as const;
169
+
170
+ export default kokoCodexAssistant;
@@ -0,0 +1,172 @@
1
+ const logoGenerator = {
2
+ meta: {
3
+ title: "Logo 生成器",
4
+ description: "为独立开发者把产品网址、产品名称、介绍、参考图和配色转成可下载的 PNG Logo 方案。",
5
+ intro: "用产品信息生成可下载 PNG Logo 方案。",
6
+ category: "品牌工具",
7
+ keywords: [
8
+ "Logo 生成器",
9
+ "AI Logo 生成器",
10
+ "免费 Logo 生成器",
11
+ "产品 Logo",
12
+ "PNG Logo",
13
+ ],
14
+ },
15
+ guide: {
16
+ heroImageAlt:
17
+ "Logo 生成器首屏透明配图,展示产品网址、产品 brief、在线 Logo 图片和复核清单。",
18
+ workspaceHeading: "用产品信息生成 Logo",
19
+ workspaceHint:
20
+ "产品名是唯一必填项。你可以补充产品网址、产品介绍与关键词、参考图或自定义配色;Logo 形式收在更多品牌约束里。",
21
+ workspaceVisualAlt:
22
+ "Logo 生成器工作台配图,展示从产品网址和 brief 到在线 Logo 图片候选。",
23
+ valueHeading: "你会得到什么",
24
+ valueIntro:
25
+ "Logo 生成器的重点不是前端假图或模板,而是通过在线生图链路返回可下载、可复核、能继续打磨的品牌方向。",
26
+ valueVisualAlt:
27
+ "Logo 生成器输出配图,展示 PNG 原图、产品语境和复核清单。",
28
+ valueCards: [
29
+ {
30
+ title: "PNG 原图",
31
+ body: "结果来自在线图片服务写回的 imageUrl,可直接下载生成的 Logo 图片。",
32
+ },
33
+ {
34
+ title: "产品语境",
35
+ body: "产品网址、介绍和关键词会进入 brief;网址可用于读取公开页面标题和描述。",
36
+ },
37
+ {
38
+ title: "品牌约束",
39
+ body: "行业、目标用户和 Logo 形式可以在折叠区补充;自定义配色独立控制,不选择时由 Agent 自动推导。",
40
+ },
41
+ {
42
+ title: "复核清单",
43
+ body: "页面会提醒你检查小尺寸识别度、颜色可用性、商标和版权风险,而不是直接当成终稿。",
44
+ },
45
+ ],
46
+ howToUse: "如何使用",
47
+ howToUseIntro:
48
+ "先用最少信息拿到可比较方向,再用参考图、自定义配色或品牌约束收窄结果。第一版不需要完整品牌手册。",
49
+ howToUseSteps: [
50
+ "输入产品名称;可选补充产品网址和产品介绍与关键词。",
51
+ "可选上传参考图或选择自定义配色;不选择时会根据网址、介绍和产品名推导视觉方向。",
52
+ "需要更明确时,展开更多品牌约束补充行业、用户和 Logo 形式。",
53
+ "提交后等待在线 Agent 调用图片服务,并写回真实 imageTaskId 和 imageUrl。",
54
+ "生成后选择一个方向,下载 PNG 原图,再进入设计工具继续细化。",
55
+ ],
56
+ resultGuidance: "如何判断结果",
57
+ resultGuidanceIntro:
58
+ "Logo 结果更适合作为上线前的设计方向。先看是否清楚、可用、可复核,再决定哪个方向值得继续打磨。",
59
+ resultVisualAlt:
60
+ "Logo 生成器结果判断配图,展示评分、使用场景和可编辑性检查。",
61
+ guidanceBullets: [
62
+ "先看小尺寸识别度:缩到 favicon、App 图标或头像尺寸时,图形仍应清楚。",
63
+ "再看场景匹配:官网、App、社媒和提案封面需要不同的空间感。",
64
+ "保留 2 到 3 个方向继续打磨,不要只因为颜色喜欢就立即定稿。",
65
+ "PNG 原图适合快速分享和放进页面里预览;正式商用前建议再做矢量化和品牌规范整理。",
66
+ ],
67
+ standardsHeading: "为什么选 Tomako",
68
+ standardsIntro:
69
+ "一个好的 AI Logo 生成器要让输入足够轻、结果来自真实生成链路、好下载,并且把不能承诺的边界提前说清楚。",
70
+ standardCards: [
71
+ {
72
+ title: "输入少",
73
+ body: "产品名即可开始;网址、产品介绍、行业和用户只在你需要更精确方向时补充。",
74
+ },
75
+ {
76
+ title: "结果有真实来源",
77
+ body: "前端只展示 Skills-OL 写回的 imageUrl,不用浏览器模板或占位图冒充生成结果。",
78
+ },
79
+ {
80
+ title: "更适合独立开发者",
81
+ body: "围绕官网、App 图标、社媒头像和提案这些 0 到 1 场景组织结果。",
82
+ },
83
+ {
84
+ title: "边界清楚",
85
+ body: "不承诺商标清查、版权检索或完整品牌系统,正式商用前需要人工复核。",
86
+ },
87
+ ],
88
+ useCases: "适用场景",
89
+ useCasesIntro:
90
+ "搜索 Logo 生成器的用户通常想快速看到可用视觉方向,而不是阅读一篇设计方法论。这个页面把常见独立开发者场景直接映射到输出和下载动作。",
91
+ useCasesVisualAlt:
92
+ "Logo 生成器适用场景配图,展示官网、App 图标和社媒头像的上线素材组合。",
93
+ useCaseCards: [
94
+ {
95
+ title: "产品命名后定第一版视觉",
96
+ description: "刚确定产品名时,用最少输入拿到图形、字标和图标方向,快速判断名字是否适合做品牌。",
97
+ label: "0 to 1",
98
+ },
99
+ {
100
+ title: "上线落地页或 waitlist",
101
+ description: "为官网导航、hero、favicon 和社媒头像准备统一的初版视觉素材。",
102
+ label: "Launch",
103
+ },
104
+ {
105
+ title: "提案中展示多种品牌方向",
106
+ description: "把同一个产品 brief 转成几种可比较方向,方便团队在会议或客户提案中选择。",
107
+ label: "Pitch",
108
+ },
109
+ {
110
+ title: "交给设计师继续细化",
111
+ description: "下载 PNG 原图后继续在 Figma、Illustrator 或品牌设计流程里做矢量化和排版精修。",
112
+ label: "Review",
113
+ },
114
+ ],
115
+ boundaryHeading: "支持范围和边界",
116
+ boundaryIntro:
117
+ "这版 Logo 生成器会根据你提交的 brief 生成图片;如果提供产品网址,会尝试读取公开元信息,但不替代权利风险检查。",
118
+ boundaryVisualAlt:
119
+ "Logo 生成器能力边界配图,展示在线图片结果、URL 元信息和人工复核。",
120
+ boundaryGroups: [
121
+ {
122
+ title: "支持",
123
+ items: [
124
+ "产品网址、产品名、产品介绍与关键词、参考图、自定义配色、行业、目标用户和 Logo 形式。",
125
+ "在线图片服务生成的 imageUrl、PNG 原图下载和复核建议。",
126
+ "官网、App 图标、社媒头像和提案封面的第一版视觉方向。",
127
+ ],
128
+ },
129
+ {
130
+ title: "不支持",
131
+ items: [
132
+ "不保证一定能读取受限、登录后或反爬限制的网页内容。",
133
+ "不做商标、版权、近似品牌或可商用保证。",
134
+ "不直接交付完整品牌系统、品牌手册、透明底套装或矢量商标定稿。",
135
+ ],
136
+ },
137
+ {
138
+ title: "失败后怎么办",
139
+ items: [
140
+ "如果结果过于泛化,补充产品差异、目标用户和关键词后重试。",
141
+ "如果小尺寸不清楚,换更简洁的 Logo 形式或选择纯字标方向。",
142
+ "如果准备商用,先做设计复核和权利风险检查。",
143
+ ],
144
+ },
145
+ ],
146
+ faq: "常见问题",
147
+ faqIntro:
148
+ "这里集中回答搜索用户最容易误解的边界:它生成图片候选,但不替代商标检索、版权审查或完整品牌系统设计。",
149
+ faqItems: [
150
+ {
151
+ question: "这个工具会生成可商用 logo 吗?",
152
+ answer:
153
+ "目标是生成接近可落地的 Logo 图片候选,但它不做商标、版权或近似品牌检索。正式商用前仍建议做设计复核、矢量化和权利风险检查。",
154
+ },
155
+ {
156
+ question: "为什么现在输出 PNG 原图?",
157
+ answer:
158
+ "真实生图链路返回的是图片服务生成的 raster PNG。它适合先确认方向、放进页面预览或交给设计师继续矢量化;透明底和多尺寸套装应在后续导出流程里处理。",
159
+ },
160
+ {
161
+ question: "需要提供产品官网吗?",
162
+ answer:
163
+ "不需要。产品网址是可选项;如果提供,脚本会尝试读取公开页面标题和描述,失败时仍会基于你填写的产品介绍与关键词生成。",
164
+ },
165
+ ],
166
+ ctaPrimary: "先生成产品名",
167
+ ctaSecondary: "返回全部工具",
168
+ ctaHint: "如果还没有稳定的产品名,先用起名器得到候选名,再回来生成 logo 方向。",
169
+ },
170
+ } as const;
171
+
172
+ export default logoGenerator;
@@ -0,0 +1,228 @@
1
+ const marketForecastReport = {
2
+ meta: {
3
+ title: "TAM、SAM、SOM 市场规模预测工具",
4
+ displayTitle: "TAM、SAM、SOM 市场规模预测工具",
5
+ description:
6
+ "输入产品、目标买方、定价和业务数据,生成 TAM、SAM、SOM 与三档 ARR 预测,并附上来源、假设、政策信号和可在写入 BP 前复核的尽调问题。",
7
+ intro:
8
+ "给融资材料用的市场预测不该只引用一份咨询报告。这个工具会把公开统计、社区活跃信号、政策趋势、竞品线索和你的真实业务输入放在一起,输出可复核的预测区间。",
9
+ category: "融资与市场研究工具",
10
+ keywords: [
11
+ "市场规模预测工具",
12
+ "ARR 预测工具",
13
+ "TAM SAM SOM 计算器",
14
+ "融资市场研究",
15
+ "创业公司用户增长预测",
16
+ ],
17
+ inputSignal: "产品描述、当前用户、目标用户、市场、收入/定价/付费率",
18
+ outputSignal: "TAM/SAM/SOM、三档用户与 ARR 预测、证据墙、政策趋势、尽调清单",
19
+ boundarySignal: "公开证据驱动的估算,不是投资建议或确定性财务预测",
20
+ },
21
+ widget: {
22
+ productLabel: "产品与场景",
23
+ productPlaceholder:
24
+ "例如:面向北美中小 SaaS 团队的 AI 客服工单分流工具,接入 Zendesk/Intercom,帮助支持团队自动识别优先级和重复问题。",
25
+ targetUsersLabel: "目标用户/买方",
26
+ targetUsersPlaceholder: "例如:50-500 人 SaaS 公司的 support lead、CX ops",
27
+ marketLabel: "目标市场",
28
+ marketPlaceholder: "例如:美国 / 北美 / 全球 B2B SaaS",
29
+ currentUsersLabel: "当前用户",
30
+ currentUsersPlaceholder: "例如:2,000 workspace,120 个日活团队",
31
+ horizonLabel: "预测周期",
32
+ horizon: {
33
+ oneYear: "1 年",
34
+ threeYear: "3 年",
35
+ fiveYear: "5 年",
36
+ },
37
+ metricsLabel: "当前商业指标",
38
+ metricsHint: "可选",
39
+ metricsPlaceholder:
40
+ "例如:MRR 8,000 美元;Pro $49/月;付费转化约 6%;过去 3 个月用户每月增长 18%;竞品包括 Gorgias、Intercom Fin。",
41
+ inputHint:
42
+ "工具只使用公开、可归因的证据和你提供的数据。若证据薄弱,报告会降低置信度并列出缺口,而不是把不确定性包装成结论。",
43
+ submit: "生成市场预测报告",
44
+ submitting: "正在提交...",
45
+ running: "正在研究...",
46
+ emptyTitle: "市场规模预测报告会显示在这里",
47
+ emptyHint:
48
+ "提交后会生成 TAM/SAM/SOM、公开证据墙、社区活跃信号、政策趋势、熊/基准/牛三档用户与 ARR 预测、敏感性分析和投资人尽调清单。",
49
+ runningTitle: "正在收集公开市场证据",
50
+ runningHint:
51
+ "Agent 会优先查找官方统计、公司披露、政策文本、公开社区讨论和可复核网页。完整报告前可能先显示部分模块。",
52
+ progressTitle: "最近进展",
53
+ progressSteps: [
54
+ "已收到产品信息,正在拆解市场定义、用户分层和可搜索证据问题。",
55
+ "正在查找官方统计、公司披露、公开社区讨论和政策趋势。",
56
+ "正在区分真实活跃信号、会员数、媒体热度和二手报告数字。",
57
+ "正在建立熊/基准/牛三档用户、付费率、ARPU/ACV 和 ARR 假设。",
58
+ "正在整理证据强度、敏感变量、缺失证据和投资人尽调清单。",
59
+ ],
60
+ progressResultReady: "结构化报告快照已写回,正在读取并校验。",
61
+ status: {
62
+ default: "研究中",
63
+ PENDING: "排队中",
64
+ STREAMING: "研究中",
65
+ AWAITING_INPUT: "分析中",
66
+ AWAITING_RESULT: "读取结果中",
67
+ SUCCEEDED: "即将完成",
68
+ },
69
+ retry: "重试",
70
+ errors: {
71
+ invalid: "请补充更具体的产品信息、目标用户和市场背景,避免 test/demo/占位内容。",
72
+ submit: "提交失败,请检查网络后重试。",
73
+ task: "市场预测任务失败,请稍后重试。",
74
+ timeout: "研究超时,已保留当前部分结果;如需完整报告可以重试。",
75
+ schema: "返回结果格式异常,请重试。",
76
+ },
77
+ analyzeAnother: "分析另一个市场",
78
+ copy: "复制报告",
79
+ copied: "已复制",
80
+ boundaryFallback:
81
+ "以上为基于公开信息和用户输入的估算级研究,不构成投资建议、融资承诺、财务预测保证或专业市场调研结论。",
82
+ confidence: { low: "低", medium: "中", high: "高" },
83
+ strength: { weak: "弱", mixed: "中", strong: "强" },
84
+ scenario: { bear: "保守", base: "基准", bull: "乐观" },
85
+ policy: { tailwind: "顺风", headwind: "逆风", mixed: "混合" },
86
+ intent: {
87
+ clear: "购买意图:明确",
88
+ weak: "购买意图:弱",
89
+ not_observed: "购买意图:未观察到",
90
+ unknown: "购买意图:未知",
91
+ },
92
+ sourceStatus: {
93
+ source_linked: "已附来源链接",
94
+ source_named: "有来源名称",
95
+ needs_source: "待补来源",
96
+ user_provided: "用户提供",
97
+ },
98
+ volatility: { low: "波动低", medium: "波动中", high: "波动高" },
99
+ checkStatus: { pass: "通过", warning: "注意", fail: "失败" },
100
+ protocol: {
101
+ market: "市场定义",
102
+ boundary: "市场边界",
103
+ recency: "新鲜度规则",
104
+ formula: "预测公式",
105
+ channelPlan: "证据渠道计划",
106
+ archetype: "市场类型",
107
+ geo: "地区",
108
+ language: "语言",
109
+ },
110
+ channelRole: {
111
+ core: "核心",
112
+ supporting: "辅助",
113
+ comparable_only: "仅类比",
114
+ excluded: "排除",
115
+ },
116
+ forecast: {
117
+ users: "用户",
118
+ paidUsers: "付费用户",
119
+ conversion: "付费率",
120
+ arr: "ARR",
121
+ formula: "计算路径",
122
+ assumptions: "关键假设",
123
+ },
124
+ report: {
125
+ kicker: "市场预测报告",
126
+ partialKicker: "部分报告",
127
+ partialSummary: "第一段报告仍在生成中。",
128
+ confidence: "置信度",
129
+ scenarios: "预测情景",
130
+ sources: "来源",
131
+ taskId: "Task ID",
132
+ inProgress: "生成中",
133
+ community: "社区活跃信号",
134
+ policy: "政策趋势",
135
+ sensitivity: "敏感性变量",
136
+ checklist: "投资人尽调清单",
137
+ missingEvidence: "证据缺口",
138
+ evidenceStrength: "证据强度",
139
+ observedMetric: "观测指标",
140
+ observedPeriod: "时间范围",
141
+ sourceStatus: "证据状态",
142
+ researchProtocol: "研究协议",
143
+ stabilityCheck: "稳定性自检",
144
+ varianceDrivers: "结论波动因素",
145
+ },
146
+ sections: {
147
+ market: "市场定义与 TAM/SAM/SOM",
148
+ forecast: "用户、付费率与 ARR 预测",
149
+ dataVisuals: "真实数据与图表",
150
+ evidence: "真实市场证据",
151
+ signals: "社区与政策信号",
152
+ comparables: "可比案例与边界",
153
+ diligence: "敏感性、缺口与尽调",
154
+ },
155
+ },
156
+ guide: {
157
+ workspaceHeading: "做一份可以被追问的 TAM、SAM、SOM 预测",
158
+ workspaceHint: "输入产品和当前指标,生成一份带证据、边界和三档情景的融资市场预测报告。",
159
+ workspaceBadge: "证据优先",
160
+ valueKicker: "你会得到什么",
161
+ valueTitle: "不是单点答案,而是一份可被投资人追问的预测底稿",
162
+ valueIntro:
163
+ "这个功能的价值不在于给出一个漂亮大数,而在于把结论、依据、假设和缺口放到同一张桌面上,方便团队复核和继续验证。",
164
+ valueItems: [
165
+ {
166
+ title: "三层市场规模",
167
+ body: "拆分 TAM、SAM、SOM,并说明每个数字依赖哪些用户范围、地区、价格或可服务边界。",
168
+ },
169
+ {
170
+ title: "三档业务预测",
171
+ body: "输出保守、基准、乐观三档用户、付费用户、付费率、ARPU/ACV 和 ARR,不把单点数字伪装成确定性。",
172
+ },
173
+ {
174
+ title: "融资可用证据墙",
175
+ body: "把官方统计、公司披露、公开社区、政策文件和用户输入分别标注,咨询报告只作为辅助背景。",
176
+ },
177
+ ],
178
+ evidenceKicker: "证据标准",
179
+ evidenceTitle: "真实证据比漂亮报告更重要",
180
+ evidenceIntro:
181
+ "市面报告可以参考,但不能替代公开可复核证据。报告会把来源类型、相关性和置信度写出来。",
182
+ evidenceItems: [
183
+ "优先使用官方统计、监管/政策文件、公司披露、公开产品页和可访问社区讨论。",
184
+ "社区活跃度会区分成员数、近期讨论、重复痛点、购买意图、迁移意愿和替代方案,而不是直接把群成员当用户。",
185
+ "咨询报告、媒体榜单和二手市场规模数字只作为辅助线索;如果方法不透明,会降低置信度。",
186
+ "没有证据的增长假设会进入 missing evidence,而不会被写成事实。",
187
+ ],
188
+ boundaryKicker: "边界",
189
+ boundaryTitle: "融资场景需要锋利,但更需要诚实",
190
+ boundaryIntro:
191
+ "这个工具适合准备 pitch deck、内部经营模型和投资人问答,不适合当作确定性财务承诺。",
192
+ boundaryItems: [
193
+ "支持:早期产品、SaaS/AI/开发者工具/社区驱动产品、已有用户或收入的融资材料准备。",
194
+ "不支持:保证融资结果、替代专业财务模型、抓取私密社群、访问登录后数据或编造竞品指标。",
195
+ "结果使用:把强结论逐条复核来源,再用用户访谈、销售记录、waitlist、广告测试或 landing page 实验验证。",
196
+ "最佳输入:当前用户、活跃用户、收入、价格、付费率、增长历史、竞品、目标地区和你已经观察到的社区关键词。",
197
+ ],
198
+ faqKicker: "常见问题",
199
+ faqTitle: "TAM、SAM、SOM 预测常见问题",
200
+ faqItems: [
201
+ {
202
+ question: "它会直接给我一个可以写进 BP 的市场规模吗?",
203
+ answer:
204
+ "会给出可引用的区间和理由,但你仍要复核来源。更好的用法是把报告当成 BP 市场页和投资人 Q&A 的底稿。",
205
+ },
206
+ {
207
+ question: "社区活跃用户怎么估算?",
208
+ answer:
209
+ "它会看公开讨论的近期性、重复痛点、购买/迁移意图、替代方案和社区范围。成员数只是弱信号,不会直接等同活跃用户。",
210
+ },
211
+ {
212
+ question: "政策趋势会怎么进入预测?",
213
+ answer:
214
+ "政策会被标成顺风、逆风或混合,并说明对采用速度、销售周期、合规成本或预算释放的影响。",
215
+ },
216
+ {
217
+ question: "如果市场证据很少怎么办?",
218
+ answer:
219
+ "报告会降低置信度,列出缺失证据和下一步尽调问题。这个结果本身也很有价值,因为它告诉你哪里还不能自信地讲。",
220
+ },
221
+ ],
222
+ ctaHint: "如果你还需要更深的社区证据,可以先做社媒调研;如果预测已经可用,可以进入 pitch deck。",
223
+ ctaPrimary: "做社媒调研",
224
+ ctaSecondary: "生成 pitch deck",
225
+ },
226
+ } as const;
227
+
228
+ export default marketForecastReport;