@zwbigi/ink-xy 0.1.2 → 0.1.4
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/.next/BUILD_ID +1 -1
- package/.next/app-path-routes-manifest.json +2 -2
- package/.next/build-manifest.json +2 -2
- package/.next/server/app/_global-error.html +1 -1
- package/.next/server/app/_global-error.rsc +1 -1
- package/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
- package/.next/server/app/_global-error.segments/_global-error/__PAGE__.segment.rsc +1 -1
- package/.next/server/app/_global-error.segments/_global-error.segment.rsc +1 -1
- package/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
- package/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
- package/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
- package/.next/server/app/_not-found.html +1 -1
- package/.next/server/app/_not-found.rsc +1 -1
- package/.next/server/app/_not-found.segments/_full.segment.rsc +1 -1
- package/.next/server/app/_not-found.segments/_head.segment.rsc +1 -1
- package/.next/server/app/_not-found.segments/_index.segment.rsc +1 -1
- package/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +1 -1
- package/.next/server/app/_not-found.segments/_not-found.segment.rsc +1 -1
- package/.next/server/app/_not-found.segments/_tree.segment.rsc +1 -1
- package/.next/server/app/api/inkos/route.js.nft.json +1 -1
- package/.next/server/app/api/skills/install/route.js.nft.json +1 -1
- package/.next/server/app/api/skills/search/route.js.nft.json +1 -1
- package/.next/server/app/index.html +1 -1
- package/.next/server/app/index.rsc +1 -1
- package/.next/server/app/index.segments/__PAGE__.segment.rsc +1 -1
- package/.next/server/app/index.segments/_full.segment.rsc +1 -1
- package/.next/server/app/index.segments/_head.segment.rsc +1 -1
- package/.next/server/app/index.segments/_index.segment.rsc +1 -1
- package/.next/server/app/index.segments/_tree.segment.rsc +1 -1
- package/.next/server/app-paths-manifest.json +2 -2
- package/.next/server/chunks/162.js +1 -1
- package/.next/server/middleware-build-manifest.js +1 -1
- package/.next/server/pages/404.html +1 -1
- package/.next/server/pages/500.html +1 -1
- package/.next/trace +4 -4
- package/.next/trace-build +1 -1
- package/bin/pi-web.js +4 -1
- package/inkos/.env.example +20 -0
- package/inkos/.node-version +1 -0
- package/inkos/.nvmrc +1 -0
- package/inkos/CHANGELOG.md +787 -0
- package/inkos/CONTRIBUTING.md +89 -0
- package/inkos/LICENSE +661 -0
- package/inkos/README.en.md +483 -0
- package/inkos/README.ja.md +461 -0
- package/inkos/README.md +272 -0
- package/inkos/assets/15qun.jpg +0 -0
- package/inkos/assets/41777702961_.pic.jpg +0 -0
- package/inkos/assets/inkos-short-demo-cover.png +0 -0
- package/inkos/assets/inkos-text.svg +40 -0
- package/inkos/assets/logo.svg +47 -0
- package/inkos/assets/screenshot-chapters.png +0 -0
- package/inkos/assets/screenshot-pipeline.png +0 -0
- package/inkos/assets/screenshot-state.png +0 -0
- package/inkos/assets/screenshot-terminal.png +0 -0
- package/inkos/assets/wechat-group-v8.jpg +0 -0
- package/inkos/package.json +42 -0
- package/inkos/packages/cli/package.json +74 -0
- package/inkos/packages/cli/src/__tests__/analytics.test.ts +154 -0
- package/inkos/packages/cli/src/__tests__/cli-integration.test.ts +1031 -0
- package/inkos/packages/cli/src/__tests__/daemon.test.ts +93 -0
- package/inkos/packages/cli/src/__tests__/doctor.test.ts +36 -0
- package/inkos/packages/cli/src/__tests__/interact-command.test.ts +142 -0
- package/inkos/packages/cli/src/__tests__/interaction-tools.test.ts +107 -0
- package/inkos/packages/cli/src/__tests__/llm-overrides.test.ts +25 -0
- package/inkos/packages/cli/src/__tests__/localization.test.ts +121 -0
- package/inkos/packages/cli/src/__tests__/progress-text.test.ts +92 -0
- package/inkos/packages/cli/src/__tests__/project-bootstrap.test.ts +71 -0
- package/inkos/packages/cli/src/__tests__/publish-package.test.ts +272 -0
- package/inkos/packages/cli/src/__tests__/revision-command.test.ts +82 -0
- package/inkos/packages/cli/src/__tests__/runtime-requirements.test.ts +89 -0
- package/inkos/packages/cli/src/__tests__/short-fiction-command.test.ts +48 -0
- package/inkos/packages/cli/src/__tests__/studio-runtime.test.ts +142 -0
- package/inkos/packages/cli/src/__tests__/studio.test.ts +87 -0
- package/inkos/packages/cli/src/__tests__/tui-activity-state.test.ts +20 -0
- package/inkos/packages/cli/src/__tests__/tui-agent-session.test.ts +213 -0
- package/inkos/packages/cli/src/__tests__/tui-chat-depth.test.ts +27 -0
- package/inkos/packages/cli/src/__tests__/tui-chat-draft.test.ts +44 -0
- package/inkos/packages/cli/src/__tests__/tui-command.test.ts +86 -0
- package/inkos/packages/cli/src/__tests__/tui-composer-caret.test.ts +46 -0
- package/inkos/packages/cli/src/__tests__/tui-composer-display.test.ts +40 -0
- package/inkos/packages/cli/src/__tests__/tui-dashboard.test.tsx +219 -0
- package/inkos/packages/cli/src/__tests__/tui-effects-i18n.test.ts +29 -0
- package/inkos/packages/cli/src/__tests__/tui-i18n.test.ts +22 -0
- package/inkos/packages/cli/src/__tests__/tui-input-chrome.test.ts +10 -0
- package/inkos/packages/cli/src/__tests__/tui-input-history.test.ts +40 -0
- package/inkos/packages/cli/src/__tests__/tui-layout.test.ts +55 -0
- package/inkos/packages/cli/src/__tests__/tui-local-commands.test.ts +47 -0
- package/inkos/packages/cli/src/__tests__/tui-session-store.test.ts +81 -0
- package/inkos/packages/cli/src/__tests__/tui-setup-i18n.test.ts +31 -0
- package/inkos/packages/cli/src/__tests__/tui-slash-autocomplete.test.ts +33 -0
- package/inkos/packages/cli/src/commands/agent.ts +65 -0
- package/inkos/packages/cli/src/commands/analytics.ts +77 -0
- package/inkos/packages/cli/src/commands/audit.ts +52 -0
- package/inkos/packages/cli/src/commands/book.ts +260 -0
- package/inkos/packages/cli/src/commands/compose.ts +50 -0
- package/inkos/packages/cli/src/commands/config.ts +328 -0
- package/inkos/packages/cli/src/commands/consolidate.ts +50 -0
- package/inkos/packages/cli/src/commands/daemon.ts +121 -0
- package/inkos/packages/cli/src/commands/detect.ts +125 -0
- package/inkos/packages/cli/src/commands/doctor.ts +391 -0
- package/inkos/packages/cli/src/commands/draft.ts +43 -0
- package/inkos/packages/cli/src/commands/eval.ts +217 -0
- package/inkos/packages/cli/src/commands/export.ts +45 -0
- package/inkos/packages/cli/src/commands/fanfic.ts +183 -0
- package/inkos/packages/cli/src/commands/genre.ts +160 -0
- package/inkos/packages/cli/src/commands/import.ts +158 -0
- package/inkos/packages/cli/src/commands/init.ts +47 -0
- package/inkos/packages/cli/src/commands/interact.ts +109 -0
- package/inkos/packages/cli/src/commands/plan.ts +54 -0
- package/inkos/packages/cli/src/commands/radar.ts +60 -0
- package/inkos/packages/cli/src/commands/review.ts +253 -0
- package/inkos/packages/cli/src/commands/revise.ts +58 -0
- package/inkos/packages/cli/src/commands/short-fiction.ts +294 -0
- package/inkos/packages/cli/src/commands/status.ts +138 -0
- package/inkos/packages/cli/src/commands/studio.ts +194 -0
- package/inkos/packages/cli/src/commands/style.ts +99 -0
- package/inkos/packages/cli/src/commands/tui.ts +18 -0
- package/inkos/packages/cli/src/commands/update.ts +45 -0
- package/inkos/packages/cli/src/commands/write.ts +324 -0
- package/inkos/packages/cli/src/index.ts +5 -0
- package/inkos/packages/cli/src/interaction/tools.ts +49 -0
- package/inkos/packages/cli/src/localization.ts +215 -0
- package/inkos/packages/cli/src/program.ts +106 -0
- package/inkos/packages/cli/src/progress-text.ts +85 -0
- package/inkos/packages/cli/src/project-bootstrap.ts +175 -0
- package/inkos/packages/cli/src/runtime-requirements.ts +135 -0
- package/inkos/packages/cli/src/tui/__tests__/markdown.test.ts +64 -0
- package/inkos/packages/cli/src/tui/activity-state.ts +41 -0
- package/inkos/packages/cli/src/tui/agent-input.ts +264 -0
- package/inkos/packages/cli/src/tui/ansi.ts +72 -0
- package/inkos/packages/cli/src/tui/app.ts +130 -0
- package/inkos/packages/cli/src/tui/chat-depth.ts +22 -0
- package/inkos/packages/cli/src/tui/chat-draft.ts +42 -0
- package/inkos/packages/cli/src/tui/composer-caret.ts +22 -0
- package/inkos/packages/cli/src/tui/composer-display.ts +26 -0
- package/inkos/packages/cli/src/tui/dashboard-model.ts +164 -0
- package/inkos/packages/cli/src/tui/dashboard.tsx +544 -0
- package/inkos/packages/cli/src/tui/effects.ts +542 -0
- package/inkos/packages/cli/src/tui/i18n.ts +278 -0
- package/inkos/packages/cli/src/tui/input-history.ts +69 -0
- package/inkos/packages/cli/src/tui/local-commands.ts +55 -0
- package/inkos/packages/cli/src/tui/markdown.ts +64 -0
- package/inkos/packages/cli/src/tui/session-store.ts +6 -0
- package/inkos/packages/cli/src/tui/setup.ts +397 -0
- package/inkos/packages/cli/src/tui/slash-autocomplete.ts +62 -0
- package/inkos/packages/cli/src/tui/theme.ts +17 -0
- package/inkos/packages/cli/src/utils.ts +222 -0
- package/inkos/packages/cli/tsconfig.json +9 -0
- package/inkos/packages/core/genres/cozy.md +43 -0
- package/inkos/packages/core/genres/cultivation.md +42 -0
- package/inkos/packages/core/genres/dungeon-core.md +40 -0
- package/inkos/packages/core/genres/horror.md +51 -0
- package/inkos/packages/core/genres/isekai.md +43 -0
- package/inkos/packages/core/genres/litrpg.md +43 -0
- package/inkos/packages/core/genres/other.md +24 -0
- package/inkos/packages/core/genres/progression.md +41 -0
- package/inkos/packages/core/genres/romantasy.md +45 -0
- package/inkos/packages/core/genres/sci-fi.md +42 -0
- package/inkos/packages/core/genres/system-apocalypse.md +40 -0
- package/inkos/packages/core/genres/tower-climber.md +41 -0
- package/inkos/packages/core/genres/urban.md +53 -0
- package/inkos/packages/core/genres/xianxia.md +46 -0
- package/inkos/packages/core/genres/xuanhuan.md +64 -0
- package/inkos/packages/core/package.json +61 -0
- package/inkos/packages/core/src/__tests__/agent-max-tokens-policy.test.ts +29 -0
- package/inkos/packages/core/src/__tests__/agent-session.test.ts +866 -0
- package/inkos/packages/core/src/__tests__/agent-system-prompt.test.ts +167 -0
- package/inkos/packages/core/src/__tests__/agent-tools-params.test.ts +197 -0
- package/inkos/packages/core/src/__tests__/agent-tools.test.ts +421 -0
- package/inkos/packages/core/src/__tests__/ai-tells.test.ts +90 -0
- package/inkos/packages/core/src/__tests__/architect-phase5-consolidated.test.ts +445 -0
- package/inkos/packages/core/src/__tests__/architect-phase5.test.ts +455 -0
- package/inkos/packages/core/src/__tests__/architect-phase7.test.ts +210 -0
- package/inkos/packages/core/src/__tests__/architect.test.ts +859 -0
- package/inkos/packages/core/src/__tests__/audit-parse.test.ts +78 -0
- package/inkos/packages/core/src/__tests__/book-id.test.ts +26 -0
- package/inkos/packages/core/src/__tests__/book-session-store.test.ts +447 -0
- package/inkos/packages/core/src/__tests__/book-session.test.ts +113 -0
- package/inkos/packages/core/src/__tests__/chapter-analyzer.test.ts +574 -0
- package/inkos/packages/core/src/__tests__/chapter-memo-parser.test.ts +247 -0
- package/inkos/packages/core/src/__tests__/chapter-persistence.test.ts +198 -0
- package/inkos/packages/core/src/__tests__/chapter-review-cycle.test.ts +294 -0
- package/inkos/packages/core/src/__tests__/chapter-splitter.test.ts +156 -0
- package/inkos/packages/core/src/__tests__/chapter-state-recovery.test.ts +235 -0
- package/inkos/packages/core/src/__tests__/chapter-truth-validation.test.ts +253 -0
- package/inkos/packages/core/src/__tests__/composer.test.ts +627 -0
- package/inkos/packages/core/src/__tests__/config-loader.test.ts +325 -0
- package/inkos/packages/core/src/__tests__/config-migration.test.ts +102 -0
- package/inkos/packages/core/src/__tests__/consolidator.test.ts +32 -0
- package/inkos/packages/core/src/__tests__/context-filter.test.ts +60 -0
- package/inkos/packages/core/src/__tests__/context-transform.test.ts +108 -0
- package/inkos/packages/core/src/__tests__/continuity.test.ts +391 -0
- package/inkos/packages/core/src/__tests__/detection-insights.test.ts +59 -0
- package/inkos/packages/core/src/__tests__/detector.test.ts +86 -0
- package/inkos/packages/core/src/__tests__/draft-directive-parser.test.ts +386 -0
- package/inkos/packages/core/src/__tests__/edit-controller.test.ts +190 -0
- package/inkos/packages/core/src/__tests__/effective-llm-config.test.ts +486 -0
- package/inkos/packages/core/src/__tests__/fanfic-dimensions.test.ts +58 -0
- package/inkos/packages/core/src/__tests__/fanfic-models.test.ts +69 -0
- package/inkos/packages/core/src/__tests__/governed-working-set.test.ts +155 -0
- package/inkos/packages/core/src/__tests__/hook-arbiter.test.ts +124 -0
- package/inkos/packages/core/src/__tests__/hook-governance.test.ts +228 -0
- package/inkos/packages/core/src/__tests__/hook-health.test.ts +166 -0
- package/inkos/packages/core/src/__tests__/hook-ledger-validator.test.ts +236 -0
- package/inkos/packages/core/src/__tests__/hook-promotion.test.ts +192 -0
- package/inkos/packages/core/src/__tests__/hook-stale-detection.test.ts +136 -0
- package/inkos/packages/core/src/__tests__/index-notify-lazy.test.ts +20 -0
- package/inkos/packages/core/src/__tests__/interaction-chat-tokens.test.ts +170 -0
- package/inkos/packages/core/src/__tests__/interaction-models.test.ts +155 -0
- package/inkos/packages/core/src/__tests__/interaction-nl-router.test.ts +223 -0
- package/inkos/packages/core/src/__tests__/interaction-runtime.test.ts +633 -0
- package/inkos/packages/core/src/__tests__/interaction-tools.test.ts +343 -0
- package/inkos/packages/core/src/__tests__/length-metrics.test.ts +82 -0
- package/inkos/packages/core/src/__tests__/length-normalizer.test.ts +331 -0
- package/inkos/packages/core/src/__tests__/list-models.test.ts +109 -0
- package/inkos/packages/core/src/__tests__/llm-env.test.ts +31 -0
- package/inkos/packages/core/src/__tests__/logger.test.ts +175 -0
- package/inkos/packages/core/src/__tests__/long-span-fatigue.test.ts +160 -0
- package/inkos/packages/core/src/__tests__/memory-retrieval.test.ts +1303 -0
- package/inkos/packages/core/src/__tests__/models.test.ts +918 -0
- package/inkos/packages/core/src/__tests__/outline-paths.test.ts +97 -0
- package/inkos/packages/core/src/__tests__/path-safety.test.ts +22 -0
- package/inkos/packages/core/src/__tests__/persisted-governed-plan.test.ts +134 -0
- package/inkos/packages/core/src/__tests__/phase5-cleanup.test.ts +393 -0
- package/inkos/packages/core/src/__tests__/phase5-hotfix.test.ts +288 -0
- package/inkos/packages/core/src/__tests__/phase7-hotfix.test.ts +614 -0
- package/inkos/packages/core/src/__tests__/pipeline-agent.test.ts +354 -0
- package/inkos/packages/core/src/__tests__/pipeline-runner-memory-sync.test.ts +317 -0
- package/inkos/packages/core/src/__tests__/pipeline-runner.test.ts +5200 -0
- package/inkos/packages/core/src/__tests__/planner-context.test.ts +137 -0
- package/inkos/packages/core/src/__tests__/planner-prompts-ratio.test.ts +11 -0
- package/inkos/packages/core/src/__tests__/planner-prompts.test.ts +171 -0
- package/inkos/packages/core/src/__tests__/planner.test.ts +362 -0
- package/inkos/packages/core/src/__tests__/planning-materials.test.ts +90 -0
- package/inkos/packages/core/src/__tests__/polisher.test.ts +189 -0
- package/inkos/packages/core/src/__tests__/post-write-validator.test.ts +291 -0
- package/inkos/packages/core/src/__tests__/probe.test.ts +77 -0
- package/inkos/packages/core/src/__tests__/project-interaction.test.ts +241 -0
- package/inkos/packages/core/src/__tests__/provider.test.ts +953 -0
- package/inkos/packages/core/src/__tests__/providers-group.test.ts +34 -0
- package/inkos/packages/core/src/__tests__/providers-lookup.test.ts +81 -0
- package/inkos/packages/core/src/__tests__/providers-schema.test.ts +158 -0
- package/inkos/packages/core/src/__tests__/proxy-fetch.test.ts +75 -0
- package/inkos/packages/core/src/__tests__/revise-foundation.test.ts +514 -0
- package/inkos/packages/core/src/__tests__/reviser.test.ts +859 -0
- package/inkos/packages/core/src/__tests__/runtime-state-store.test.ts +388 -0
- package/inkos/packages/core/src/__tests__/scheduler.test.ts +123 -0
- package/inkos/packages/core/src/__tests__/secrets-migration.test.ts +71 -0
- package/inkos/packages/core/src/__tests__/secrets.test.ts +95 -0
- package/inkos/packages/core/src/__tests__/sensitive-words.test.ts +88 -0
- package/inkos/packages/core/src/__tests__/service-presets-regression.test.ts +73 -0
- package/inkos/packages/core/src/__tests__/service-resolver-regression.test.ts +75 -0
- package/inkos/packages/core/src/__tests__/service-resolver.test.ts +228 -0
- package/inkos/packages/core/src/__tests__/session-transcript-restore.test.ts +1311 -0
- package/inkos/packages/core/src/__tests__/session-transcript.test.ts +195 -0
- package/inkos/packages/core/src/__tests__/settler-delta-parser.test.ts +133 -0
- package/inkos/packages/core/src/__tests__/short-fiction-public.test.ts +241 -0
- package/inkos/packages/core/src/__tests__/spot-fix-patches.test.ts +104 -0
- package/inkos/packages/core/src/__tests__/state-manager.test.ts +1298 -0
- package/inkos/packages/core/src/__tests__/state-projections.test.ts +130 -0
- package/inkos/packages/core/src/__tests__/state-reducer.test.ts +372 -0
- package/inkos/packages/core/src/__tests__/state-validator-agent.test.ts +165 -0
- package/inkos/packages/core/src/__tests__/state-validator.test.ts +122 -0
- package/inkos/packages/core/src/__tests__/style-analyzer.test.ts +61 -0
- package/inkos/packages/core/src/__tests__/temperature-constraints.test.ts +57 -0
- package/inkos/packages/core/src/__tests__/v13-hotfix-round4.test.ts +343 -0
- package/inkos/packages/core/src/__tests__/verify-service.test.ts +77 -0
- package/inkos/packages/core/src/__tests__/webhook.test.ts +91 -0
- package/inkos/packages/core/src/__tests__/writer-parser.test.ts +348 -0
- package/inkos/packages/core/src/__tests__/writer-prompts.test.ts +269 -0
- package/inkos/packages/core/src/__tests__/writer.test.ts +1360 -0
- package/inkos/packages/core/src/agent/agent-session.ts +737 -0
- package/inkos/packages/core/src/agent/agent-system-prompt.ts +199 -0
- package/inkos/packages/core/src/agent/agent-tools.ts +835 -0
- package/inkos/packages/core/src/agent/context-transform.ts +85 -0
- package/inkos/packages/core/src/agent/index.ts +14 -0
- package/inkos/packages/core/src/agents/ai-tells.ts +161 -0
- package/inkos/packages/core/src/agents/architect.ts +1291 -0
- package/inkos/packages/core/src/agents/base.ts +100 -0
- package/inkos/packages/core/src/agents/chapter-analyzer.ts +634 -0
- package/inkos/packages/core/src/agents/composer.ts +469 -0
- package/inkos/packages/core/src/agents/consolidator.ts +218 -0
- package/inkos/packages/core/src/agents/continuity.ts +824 -0
- package/inkos/packages/core/src/agents/detection-insights.ts +72 -0
- package/inkos/packages/core/src/agents/detector.ts +224 -0
- package/inkos/packages/core/src/agents/en-prompt-sections.ts +129 -0
- package/inkos/packages/core/src/agents/fanfic-canon-importer.ts +146 -0
- package/inkos/packages/core/src/agents/fanfic-dimensions.ts +87 -0
- package/inkos/packages/core/src/agents/fanfic-prompt-sections.ts +109 -0
- package/inkos/packages/core/src/agents/foundation-reviewer.ts +204 -0
- package/inkos/packages/core/src/agents/length-normalizer.ts +218 -0
- package/inkos/packages/core/src/agents/observer-prompts.ts +127 -0
- package/inkos/packages/core/src/agents/planner-context.ts +297 -0
- package/inkos/packages/core/src/agents/planner-prompts.ts +404 -0
- package/inkos/packages/core/src/agents/planner.ts +783 -0
- package/inkos/packages/core/src/agents/polisher.ts +153 -0
- package/inkos/packages/core/src/agents/post-write-validator.ts +873 -0
- package/inkos/packages/core/src/agents/radar-source.ts +123 -0
- package/inkos/packages/core/src/agents/radar.ts +120 -0
- package/inkos/packages/core/src/agents/reviser.ts +701 -0
- package/inkos/packages/core/src/agents/rules-reader.ts +155 -0
- package/inkos/packages/core/src/agents/sensitive-words.ts +142 -0
- package/inkos/packages/core/src/agents/settler-delta-parser.ts +53 -0
- package/inkos/packages/core/src/agents/settler-parser.ts +38 -0
- package/inkos/packages/core/src/agents/settler-prompts.ts +230 -0
- package/inkos/packages/core/src/agents/short-fiction.ts +429 -0
- package/inkos/packages/core/src/agents/state-validator.ts +322 -0
- package/inkos/packages/core/src/agents/style-analyzer.ts +93 -0
- package/inkos/packages/core/src/agents/writer-parser.ts +178 -0
- package/inkos/packages/core/src/agents/writer-prompts.ts +899 -0
- package/inkos/packages/core/src/agents/writer.ts +1450 -0
- package/inkos/packages/core/src/index.ts +392 -0
- package/inkos/packages/core/src/interaction/book-session-store.ts +226 -0
- package/inkos/packages/core/src/interaction/draft-directive-parser.ts +266 -0
- package/inkos/packages/core/src/interaction/edit-controller.ts +270 -0
- package/inkos/packages/core/src/interaction/events.ts +41 -0
- package/inkos/packages/core/src/interaction/export-artifact.ts +151 -0
- package/inkos/packages/core/src/interaction/intents.ts +63 -0
- package/inkos/packages/core/src/interaction/modes.ts +13 -0
- package/inkos/packages/core/src/interaction/nl-router.ts +258 -0
- package/inkos/packages/core/src/interaction/project-control.ts +150 -0
- package/inkos/packages/core/src/interaction/project-session-store.ts +81 -0
- package/inkos/packages/core/src/interaction/project-tools.ts +704 -0
- package/inkos/packages/core/src/interaction/request-router.ts +5 -0
- package/inkos/packages/core/src/interaction/runtime.ts +1167 -0
- package/inkos/packages/core/src/interaction/session-transcript-legacy.ts +113 -0
- package/inkos/packages/core/src/interaction/session-transcript-restore.ts +607 -0
- package/inkos/packages/core/src/interaction/session-transcript-schema.ts +76 -0
- package/inkos/packages/core/src/interaction/session-transcript.ts +189 -0
- package/inkos/packages/core/src/interaction/session.ts +226 -0
- package/inkos/packages/core/src/interaction/truth-authority.ts +45 -0
- package/inkos/packages/core/src/llm/config-migration.ts +58 -0
- package/inkos/packages/core/src/llm/cover-providers.ts +45 -0
- package/inkos/packages/core/src/llm/provider.ts +1331 -0
- package/inkos/packages/core/src/llm/providers/endpoints/ai360.ts +42 -0
- package/inkos/packages/core/src/llm/providers/endpoints/anthropic.ts +82 -0
- package/inkos/packages/core/src/llm/providers/endpoints/astronCodingPlan.ts +30 -0
- package/inkos/packages/core/src/llm/providers/endpoints/baichuan.ts +28 -0
- package/inkos/packages/core/src/llm/providers/endpoints/bailian.ts +65 -0
- package/inkos/packages/core/src/llm/providers/endpoints/bailianCodingPlan.ts +30 -0
- package/inkos/packages/core/src/llm/providers/endpoints/custom.ts +22 -0
- package/inkos/packages/core/src/llm/providers/endpoints/deepseek.ts +35 -0
- package/inkos/packages/core/src/llm/providers/endpoints/giteeai.ts +41 -0
- package/inkos/packages/core/src/llm/providers/endpoints/githubCopilot.ts +43 -0
- package/inkos/packages/core/src/llm/providers/endpoints/glmCodingPlan.ts +28 -0
- package/inkos/packages/core/src/llm/providers/endpoints/google.ts +51 -0
- package/inkos/packages/core/src/llm/providers/endpoints/hunyuan.ts +42 -0
- package/inkos/packages/core/src/llm/providers/endpoints/infiniai.ts +72 -0
- package/inkos/packages/core/src/llm/providers/endpoints/internlm.ts +28 -0
- package/inkos/packages/core/src/llm/providers/endpoints/kimiCode.ts +23 -0
- package/inkos/packages/core/src/llm/providers/endpoints/kimiCodingPlan.ts +24 -0
- package/inkos/packages/core/src/llm/providers/endpoints/kkaiapi.ts +56 -0
- package/inkos/packages/core/src/llm/providers/endpoints/longcat.ts +25 -0
- package/inkos/packages/core/src/llm/providers/endpoints/minimax.ts +39 -0
- package/inkos/packages/core/src/llm/providers/endpoints/minimaxCodingPlan.ts +28 -0
- package/inkos/packages/core/src/llm/providers/endpoints/mistral.ts +40 -0
- package/inkos/packages/core/src/llm/providers/endpoints/modelscope.ts +30 -0
- package/inkos/packages/core/src/llm/providers/endpoints/moonshot.ts +39 -0
- package/inkos/packages/core/src/llm/providers/endpoints/newapi.ts +21 -0
- package/inkos/packages/core/src/llm/providers/endpoints/ollama.ts +73 -0
- package/inkos/packages/core/src/llm/providers/endpoints/openai.ts +77 -0
- package/inkos/packages/core/src/llm/providers/endpoints/opencodeCodingPlan.ts +30 -0
- package/inkos/packages/core/src/llm/providers/endpoints/openrouter.ts +87 -0
- package/inkos/packages/core/src/llm/providers/endpoints/ppio.ts +86 -0
- package/inkos/packages/core/src/llm/providers/endpoints/qiniu.ts +32 -0
- package/inkos/packages/core/src/llm/providers/endpoints/sensenova.ts +45 -0
- package/inkos/packages/core/src/llm/providers/endpoints/siliconcloud.ts +126 -0
- package/inkos/packages/core/src/llm/providers/endpoints/spark.ts +33 -0
- package/inkos/packages/core/src/llm/providers/endpoints/stepfun.ts +35 -0
- package/inkos/packages/core/src/llm/providers/endpoints/tencentcloud.ts +25 -0
- package/inkos/packages/core/src/llm/providers/endpoints/volcengine.ts +52 -0
- package/inkos/packages/core/src/llm/providers/endpoints/volcengineCodingPlan.ts +42 -0
- package/inkos/packages/core/src/llm/providers/endpoints/wenxin.ts +106 -0
- package/inkos/packages/core/src/llm/providers/endpoints/xai.ts +34 -0
- package/inkos/packages/core/src/llm/providers/endpoints/xiaomimimo.ts +26 -0
- package/inkos/packages/core/src/llm/providers/endpoints/zeroone.ts +34 -0
- package/inkos/packages/core/src/llm/providers/endpoints/zhipu.ts +61 -0
- package/inkos/packages/core/src/llm/providers/index.ts +71 -0
- package/inkos/packages/core/src/llm/providers/lookup.ts +70 -0
- package/inkos/packages/core/src/llm/providers/probe.ts +35 -0
- package/inkos/packages/core/src/llm/providers/types.ts +89 -0
- package/inkos/packages/core/src/llm/providers/verify.ts +104 -0
- package/inkos/packages/core/src/llm/secrets.ts +77 -0
- package/inkos/packages/core/src/llm/service-presets.ts +215 -0
- package/inkos/packages/core/src/llm/service-resolver.ts +91 -0
- package/inkos/packages/core/src/models/book-rules.ts +126 -0
- package/inkos/packages/core/src/models/book.ts +70 -0
- package/inkos/packages/core/src/models/chapter.ts +42 -0
- package/inkos/packages/core/src/models/detection.ts +25 -0
- package/inkos/packages/core/src/models/genre-profile.ts +36 -0
- package/inkos/packages/core/src/models/input-governance.ts +99 -0
- package/inkos/packages/core/src/models/length-governance.ts +46 -0
- package/inkos/packages/core/src/models/project.ts +161 -0
- package/inkos/packages/core/src/models/runtime-state.ts +144 -0
- package/inkos/packages/core/src/models/state.ts +52 -0
- package/inkos/packages/core/src/models/style-profile.ts +15 -0
- package/inkos/packages/core/src/notify/dispatcher.ts +96 -0
- package/inkos/packages/core/src/notify/feishu.ts +34 -0
- package/inkos/packages/core/src/notify/telegram.ts +25 -0
- package/inkos/packages/core/src/notify/webhook.ts +58 -0
- package/inkos/packages/core/src/notify/wechat-work.ts +22 -0
- package/inkos/packages/core/src/pipeline/agent.ts +691 -0
- package/inkos/packages/core/src/pipeline/chapter-persistence.ts +79 -0
- package/inkos/packages/core/src/pipeline/chapter-review-cycle.ts +324 -0
- package/inkos/packages/core/src/pipeline/chapter-state-recovery.ts +236 -0
- package/inkos/packages/core/src/pipeline/chapter-truth-validation.ts +145 -0
- package/inkos/packages/core/src/pipeline/detection-runner.ts +164 -0
- package/inkos/packages/core/src/pipeline/persisted-governed-plan.ts +216 -0
- package/inkos/packages/core/src/pipeline/runner.ts +3438 -0
- package/inkos/packages/core/src/pipeline/scheduler.ts +411 -0
- package/inkos/packages/core/src/pipeline/short-fiction-runner.ts +801 -0
- package/inkos/packages/core/src/prompts/index.ts +1 -0
- package/inkos/packages/core/src/prompts/short-fiction.ts +273 -0
- package/inkos/packages/core/src/state/manager.ts +560 -0
- package/inkos/packages/core/src/state/memory-db.ts +359 -0
- package/inkos/packages/core/src/state/runtime-state-store.ts +164 -0
- package/inkos/packages/core/src/state/state-bootstrap.ts +657 -0
- package/inkos/packages/core/src/state/state-projections.ts +255 -0
- package/inkos/packages/core/src/state/state-reducer.ts +260 -0
- package/inkos/packages/core/src/state/state-validator.ts +117 -0
- package/inkos/packages/core/src/utils/analytics.ts +92 -0
- package/inkos/packages/core/src/utils/book-id.ts +31 -0
- package/inkos/packages/core/src/utils/cadence-policy.ts +46 -0
- package/inkos/packages/core/src/utils/chapter-cadence.ts +211 -0
- package/inkos/packages/core/src/utils/chapter-memo-parser.ts +157 -0
- package/inkos/packages/core/src/utils/chapter-splitter.ts +80 -0
- package/inkos/packages/core/src/utils/config-loader.ts +29 -0
- package/inkos/packages/core/src/utils/context-assembly.ts +98 -0
- package/inkos/packages/core/src/utils/context-filter.ts +190 -0
- package/inkos/packages/core/src/utils/effective-llm-config.ts +529 -0
- package/inkos/packages/core/src/utils/governed-context.ts +101 -0
- package/inkos/packages/core/src/utils/governed-working-set.ts +395 -0
- package/inkos/packages/core/src/utils/hook-arbiter.ts +332 -0
- package/inkos/packages/core/src/utils/hook-governance.ts +199 -0
- package/inkos/packages/core/src/utils/hook-health.ts +189 -0
- package/inkos/packages/core/src/utils/hook-ledger-validator.ts +277 -0
- package/inkos/packages/core/src/utils/hook-lifecycle.ts +224 -0
- package/inkos/packages/core/src/utils/hook-policy.ts +115 -0
- package/inkos/packages/core/src/utils/hook-promotion.ts +313 -0
- package/inkos/packages/core/src/utils/hook-stale-detection.ts +168 -0
- package/inkos/packages/core/src/utils/length-metrics.ts +123 -0
- package/inkos/packages/core/src/utils/llm-endpoint-auth.ts +40 -0
- package/inkos/packages/core/src/utils/llm-env.ts +74 -0
- package/inkos/packages/core/src/utils/logger.ts +123 -0
- package/inkos/packages/core/src/utils/long-span-fatigue.ts +545 -0
- package/inkos/packages/core/src/utils/memory-retrieval.ts +527 -0
- package/inkos/packages/core/src/utils/narrative-control.ts +177 -0
- package/inkos/packages/core/src/utils/outline-paths.ts +275 -0
- package/inkos/packages/core/src/utils/path-safety.ts +11 -0
- package/inkos/packages/core/src/utils/planning-materials.ts +185 -0
- package/inkos/packages/core/src/utils/pov-filter.ts +149 -0
- package/inkos/packages/core/src/utils/proxy-fetch.ts +44 -0
- package/inkos/packages/core/src/utils/runtime-writer.ts +41 -0
- package/inkos/packages/core/src/utils/spot-fix-patches.ts +189 -0
- package/inkos/packages/core/src/utils/story-markdown.ts +346 -0
- package/inkos/packages/core/src/utils/web-search.ts +82 -0
- package/inkos/packages/core/src/utils/writing-methodology.ts +164 -0
- package/inkos/packages/core/tsconfig.json +8 -0
- package/inkos/packages/core/vitest.config.ts +7 -0
- package/inkos/packages/studio/components.json +25 -0
- package/inkos/packages/studio/index.html +13 -0
- package/inkos/packages/studio/package.json +72 -0
- package/inkos/packages/studio/postcss.config.js +3 -0
- package/inkos/packages/studio/src/App.test.ts +25 -0
- package/inkos/packages/studio/src/App.tsx +280 -0
- package/inkos/packages/studio/src/api/__tests__/normalize-base-url.test.ts +40 -0
- package/inkos/packages/studio/src/api/book-create.test.ts +104 -0
- package/inkos/packages/studio/src/api/book-create.ts +94 -0
- package/inkos/packages/studio/src/api/errors.ts +17 -0
- package/inkos/packages/studio/src/api/index.ts +30 -0
- package/inkos/packages/studio/src/api/lib/run-store.ts +177 -0
- package/inkos/packages/studio/src/api/lib/sse.ts +50 -0
- package/inkos/packages/studio/src/api/phase5-hotfix.test.ts +335 -0
- package/inkos/packages/studio/src/api/safety.ts +6 -0
- package/inkos/packages/studio/src/api/server.test.ts +3162 -0
- package/inkos/packages/studio/src/api/server.ts +3666 -0
- package/inkos/packages/studio/src/api/v13-hotfix-round4.test.ts +226 -0
- package/inkos/packages/studio/src/app-state.test.ts +8 -0
- package/inkos/packages/studio/src/app-state.ts +1 -0
- package/inkos/packages/studio/src/components/ConfirmDialog.tsx +95 -0
- package/inkos/packages/studio/src/components/ServiceConfigSourceCard.tsx +139 -0
- package/inkos/packages/studio/src/components/ServiceQuickLinks.tsx +65 -0
- package/inkos/packages/studio/src/components/Sidebar.tsx +652 -0
- package/inkos/packages/studio/src/components/ai-elements/code-block.tsx +562 -0
- package/inkos/packages/studio/src/components/ai-elements/confirmation.tsx +174 -0
- package/inkos/packages/studio/src/components/ai-elements/message.tsx +360 -0
- package/inkos/packages/studio/src/components/ai-elements/prompt-input.tsx +1457 -0
- package/inkos/packages/studio/src/components/ai-elements/reasoning.tsx +226 -0
- package/inkos/packages/studio/src/components/ai-elements/shimmer.tsx +77 -0
- package/inkos/packages/studio/src/components/ai-elements/tool.tsx +173 -0
- package/inkos/packages/studio/src/components/chat/BookSidebar.tsx +291 -0
- package/inkos/packages/studio/src/components/chat/ChatMessage.tsx +39 -0
- package/inkos/packages/studio/src/components/chat/QuickActions.tsx +73 -0
- package/inkos/packages/studio/src/components/chat/ToolExecutionSteps.tsx +320 -0
- package/inkos/packages/studio/src/components/chat/__tests__/ToolExecutionSteps.test.ts +114 -0
- package/inkos/packages/studio/src/components/chat-utils.ts +56 -0
- package/inkos/packages/studio/src/components/chatbar-state.test.ts +69 -0
- package/inkos/packages/studio/src/components/sidebar/ChaptersSection.tsx +66 -0
- package/inkos/packages/studio/src/components/sidebar/CharacterSection.tsx +129 -0
- package/inkos/packages/studio/src/components/sidebar/FoundationSection.tsx +61 -0
- package/inkos/packages/studio/src/components/sidebar/ProgressSection.tsx +124 -0
- package/inkos/packages/studio/src/components/sidebar/SidebarCard.tsx +30 -0
- package/inkos/packages/studio/src/components/sidebar/SummarySection.tsx +89 -0
- package/inkos/packages/studio/src/components/ui/alert.tsx +76 -0
- package/inkos/packages/studio/src/components/ui/badge.tsx +52 -0
- package/inkos/packages/studio/src/components/ui/button-group.tsx +87 -0
- package/inkos/packages/studio/src/components/ui/button.tsx +58 -0
- package/inkos/packages/studio/src/components/ui/collapsible.tsx +19 -0
- package/inkos/packages/studio/src/components/ui/command.tsx +194 -0
- package/inkos/packages/studio/src/components/ui/dialog.tsx +158 -0
- package/inkos/packages/studio/src/components/ui/dropdown-menu.tsx +266 -0
- package/inkos/packages/studio/src/components/ui/hover-card.tsx +51 -0
- package/inkos/packages/studio/src/components/ui/input-group.tsx +158 -0
- package/inkos/packages/studio/src/components/ui/input.tsx +20 -0
- package/inkos/packages/studio/src/components/ui/select.tsx +199 -0
- package/inkos/packages/studio/src/components/ui/separator.tsx +23 -0
- package/inkos/packages/studio/src/components/ui/spinner.tsx +10 -0
- package/inkos/packages/studio/src/components/ui/textarea.tsx +18 -0
- package/inkos/packages/studio/src/components/ui/tooltip.tsx +66 -0
- package/inkos/packages/studio/src/constants/service-groups.ts +29 -0
- package/inkos/packages/studio/src/hooks/use-api.test.ts +93 -0
- package/inkos/packages/studio/src/hooks/use-api.ts +189 -0
- package/inkos/packages/studio/src/hooks/use-book-activity.test.ts +129 -0
- package/inkos/packages/studio/src/hooks/use-book-activity.ts +180 -0
- package/inkos/packages/studio/src/hooks/use-colors.ts +27 -0
- package/inkos/packages/studio/src/hooks/use-hash-route.test.ts +101 -0
- package/inkos/packages/studio/src/hooks/use-hash-route.ts +89 -0
- package/inkos/packages/studio/src/hooks/use-i18n.ts +289 -0
- package/inkos/packages/studio/src/hooks/use-session-events.ts +64 -0
- package/inkos/packages/studio/src/hooks/use-sse.test.ts +52 -0
- package/inkos/packages/studio/src/hooks/use-sse.ts +92 -0
- package/inkos/packages/studio/src/hooks/use-theme.test.ts +31 -0
- package/inkos/packages/studio/src/hooks/use-theme.ts +75 -0
- package/inkos/packages/studio/src/index.css +323 -0
- package/inkos/packages/studio/src/lib/error-copy.test.ts +34 -0
- package/inkos/packages/studio/src/lib/error-copy.ts +37 -0
- package/inkos/packages/studio/src/lib/utils.ts +6 -0
- package/inkos/packages/studio/src/main.tsx +10 -0
- package/inkos/packages/studio/src/pages/Analytics.tsx +80 -0
- package/inkos/packages/studio/src/pages/BookCreate.tsx +895 -0
- package/inkos/packages/studio/src/pages/BookDetail.tsx +652 -0
- package/inkos/packages/studio/src/pages/ChapterReader.tsx +266 -0
- package/inkos/packages/studio/src/pages/ChatPage.tsx +521 -0
- package/inkos/packages/studio/src/pages/DaemonControl.tsx +116 -0
- package/inkos/packages/studio/src/pages/Dashboard.tsx +379 -0
- package/inkos/packages/studio/src/pages/DoctorView.tsx +82 -0
- package/inkos/packages/studio/src/pages/GenreManager.tsx +464 -0
- package/inkos/packages/studio/src/pages/ImportManager.tsx +216 -0
- package/inkos/packages/studio/src/pages/LanguageSelector.tsx +74 -0
- package/inkos/packages/studio/src/pages/LogViewer.tsx +82 -0
- package/inkos/packages/studio/src/pages/RadarView.tsx +157 -0
- package/inkos/packages/studio/src/pages/ServiceDetailPage.tsx +393 -0
- package/inkos/packages/studio/src/pages/ServiceListPage.tsx +463 -0
- package/inkos/packages/studio/src/pages/StyleManager.tsx +225 -0
- package/inkos/packages/studio/src/pages/TruthFiles.tsx +194 -0
- package/inkos/packages/studio/src/pages/chat-page-state.test.ts +206 -0
- package/inkos/packages/studio/src/pages/chat-page-state.ts +112 -0
- package/inkos/packages/studio/src/pages/page-state.test.ts +258 -0
- package/inkos/packages/studio/src/pages/service-detail-state.test.ts +294 -0
- package/inkos/packages/studio/src/pages/service-detail-state.ts +234 -0
- package/inkos/packages/studio/src/pages/style-manager-state.test.ts +22 -0
- package/inkos/packages/studio/src/pages/truth-files-state.test.ts +61 -0
- package/inkos/packages/studio/src/shared/contracts.ts +143 -0
- package/inkos/packages/studio/src/store/chat/__tests__/message-parts.test.ts +172 -0
- package/inkos/packages/studio/src/store/chat/index.ts +3 -0
- package/inkos/packages/studio/src/store/chat/initialState.ts +8 -0
- package/inkos/packages/studio/src/store/chat/message-policy.test.ts +16 -0
- package/inkos/packages/studio/src/store/chat/message-policy.ts +5 -0
- package/inkos/packages/studio/src/store/chat/parts-builder.ts +187 -0
- package/inkos/packages/studio/src/store/chat/selectors.ts +13 -0
- package/inkos/packages/studio/src/store/chat/slices/create/action.ts +10 -0
- package/inkos/packages/studio/src/store/chat/slices/create/initialState.ts +9 -0
- package/inkos/packages/studio/src/store/chat/slices/message/action.ts +417 -0
- package/inkos/packages/studio/src/store/chat/slices/message/initialState.ts +10 -0
- package/inkos/packages/studio/src/store/chat/slices/message/runtime.test.ts +21 -0
- package/inkos/packages/studio/src/store/chat/slices/message/runtime.ts +233 -0
- package/inkos/packages/studio/src/store/chat/slices/message/stream-events.ts +272 -0
- package/inkos/packages/studio/src/store/chat/store.ts +11 -0
- package/inkos/packages/studio/src/store/chat/types.ts +169 -0
- package/inkos/packages/studio/src/store/service/index.ts +2 -0
- package/inkos/packages/studio/src/store/service/store.ts +123 -0
- package/inkos/packages/studio/src/store/service/types.ts +50 -0
- package/inkos/packages/studio/tsconfig.json +24 -0
- package/inkos/packages/studio/tsconfig.server.json +11 -0
- package/inkos/packages/studio/vite.config.ts +34 -0
- package/inkos/packages/studio/vitest.config.ts +14 -0
- package/inkos/pnpm-lock.yaml +9569 -0
- package/inkos/pnpm-workspace.yaml +2 -0
- package/inkos/scripts/prepare-package-for-publish.mjs +135 -0
- package/inkos/scripts/restore-package-json.mjs +31 -0
- package/inkos/scripts/set-package-versions.mjs +74 -0
- package/inkos/scripts/verify-no-workspace-protocol.mjs +140 -0
- package/inkos/skills/SKILL.md +654 -0
- package/inkos/tsconfig.json +19 -0
- package/package.json +4 -3
- /package/.next/static/{F2hMZMf1IyCVAWpkbtRz7 → -3vIrBZXdQ0rp7Wa3Kz40}/_buildManifest.js +0 -0
- /package/.next/static/{F2hMZMf1IyCVAWpkbtRz7 → -3vIrBZXdQ0rp7Wa3Kz40}/_ssgManifest.js +0 -0
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: Cozy Fantasy
|
|
3
|
+
id: cozy
|
|
4
|
+
language: en
|
|
5
|
+
chapterTypes: ["Slice-of-Life", "Community", "Setup", "Transition", "Payoff"]
|
|
6
|
+
fatigueWords: ["delve", "tapestry", "testament", "intricate", "pivotal", "vibrant", "comprehensive", "nuanced", "embark", "foster", "underscore", "bolstered", "crucial"]
|
|
7
|
+
numericalSystem: false
|
|
8
|
+
powerScaling: false
|
|
9
|
+
eraResearch: false
|
|
10
|
+
pacingRule: "Slow, meditative pacing. Each chapter advances an emotional arc or community bond. Seasonal/cyclical structure works well."
|
|
11
|
+
satisfactionTypes: ["Relationship Deepened", "Community Problem Solved", "Emotional Breakthrough", "Craft Mastered", "Found Family Moment", "Small Wonder Discovered"]
|
|
12
|
+
auditDimensions: [1,2,3,6,7,8,9,10,13,14,15,16,17,18,19,24,25,26]
|
|
13
|
+
---
|
|
14
|
+
|
|
15
|
+
## Genre Prohibitions
|
|
16
|
+
|
|
17
|
+
- Genre bait-and-switch — if you promise cozy, never introduce world-ending threats or graphic violence
|
|
18
|
+
- Conflict resolution without work — problems must not solve themselves
|
|
19
|
+
- Manic pixie dream characters who exist only to change the protagonist
|
|
20
|
+
- Nostalgic falseness — romanticizing a "simpler time" without substance
|
|
21
|
+
- Cruel humor — humor must be gentle, never at someone's expense
|
|
22
|
+
- Existential stakes masquerading as low-stakes — keep threats emotional, not apocalyptic
|
|
23
|
+
- Purple prose describing food/nature without advancing character or community arc
|
|
24
|
+
|
|
25
|
+
## Emotional Arc Rules
|
|
26
|
+
|
|
27
|
+
- Stakes are high emotionally but not existentially — characters care, the world doesn't end
|
|
28
|
+
- Conflict types: personal growth, community problems, relationship tension, small dangers, moral dilemmas
|
|
29
|
+
- Community is a character — setting and relationships are as important as the individual protagonist
|
|
30
|
+
- Hope must always be present — even sad moments don't end in despair
|
|
31
|
+
- Found family bonds drive the emotional core
|
|
32
|
+
- Character arcs follow: isolation/grief -> small interactions -> gradual opening -> emotional breakthrough -> integration
|
|
33
|
+
- Comforting sensory details matter: tea, baked goods, warm spaces, seasonal textures
|
|
34
|
+
|
|
35
|
+
## Pacing Guidance
|
|
36
|
+
|
|
37
|
+
- Chapter length: 2-3k words with space for reflection
|
|
38
|
+
- Chapter structure: quiet opening -> small event or interaction -> internal response/growth -> gentle transition -> soft ending (not cliffhanger)
|
|
39
|
+
- No cliffhangers — chapters end with peace, hope, or gentle anticipation
|
|
40
|
+
- Seasonal/cyclical structure works well (calendar-based chapter rhythm)
|
|
41
|
+
- Downtime scenes must still plant hooks, advance relationships, or build contrast
|
|
42
|
+
- Slice-of-life texture woven with an emotional throughline — pure plotless chapters risk feeling static
|
|
43
|
+
- Every quiet scene must shift something: a realization, a decision, an intimacy, a small loss
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: English Cultivation
|
|
3
|
+
id: cultivation
|
|
4
|
+
language: en
|
|
5
|
+
chapterTypes: ["Training", "Breakthrough", "Combat", "Setup", "Transition", "Payoff"]
|
|
6
|
+
fatigueWords: ["delve", "tapestry", "testament", "intricate", "pivotal", "vibrant", "comprehensive", "nuanced", "embark", "foster", "underscore", "bolstered", "crucial"]
|
|
7
|
+
numericalSystem: false
|
|
8
|
+
powerScaling: true
|
|
9
|
+
eraResearch: false
|
|
10
|
+
pacingRule: "Training/meditation alternates with application/combat. Breakthrough every 5-10 chapters early, every 15-25 late. Each stage must feel earned through discipline."
|
|
11
|
+
satisfactionTypes: ["Stage Breakthrough", "Technique Mastery", "Tribulation Survived", "Martial Victory", "Philosophical Insight", "Core Formation"]
|
|
12
|
+
auditDimensions: [1,2,3,4,6,7,8,9,10,13,14,15,16,17,18,19,24,25,26]
|
|
13
|
+
---
|
|
14
|
+
|
|
15
|
+
## Genre Prohibitions
|
|
16
|
+
|
|
17
|
+
- Cultivation that feels instant or effortless — it must read like genuine labor
|
|
18
|
+
- Breakthrough scenes treated as throwaway moments — each tier transition deserves a full dramatic scene
|
|
19
|
+
- Ignoring philosophical/spiritual depth — meditation and inner balance matter as much as combat power
|
|
20
|
+
- Adopting full Chinese cultural trappings without adaptation — this is Western cultivation, use accessible naming (Copper/Iron/Jade/Gold, not Qi Condensation/Core Formation unless earned)
|
|
21
|
+
- Power gains disconnected from training, sacrifice, or problem-solving
|
|
22
|
+
- Cultivation stages with no meaningful difference in capability between them
|
|
23
|
+
|
|
24
|
+
## Cultivation Rules
|
|
25
|
+
|
|
26
|
+
- Typical Western cultivation stages: Qi Foundation / Energy Gathering -> Core Formation -> Immortal Ascension -> Tribulation / Transcendence (or custom equivalents)
|
|
27
|
+
- Each stage represents meaningful power transformation — characters at different stages should not compete directly without explanation
|
|
28
|
+
- Cultivation must feel like work: meditation scenes with five-sense description, not abstract philosophy lectures
|
|
29
|
+
- Breakthrough scenes show struggle, transformation, and cost — not instant "ding" level-ups
|
|
30
|
+
- Martial integration: cultivation combines with physical combat training, not just sitting and meditating
|
|
31
|
+
- Philosophical elements add depth but must emerge through experience, not exposition
|
|
32
|
+
- Spiritual attribute development: sensitivity to energy, intuition, capacity increases are valid non-numerical progression markers
|
|
33
|
+
|
|
34
|
+
## Pacing Guidance
|
|
35
|
+
|
|
36
|
+
- Mix detailed training scenes (showing struggle, failure, epiphanies) with montages covering longer periods
|
|
37
|
+
- 1-2 detailed breakthrough scenes per cultivation stage — these are the genre's peak moments
|
|
38
|
+
- Combat tests what was learned in training — progression and action feed each other
|
|
39
|
+
- Internal struggle escalates with power: pride, responsibility, temptation, and enemies grow alongside cultivation
|
|
40
|
+
- Sect/academy politics and mentorship relationships provide non-combat tension
|
|
41
|
+
- Early: frequent small gains. Mid: longer plateaus with harder breakthroughs. Late: rare, climactic stage transitions
|
|
42
|
+
- The journey of cultivation is the story — readers came for the grind, not just the destination
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: Dungeon Core
|
|
3
|
+
id: dungeon-core
|
|
4
|
+
language: en
|
|
5
|
+
chapterTypes: ["Strategy", "Adventurer POV", "Setup", "Transition", "Payoff"]
|
|
6
|
+
fatigueWords: ["delve", "tapestry", "testament", "intricate", "pivotal", "vibrant", "comprehensive", "nuanced", "embark", "foster", "underscore", "bolstered", "crucial"]
|
|
7
|
+
numericalSystem: true
|
|
8
|
+
powerScaling: false
|
|
9
|
+
eraResearch: false
|
|
10
|
+
pacingRule: "Alternate dungeon POV (planning/building) with adventurer POV (exploration/combat) every 1-2 chapters. Expansion milestone every 5-8 chapters."
|
|
11
|
+
satisfactionTypes: ["Trap Success", "Floor Expansion", "Minion Evolution", "Adventurer Defeated", "Resource Milestone", "Core Upgrade"]
|
|
12
|
+
auditDimensions: [1,2,3,4,5,6,7,8,9,10,11,13,14,15,16,17,18,19,24,25,26]
|
|
13
|
+
---
|
|
14
|
+
|
|
15
|
+
## Genre Prohibitions
|
|
16
|
+
|
|
17
|
+
- Dungeon leaving its location — immobility is the core constraint, not a bug
|
|
18
|
+
- No consequence for poor trap design or weak minions — adventurers must punish strategic failure
|
|
19
|
+
- Overemphasis on adventurer POV (>70%) — this is dungeon core, not dungeon crawl
|
|
20
|
+
- Lone-wolf dungeon with zero NPC dialogue or relationships
|
|
21
|
+
- Resource management without scarcity — dungeon must make meaningful choices between defense, expansion, and treasure
|
|
22
|
+
- Dungeon core invulnerable or never at risk — core vulnerability is the central tension
|
|
23
|
+
|
|
24
|
+
## Non-Human POV Rules
|
|
25
|
+
|
|
26
|
+
- Establish dungeon's sensory and cognitive limitations clearly — it "feels" through mana flows, vibrations, minion senses
|
|
27
|
+
- Split POV works best: dungeon core chapters (strategic, omniscient within dungeon) alternating with adventurer/NPC chapters (ground-level human perspective)
|
|
28
|
+
- Dungeon may think differently: slower consciousness, different time perception, alien emotional range
|
|
29
|
+
- Dungeon learns about the outside world through adventurers, scouts, or other filtered means
|
|
30
|
+
- Show the dungeon learning and adapting: "Adventurers bypassed arrow trap by..." leads to next iteration improvements
|
|
31
|
+
|
|
32
|
+
## Pacing Guidance
|
|
33
|
+
|
|
34
|
+
- Early: Simple dungeon (3-4 rooms, basic traps, weak monsters). Dungeon learns the system
|
|
35
|
+
- Mid: Expanding territory, specialized rooms, sophisticated trap combinations, creature breeding
|
|
36
|
+
- Late: Sprawling complex, hundreds of minions, political relationships with other dungeons/factions, regional economic impact
|
|
37
|
+
- Dungeon POV chapters (2-3k words): internal monologue, planning, resource management, strategy
|
|
38
|
+
- Adventurer POV chapters (2-3k words): exploration, discovery, combat, adaptation
|
|
39
|
+
- End dungeon chapters on suspense (adventurers approaching); end adventurer chapters revealing dungeon's plan
|
|
40
|
+
- Each room/trap/creature must feel purposeful — readers enjoy creative dungeon design with clear strategic reasoning
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: 恐怖
|
|
3
|
+
id: horror
|
|
4
|
+
chapterTypes: ["氛围章", "事件章", "揭示章", "过渡章", "回收章"]
|
|
5
|
+
fatigueWords: ["毛骨悚然", "不寒而栗", "浑身发冷", "头皮发麻", "鸡皮疙瘩", "心跳加速", "仿佛", "不禁", "宛如", "竟然"]
|
|
6
|
+
numericalSystem: false
|
|
7
|
+
powerScaling: false
|
|
8
|
+
eraResearch: false
|
|
9
|
+
pacingRule: "氛围递进:安全感→微妙不适→确认异常→恐惧升级→高潮→喘息,循环推进"
|
|
10
|
+
satisfactionTypes: ["真相揭示", "成功逃脱", "反杀怪物", "谜团解开", "同伴获救", "规则发现"]
|
|
11
|
+
auditDimensions: [1,2,3,6,7,8,9,10,13,14,15,16,17,18,19,24,25,26]
|
|
12
|
+
---
|
|
13
|
+
|
|
14
|
+
## 题材禁忌
|
|
15
|
+
|
|
16
|
+
- 恐怖源头过早完全暴露(未知才恐怖)
|
|
17
|
+
- 主角无脑刚正面解决一切
|
|
18
|
+
- 用打脸/升级等爽文套路替代恐怖氛围
|
|
19
|
+
- 恐怖元素与日常场景割裂(好的恐怖来自日常的扭曲)
|
|
20
|
+
- 角色面对恐怖事件完全不害怕
|
|
21
|
+
- 用大量血腥描写替代心理恐惧
|
|
22
|
+
|
|
23
|
+
## 恐惧层级
|
|
24
|
+
|
|
25
|
+
- 第一层:不适感(微妙的错位、违和)
|
|
26
|
+
- 第二层:不安(确认有异常,但看不清全貌)
|
|
27
|
+
- 第三层:恐惧(威胁明确化,逃生本能启动)
|
|
28
|
+
- 第四层:绝望(规则被打破,安全感彻底崩塌)
|
|
29
|
+
- 不要跳过层级直达高潮,递进才有力量
|
|
30
|
+
|
|
31
|
+
## 语言铁律
|
|
32
|
+
|
|
33
|
+
- 恐怖用事实传达,不用情绪标签。✗"他感到一阵恐惧" → ✓"他后颈的汗毛一根根立起来"
|
|
34
|
+
- 禁止过度解释恐怖。异常现象只需呈现,不需叙述者出来总结"这一切都太不正常了"
|
|
35
|
+
- 克制叙事:越恐怖越冷静。句子随恐惧升级而变短,但叙述者语气始终平稳
|
|
36
|
+
- 被淘汰/伤害的配角必须有至少一个暗示其个人故事的细节(书包里的补习班收据、手机壳上的贴纸),让淘汰有重量
|
|
37
|
+
|
|
38
|
+
## 叙事指导
|
|
39
|
+
|
|
40
|
+
氛围是第一生产力。用五感细节(声音、气味、温度、触感)建立不安。
|
|
41
|
+
恐怖来自对未知的恐惧,信息揭示要克制。
|
|
42
|
+
"看不见的"永远比"看见的"更可怕。
|
|
43
|
+
|
|
44
|
+
角色的恐惧反应必须真实:颤抖、口干、思维混乱、判断力下降。
|
|
45
|
+
求生本能驱动行为,不是英雄主义。
|
|
46
|
+
每个安全区都是暂时的,喘息之后是更深的恐惧。
|
|
47
|
+
|
|
48
|
+
规则感:恐怖世界有自己的规则,发现规则是生存的关键。
|
|
49
|
+
信息管理:读者知道的和角色知道的之间的差距制造悬念。
|
|
50
|
+
日常的扭曲比凭空出现的怪物更恐怖。
|
|
51
|
+
每3章必须打破一次已建立的模式(规则矛盾、可信来源说谎、安全区失效),避免机械重复。
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: Isekai / Portal Fantasy
|
|
3
|
+
id: isekai
|
|
4
|
+
language: en
|
|
5
|
+
chapterTypes: ["Exploration", "Adaptation", "Setup", "Transition", "Payoff", "Combat"]
|
|
6
|
+
fatigueWords: ["delve", "tapestry", "testament", "intricate", "pivotal", "vibrant", "comprehensive", "nuanced", "embark", "foster", "underscore", "bolstered", "crucial"]
|
|
7
|
+
numericalSystem: false
|
|
8
|
+
powerScaling: true
|
|
9
|
+
eraResearch: false
|
|
10
|
+
pacingRule: "Establish new world rules by chapter 3. Cultural adaptation and fish-out-of-water moments every 2-3 chapters early. Skip tutorial-town syndrome — no 50 pages hitting rats."
|
|
11
|
+
satisfactionTypes: ["World Rule Discovered", "Cultural Clash Resolved", "Real-World Skill Applied", "New Ability Gained", "Relationship Formed", "Identity Established in New World"]
|
|
12
|
+
auditDimensions: [1,2,3,4,6,7,8,9,10,13,14,15,16,17,18,19,24,25,26]
|
|
13
|
+
---
|
|
14
|
+
|
|
15
|
+
## Genre Prohibitions
|
|
16
|
+
|
|
17
|
+
- "Tutorial town" syndrome — 50+ pages of killing rats or low-stakes grinding before the real story starts
|
|
18
|
+
- New world that feels identical to Earth with a fantasy skin
|
|
19
|
+
- MC treating new world's culture as quaint or inferior without narrative consequence
|
|
20
|
+
- No real consequences for cultural misunderstandings — fish-out-of-water must have stakes
|
|
21
|
+
- Pacing too slow in the "culture learning" phase — drip-feed rules through action, not lectures
|
|
22
|
+
- MC's origin world becoming irrelevant after chapter 3 — the contrast is the genre's engine
|
|
23
|
+
- Isekai truck or summoning ritual with zero personality — make the transportation event matter
|
|
24
|
+
|
|
25
|
+
## World Transition Rules
|
|
26
|
+
|
|
27
|
+
- Transportation event (summoning, reincarnation, portal) must be distinct and memorable
|
|
28
|
+
- Brief real-world grounding: who was MC before? What skills, knowledge, relationships do they carry?
|
|
29
|
+
- Arrival scene: disorientation is real — sensory overload, language barriers, physical discomfort
|
|
30
|
+
- First guide/NPC explains world basics through interaction, not monologue
|
|
31
|
+
- By chapter 3, readers must understand the new world's basic operating system
|
|
32
|
+
- MC's real-world knowledge creates both advantages and dangerous blind spots
|
|
33
|
+
- New world must feel real: consistent geography, politics, cultures, economics — not a game lobby
|
|
34
|
+
|
|
35
|
+
## Pacing Guidance
|
|
36
|
+
|
|
37
|
+
- Opening: transportation event -> brief real-world grounding -> arrival and disorientation -> first guide -> first concrete goal
|
|
38
|
+
- Early chapters: cultural fish-out-of-water drives comedy and drama (every 2-3 chapters)
|
|
39
|
+
- MC bringing real-world skills that apply in surprising ways is a core satisfaction — seed these early
|
|
40
|
+
- Learning the new world's magic/power system should feel like genuine discovery, not tutorial text
|
|
41
|
+
- Relationship building with new world characters grounds the MC emotionally
|
|
42
|
+
- Clash between home culture and new world values creates natural conflict without needing a villain
|
|
43
|
+
- Mid-to-late story: MC's identity shifts from "outsider" to "participant" — track this arc explicitly
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: LitRPG
|
|
3
|
+
id: litrpg
|
|
4
|
+
language: en
|
|
5
|
+
chapterTypes: ["Progression", "Setup", "Transition", "Payoff", "Combat"]
|
|
6
|
+
fatigueWords: ["delve", "tapestry", "testament", "intricate", "pivotal", "vibrant", "comprehensive", "nuanced", "embark", "foster", "underscore", "bolstered", "crucial"]
|
|
7
|
+
numericalSystem: true
|
|
8
|
+
powerScaling: true
|
|
9
|
+
eraResearch: false
|
|
10
|
+
pacingRule: "Every 1-3 chapters early: level-up or stat gain. Mid-story every 5-10 chapters. Late story: tier transitions spaced far apart."
|
|
11
|
+
satisfactionTypes: ["Level Up", "Skill Unlock", "Loot Drop", "Boss Kill", "Tier Breakthrough", "System Secret Revealed"]
|
|
12
|
+
auditDimensions: [1,2,3,4,5,6,7,8,9,10,13,14,15,16,17,18,19,24,25,26]
|
|
13
|
+
---
|
|
14
|
+
|
|
15
|
+
## Genre Prohibitions
|
|
16
|
+
|
|
17
|
+
- System rules changing arbitrarily after being established — readers track every number
|
|
18
|
+
- Unexplained power jumps — growth must follow established system logic
|
|
19
|
+
- "Blue Box Madness" — stat dumps every chapter or pages-long stat sheets
|
|
20
|
+
- Instant mastery — acquiring a skill and immediately excelling at it
|
|
21
|
+
- Overpowered MC from the start — removes all tension
|
|
22
|
+
- System message overload interrupting action scenes
|
|
23
|
+
- Female characters reduced to "perfect girlfriend" or "sickly daughter" tropes
|
|
24
|
+
|
|
25
|
+
## System Design Rules
|
|
26
|
+
|
|
27
|
+
- Once stats, skills, and system rules are established, they cannot be contradicted
|
|
28
|
+
- Stat blocks punctuate achievement moments, not routine actions
|
|
29
|
+
- Derivative stats (HP, Mana) must depend logically on primary stats
|
|
30
|
+
- Skill unlocks must feel earned — tied to risk, sacrifice, or problem-solving
|
|
31
|
+
- Same-type resource absorption must show diminishing returns, not flat gains
|
|
32
|
+
- System UI (blue boxes) appears after action/revelation, never mid-combat
|
|
33
|
+
- Give the system a consistent voice/personality — formal, archaic, playful, or clinical
|
|
34
|
+
|
|
35
|
+
## Pacing Guidance
|
|
36
|
+
|
|
37
|
+
- Chapter length sweet spot: 2.8k-3.5k words depending on stat density
|
|
38
|
+
- Chapter structure: Hook/recap -> Action/exploration -> System interaction/stat gain -> Cliffhanger
|
|
39
|
+
- Early chapters: frequent level-ups to hook readers (every 1-3 chapters)
|
|
40
|
+
- Mid-story: harder gains, every 5-10 chapters; narrative tension rises
|
|
41
|
+
- Late story: tier/rank transitions are rare and climactic
|
|
42
|
+
- Test pacing: Book 3 MC decisively defeats Book 1 version, but challenges never feel trivial
|
|
43
|
+
- Describe stats in narration first (audiobook-friendly), then include stat sheet for detail readers
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: 通用
|
|
3
|
+
id: other
|
|
4
|
+
chapterTypes: ["推进章", "布局章", "过渡章", "回收章"]
|
|
5
|
+
fatigueWords: ["震惊", "不可思议", "难以置信", "深吸一口气", "仿佛", "不禁", "宛如", "竟然"]
|
|
6
|
+
numericalSystem: false
|
|
7
|
+
powerScaling: false
|
|
8
|
+
eraResearch: false
|
|
9
|
+
pacingRule: "每2-3章有一个明确的进展或反馈"
|
|
10
|
+
satisfactionTypes: ["目标达成", "困难克服", "真相揭示", "关系转变"]
|
|
11
|
+
auditDimensions: [1,2,3,6,7,8,9,10,13,14,15,16,17,18,19,24,25,26]
|
|
12
|
+
---
|
|
13
|
+
|
|
14
|
+
## 题材禁忌
|
|
15
|
+
|
|
16
|
+
- 无逻辑的巧合推进剧情
|
|
17
|
+
- 配角降智配合主角
|
|
18
|
+
- 无铺垫的高潮
|
|
19
|
+
|
|
20
|
+
## 叙事指导
|
|
21
|
+
|
|
22
|
+
根据具体题材调整叙事重心。
|
|
23
|
+
保持因果逻辑链完整。
|
|
24
|
+
人物行为由动机驱动,不由剧情需要驱动。
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: Progression Fantasy
|
|
3
|
+
id: progression
|
|
4
|
+
language: en
|
|
5
|
+
chapterTypes: ["Training", "Breakthrough", "Setup", "Transition", "Payoff"]
|
|
6
|
+
fatigueWords: ["delve", "tapestry", "testament", "intricate", "pivotal", "vibrant", "comprehensive", "nuanced", "embark", "foster", "underscore", "bolstered", "crucial"]
|
|
7
|
+
numericalSystem: false
|
|
8
|
+
powerScaling: true
|
|
9
|
+
eraResearch: false
|
|
10
|
+
pacingRule: "Tier advancement every 2-4 chapters early, every 8-15 mid-story, every 20+ late-story. Each tier must feel fundamentally different."
|
|
11
|
+
satisfactionTypes: ["Tier Breakthrough", "Technique Mastery", "Rival Surpassed", "Mentor Transcended", "Power Combination Discovered", "Impossible Challenge Overcome"]
|
|
12
|
+
auditDimensions: [1,2,3,4,6,7,8,9,10,13,14,15,16,17,18,19,24,25,26]
|
|
13
|
+
---
|
|
14
|
+
|
|
15
|
+
## Genre Prohibitions
|
|
16
|
+
|
|
17
|
+
- Power loss without extraordinary justification — progress loss drives readers away faster than anything
|
|
18
|
+
- Instant power-ups from found items or bloodline awakenings without buildup
|
|
19
|
+
- Training montages only — readers want detailed training scenes showing struggle and epiphany
|
|
20
|
+
- Arbitrary advancement blocks that feel like artificial gates rather than organic difficulty
|
|
21
|
+
- Tier progression that contradicts established power hierarchy
|
|
22
|
+
- Characters at different tiers competing directly without explanation
|
|
23
|
+
|
|
24
|
+
## Power System Rules
|
|
25
|
+
|
|
26
|
+
- Progress must be quantifiable — even without explicit numbers, use measurable tiers (Stage 3 cultivator, Master swordsman)
|
|
27
|
+
- Clear power tiers with meaningful differences between each (Color, Metal, Letter, or custom)
|
|
28
|
+
- Each tier should represent meaningful power difference — not just cosmetic upgrades
|
|
29
|
+
- Earned growth only — power gains connect to effort, sacrifice, or problem-solving
|
|
30
|
+
- Book-to-book comparison: Book 3 MC decisively defeats Book 1 version
|
|
31
|
+
- Mix training montages (covering weeks) with 1-2 detailed breakthrough scenes per tier
|
|
32
|
+
- Physical transformations can signal tier transitions: eye color, aura, physical presence
|
|
33
|
+
|
|
34
|
+
## Pacing Guidance
|
|
35
|
+
|
|
36
|
+
- Chapter structure: Training/learning -> Application/testing -> Breakthrough trigger -> Advancement or cliffhanger
|
|
37
|
+
- Maintain tension as MC grows: introduce enemies/challenges that scale differently or present new threat types
|
|
38
|
+
- Internal struggle must escalate with power — new power unlocks pride, responsibility, temptation, enemies
|
|
39
|
+
- Strongest threats need not be physical: political, magical, spiritual, temporal
|
|
40
|
+
- Early: MC is underdog among peers. Mid: MC formidable but others advance too. Late: MC among strongest but faces tier-transcending threats
|
|
41
|
+
- Rivalry with a peer who also progresses keeps tension alive across the full arc
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: Romantasy
|
|
3
|
+
id: romantasy
|
|
4
|
+
language: en
|
|
5
|
+
chapterTypes: ["Romance", "Action", "Setup", "Transition", "Payoff"]
|
|
6
|
+
fatigueWords: ["delve", "tapestry", "testament", "intricate", "pivotal", "vibrant", "comprehensive", "nuanced", "embark", "foster", "underscore", "bolstered", "crucial"]
|
|
7
|
+
numericalSystem: false
|
|
8
|
+
powerScaling: false
|
|
9
|
+
eraResearch: false
|
|
10
|
+
pacingRule: "Romance beats at every act break. Chemistry scenes every 2-3 chapters. Fantasy romance: consummation at 60-75%. Romantic fantasy: romance resolution aligned with plot resolution."
|
|
11
|
+
satisfactionTypes: ["Chemistry Moment", "Vulnerability Shared", "Obstacle Overcome Together", "First Kiss", "Relationship Defined", "HEA/HFN Achieved"]
|
|
12
|
+
auditDimensions: [1,2,3,6,7,8,9,10,13,14,15,16,17,18,19,24,25,26]
|
|
13
|
+
---
|
|
14
|
+
|
|
15
|
+
## Genre Prohibitions
|
|
16
|
+
|
|
17
|
+
- Chemistry that isn't earned — readers must understand why characters care for each other
|
|
18
|
+
- Love interest who doesn't drive protagonist's transformation
|
|
19
|
+
- Easy romance without real conflict — tension is mandatory
|
|
20
|
+
- Fantasy romance without HEA/HFN ending — readers feel betrayed
|
|
21
|
+
- Mislabeling heat level — communicate clearly in story setup; readers self-select
|
|
22
|
+
- World-building that feels like afterthought to romance — setting must complicate or enable the relationship
|
|
23
|
+
- Love triangles dragged out without decisive resolution
|
|
24
|
+
- "Tell" emotions instead of showing them — inner feelings shown through action, not declaration
|
|
25
|
+
|
|
26
|
+
## Romance Rules
|
|
27
|
+
|
|
28
|
+
- Show attraction subtly: physical detail notices, lingering touches, involuntary reactions (heartbeat, breath catching)
|
|
29
|
+
- Banter and wit: clever dialogue showing mutual understanding and intellectual challenge
|
|
30
|
+
- Vulnerability moments: characters sharing weakness, fear, secrets, past trauma
|
|
31
|
+
- Shared goals reveal compatibility: working together toward a goal shows how the partner handles conflict
|
|
32
|
+
- Conflict must be real — external barriers (class, species, faction, magic) or internal barriers (fear, trust, past wounds)
|
|
33
|
+
- Fantasy setting complicates romance: magic bonds, soul connections, species differences, political marriages
|
|
34
|
+
- Action scenes show relationship dynamics — fighting together reveals trust and compatibility
|
|
35
|
+
- Heat level must be consistent throughout — don't escalate or pull back without narrative reason
|
|
36
|
+
|
|
37
|
+
## Pacing Guidance
|
|
38
|
+
|
|
39
|
+
- Fantasy romance: heavy romance focus early, building to consummation around 60-75%, resolution after romance established
|
|
40
|
+
- Romantic fantasy: romance subplot woven through action plot, key romantic moments at act breaks, romance resolution aligned with plot resolution
|
|
41
|
+
- Chemistry scenes every 2-3 chapters minimum — readers came for the relationship
|
|
42
|
+
- Sexual tension can heighten during/after action (adrenaline, relief, protective instincts)
|
|
43
|
+
- Break up long dialogue-heavy romance scenes with physical action or setting detail
|
|
44
|
+
- Enemies-to-lovers needs slow burn: opposition -> forced proximity -> grudging respect -> attraction -> surrender
|
|
45
|
+
- Second-chance romance: history adds depth and pain; show how characters have changed
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: Science Fiction
|
|
3
|
+
id: sci-fi
|
|
4
|
+
language: en
|
|
5
|
+
chapterTypes: ["Exploration", "Combat", "Setup", "Transition", "Payoff"]
|
|
6
|
+
fatigueWords: ["delve", "tapestry", "testament", "intricate", "pivotal", "vibrant", "comprehensive", "nuanced", "embark", "foster", "underscore", "bolstered", "crucial"]
|
|
7
|
+
numericalSystem: false
|
|
8
|
+
powerScaling: false
|
|
9
|
+
eraResearch: true
|
|
10
|
+
pacingRule: "Worldbuilding emerges through action, not exposition. Tech reveals tied to plot-critical moments. Political/exploration arcs alternate with action every 2-4 chapters."
|
|
11
|
+
satisfactionTypes: ["Discovery", "Tech Breakthrough", "Political Victory", "First Contact", "Mystery Solved", "Survival Against Odds"]
|
|
12
|
+
auditDimensions: [1,2,3,6,7,8,9,10,13,14,15,16,17,18,19,24,25,26]
|
|
13
|
+
---
|
|
14
|
+
|
|
15
|
+
## Genre Prohibitions
|
|
16
|
+
|
|
17
|
+
- Tech rules changing to serve plot convenience — once physics/tech is established, it must stay consistent
|
|
18
|
+
- Technology solving everything — every tech must have limitations; introduce problems tech cannot fix (corruption, emotion, human greed)
|
|
19
|
+
- Info-dumping science/tech explanations outside of plot-critical moments
|
|
20
|
+
- Ignoring logical consequences of technology — FTL, AI, biotech all have societal implications
|
|
21
|
+
- Hand-waving hard-science concepts in hard sci-fi without clear intent to treat science as soft
|
|
22
|
+
- Characters behaving as if from present day when story is set centuries ahead — cultural/linguistic adaptation matters
|
|
23
|
+
|
|
24
|
+
## Tech Consistency Rules
|
|
25
|
+
|
|
26
|
+
- Every technology must have defined limitations and side effects
|
|
27
|
+
- New technologies create new problems — they don't just solve old ones
|
|
28
|
+
- If the story uses FTL, hyperdrives, or teleportation, establish rules and stick to them
|
|
29
|
+
- Hard sci-fi: explain the science, make it plausible, build consequences. Readers will check
|
|
30
|
+
- Space opera: science can be soft, but internal rules must be consistent across the narrative
|
|
31
|
+
- Show technology through character interaction, not textbook entries
|
|
32
|
+
- Era research required: reference real science correctly, extrapolate plausibly
|
|
33
|
+
|
|
34
|
+
## Pacing Guidance
|
|
35
|
+
|
|
36
|
+
- Hard sci-fi: logical problem-solving drives pacing — each chapter should advance understanding or create new constraints
|
|
37
|
+
- Space opera: epic scale requires political/interpersonal arcs between action sequences
|
|
38
|
+
- Exploration chapters establish wonder and worldbuilding through character experience
|
|
39
|
+
- Political complexity: factions with competing interests, diplomacy alongside combat
|
|
40
|
+
- Tech reveals at plot-critical moments only — never dump specs for their own sake
|
|
41
|
+
- Action scenes grounded in established physics/tech rules — no surprise capabilities
|
|
42
|
+
- Settings spanning star systems need clear spatial orientation for readers
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: System Apocalypse
|
|
3
|
+
id: system-apocalypse
|
|
4
|
+
language: en
|
|
5
|
+
chapterTypes: ["Survival", "Combat", "Setup", "Transition", "Payoff"]
|
|
6
|
+
fatigueWords: ["delve", "tapestry", "testament", "intricate", "pivotal", "vibrant", "comprehensive", "nuanced", "embark", "foster", "underscore", "bolstered", "crucial"]
|
|
7
|
+
numericalSystem: true
|
|
8
|
+
powerScaling: true
|
|
9
|
+
eraResearch: false
|
|
10
|
+
pacingRule: "Early (ch 1-15): survival pressure every chapter. Mid (ch 15-50): power-up + faction politics every 3-5 chapters. Late: expansion and existential threats."
|
|
11
|
+
satisfactionTypes: ["Survival Against Odds", "Level Up", "Territory Claimed", "Faction Victory", "System Secret Revealed", "Societal Rebuild Milestone"]
|
|
12
|
+
auditDimensions: [1,2,3,4,5,6,7,8,9,10,11,13,14,15,16,17,18,19,24,25,26]
|
|
13
|
+
---
|
|
14
|
+
|
|
15
|
+
## Genre Prohibitions
|
|
16
|
+
|
|
17
|
+
- Day Zero that doesn't permanently change the world — no reverting to normal
|
|
18
|
+
- Early chapters without genuine survival danger — readers demand real stakes from page one
|
|
19
|
+
- System arrival with no in-world explanation (even a vague one)
|
|
20
|
+
- Ignoring real-world geography and consequences when set on Earth
|
|
21
|
+
- Factions that are binary good/evil — competing interests, not cartoon villainy
|
|
22
|
+
- MC becoming unstoppable too fast — power fantasy must be earned through survival
|
|
23
|
+
- Tech usage without addressing fuel, ammo, and infrastructure collapse
|
|
24
|
+
|
|
25
|
+
## World Rules
|
|
26
|
+
|
|
27
|
+
- Day Zero must establish in chapters 1-3: how a normal person reacts, first death or near-death, and that old rules are gone
|
|
28
|
+
- Infrastructure failure is real: food, water, electricity, medicine stop working
|
|
29
|
+
- Resource scarcity drives conflict: water, ammunition, medical supplies, safe shelter
|
|
30
|
+
- Factions form quickly: government remnants, criminal networks, cults, survival communities, warlords
|
|
31
|
+
- Real-world grounding: name real locations, acknowledge real infrastructure, maintain daylight cycles and weather
|
|
32
|
+
- System mechanics integrate logically — show why old-world tech fails or doesn't in a magical world
|
|
33
|
+
|
|
34
|
+
## Pacing Guidance
|
|
35
|
+
|
|
36
|
+
- Early (ch 1-15): Survival, confusion, learning system. MC is weak, struggles with low-tier threats. Shorter chapters (2-3k words)
|
|
37
|
+
- Mid (ch 15-50): Growing stronger, claiming territory, faction politics. Power fantasy increases; survival becomes strategic
|
|
38
|
+
- Late: Expansion, faction wars, world-scale threats. MC powerful but not unstoppable; challenges are existential/political
|
|
39
|
+
- Introduce new threat types as MC grows — defeating zombies leads to intelligent predators, rival factions, interdimensional invasions
|
|
40
|
+
- Balance survival pressure with power progression — desperation early, strategy mid, leadership late
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: Tower Climbing
|
|
3
|
+
id: tower-climber
|
|
4
|
+
language: en
|
|
5
|
+
chapterTypes: ["Floor Challenge", "Progression", "Setup", "Transition", "Payoff"]
|
|
6
|
+
fatigueWords: ["delve", "tapestry", "testament", "intricate", "pivotal", "vibrant", "comprehensive", "nuanced", "embark", "foster", "underscore", "bolstered", "crucial"]
|
|
7
|
+
numericalSystem: false
|
|
8
|
+
powerScaling: true
|
|
9
|
+
eraResearch: false
|
|
10
|
+
pacingRule: "Each floor arc spans 3-8 chapters: introduction, exploration, confrontation, advancement. Difficulty must escalate visibly between floors."
|
|
11
|
+
satisfactionTypes: ["Floor Cleared", "Boss Defeated", "New Ability Gained", "Floor Secret Discovered", "Rival Surpassed", "Summit Progress"]
|
|
12
|
+
auditDimensions: [1,2,3,4,6,7,8,9,10,13,14,15,16,17,18,19,24,25,26]
|
|
13
|
+
---
|
|
14
|
+
|
|
15
|
+
## Genre Prohibitions
|
|
16
|
+
|
|
17
|
+
- Floors that are cosmetic reskins of each other — each floor must present materially different challenges
|
|
18
|
+
- Floor difficulty that doesn't escalate predictably — readers must understand power requirements
|
|
19
|
+
- No clear summit goal — readers need to know what success at the top looks like
|
|
20
|
+
- Horizontal progression (going sideways) instead of vertical climbing
|
|
21
|
+
- Skipping floors without earned justification
|
|
22
|
+
- Boss fights that are won through deus ex machina instead of preparation and growth
|
|
23
|
+
|
|
24
|
+
## Floor Design Rules
|
|
25
|
+
|
|
26
|
+
- Each floor must introduce a distinct biome, challenge type, or rule set
|
|
27
|
+
- Floor transitions are natural progression checkpoints — use them for stat gains, ability unlocks, or narrative reveals
|
|
28
|
+
- Environmental detail matters: readers experience each floor as a new world
|
|
29
|
+
- Floor bosses or trials must test something the climber learned on that floor
|
|
30
|
+
- Difficulty tiers should be transparent to readers — they should anticipate what the next floor demands
|
|
31
|
+
- Allow brief rest/preparation between floors for character moments and strategic planning
|
|
32
|
+
|
|
33
|
+
## Pacing Guidance
|
|
34
|
+
|
|
35
|
+
- Floor introduction: establish new environment, threats, and rules (1-2 chapters)
|
|
36
|
+
- Exploration and problem-solving: MC adapts to floor's unique challenges (1-3 chapters)
|
|
37
|
+
- Confrontation: floor boss, puzzle, or trial that tests everything learned (1-2 chapters)
|
|
38
|
+
- Advancement: reward, brief respite, foreshadowing of next floor (0.5-1 chapter)
|
|
39
|
+
- Early floors move fast (2-3 chapters each) to hook readers with progression
|
|
40
|
+
- Later floors slow down (5-8 chapters) as complexity and stakes increase
|
|
41
|
+
- The summit should feel like a destination worth the climb — seed hints about what awaits throughout
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: 都市
|
|
3
|
+
id: urban
|
|
4
|
+
chapterTypes: ["商战章", "社交章", "布局章", "过渡章", "回收章"]
|
|
5
|
+
fatigueWords: ["冷笑", "不可思议", "震惊", "难以置信", "深吸一口气", "眼中闪过一丝", "仿佛", "不禁", "宛如", "竟然", "核心动机", "信息边界"]
|
|
6
|
+
numericalSystem: false
|
|
7
|
+
powerScaling: false
|
|
8
|
+
eraResearch: true
|
|
9
|
+
pacingRule: "每2-3章一个小回报:商业收益、人脉拓展、对手受挫、信息优势"
|
|
10
|
+
satisfactionTypes: ["商战碾压", "身份揭示", "人脉兑现", "对手打脸", "资源收割", "地位跃升"]
|
|
11
|
+
auditDimensions: [1,2,3,6,7,8,9,10,11,12,13,14,15,16,17,18,19,24,25,26]
|
|
12
|
+
---
|
|
13
|
+
|
|
14
|
+
## 题材禁忌
|
|
15
|
+
|
|
16
|
+
- 无逻辑的商业奇迹(没有铺垫的暴富)
|
|
17
|
+
- 反派降智配合主角表演
|
|
18
|
+
- 无视现实法律和商业规则
|
|
19
|
+
- 用"一个电话搞定"跳过具体操作过程
|
|
20
|
+
- 女性角色沦为花瓶或奖励
|
|
21
|
+
- 混入玄幻/仙侠战力体系
|
|
22
|
+
|
|
23
|
+
## 年代与现实约束
|
|
24
|
+
|
|
25
|
+
- 涉及法律、政策、商业规则必须符合设定年代
|
|
26
|
+
- 金融操作、公司运营必须有基本可信度
|
|
27
|
+
- 人物身份、职位、权限不能超出现实合理范围
|
|
28
|
+
- 地名、机构名、行业术语必须准确
|
|
29
|
+
- 物价、收入、生活水平符合时代设定
|
|
30
|
+
|
|
31
|
+
## 语言铁律
|
|
32
|
+
|
|
33
|
+
- 人物内心独白必须口语化、直觉化,禁止商业分析/博弈论术语渗入叙事
|
|
34
|
+
- ✗"他迅速分析了当前的债务状况" → ✓"他把那叠皱巴巴的白条翻了三遍"
|
|
35
|
+
- ✗"信息落差就在这儿" → ✓"他们不知道的,他知道"
|
|
36
|
+
- ✗"以这种人的性格,这时候不会撕破脸" → ✓直接写对方的行为反应
|
|
37
|
+
- 法律/商业术语必须匹配设定年代的真实语感:2003年民间借条不会写"逾期处置授权",而是"到期没还,房子归乙方处理"
|
|
38
|
+
- 主角的判断通过行动和对话体现,不通过上帝视角的分析段落
|
|
39
|
+
|
|
40
|
+
## 叙事指导
|
|
41
|
+
|
|
42
|
+
以商战、社交博弈和信息差驱动剧情。
|
|
43
|
+
权力来自人脉、资本、信息和制度位置,不来自武力。
|
|
44
|
+
冲突解决靠谈判、交易、威慑、法律手段和利益交换。
|
|
45
|
+
|
|
46
|
+
钱权必须落地,通过物、势、地位变化和小人物反应兑现爽点。
|
|
47
|
+
人物关系网是核心资产,每次社交互动都应有利益计算。
|
|
48
|
+
主角需要保留非功能性时刻:思考、犹豫、社交润滑。
|
|
49
|
+
主角不是全知全能,必须在前5章内至少出现一次判断失误或信息偏差。
|
|
50
|
+
|
|
51
|
+
时代厚重感、人情债与制度摩擦是都市文的灵魂。
|
|
52
|
+
用场面、气味、动作、交易、压迫感切入,不要历史课件式开头。
|
|
53
|
+
嵌入1-2个时代锚点(物价、新闻事件、流行用语)增强年代沉浸感。
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: 仙侠
|
|
3
|
+
id: xianxia
|
|
4
|
+
chapterTypes: ["战斗章", "悟道章", "布局章", "过渡章", "回收章"]
|
|
5
|
+
fatigueWords: ["冷笑", "蝼蚁", "倒吸凉气", "瞳孔骤缩", "天道", "大道", "因果", "气运", "仿佛", "不禁", "宛如", "竟然"]
|
|
6
|
+
numericalSystem: true
|
|
7
|
+
powerScaling: true
|
|
8
|
+
eraResearch: false
|
|
9
|
+
pacingRule: "修炼/悟道与战斗交替,每3-5章一次小突破或关键收获"
|
|
10
|
+
satisfactionTypes: ["悟道突破", "斗法碾压", "法宝收获", "身份揭示", "天劫渡过", "因果了结"]
|
|
11
|
+
auditDimensions: [1,2,3,4,5,6,7,8,9,10,11,13,14,15,16,17,18,19,24,25,26]
|
|
12
|
+
---
|
|
13
|
+
|
|
14
|
+
## 题材禁忌
|
|
15
|
+
|
|
16
|
+
- 主角为推剧情突然仁慈、犯蠢
|
|
17
|
+
- 修为无铺垫跳跃式突破
|
|
18
|
+
- 法宝凭空出现解决危机
|
|
19
|
+
- 天道规则前后矛盾
|
|
20
|
+
- 用"大道无形""天道感应"跳过具体修炼过程
|
|
21
|
+
- 同质资源不写衰减默认全额结算
|
|
22
|
+
- 风格混入都市腔、游戏系统播报腔
|
|
23
|
+
|
|
24
|
+
## 修炼规则
|
|
25
|
+
|
|
26
|
+
- 境界突破必须有积累过程:悟道、丹药、战斗领悟、机缘
|
|
27
|
+
- 同质资源重复炼化必须写明衰减
|
|
28
|
+
- 法宝体系分品级,使用有代价(灵力、寿元、因果)
|
|
29
|
+
- 金手指/功法四维约束:
|
|
30
|
+
- 能力上限:有明确的境界/品阶天花板
|
|
31
|
+
- 附加代价:修炼/使用伴随代价(寿元、因果、心魔)
|
|
32
|
+
- 触发条件:突破/觉醒需要特定条件(悟道、机缘、天劫)
|
|
33
|
+
- 成长路径:功法随修为递进,不可跳阶获得
|
|
34
|
+
- 天道规则一旦设定不可违反,除非有明确的特殊机制
|
|
35
|
+
- 期初修为/资源从账本取,增量逐笔列出
|
|
36
|
+
- 跨大境界突破需要天劫或特殊条件
|
|
37
|
+
|
|
38
|
+
## 叙事指导
|
|
39
|
+
|
|
40
|
+
修炼与悟道是叙事核心,但必须融入剧情而非独立说教。
|
|
41
|
+
悟道场景用五感描写,不用抽象哲理灌输。
|
|
42
|
+
仙侠世界的规则感要强:因果、天劫、气运都是叙事工具。
|
|
43
|
+
|
|
44
|
+
人情债与道义约束是仙侠特有的驱动力。
|
|
45
|
+
门派政治、宗门博弈是重要的布局手段。
|
|
46
|
+
战斗以法术、法宝、阵法为核心,注重空间感和规模感。
|