@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.
- package/README.md +12 -0
- package/package.json +629 -0
- package/src/assets/icons/brands/social/bluesky-icon.tsx +9 -0
- package/src/assets/icons/brands/social/facebook-icon.tsx +9 -0
- package/src/assets/icons/brands/social/index.ts +8 -0
- package/src/assets/icons/brands/social/instagram-icon.tsx +9 -0
- package/src/assets/icons/brands/social/linkedin-icon.tsx +9 -0
- package/src/assets/icons/brands/social/threads-icon.tsx +9 -0
- package/src/assets/icons/brands/social/tiktok-icon.tsx +10 -0
- package/src/assets/icons/brands/social/x-icon.tsx +9 -0
- package/src/assets/icons/brands/social/youtube-icon.tsx +9 -0
- package/src/assets/icons/social-profile/facebook-icon.tsx +12 -0
- package/src/assets/icons/social-profile/index.ts +29 -0
- package/src/assets/icons/social-profile/instagram-icon.tsx +18 -0
- package/src/assets/icons/social-profile/linkedin-icon.tsx +12 -0
- package/src/assets/icons/social-profile/tiktok-icon.tsx +12 -0
- package/src/assets/icons/social-profile/x-icon.tsx +13 -0
- package/src/assets/icons/social-profile/youtube-icon.tsx +12 -0
- package/src/components/tools/engine/form-builder.tsx +219 -0
- package/src/components/tools/engine/package-widget-loader.tsx +38 -0
- package/src/components/tools/engine/package-widget-runtime.tsx +409 -0
- package/src/components/tools/engine/package-widget.tsx +77 -0
- package/src/components/tools/engine/result-view.tsx +596 -0
- package/src/components/tools/engine/use-legacy-llm-task.ts +64 -0
- package/src/components/tools/engine/use-tool-task.ts +195 -0
- package/src/components/tools/market-forecast-report.tsx +1150 -0
- package/src/components/tools/registry.ts +13 -0
- package/src/components/tools/workspace/index.ts +39 -0
- package/src/components/tools/workspace/tool-action-bar.tsx +99 -0
- package/src/components/tools/workspace/tool-empty-panel.tsx +32 -0
- package/src/components/tools/workspace/tool-error-panel.tsx +40 -0
- package/src/components/tools/workspace/tool-field.tsx +124 -0
- package/src/components/tools/workspace/tool-file-upload.tsx +112 -0
- package/src/components/tools/workspace/tool-form-section.tsx +21 -0
- package/src/components/tools/workspace/tool-form-shell.tsx +36 -0
- package/src/components/tools/workspace/tool-loading-panel.tsx +269 -0
- package/src/components/tools/workspace/tool-option-row.tsx +97 -0
- package/src/components/tools/workspace/tool-preview-panel.tsx +31 -0
- package/src/components/tools/workspace/tool-result-actions.tsx +67 -0
- package/src/components/tools/workspace/tool-result-file-actions.ts +31 -0
- package/src/components/tools/workspace/tool-result-header.tsx +39 -0
- package/src/components/tools/workspace/tool-status.tsx +13 -0
- package/src/components/tools/workspace/tool-workspace-layout.tsx +226 -0
- package/src/constants/LKS.ts +29 -0
- package/src/constants/related-tools.ts +18 -0
- package/src/constants/social-profile-kit.ts +284 -0
- package/src/constants/tool-assets.ts +7 -0
- package/src/env.d.ts +3 -0
- package/src/features/tools/_templates/standard-tool.container.tsx +90 -0
- package/src/features/tools/app-icon-resizer/app-icon-resizer.container.tsx +11 -0
- package/src/features/tools/app-icon-resizer/app-icon-resizer.spec.ts +15 -0
- package/src/features/tools/app-icon-resizer/widget/app-icon-resizer.tsx +444 -0
- package/src/features/tools/app-icon-resizer/widget/constants.ts +19 -0
- package/src/features/tools/app-icon-resizer/widget/helpers.ts +314 -0
- package/src/features/tools/app-icon-resizer/widget/index.ts +7 -0
- package/src/features/tools/app-icon-resizer/widget/platform-icons.tsx +59 -0
- package/src/features/tools/app-icon-resizer/widget/preview-dialogs.tsx +139 -0
- package/src/features/tools/app-icon-resizer/widget/result-shell.tsx +165 -0
- package/src/features/tools/app-icon-resizer/widget/types.ts +36 -0
- package/src/features/tools/app-store-screenshot-generator/app-store-screenshot-generator.container.tsx +108 -0
- package/src/features/tools/app-store-screenshot-generator/app-store-screenshot-generator.spec.ts +14 -0
- package/src/features/tools/app-store-screenshot-generator/config.ts +3 -0
- package/src/features/tools/app-store-screenshot-generator/widget/app-store-screenshot-generator.tsx +1250 -0
- package/src/features/tools/app-store-screenshot-generator/widget/asset-slots.ts +76 -0
- package/src/features/tools/app-store-screenshot-generator/widget/constants.ts +43 -0
- package/src/features/tools/app-store-screenshot-generator/widget/form-controls.tsx +214 -0
- package/src/features/tools/app-store-screenshot-generator/widget/generation.ts +528 -0
- package/src/features/tools/app-store-screenshot-generator/widget/index.ts +7 -0
- package/src/features/tools/app-store-screenshot-generator/widget/input-media.ts +175 -0
- package/src/features/tools/app-store-screenshot-generator/widget/types.ts +60 -0
- package/src/features/tools/app-store-screenshot-generator/widget/zip.ts +119 -0
- package/src/features/tools/build-in-public-story-generator/build-in-public-story-generator.container.tsx +135 -0
- package/src/features/tools/build-in-public-story-generator/build-in-public-story-generator.spec.ts +15 -0
- package/src/features/tools/build-in-public-story-generator/widget/build-in-public-story-generator.tsx +314 -0
- package/src/features/tools/build-in-public-story-generator/widget/constants.ts +3 -0
- package/src/features/tools/build-in-public-story-generator/widget/helpers.ts +25 -0
- package/src/features/tools/build-in-public-story-generator/widget/index.ts +7 -0
- package/src/features/tools/build-in-public-story-generator/widget/preview-panels.tsx +58 -0
- package/src/features/tools/build-in-public-story-generator/widget/result-shell.tsx +164 -0
- package/src/features/tools/build-in-public-story-generator/widget/types.ts +6 -0
- package/src/features/tools/cold-start-channel-selector/cold-start-channel-selector.container.tsx +30 -0
- package/src/features/tools/cold-start-channel-selector/cold-start-channel-selector.spec.ts +15 -0
- package/src/features/tools/cold-start-channel-selector/widget/cold-start-channel-selector.tsx +417 -0
- package/src/features/tools/cold-start-channel-selector/widget/constants.ts +46 -0
- package/src/features/tools/cold-start-channel-selector/widget/form-controls.tsx +41 -0
- package/src/features/tools/cold-start-channel-selector/widget/helpers.ts +75 -0
- package/src/features/tools/cold-start-channel-selector/widget/index.ts +7 -0
- package/src/features/tools/cold-start-channel-selector/widget/preview-panels.tsx +250 -0
- package/src/features/tools/cold-start-channel-selector/widget/result-shell.tsx +199 -0
- package/src/features/tools/cold-start-channel-selector/widget/types.ts +21 -0
- package/src/features/tools/commercial-bp-generator/commercial-bp-generator.container.tsx +102 -0
- package/src/features/tools/commercial-bp-generator/commercial-bp-generator.spec.ts +14 -0
- package/src/features/tools/commercial-bp-generator/widget/commercial-bp-generator.tsx +676 -0
- package/src/features/tools/commercial-bp-generator/widget/constants.ts +32 -0
- package/src/features/tools/commercial-bp-generator/widget/helpers.ts +147 -0
- package/src/features/tools/commercial-bp-generator/widget/index.ts +7 -0
- package/src/features/tools/commercial-bp-generator/widget/result-shell.tsx +271 -0
- package/src/features/tools/commercial-bp-generator/widget/style-option.tsx +54 -0
- package/src/features/tools/commercial-bp-generator/widget/types.ts +33 -0
- package/src/features/tools/community-feedback-inbox/community-feedback-inbox.container.tsx +126 -0
- package/src/features/tools/community-feedback-inbox/community-feedback-inbox.spec.ts +15 -0
- package/src/features/tools/community-feedback-inbox/widget/community-feedback-inbox.tsx +271 -0
- package/src/features/tools/community-feedback-inbox/widget/constants.ts +3 -0
- package/src/features/tools/community-feedback-inbox/widget/helpers.ts +28 -0
- package/src/features/tools/community-feedback-inbox/widget/index.ts +7 -0
- package/src/features/tools/community-feedback-inbox/widget/preview-panels.tsx +92 -0
- package/src/features/tools/community-feedback-inbox/widget/result-shell.tsx +266 -0
- package/src/features/tools/community-feedback-inbox/widget/types.ts +6 -0
- package/src/features/tools/community-pain-point-extractor/community-pain-point-extractor.container.tsx +124 -0
- package/src/features/tools/community-pain-point-extractor/community-pain-point-extractor.spec.ts +15 -0
- package/src/features/tools/community-pain-point-extractor/widget/community-pain-point-extractor.tsx +404 -0
- package/src/features/tools/community-pain-point-extractor/widget/constants.ts +41 -0
- package/src/features/tools/community-pain-point-extractor/widget/helpers.ts +76 -0
- package/src/features/tools/community-pain-point-extractor/widget/index.ts +8 -0
- package/src/features/tools/community-pain-point-extractor/widget/progress-panels.tsx +251 -0
- package/src/features/tools/community-pain-point-extractor/widget/result-shell.tsx +478 -0
- package/src/features/tools/community-pain-point-extractor/widget/types.ts +33 -0
- package/src/features/tools/community-post-risk-checker/community-post-risk-checker.package.ts +792 -0
- package/src/features/tools/competitor-analysis/competitor-analysis.container.tsx +136 -0
- package/src/features/tools/competitor-analysis/competitor-analysis.spec.ts +15 -0
- package/src/features/tools/competitor-analysis/widget/competitor-analysis.tsx +241 -0
- package/src/features/tools/competitor-analysis/widget/constants.ts +9 -0
- package/src/features/tools/competitor-analysis/widget/index.ts +7 -0
- package/src/features/tools/competitor-analysis/widget/preview-panels.tsx +60 -0
- package/src/features/tools/competitor-analysis/widget/result-shell.tsx +418 -0
- package/src/features/tools/competitor-analysis/widget/types.ts +13 -0
- package/src/features/tools/disclaimer-generator/disclaimer-generator.package.ts +339 -0
- package/src/features/tools/email-template-generator/email-template-generator.container.tsx +224 -0
- package/src/features/tools/email-template-generator/email-template-generator.spec.ts +14 -0
- package/src/features/tools/email-template-generator/widget/email-template-generator.tsx +358 -0
- package/src/features/tools/email-template-generator/widget/helpers.ts +39 -0
- package/src/features/tools/email-template-generator/widget/index.ts +7 -0
- package/src/features/tools/email-template-generator/widget/preview-panel.tsx +311 -0
- package/src/features/tools/email-template-generator/widget/result-text-block.tsx +7 -0
- package/src/features/tools/email-template-generator/widget/types.ts +24 -0
- package/src/features/tools/gtm-readiness-checklist/gtm-readiness-checklist.container.tsx +75 -0
- package/src/features/tools/gtm-readiness-checklist/gtm-readiness-checklist.spec.ts +15 -0
- package/src/features/tools/gtm-readiness-checklist/widget/gtm-readiness-checklist.tsx +122 -0
- package/src/features/tools/gtm-readiness-checklist/widget/index.ts +7 -0
- package/src/features/tools/investor-matching-planner/investor-matching-planner.package.ts +869 -0
- package/src/features/tools/koko-codex-assistant/koko-codex-assistant.container.tsx +151 -0
- package/src/features/tools/koko-codex-assistant/koko-codex-assistant.spec.ts +14 -0
- package/src/features/tools/koko-codex-assistant/widget/index.ts +7 -0
- package/src/features/tools/koko-codex-assistant/widget/koko-codex-assistant-download.tsx +192 -0
- package/src/features/tools/logo-generator/logo-generator.container.tsx +112 -0
- package/src/features/tools/logo-generator/logo-generator.spec.ts +15 -0
- package/src/features/tools/logo-generator/widget/index.ts +7 -0
- package/src/features/tools/logo-generator/widget/logo-generator.tsx +1244 -0
- package/src/features/tools/market-forecast-report/market-forecast-report.container.tsx +73 -0
- package/src/features/tools/market-forecast-report/market-forecast-report.spec.ts +15 -0
- package/src/features/tools/million-user-growth-test/million-user-growth-test.container.tsx +123 -0
- package/src/features/tools/million-user-growth-test/million-user-growth-test.spec.ts +14 -0
- package/src/features/tools/million-user-growth-test/widget/index.ts +7 -0
- package/src/features/tools/million-user-growth-test/widget/million-user-growth-test.tsx +433 -0
- package/src/features/tools/module-loader.ts +107 -0
- package/src/features/tools/og-image-generator/og-image-generator.container.tsx +86 -0
- package/src/features/tools/og-image-generator/og-image-generator.spec.ts +14 -0
- package/src/features/tools/og-image-generator/widget/constants.ts +38 -0
- package/src/features/tools/og-image-generator/widget/form-fields.tsx +240 -0
- package/src/features/tools/og-image-generator/widget/index.ts +7 -0
- package/src/features/tools/og-image-generator/widget/og-image-generator.tsx +742 -0
- package/src/features/tools/og-image-generator/widget/preview-panel.tsx +305 -0
- package/src/features/tools/og-image-generator/widget/types.ts +1 -0
- package/src/features/tools/package/direct-models.ts +20 -0
- package/src/features/tools/package/form.ts +38 -0
- package/src/features/tools/package/l10n.ts +22 -0
- package/src/features/tools/package/package-container.tsx +285 -0
- package/src/features/tools/package/package-loaders.ts +22 -0
- package/src/features/tools/package/package-registry.ts +36 -0
- package/src/features/tools/package/result-markdown.ts +142 -0
- package/src/features/tools/package/schema.ts +379 -0
- package/src/features/tools/package/to-tool-module.ts +20 -0
- package/src/features/tools/package/to-tool-spec.ts +52 -0
- package/src/features/tools/package/types.ts +381 -0
- package/src/features/tools/pitch-deck-generator/pitch-deck-generator.container.tsx +175 -0
- package/src/features/tools/pitch-deck-generator/pitch-deck-generator.spec.ts +14 -0
- package/src/features/tools/pitch-deck-generator/pitch-deck-library-data.ts +476 -0
- package/src/features/tools/pitch-deck-generator/pitch-deck-library.tsx +159 -0
- package/src/features/tools/pitch-deck-generator/widget/ceremony-line.tsx +27 -0
- package/src/features/tools/pitch-deck-generator/widget/constants.ts +27 -0
- package/src/features/tools/pitch-deck-generator/widget/index.ts +7 -0
- package/src/features/tools/pitch-deck-generator/widget/pitch-deck-generator.tsx +763 -0
- package/src/features/tools/pitch-deck-generator/widget/result-helpers.ts +102 -0
- package/src/features/tools/pitch-deck-generator/widget/result-shell.tsx +263 -0
- package/src/features/tools/pitch-deck-generator/widget/slide-frame.tsx +106 -0
- package/src/features/tools/pitch-deck-generator/widget/slide-lightbox.tsx +149 -0
- package/src/features/tools/pitch-deck-generator/widget/style-option.tsx +54 -0
- package/src/features/tools/pitch-deck-generator/widget/types.ts +44 -0
- package/src/features/tools/product-agreement-generator/product-agreement-generator.container.tsx +137 -0
- package/src/features/tools/product-agreement-generator/product-agreement-generator.spec.ts +14 -0
- package/src/features/tools/product-agreement-generator/widget/constants.ts +27 -0
- package/src/features/tools/product-agreement-generator/widget/form-controls.tsx +218 -0
- package/src/features/tools/product-agreement-generator/widget/helpers.ts +68 -0
- package/src/features/tools/product-agreement-generator/widget/index.ts +7 -0
- package/src/features/tools/product-agreement-generator/widget/product-agreement-generator.tsx +671 -0
- package/src/features/tools/product-agreement-generator/widget/result-shell.tsx +473 -0
- package/src/features/tools/product-agreement-generator/widget/types.ts +89 -0
- package/src/features/tools/product-hunt-launch-planner/product-hunt-launch-planner.container.tsx +122 -0
- package/src/features/tools/product-hunt-launch-planner/product-hunt-launch-planner.spec.ts +15 -0
- package/src/features/tools/product-hunt-launch-planner/widget/constants.ts +5 -0
- package/src/features/tools/product-hunt-launch-planner/widget/helpers.ts +44 -0
- package/src/features/tools/product-hunt-launch-planner/widget/index.ts +7 -0
- package/src/features/tools/product-hunt-launch-planner/widget/preview-panel.tsx +143 -0
- package/src/features/tools/product-hunt-launch-planner/widget/product-hunt-launch-planner.tsx +504 -0
- package/src/features/tools/product-hunt-launch-planner/widget/result-shell.tsx +176 -0
- package/src/features/tools/product-hunt-launch-planner/widget/types.ts +20 -0
- package/src/features/tools/product-name-generator/product-name-generator.container.tsx +14 -0
- package/src/features/tools/product-name-generator/product-name-generator.spec.ts +15 -0
- package/src/features/tools/product-name-generator/widget/candidate-card.tsx +273 -0
- package/src/features/tools/product-name-generator/widget/constants.ts +21 -0
- package/src/features/tools/product-name-generator/widget/form-controls.tsx +136 -0
- package/src/features/tools/product-name-generator/widget/helpers.ts +41 -0
- package/src/features/tools/product-name-generator/widget/index.ts +7 -0
- package/src/features/tools/product-name-generator/widget/product-name-generator.tsx +776 -0
- package/src/features/tools/product-name-generator/widget/types.ts +36 -0
- package/src/features/tools/product-positioning-analyzer/product-positioning-analyzer.package.ts +801 -0
- package/src/features/tools/product-poster-generator/product-poster-generator.container.tsx +14 -0
- package/src/features/tools/product-poster-generator/product-poster-generator.spec.ts +15 -0
- package/src/features/tools/product-poster-generator/widget/constants.ts +125 -0
- package/src/features/tools/product-poster-generator/widget/form-controls.tsx +204 -0
- package/src/features/tools/product-poster-generator/widget/helpers.ts +155 -0
- package/src/features/tools/product-poster-generator/widget/index.ts +7 -0
- package/src/features/tools/product-poster-generator/widget/product-poster-generator.tsx +663 -0
- package/src/features/tools/product-poster-generator/widget/result-shell.tsx +12 -0
- package/src/features/tools/product-poster-generator/widget/types.ts +83 -0
- package/src/features/tools/product-ui-generator/product-ui-generator.container.tsx +116 -0
- package/src/features/tools/product-ui-generator/product-ui-generator.spec.ts +14 -0
- package/src/features/tools/product-ui-generator/widget/constants.ts +18 -0
- package/src/features/tools/product-ui-generator/widget/helpers.ts +11 -0
- package/src/features/tools/product-ui-generator/widget/index.ts +7 -0
- package/src/features/tools/product-ui-generator/widget/preview-panels.tsx +73 -0
- package/src/features/tools/product-ui-generator/widget/product-ui-generator.tsx +304 -0
- package/src/features/tools/product-ui-generator/widget/result-shell.tsx +118 -0
- package/src/features/tools/product-ui-generator/widget/types.ts +9 -0
- package/src/features/tools/reddit-pain-point-finder/reddit-pain-point-finder.container.tsx +113 -0
- package/src/features/tools/reddit-pain-point-finder/reddit-pain-point-finder.spec.ts +15 -0
- package/src/features/tools/reddit-pain-point-finder/widget/constants.ts +5 -0
- package/src/features/tools/reddit-pain-point-finder/widget/index.ts +7 -0
- package/src/features/tools/reddit-pain-point-finder/widget/preview-panels.tsx +73 -0
- package/src/features/tools/reddit-pain-point-finder/widget/reddit-pain-point-finder.tsx +281 -0
- package/src/features/tools/reddit-pain-point-finder/widget/result-shell.tsx +203 -0
- package/src/features/tools/reddit-pain-point-finder/widget/types.ts +15 -0
- package/src/features/tools/registry.ts +288 -0
- package/src/features/tools/runtime-registry.ts +186 -0
- package/src/features/tools/shared/create-guide-stack-container.tsx +176 -0
- package/src/features/tools/shared/create-standard-landing-container.tsx +163 -0
- package/src/features/tools/shared/tool-content-sections.tsx +659 -0
- package/src/features/tools/shared/tool-cta.tsx +66 -0
- package/src/features/tools/shared/tool-draft-view.tsx +53 -0
- package/src/features/tools/shared/tool-guide-section.tsx +191 -0
- package/src/features/tools/shared/tool-handoff.tsx +38 -0
- package/src/features/tools/shared/tool-mcp-badge.tsx +23 -0
- package/src/features/tools/shared/tool-message-translator.ts +37 -0
- package/src/features/tools/shared/tool-page-shell.tsx +348 -0
- package/src/features/tools/shared/tool-standard-generation-steps.tsx +52 -0
- package/src/features/tools/shared/tool-standard-landing-sections.tsx +447 -0
- package/src/features/tools/shared/tool-ui-registry.ts +237 -0
- package/src/features/tools/shared/tool-widget-slot.tsx +29 -0
- package/src/features/tools/slogan-generator/slogan-generator.package.ts +641 -0
- package/src/features/tools/social-listening-research-report/social-listening-research-report.container.tsx +124 -0
- package/src/features/tools/social-listening-research-report/social-listening-research-report.spec.ts +15 -0
- package/src/features/tools/social-listening-research-report/widget/constants.ts +4 -0
- package/src/features/tools/social-listening-research-report/widget/index.ts +7 -0
- package/src/features/tools/social-listening-research-report/widget/preview-panels.tsx +73 -0
- package/src/features/tools/social-listening-research-report/widget/result-shell.tsx +216 -0
- package/src/features/tools/social-listening-research-report/widget/social-listening-research-report.tsx +303 -0
- package/src/features/tools/social-listening-research-report/widget/types.ts +15 -0
- package/src/features/tools/social-platform-asset-adapter/social-platform-asset-adapter.container.tsx +123 -0
- package/src/features/tools/social-platform-asset-adapter/social-platform-asset-adapter.spec.ts +15 -0
- package/src/features/tools/social-platform-asset-adapter/widget/constants.ts +43 -0
- package/src/features/tools/social-platform-asset-adapter/widget/helpers.ts +249 -0
- package/src/features/tools/social-platform-asset-adapter/widget/index.ts +7 -0
- package/src/features/tools/social-platform-asset-adapter/widget/result-shell.tsx +350 -0
- package/src/features/tools/social-platform-asset-adapter/widget/section-heading.tsx +18 -0
- package/src/features/tools/social-platform-asset-adapter/widget/social-platform-asset-adapter.tsx +641 -0
- package/src/features/tools/social-platform-asset-adapter/widget/types.ts +40 -0
- package/src/features/tools/social-profile-kit/social-profile-kit.container.tsx +177 -0
- package/src/features/tools/social-profile-kit/social-profile-kit.spec.ts +15 -0
- package/src/features/tools/social-profile-kit/widget/context-editor.tsx +171 -0
- package/src/features/tools/social-profile-kit/widget/generation-runtime.ts +281 -0
- package/src/features/tools/social-profile-kit/widget/index.ts +7 -0
- package/src/features/tools/social-profile-kit/widget/input-panel.tsx +294 -0
- package/src/features/tools/social-profile-kit/widget/platform-dock.tsx +115 -0
- package/src/features/tools/social-profile-kit/widget/profile-canvas.tsx +318 -0
- package/src/features/tools/social-profile-kit/widget/profile-preview/bluesky-preview.tsx +188 -0
- package/src/features/tools/social-profile-kit/widget/profile-preview/facebook-preview.tsx +168 -0
- package/src/features/tools/social-profile-kit/widget/profile-preview/index.ts +1 -0
- package/src/features/tools/social-profile-kit/widget/profile-preview/instagram-preview.tsx +278 -0
- package/src/features/tools/social-profile-kit/widget/profile-preview/linkedin-preview.tsx +358 -0
- package/src/features/tools/social-profile-kit/widget/profile-preview/profile-preview.tsx +348 -0
- package/src/features/tools/social-profile-kit/widget/profile-preview/shared.tsx +391 -0
- package/src/features/tools/social-profile-kit/widget/profile-preview/threads-preview.tsx +148 -0
- package/src/features/tools/social-profile-kit/widget/profile-preview/tiktok-preview.tsx +319 -0
- package/src/features/tools/social-profile-kit/widget/profile-preview/x-preview.tsx +341 -0
- package/src/features/tools/social-profile-kit/widget/profile-preview/youtube-preview.tsx +297 -0
- package/src/features/tools/social-profile-kit/widget/social-profile-kit-generator.tsx +1059 -0
- package/src/features/tools/social-profile-kit/widget/types.ts +104 -0
- package/src/features/tools/spec-registry.ts +158 -0
- package/src/features/tools/startup-idea-research/startup-idea-research.container.tsx +111 -0
- package/src/features/tools/startup-idea-research/startup-idea-research.spec.ts +15 -0
- package/src/features/tools/startup-idea-research/widget/constants.ts +11 -0
- package/src/features/tools/startup-idea-research/widget/index.ts +7 -0
- package/src/features/tools/startup-idea-research/widget/preview-panels.tsx +67 -0
- package/src/features/tools/startup-idea-research/widget/result-shell.tsx +323 -0
- package/src/features/tools/startup-idea-research/widget/startup-idea-research.tsx +272 -0
- package/src/features/tools/startup-idea-research/widget/types.ts +21 -0
- package/src/features/tools/tarot-reading/tarot-reading.container.tsx +412 -0
- package/src/features/tools/tarot-reading/tarot-reading.spec.ts +15 -0
- package/src/features/tools/tarot-reading/widget/cards.tsx +152 -0
- package/src/features/tools/tarot-reading/widget/constants.ts +69 -0
- package/src/features/tools/tarot-reading/widget/deck-view.tsx +86 -0
- package/src/features/tools/tarot-reading/widget/deck.ts +86 -0
- package/src/features/tools/tarot-reading/widget/index.ts +7 -0
- package/src/features/tools/tarot-reading/widget/landing-view.tsx +209 -0
- package/src/features/tools/tarot-reading/widget/reading-copy.tsx +138 -0
- package/src/features/tools/tarot-reading/widget/reading-view.tsx +189 -0
- package/src/features/tools/tarot-reading/widget/reveal-view.tsx +50 -0
- package/src/features/tools/tarot-reading/widget/ritual-view.tsx +276 -0
- package/src/features/tools/tarot-reading/widget/tarot-reading.tsx +262 -0
- package/src/features/tools/tarot-reading/widget/types.ts +22 -0
- package/src/features/tools/twitter-gif-downloader/twitter-gif-downloader.container.tsx +114 -0
- package/src/features/tools/twitter-gif-downloader/twitter-gif-downloader.spec.ts +14 -0
- package/src/features/tools/twitter-gif-downloader/widget/index.ts +7 -0
- package/src/features/tools/twitter-gif-downloader/widget/twitter-gif-downloader.tsx +351 -0
- package/src/features/tools/types.ts +68 -0
- package/src/features/tools/user-interview-guide-generator/user-interview-guide-generator.package.ts +774 -0
- package/src/features/tools/user-interview-insight-report-generator/user-interview-insight-report-generator.container.tsx +23 -0
- package/src/features/tools/user-interview-insight-report-generator/user-interview-insight-report-generator.spec.ts +14 -0
- package/src/features/tools/user-interview-insight-report-generator/widget/constants.ts +8 -0
- package/src/features/tools/user-interview-insight-report-generator/widget/helpers.ts +4 -0
- package/src/features/tools/user-interview-insight-report-generator/widget/index.ts +7 -0
- package/src/features/tools/user-interview-insight-report-generator/widget/preview-panels.tsx +55 -0
- package/src/features/tools/user-interview-insight-report-generator/widget/result-shell.tsx +122 -0
- package/src/features/tools/user-interview-insight-report-generator/widget/types.ts +16 -0
- package/src/features/tools/user-interview-insight-report-generator/widget/user-interview-insight-report-generator.tsx +293 -0
- package/src/features/tools/user-interview-record-generator/user-interview-record-generator.container.tsx +18 -0
- package/src/features/tools/user-interview-record-generator/user-interview-record-generator.spec.ts +14 -0
- package/src/features/tools/user-interview-record-generator/widget/constants.ts +9 -0
- package/src/features/tools/user-interview-record-generator/widget/helpers.ts +4 -0
- package/src/features/tools/user-interview-record-generator/widget/index.ts +7 -0
- package/src/features/tools/user-interview-record-generator/widget/preview-panels.tsx +48 -0
- package/src/features/tools/user-interview-record-generator/widget/result-shell.tsx +128 -0
- package/src/features/tools/user-interview-record-generator/widget/types.ts +16 -0
- package/src/features/tools/user-interview-record-generator/widget/user-interview-record-generator.tsx +305 -0
- package/src/features/tools/utm-builder/utm-builder.package.ts +846 -0
- package/src/features/tools/widget-registry.ts +73 -0
- package/src/generated/mcp-tools-registry.json +17 -0
- package/src/host/client-proxy.test.ts +33 -0
- package/src/host/client.ts +678 -0
- package/src/host/server.ts +119 -0
- package/src/i18n/client.ts +11 -0
- package/src/i18n/locale-fallback.ts +38 -0
- package/src/i18n/locale.ts +18 -0
- package/src/i18n/messages/en/page/tools.ts +124 -0
- package/src/i18n/messages/en/tools/app-icon-resizer.ts +244 -0
- package/src/i18n/messages/en/tools/app-store-screenshot-generator.ts +145 -0
- package/src/i18n/messages/en/tools/build-in-public-story-generator.ts +229 -0
- package/src/i18n/messages/en/tools/cold-start-channel-selector.ts +423 -0
- package/src/i18n/messages/en/tools/commercial-bp-generator.ts +304 -0
- package/src/i18n/messages/en/tools/community-feedback-inbox.ts +218 -0
- package/src/i18n/messages/en/tools/community-pain-point-extractor.ts +230 -0
- package/src/i18n/messages/en/tools/community-post-risk-checker.ts +209 -0
- package/src/i18n/messages/en/tools/competitor-analysis.ts +197 -0
- package/src/i18n/messages/en/tools/email-template-generator.ts +302 -0
- package/src/i18n/messages/en/tools/engine.ts +69 -0
- package/src/i18n/messages/en/tools/gtm-readiness-checklist.ts +166 -0
- package/src/i18n/messages/en/tools/index.ts +73 -0
- package/src/i18n/messages/en/tools/koko-codex-assistant.ts +171 -0
- package/src/i18n/messages/en/tools/logo-generator.ts +173 -0
- package/src/i18n/messages/en/tools/market-forecast-report.ts +228 -0
- package/src/i18n/messages/en/tools/million-user-growth-test.ts +386 -0
- package/src/i18n/messages/en/tools/og-image-generator.ts +172 -0
- package/src/i18n/messages/en/tools/pitch-deck-generator.ts +358 -0
- package/src/i18n/messages/en/tools/product-agreement-generator.ts +411 -0
- package/src/i18n/messages/en/tools/product-hunt-launch-planner.ts +272 -0
- package/src/i18n/messages/en/tools/product-name-generator.ts +383 -0
- package/src/i18n/messages/en/tools/product-poster-generator.ts +294 -0
- package/src/i18n/messages/en/tools/product-ui-generator.ts +234 -0
- package/src/i18n/messages/en/tools/reddit-pain-point-finder.ts +163 -0
- package/src/i18n/messages/en/tools/shared.ts +24 -0
- package/src/i18n/messages/en/tools/social-listening-research-report.ts +185 -0
- package/src/i18n/messages/en/tools/social-media-profile-generator.ts +22 -0
- package/src/i18n/messages/en/tools/social-platform-asset-adapter.ts +287 -0
- package/src/i18n/messages/en/tools/social-profile-kit.ts +150 -0
- package/src/i18n/messages/en/tools/startup-idea-research.ts +170 -0
- package/src/i18n/messages/en/tools/tarot-reading.ts +230 -0
- package/src/i18n/messages/en/tools/twitter-gif-downloader.ts +145 -0
- package/src/i18n/messages/en/tools/user-interview-insight-report-generator.ts +242 -0
- package/src/i18n/messages/en/tools/user-interview-record-generator.ts +244 -0
- package/src/i18n/messages/en/tools-ui.ts +704 -0
- package/src/i18n/messages/zh/page/tools.ts +124 -0
- package/src/i18n/messages/zh/tools/app-icon-resizer.ts +242 -0
- package/src/i18n/messages/zh/tools/app-store-screenshot-generator.ts +145 -0
- package/src/i18n/messages/zh/tools/build-in-public-story-generator.ts +230 -0
- package/src/i18n/messages/zh/tools/cold-start-channel-selector.ts +422 -0
- package/src/i18n/messages/zh/tools/commercial-bp-generator.ts +302 -0
- package/src/i18n/messages/zh/tools/community-feedback-inbox.ts +217 -0
- package/src/i18n/messages/zh/tools/community-pain-point-extractor.ts +230 -0
- package/src/i18n/messages/zh/tools/community-post-risk-checker.ts +200 -0
- package/src/i18n/messages/zh/tools/competitor-analysis.ts +192 -0
- package/src/i18n/messages/zh/tools/email-template-generator.ts +302 -0
- package/src/i18n/messages/zh/tools/engine.ts +68 -0
- package/src/i18n/messages/zh/tools/gtm-readiness-checklist.ts +166 -0
- package/src/i18n/messages/zh/tools/index.ts +73 -0
- package/src/i18n/messages/zh/tools/koko-codex-assistant.ts +170 -0
- package/src/i18n/messages/zh/tools/logo-generator.ts +172 -0
- package/src/i18n/messages/zh/tools/market-forecast-report.ts +228 -0
- package/src/i18n/messages/zh/tools/million-user-growth-test.ts +385 -0
- package/src/i18n/messages/zh/tools/og-image-generator.ts +173 -0
- package/src/i18n/messages/zh/tools/pitch-deck-generator.ts +358 -0
- package/src/i18n/messages/zh/tools/product-agreement-generator.ts +401 -0
- package/src/i18n/messages/zh/tools/product-hunt-launch-planner.ts +267 -0
- package/src/i18n/messages/zh/tools/product-name-generator.ts +383 -0
- package/src/i18n/messages/zh/tools/product-poster-generator.ts +282 -0
- package/src/i18n/messages/zh/tools/product-ui-generator.ts +234 -0
- package/src/i18n/messages/zh/tools/reddit-pain-point-finder.ts +162 -0
- package/src/i18n/messages/zh/tools/shared.ts +24 -0
- package/src/i18n/messages/zh/tools/social-listening-research-report.ts +181 -0
- package/src/i18n/messages/zh/tools/social-media-profile-generator.ts +22 -0
- package/src/i18n/messages/zh/tools/social-platform-asset-adapter.ts +284 -0
- package/src/i18n/messages/zh/tools/social-profile-kit.ts +150 -0
- package/src/i18n/messages/zh/tools/startup-idea-research.ts +165 -0
- package/src/i18n/messages/zh/tools/tarot-reading.ts +228 -0
- package/src/i18n/messages/zh/tools/twitter-gif-downloader.ts +138 -0
- package/src/i18n/messages/zh/tools/user-interview-insight-report-generator.ts +224 -0
- package/src/i18n/messages/zh/tools/user-interview-record-generator.ts +226 -0
- package/src/i18n/messages/zh/tools-ui.ts +684 -0
- package/src/i18n/messages/zh-tw/page/tools.ts +115 -0
- package/src/i18n/messages/zh-tw/tools/app-icon-resizer.ts +242 -0
- package/src/i18n/messages/zh-tw/tools/app-store-screenshot-generator.ts +145 -0
- package/src/i18n/messages/zh-tw/tools/build-in-public-story-generator.ts +230 -0
- package/src/i18n/messages/zh-tw/tools/cold-start-channel-selector.ts +440 -0
- package/src/i18n/messages/zh-tw/tools/commercial-bp-generator.ts +302 -0
- package/src/i18n/messages/zh-tw/tools/community-feedback-inbox.ts +217 -0
- package/src/i18n/messages/zh-tw/tools/community-pain-point-extractor.ts +230 -0
- package/src/i18n/messages/zh-tw/tools/community-post-risk-checker.ts +200 -0
- package/src/i18n/messages/zh-tw/tools/competitor-analysis.ts +192 -0
- package/src/i18n/messages/zh-tw/tools/email-template-generator.ts +302 -0
- package/src/i18n/messages/zh-tw/tools/engine.ts +68 -0
- package/src/i18n/messages/zh-tw/tools/gtm-readiness-checklist.ts +166 -0
- package/src/i18n/messages/zh-tw/tools/index.ts +73 -0
- package/src/i18n/messages/zh-tw/tools/koko-codex-assistant.ts +170 -0
- package/src/i18n/messages/zh-tw/tools/logo-generator.ts +71 -0
- package/src/i18n/messages/zh-tw/tools/market-forecast-report.ts +228 -0
- package/src/i18n/messages/zh-tw/tools/million-user-growth-test.ts +385 -0
- package/src/i18n/messages/zh-tw/tools/og-image-generator.ts +173 -0
- package/src/i18n/messages/zh-tw/tools/pitch-deck-generator.ts +358 -0
- package/src/i18n/messages/zh-tw/tools/product-agreement-generator.ts +401 -0
- package/src/i18n/messages/zh-tw/tools/product-hunt-launch-planner.ts +267 -0
- package/src/i18n/messages/zh-tw/tools/product-name-generator.ts +383 -0
- package/src/i18n/messages/zh-tw/tools/product-poster-generator.ts +282 -0
- package/src/i18n/messages/zh-tw/tools/product-ui-generator.ts +234 -0
- package/src/i18n/messages/zh-tw/tools/reddit-pain-point-finder.ts +162 -0
- package/src/i18n/messages/zh-tw/tools/shared.ts +24 -0
- package/src/i18n/messages/zh-tw/tools/social-listening-research-report.ts +181 -0
- package/src/i18n/messages/zh-tw/tools/social-media-profile-generator.ts +22 -0
- package/src/i18n/messages/zh-tw/tools/social-platform-asset-adapter.ts +284 -0
- package/src/i18n/messages/zh-tw/tools/social-profile-kit.ts +150 -0
- package/src/i18n/messages/zh-tw/tools/startup-idea-research.ts +165 -0
- package/src/i18n/messages/zh-tw/tools/tarot-reading.ts +228 -0
- package/src/i18n/messages/zh-tw/tools/twitter-gif-downloader.ts +138 -0
- package/src/i18n/messages/zh-tw/tools/user-interview-insight-report-generator.ts +224 -0
- package/src/i18n/messages/zh-tw/tools/user-interview-record-generator.ts +226 -0
- package/src/i18n/messages/zh-tw/tools-ui.ts +525 -0
- package/src/index.ts +15 -0
- package/src/lib/activity-task-handoff.ts +404 -0
- package/src/lib/api/errors.ts +39 -0
- package/src/lib/app-origin.ts +30 -0
- package/src/lib/fact-claim-contract.ts +68 -0
- package/src/lib/fake-delay.ts +3 -0
- package/src/lib/file/download.ts +10 -0
- package/src/lib/routing/locale-paths.ts +27 -0
- package/src/lib/seo-meta.ts +3 -0
- package/src/lib/tools/app-icon-resizer-schema.ts +191 -0
- package/src/lib/tools/app-store-screenshot-generator-schema.ts +185 -0
- package/src/lib/tools/build-in-public-story-generator-schema.ts +67 -0
- package/src/lib/tools/build-in-public-story-generator.format.ts +507 -0
- package/src/lib/tools/cold-start-channel-selector-schema.ts +147 -0
- package/src/lib/tools/commercial-bp-generator-schema.ts +222 -0
- package/src/lib/tools/community-feedback-inbox-schema.ts +125 -0
- package/src/lib/tools/community-feedback-inbox.format.ts +764 -0
- package/src/lib/tools/community-pain-point-extractor-schema.ts +166 -0
- package/src/lib/tools/community-post-risk-checker-schema.ts +99 -0
- package/src/lib/tools/community-post-risk-checker.format.ts +557 -0
- package/src/lib/tools/competitor-analysis-schema.ts +144 -0
- package/src/lib/tools/draft-preview-access.ts +3 -0
- package/src/lib/tools/draft-store.ts +69 -0
- package/src/lib/tools/email-template-generator-schema.ts +124 -0
- package/src/lib/tools/gtm-checklist-copy.ts +57 -0
- package/src/lib/tools/gtm-checklist-structure.ts +37 -0
- package/src/lib/tools/image-download.ts +68 -0
- package/src/lib/tools/input-quality.ts +97 -0
- package/src/lib/tools/logo-generator-schema.ts +224 -0
- package/src/lib/tools/market-forecast-report-schema.ts +299 -0
- package/src/lib/tools/mcp-registry.ts +16 -0
- package/src/lib/tools/mcp-types.ts +18 -0
- package/src/lib/tools/million-user-growth-test-schema.ts +49 -0
- package/src/lib/tools/million-user-growth-test.ts +181 -0
- package/src/lib/tools/og-image-generator-render.ts +448 -0
- package/src/lib/tools/og-image-generator-schema.ts +140 -0
- package/src/lib/tools/ops-catalog.ts +102 -0
- package/src/lib/tools/pitch-deck-generator-schema.ts +182 -0
- package/src/lib/tools/pitch-deck-package.ts +0 -0
- package/src/lib/tools/product-agreement-generator-schema.ts +168 -0
- package/src/lib/tools/product-hunt-launch-planner-schema.ts +136 -0
- package/src/lib/tools/product-hunt-launch-planner.format.ts +72 -0
- package/src/lib/tools/product-name-generator-schema.ts +563 -0
- package/src/lib/tools/product-poster-generator-schema.ts +215 -0
- package/src/lib/tools/product-ui-generator-schema.ts +157 -0
- package/src/lib/tools/reddit-pain-point-finder-schema.ts +88 -0
- package/src/lib/tools/resolve-tool-locale-copy.ts +75 -0
- package/src/lib/tools/slug.ts +60 -0
- package/src/lib/tools/social-listening-research-report-schema.ts +105 -0
- package/src/lib/tools/social-platform-asset-adapter-schema.ts +152 -0
- package/src/lib/tools/social-profile-kit.constants.ts +12 -0
- package/src/lib/tools/social-profile-kit.generation.ts +257 -0
- package/src/lib/tools/social-profile-kit.input.ts +290 -0
- package/src/lib/tools/social-profile-kit.manual.ts +481 -0
- package/src/lib/tools/social-profile-kit.package.ts +220 -0
- package/src/lib/tools/social-profile-kit.schema.ts +328 -0
- package/src/lib/tools/startup-idea-research-schema.ts +107 -0
- package/src/lib/tools/tarot-imagery.ts +89 -0
- package/src/lib/tools/tarot-reading.ts +1044 -0
- package/src/lib/tools/tool-message-keys.ts +18 -0
- package/src/lib/tools/types.ts +32 -0
- package/src/lib/tools/user-interview.format.ts +147 -0
- package/src/lib/tools/user-interview.generation.ts +670 -0
- package/src/lib/tools/user-interview.schema.ts +192 -0
- package/src/lib/zip.ts +106 -0
- package/src/services/tools/handlers/gtm-readiness-checklist.ts +71 -0
- package/src/services/tools/handlers/types.ts +7 -0
|
@@ -0,0 +1,302 @@
|
|
|
1
|
+
const commercialBpGenerator = {
|
|
2
|
+
meta: {
|
|
3
|
+
title: "AI 商業 BP 生成器",
|
|
4
|
+
description: "輸入產品官網或手動產品背景,由在線 Agent 先生成 BP 大綱,再逐頁生成圖片版商業 BP,支持風格模板、單頁下載和整套打包下載。",
|
|
5
|
+
intro: "把零散產品信息、品牌約束、目標用戶和商業訴求整理成一套圖片版商業 BP,適合融資、招募、發佈和商業合作材料的首版製作。",
|
|
6
|
+
category: "商業化工具",
|
|
7
|
+
keywords: [
|
|
8
|
+
"AI 商業 BP 生成器",
|
|
9
|
+
"商業計劃書生成器",
|
|
10
|
+
"融資 BP 生成器",
|
|
11
|
+
"圖片版 BP",
|
|
12
|
+
],
|
|
13
|
+
inputSignal: "產品 URL 或產品背景、品牌約束、BP 目的",
|
|
14
|
+
outputSignal: "BP 大綱、逐頁圖片、來源、QA 和下載包",
|
|
15
|
+
boundarySignal: "市場數據和圖片文字需要人工複核",
|
|
16
|
+
},
|
|
17
|
+
guide: {
|
|
18
|
+
heroImageAlt: "產品背景被整理成商業 BP 大綱、圖片頁面和下載包的視覺圖。",
|
|
19
|
+
workspaceHeading: "工具工作臺",
|
|
20
|
+
workspaceHint:
|
|
21
|
+
"輸入產品官網或手動填寫產品背景,Agent 會先返回 BP 頁面框架,再按順序逐頁生成圖片版 BP。",
|
|
22
|
+
workspaceBadge: "圖片版商業 BP",
|
|
23
|
+
outputs: "你會得到什麼",
|
|
24
|
+
outputsIntro:
|
|
25
|
+
"結果不是一段商業計劃書文本,而是一套可查看、可下載、可繼續修改的圖片 BP 製作包。",
|
|
26
|
+
outputItems: [
|
|
27
|
+
{
|
|
28
|
+
title: "BP 頁面框架",
|
|
29
|
+
body: "先看到頁面列表、每頁核心觀點、信息密度和視覺職責,確認 Agent 正在按敘事結構組織材料。",
|
|
30
|
+
},
|
|
31
|
+
{
|
|
32
|
+
title: "逐頁圖片結果",
|
|
33
|
+
body: "每生成一頁就按順序展示一頁,適合快速檢查封面、市場、產品、商業化和邀請頁是否連貫。",
|
|
34
|
+
},
|
|
35
|
+
{
|
|
36
|
+
title: "風格方向鎖定",
|
|
37
|
+
body: "可以選擇 3 個抽象視覺方向之一,也可以不選,讓 Agent 根據產品和受眾決定視覺系統。",
|
|
38
|
+
},
|
|
39
|
+
{
|
|
40
|
+
title: "來源與 QA",
|
|
41
|
+
body: "市場數據、公開證據、圖片文字風險、缺失信息和需要人工複核的地方會單獨返回。",
|
|
42
|
+
},
|
|
43
|
+
{
|
|
44
|
+
title: "單頁下載",
|
|
45
|
+
body: "每張圖片都有獨立下載入口,便於替換單頁、發給團隊複核或放進其他材料。",
|
|
46
|
+
},
|
|
47
|
+
{
|
|
48
|
+
title: "整套打包下載",
|
|
49
|
+
body: "最終結果支持整套 BP 下載,並使用產品名和頁面內容命名,而不是隨機亂碼文件。",
|
|
50
|
+
},
|
|
51
|
+
],
|
|
52
|
+
pipelineVisualAlt: "BP 大綱、來源、Prompt、QA 和最終圖片包的製作流程視覺圖。",
|
|
53
|
+
standards: "好的商業 BP 生成器應該具備什麼",
|
|
54
|
+
standardsIntro:
|
|
55
|
+
"真正有用的 BP Agent 不能只把模板填滿,它需要同時處理敘事、證據、品牌一致性、圖片質量和交付規範。",
|
|
56
|
+
standardsItems: [
|
|
57
|
+
{
|
|
58
|
+
title: "先敘事後生圖",
|
|
59
|
+
body: "先確定為什麼做、誰需要、為什麼現在、如何解決和希望誰加入,再進入頁面生成。",
|
|
60
|
+
},
|
|
61
|
+
{
|
|
62
|
+
title: "低信息密度",
|
|
63
|
+
body: "一頁只講一個核心判斷,內容放不下就拆頁,而不是縮小字號或堆卡片。",
|
|
64
|
+
},
|
|
65
|
+
{
|
|
66
|
+
title: "品牌約束優先",
|
|
67
|
+
body: "產品名、Logo、禁用詞、舊名稱、IP 和視覺規則會被寫入 brief,降低風格漂移。",
|
|
68
|
+
},
|
|
69
|
+
{
|
|
70
|
+
title: "證據可追溯",
|
|
71
|
+
body: "市場、趨勢和關鍵數字必須有來源;不確定的事實進入 QA,不會偽裝成確定結論。",
|
|
72
|
+
},
|
|
73
|
+
{
|
|
74
|
+
title: "漸進生成",
|
|
75
|
+
body: "先讓用戶看到框架和當前處理階段,再按批次生成圖片,讓等待過程可感知。",
|
|
76
|
+
},
|
|
77
|
+
{
|
|
78
|
+
title: "版本清楚",
|
|
79
|
+
body: "最終文件、contact sheet、outline、sources、QA 和下載包都應該指向同一個權威版本。",
|
|
80
|
+
},
|
|
81
|
+
],
|
|
82
|
+
boundary: "支持範圍、邊界和失敗恢復",
|
|
83
|
+
boundaryIntro:
|
|
84
|
+
"商業 BP 會影響融資、招募和對外承諾,所以生成結果必須被當作高質量起點,而不是免複核成品。",
|
|
85
|
+
boundaryGroups: [
|
|
86
|
+
{
|
|
87
|
+
title: "適合處理",
|
|
88
|
+
items: [
|
|
89
|
+
"互聯網產品、SaaS、AI Agent、開發者工具、消費 App、平臺型產品和早期創業項目。",
|
|
90
|
+
"融資 BP、招募 BP、發佈材料、商業合作材料和綜合型對外介紹材料。",
|
|
91
|
+
"已有官網、產品說明、品牌規則、Logo/IP 參考、用戶定位和商業目標的項目。",
|
|
92
|
+
],
|
|
93
|
+
},
|
|
94
|
+
{
|
|
95
|
+
title: "需要人工複核",
|
|
96
|
+
items: [
|
|
97
|
+
"融資金額、財務預測、市場規模、用戶數據、客戶案例、競品結論和法律/合規表述。",
|
|
98
|
+
"圖片裡的中文文字、數字、來源、Logo、IP、禁用詞和舊產品名。",
|
|
99
|
+
"投資人版、招募版、發佈版之間的措辭邊界和信息披露程度。",
|
|
100
|
+
],
|
|
101
|
+
},
|
|
102
|
+
{
|
|
103
|
+
title: "失敗時怎麼恢復",
|
|
104
|
+
items: [
|
|
105
|
+
"如果大綱太泛,補充目標受眾、真實功能、當前階段、差異化和已有數據。",
|
|
106
|
+
"如果圖片風格不穩,選擇一個風格方向,並寫清品牌色、Logo、禁用視覺和參考材料。",
|
|
107
|
+
"如果市場頁不可信,補充可引用來源,或要求 Agent 降級為趨勢判斷而非具體數字。",
|
|
108
|
+
],
|
|
109
|
+
},
|
|
110
|
+
],
|
|
111
|
+
useCases: "適用場景",
|
|
112
|
+
useCaseItems: [
|
|
113
|
+
{
|
|
114
|
+
title: "個人開發者融資或招人",
|
|
115
|
+
body: "把產品想法、上線進展和長期願景整理成投資人、候選人和支持者能理解的材料。",
|
|
116
|
+
},
|
|
117
|
+
{
|
|
118
|
+
title: "早期團隊對外溝通",
|
|
119
|
+
body: "快速生成一版可討論的 BP,用於路演、合作洽談、內部戰略同步和項目介紹。",
|
|
120
|
+
},
|
|
121
|
+
{
|
|
122
|
+
title: "互聯網產品發佈",
|
|
123
|
+
body: "把產品定位、用戶痛點、市場時機和商業化路徑打包成更適合傳播的圖片材料。",
|
|
124
|
+
},
|
|
125
|
+
{
|
|
126
|
+
title: "孵化器或顧問輔導",
|
|
127
|
+
body: "幫助不同基礎的團隊先拉齊 BP 下限,再集中精力修改證據、故事和關鍵頁面。",
|
|
128
|
+
},
|
|
129
|
+
],
|
|
130
|
+
faq: "常見問題",
|
|
131
|
+
faqItems: [
|
|
132
|
+
{
|
|
133
|
+
question: "為什麼要先生成大綱,再生成圖片?",
|
|
134
|
+
answer:
|
|
135
|
+
"BP 的價值首先來自敘事順序和單頁判斷。如果直接生圖,容易得到漂亮但講不清楚的頁面。",
|
|
136
|
+
},
|
|
137
|
+
{
|
|
138
|
+
question: "可以只輸入產品官網嗎?",
|
|
139
|
+
answer:
|
|
140
|
+
"可以先用 URL 模式,但如果官網信息太少,結果會在 missingInfo 裡提示需要補充目標用戶、商業目標、品牌約束或數據來源。",
|
|
141
|
+
},
|
|
142
|
+
{
|
|
143
|
+
question: "風格模板是不是行業分類?",
|
|
144
|
+
answer:
|
|
145
|
+
"不是。這裡的風格是更底層的視覺方向,例如敘事感、系統感、市場地圖感。它們可用於不同互聯網領域,而不是直接標成社交或 SaaS。",
|
|
146
|
+
},
|
|
147
|
+
{
|
|
148
|
+
question: "會生成可編輯 PPT 嗎?",
|
|
149
|
+
answer:
|
|
150
|
+
"這一版按圖片 BP 實現,不承諾 HTML 或可編輯 PPT。後續可以基於 manifest 和圖片頁繼續擴展導出。",
|
|
151
|
+
},
|
|
152
|
+
{
|
|
153
|
+
question: "圖片裡的文字可以直接用嗎?",
|
|
154
|
+
answer:
|
|
155
|
+
"需要複核。生圖模型可能改寫文字、數字或標點,市場數據頁和中文長句尤其要做人工檢查。",
|
|
156
|
+
},
|
|
157
|
+
{
|
|
158
|
+
question: "下載文件怎麼命名?",
|
|
159
|
+
answer:
|
|
160
|
+
"Agent 應返回基於產品名、頁碼和頁面主題的文件名,例如 tomako-business-bp-01-cover.png,而不是隨機 task id。",
|
|
161
|
+
},
|
|
162
|
+
],
|
|
163
|
+
ctaTitle: "繼續完善商業化材料",
|
|
164
|
+
ctaPrimary: "規劃 Product Hunt 發佈",
|
|
165
|
+
ctaSecondary: "返回全部工具",
|
|
166
|
+
ctaHint:
|
|
167
|
+
"BP 講清楚後,可以繼續生成發佈計劃、商店截圖、社媒資料和上線素材。",
|
|
168
|
+
},
|
|
169
|
+
widget: {
|
|
170
|
+
urlMode: "輸入 URL",
|
|
171
|
+
manualMode: "手動輸入",
|
|
172
|
+
productUrlLabel: "產品官網 URL",
|
|
173
|
+
productUrlPlaceholder: "https://your-product.com",
|
|
174
|
+
productContextLabel: "產品背景",
|
|
175
|
+
productContextPlaceholder:
|
|
176
|
+
"描述產品功能、目標用戶、當前階段、商業目標、願景、已有證據、品牌規則和你希望這份 BP 服務誰。",
|
|
177
|
+
productNameLabel: "產品名稱",
|
|
178
|
+
productNamePlaceholder: "例如 Tomako",
|
|
179
|
+
positioningLabel: "一句話定位",
|
|
180
|
+
positioningPlaceholder: "例如 面向個人開發者的 AI 商業化 Agent 平臺",
|
|
181
|
+
targetUsersLabel: "目標用戶",
|
|
182
|
+
targetUsersPlaceholder: "例如 個人開發者、超級個體、早期創業團隊",
|
|
183
|
+
purposeLabel: "BP 目的",
|
|
184
|
+
densityLabel: "信息密度",
|
|
185
|
+
languageLabel: "輸出語言",
|
|
186
|
+
styleLabel: "風格方向",
|
|
187
|
+
styleHint: "可左右滑動,也可以不選",
|
|
188
|
+
brandNotesLabel: "品牌、Logo、IP 與視覺規則",
|
|
189
|
+
brandNotesPlaceholder:
|
|
190
|
+
"可以寫品牌色、Logo 鏈接、IP 規則、字體偏好、參考圖、希望避免的視覺元素。",
|
|
191
|
+
referenceImagesLabel: "參考圖與補充圖片",
|
|
192
|
+
referenceImagesHint: "支持 PNG、JPG、WebP,最多 6 張;會壓縮後作為 Agent 參考。",
|
|
193
|
+
referenceImagesButton: "上傳圖片",
|
|
194
|
+
referenceImagesEmpty: "還沒有上傳參考圖",
|
|
195
|
+
referenceImagesPlaceholder: "可以上傳 Logo、產品截圖、舊 BP、風格參考或競品截圖。",
|
|
196
|
+
referenceImagesCount: "已上傳 {count} / {max} 張",
|
|
197
|
+
referenceImageMeta: "{width} x {height} · {size}",
|
|
198
|
+
removeReferenceImage: "移除 {name}",
|
|
199
|
+
mustIncludeLabel: "必須包含",
|
|
200
|
+
mustIncludePlaceholder:
|
|
201
|
+
"例如市場數據、團隊優勢、某個功能、某個用戶場景、指定頁面。",
|
|
202
|
+
mustAvoidLabel: "不能出現",
|
|
203
|
+
mustAvoidPlaceholder:
|
|
204
|
+
"例如舊產品名、錯誤 IP、融資金額、未經確認客戶、過度誇張表達。",
|
|
205
|
+
optional: "可選",
|
|
206
|
+
generate: "生成商業 BP",
|
|
207
|
+
submitting: "正在提交請求...",
|
|
208
|
+
running: "正在生成 BP...",
|
|
209
|
+
retry: "重試",
|
|
210
|
+
emptyTitle: "BP 框架和圖片頁會顯示在這裡",
|
|
211
|
+
emptyHint:
|
|
212
|
+
"生成後會先看到頁面框架和思考過程,隨後每張圖片按順序進入結果區。最終支持單頁下載和整套打包下載。",
|
|
213
|
+
resultReady: "商業 BP 已生成",
|
|
214
|
+
resultRunning: "Agent 正在生成商業 BP",
|
|
215
|
+
resultFallbackTitle: "商業 BP 製作中",
|
|
216
|
+
resultFallbackSummary:
|
|
217
|
+
"正在整理產品上下文、頁面框架、視覺方向和圖片生成隊列。",
|
|
218
|
+
progressFallback: "正在準備下一組頁面",
|
|
219
|
+
outlineTitle: "BP 頁面框架",
|
|
220
|
+
slidesTitle: "圖片頁面",
|
|
221
|
+
downloadAll: "下載整套 BP",
|
|
222
|
+
downloadManifest: "下載 manifest",
|
|
223
|
+
downloadContactSheet: "下載總覽圖",
|
|
224
|
+
downloadSlide: "下載單頁",
|
|
225
|
+
workspaceVisualAlt: "粗略產品 brief 生成有序 BP 圖片頁和下載包的視覺圖。",
|
|
226
|
+
revisionLabel: "讓 Agent 修改",
|
|
227
|
+
revisionHint: "寫具體修改要求",
|
|
228
|
+
revisionPlaceholder:
|
|
229
|
+
"例如:把市場規模拆成兩頁,封面更剋制,重繪第 6 頁,所有文件名加入產品名。",
|
|
230
|
+
sendRevision: "發送修改要求",
|
|
231
|
+
status: {
|
|
232
|
+
PENDING: "排隊中",
|
|
233
|
+
STREAMING: "生成中",
|
|
234
|
+
AWAITING_INPUT: "等待結構化結果",
|
|
235
|
+
AWAITING_FINAL: "繼續生成圖片頁",
|
|
236
|
+
SUCCEEDED: "正在完成結果",
|
|
237
|
+
default: "處理中",
|
|
238
|
+
},
|
|
239
|
+
slideStatus: {
|
|
240
|
+
queued: "排隊中",
|
|
241
|
+
generating: "生成中",
|
|
242
|
+
ready: "已完成",
|
|
243
|
+
failed: "失敗",
|
|
244
|
+
},
|
|
245
|
+
errors: {
|
|
246
|
+
invalid:
|
|
247
|
+
"URL 模式只需要有效產品官網;手動模式請填寫真實產品背景、產品名稱、定位和目標用戶。",
|
|
248
|
+
revision: "發送給 Agent 前,請寫清楚具體修改要求。",
|
|
249
|
+
referenceImageType: "僅支持 PNG、JPG 或 WebP 圖片。",
|
|
250
|
+
referenceImageSize: "單張圖片不能超過 8 MB。",
|
|
251
|
+
referenceImageLarge: "這張圖片壓縮後仍然過大,請換一張更小的圖。",
|
|
252
|
+
referenceImageRead: "圖片讀取失敗,請重新上傳。",
|
|
253
|
+
referenceImageLimit: "最多上傳 6 張參考圖。",
|
|
254
|
+
submit: "請求提交失敗。",
|
|
255
|
+
task: "生成任務失敗。",
|
|
256
|
+
timeout: "結構化結果沒有在限定時間內返回。",
|
|
257
|
+
schema: "Agent 返回的結果不符合商業 BP schema。",
|
|
258
|
+
generic: "商業 BP 生成失敗。",
|
|
259
|
+
recover:
|
|
260
|
+
"請檢查產品鏈接或補充產品背景、品牌規則、目標受眾和必須包含的信息後重試。",
|
|
261
|
+
},
|
|
262
|
+
copy: {
|
|
263
|
+
purposes: {
|
|
264
|
+
fundraising: "融資",
|
|
265
|
+
recruiting: "招募",
|
|
266
|
+
launch: "發佈",
|
|
267
|
+
partnership: "合作",
|
|
268
|
+
strategy: "戰略",
|
|
269
|
+
combined: "綜合",
|
|
270
|
+
},
|
|
271
|
+
languages: {
|
|
272
|
+
zh: "中文",
|
|
273
|
+
en: "English",
|
|
274
|
+
},
|
|
275
|
+
densities: {
|
|
276
|
+
lean: "精簡",
|
|
277
|
+
standard: "標準",
|
|
278
|
+
complete: "完整",
|
|
279
|
+
},
|
|
280
|
+
styles: {
|
|
281
|
+
none: {
|
|
282
|
+
name: "不選風格",
|
|
283
|
+
summary: "讓 Agent 根據產品、受眾和品牌規則自動選擇。",
|
|
284
|
+
},
|
|
285
|
+
signalEditorial: {
|
|
286
|
+
name: "敘事衝擊",
|
|
287
|
+
summary: "更強調信念、用戶情緒、傳播感和大圖留白。",
|
|
288
|
+
},
|
|
289
|
+
operatorGrid: {
|
|
290
|
+
name: "系統秩序",
|
|
291
|
+
summary: "更強調流程、指標、產品鏈路和可執行感。",
|
|
292
|
+
},
|
|
293
|
+
marketAtlas: {
|
|
294
|
+
name: "市場地圖",
|
|
295
|
+
summary: "更強調生態、增長、市場證據和商業結構。",
|
|
296
|
+
},
|
|
297
|
+
},
|
|
298
|
+
},
|
|
299
|
+
},
|
|
300
|
+
};
|
|
301
|
+
|
|
302
|
+
export default commercialBpGenerator;
|
|
@@ -0,0 +1,217 @@
|
|
|
1
|
+
const communityFeedbackInbox = {
|
|
2
|
+
meta: {
|
|
3
|
+
title: "社區反饋收件箱",
|
|
4
|
+
displayTitle: "Community Feedback Inbox",
|
|
5
|
+
description: "粘貼 Reddit、Indie Hackers、Product Hunt 或 X 評論,把零散社區反饋整理成痛點、反對意見、競品線索、功能請求、beta 邀請名單、build-in-public 素材、backlog 和 landing page FAQ。",
|
|
6
|
+
intro: "把發帖後的評論、私信和試用反饋變成一套學習系統:先分類真實用戶語言,再決定誰值得邀請 beta、哪些反饋進入 backlog、哪些反對意見應該回到 landing page。",
|
|
7
|
+
category: "用戶反饋工具",
|
|
8
|
+
keywords: [
|
|
9
|
+
"community feedback inbox",
|
|
10
|
+
"Reddit product feedback analyzer",
|
|
11
|
+
"build in public feedback organizer",
|
|
12
|
+
"用戶反饋分類",
|
|
13
|
+
"社區評論分析",
|
|
14
|
+
],
|
|
15
|
+
inputSignal: "社區評論 + 產品上下文",
|
|
16
|
+
outputSignal: "反饋分類 + beta 候選 + 內容素材 + FAQ/backlog",
|
|
17
|
+
boundarySignal: "Review 原型;本地啟發式分析,不自動抓取或私信用戶",
|
|
18
|
+
},
|
|
19
|
+
examples: [
|
|
20
|
+
{
|
|
21
|
+
label: "Reddit 發帖評論",
|
|
22
|
+
input: "產品:幫助獨立開發者把社區發佈反饋轉成 GTM 學習資產。評論包含定價疑問、和 Canny/Notion 的對比、希望支持導出、有人願意試用 beta。",
|
|
23
|
+
expectedOutput: "輸出痛點、反對意見、競品、功能、定價和文案分類,並給出 beta 邀請名單、build-in-public 素材、backlog 候選和 landing page FAQ。",
|
|
24
|
+
},
|
|
25
|
+
],
|
|
26
|
+
guide: {
|
|
27
|
+
heroVisualAlt:
|
|
28
|
+
"零散社區評論被整理成反饋分類、beta 候選、內容素材和產品 backlog 的工作臺。",
|
|
29
|
+
workspaceHeading: "整理社區評論,生成下一步增長學習資產",
|
|
30
|
+
workspaceHint:
|
|
31
|
+
"粘貼 Reddit、Indie Hackers、Product Hunt、X 或 Discord 評論。這個 review 原型會把反饋分成痛點、反對意見、競品、功能請求、定價反饋和文案反饋,並輸出可複核的下一步。",
|
|
32
|
+
workspaceBadge: "Review 原型",
|
|
33
|
+
workspaceVisualAlt:
|
|
34
|
+
"零散社區反饋從未整理的紙條變成帶有信號分類、beta 候選、內容和 backlog 標籤的報告。",
|
|
35
|
+
outputs: "你可以得到什麼",
|
|
36
|
+
outputItems: [
|
|
37
|
+
{
|
|
38
|
+
title: "反饋分類",
|
|
39
|
+
body: "把評論自動歸入痛點、反對意見、競品、功能請求、定價反饋和文案反饋,附帶證據摘錄。",
|
|
40
|
+
},
|
|
41
|
+
{
|
|
42
|
+
title: "Beta 邀請名單",
|
|
43
|
+
body: "標記表達明確場景、試用意願或追問價值的人,並給出可編輯的私信草稿。",
|
|
44
|
+
},
|
|
45
|
+
{
|
|
46
|
+
title: "Build-in-public 素材",
|
|
47
|
+
body: "把高質量評論轉成下一篇公開構建帖的角度、hook 和可引用用戶語言。",
|
|
48
|
+
},
|
|
49
|
+
{
|
|
50
|
+
title: "Backlog 與 FAQ 候選",
|
|
51
|
+
body: "把重複反饋沉澱成 backlog 假設、landing page FAQ 和反對意見處理材料。",
|
|
52
|
+
},
|
|
53
|
+
],
|
|
54
|
+
supportHeading: "適合發帖後需要學習,而不只是統計曝光的時候",
|
|
55
|
+
supportVisualAlt:
|
|
56
|
+
"社區評論、私信和試用反饋被整理成清晰的產品學習資產。",
|
|
57
|
+
supportItems: [
|
|
58
|
+
"適合獨立開發者、早期 SaaS、開發者工具、AI 工具、開源項目和 build-in-public 創作者。",
|
|
59
|
+
"最適合處理已經發布後的評論、私信、試用反饋、Product Hunt 評論、Reddit 討論和 Indie Hackers 回覆。",
|
|
60
|
+
"它不是一個公開投票板,而是把社區裡的真實用戶語言整理成下一輪產品和 GTM 決策。",
|
|
61
|
+
"如果評論裡有用戶名或來源,beta 候選會更有用;如果只粘貼匿名段落,也能先做主題分類。",
|
|
62
|
+
],
|
|
63
|
+
boundaryHeading: "這個版本故意不做自動抓取和自動私信",
|
|
64
|
+
boundaryVisualAlt:
|
|
65
|
+
"帶有人工作業邊界和隱私複核標記的社區反饋分析工作臺。",
|
|
66
|
+
boundaryItems: [
|
|
67
|
+
"不會連接 Reddit、Indie Hackers、Product Hunt、X 或 Discord API,也不會繞過平臺規則抓取內容。",
|
|
68
|
+
"不會自動給用戶發私信;beta 邀請只生成候選名單和草稿,最終由你人工判斷。",
|
|
69
|
+
"分類是本地啟發式分析,不等於正式 AI 研究結論;進入 backlog 前需要複核原評論。",
|
|
70
|
+
"發佈 build-in-public 內容前,應刪除用戶名、隱私信息和任何可能誤引用戶的細節。",
|
|
71
|
+
],
|
|
72
|
+
resultUseHeading: "把結果接到 Tomako 的 GTM 工作流",
|
|
73
|
+
resultUseVisualAlt:
|
|
74
|
+
"社區反饋結果流向 build-in-public 帖子、landing page FAQ、beta 邀請和 backlog。",
|
|
75
|
+
resultUseItems: [
|
|
76
|
+
"把內容角度交給 Social Platform Asset Adapter,改寫成 X、LinkedIn、Reddit 或 Product Hunt follow-up。",
|
|
77
|
+
"把高信號 beta 候選轉成手動 DM 列表,先追問場景,再邀請試用。",
|
|
78
|
+
"把反對意見轉成 landing page FAQ 和評論回覆,不要只藏在內部筆記。",
|
|
79
|
+
"把重複反饋寫成假設、證據數和驗收標準,再進入產品 backlog。",
|
|
80
|
+
],
|
|
81
|
+
whyTomakoHeading: "為什麼不只用表格或傳統反饋板",
|
|
82
|
+
whyTomakoItems: [
|
|
83
|
+
{
|
|
84
|
+
title: "圍繞發帖後的學習閉環",
|
|
85
|
+
body: "傳統反饋板重收集和投票;這個工具更關注社區評論如何變成下一篇內容、下一批 beta 用戶和下一輪產品驗證。",
|
|
86
|
+
},
|
|
87
|
+
{
|
|
88
|
+
title: "保留用戶原話",
|
|
89
|
+
body: "結果不是隻給標籤,而是保留證據摘錄,方便回到原評論複核,避免憑感覺定優先級。",
|
|
90
|
+
},
|
|
91
|
+
{
|
|
92
|
+
title: "把反對意見變成資產",
|
|
93
|
+
body: "用戶不理解、擔心或比較競品時,這些內容會進入 FAQ、評論回覆和 landing page 改寫。",
|
|
94
|
+
},
|
|
95
|
+
{
|
|
96
|
+
title: "避免過度自動化",
|
|
97
|
+
body: "社區增長最怕把真實對話變成群發流程;Tomako 只整理線索,私信和產品決策保留人工判斷。",
|
|
98
|
+
},
|
|
99
|
+
],
|
|
100
|
+
standardHeading: "好的社區反饋工具應該幫你判斷,而不是替你盲目照做",
|
|
101
|
+
standardVisualAlt:
|
|
102
|
+
"社區反饋被拆成證據、優先級、人工複核和下一步行動的標準卡片。",
|
|
103
|
+
standardItems: [
|
|
104
|
+
"證據:每個分類都應該能回到原評論,而不是隻有抽象標籤。",
|
|
105
|
+
"剋制:功能請求要先合併和驗證,不應該一句話就進 roadmap。",
|
|
106
|
+
"可行動:結果應該能直接轉成 beta 邀請、FAQ、內容角度或 backlog 假設。",
|
|
107
|
+
"邊界:必須說清不自動抓取、不自動私信、不替代用戶研究和產品判斷。",
|
|
108
|
+
"工作流:社區反饋應該回流到 GTM,而不是停留在一次性曝光數據裡。",
|
|
109
|
+
],
|
|
110
|
+
faq: "常見問題",
|
|
111
|
+
faqItems: [
|
|
112
|
+
{
|
|
113
|
+
question: "這個工具會自動抓取 Reddit 或 Indie Hackers 嗎?",
|
|
114
|
+
answer:
|
|
115
|
+
"不會。當前版本只處理你手動粘貼的評論,避免平臺規則、登錄權限和隱私邊界不清的問題。",
|
|
116
|
+
},
|
|
117
|
+
{
|
|
118
|
+
question: "它和 Canny、Productboard、Featurebase 有什麼不同?",
|
|
119
|
+
answer:
|
|
120
|
+
"那些工具更偏長期反饋門戶、roadmap 和投票。這個工具更輕,專注把發帖後的社區評論轉成 GTM 學習資產。",
|
|
121
|
+
},
|
|
122
|
+
{
|
|
123
|
+
question: "分類結果可以直接進入產品 backlog 嗎?",
|
|
124
|
+
answer:
|
|
125
|
+
"不建議直接進入。它會給出候選項、證據數和下一步動作,但你仍然要對照原評論和產品策略複核。",
|
|
126
|
+
},
|
|
127
|
+
{
|
|
128
|
+
question: "能用來邀請 beta 用戶嗎?",
|
|
129
|
+
answer:
|
|
130
|
+
"可以作為候選名單,但最終邀請要人工判斷。尤其要避免對所有評論者群發私信。",
|
|
131
|
+
},
|
|
132
|
+
],
|
|
133
|
+
ctaHint:
|
|
134
|
+
"整理完社區反饋後,可以把單條高質量評論整理成用戶訪談記錄,或把內容角度改寫成不同平臺的 follow-up 素材。",
|
|
135
|
+
ctaPrimary: "整理單條用戶訪談",
|
|
136
|
+
ctaSecondary: "改寫成平臺素材",
|
|
137
|
+
},
|
|
138
|
+
widget: {
|
|
139
|
+
formTitle: "反饋 brief",
|
|
140
|
+
formHint:
|
|
141
|
+
"粘貼真實評論,最好保留用戶名或來源。輸入越具體,beta 候選、FAQ 和 backlog 候選越可用。",
|
|
142
|
+
productNameLabel: "產品名",
|
|
143
|
+
productNamePlaceholder: "Tomako",
|
|
144
|
+
sourceLabel: "主要來源",
|
|
145
|
+
productContextLabel: "產品上下文",
|
|
146
|
+
productContextPlaceholder:
|
|
147
|
+
"Tomako 幫助獨立開發者把產品發佈、社區反饋和增長動作整理成可執行的 GTM 工作流。",
|
|
148
|
+
commentsLabel: "粘貼評論、私信或試用反饋",
|
|
149
|
+
commentsPlaceholder:
|
|
150
|
+
"@founder42: I like the idea, but I already use Notion and Canny. How is this different?\n\n@maker_jane: Would love export to Linear. I would try the beta if it handles Reddit comments.\n\n匿名用戶:價格如果是訂閱制我會猶豫,除非它能直接幫我改 landing page。",
|
|
151
|
+
goalLabel: "本輪目標",
|
|
152
|
+
generate: "整理反饋",
|
|
153
|
+
status: {
|
|
154
|
+
idle: "等待評論",
|
|
155
|
+
done: "反饋已整理",
|
|
156
|
+
error: "需要更具體輸入",
|
|
157
|
+
},
|
|
158
|
+
previewItems: [
|
|
159
|
+
"評論數",
|
|
160
|
+
"強信號",
|
|
161
|
+
"Beta",
|
|
162
|
+
"主反饋主題會顯示在這裡",
|
|
163
|
+
"最強證據評論會顯示在這裡",
|
|
164
|
+
"整理後會給出下一步 GTM 動作",
|
|
165
|
+
],
|
|
166
|
+
sources: {
|
|
167
|
+
mixed: "混合來源",
|
|
168
|
+
reddit: "Reddit",
|
|
169
|
+
indieHackers: "Indie Hackers",
|
|
170
|
+
hackerNews: "Hacker News",
|
|
171
|
+
productHunt: "Product Hunt",
|
|
172
|
+
x: "X",
|
|
173
|
+
discord: "Discord",
|
|
174
|
+
},
|
|
175
|
+
goals: {
|
|
176
|
+
launchLearning: "發帖後學習",
|
|
177
|
+
betaRecruiting: "邀請 beta 用戶",
|
|
178
|
+
roadmap: "整理產品 backlog",
|
|
179
|
+
landingPage: "改 landing page / FAQ",
|
|
180
|
+
},
|
|
181
|
+
errors: {
|
|
182
|
+
validation: {
|
|
183
|
+
title: "先補齊最小反饋 brief",
|
|
184
|
+
body: "需要產品上下文和至少兩條較具體的評論,才能整理出有用的分類、beta 候選和下一步動作。",
|
|
185
|
+
},
|
|
186
|
+
weakInput: {
|
|
187
|
+
title: "請粘貼更真實的社區反饋",
|
|
188
|
+
body: "當前輸入像佔位符、過短文本或只有一條評論。至少粘貼兩條評論,並儘量保留用戶表達的完整上下文。",
|
|
189
|
+
},
|
|
190
|
+
},
|
|
191
|
+
resultReady: "已生成社區反饋學習報告",
|
|
192
|
+
copied: "已複製",
|
|
193
|
+
copy: "複製 Markdown",
|
|
194
|
+
download: "下載",
|
|
195
|
+
reset: "重置",
|
|
196
|
+
totalComments: "評論數",
|
|
197
|
+
highSignals: "強信號",
|
|
198
|
+
betaCandidates: "Beta 候選",
|
|
199
|
+
categories: "反饋分類",
|
|
200
|
+
signalCount: "{count} 條信號",
|
|
201
|
+
inviteShortlist: "Beta 邀請名單",
|
|
202
|
+
emptyInvite: "暫時沒有足夠強的 beta 候選。可以補充用戶名、試用意願或具體使用場景。",
|
|
203
|
+
contentAngles: "Build-in-public 素材",
|
|
204
|
+
backlog: "Backlog 候選",
|
|
205
|
+
faq: "Landing page FAQ 候選",
|
|
206
|
+
objections: "反對意見處理",
|
|
207
|
+
emptyObjections: "暫時沒有明顯反對意見。繼續收集不理解、擔心或比較競品的評論會更有價值。",
|
|
208
|
+
reviewChecklist: "缺失信息與人工複核",
|
|
209
|
+
confidence: {
|
|
210
|
+
low: "低證據",
|
|
211
|
+
medium: "中證據",
|
|
212
|
+
high: "高證據",
|
|
213
|
+
},
|
|
214
|
+
},
|
|
215
|
+
} as const;
|
|
216
|
+
|
|
217
|
+
export default communityFeedbackInbox;
|