@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,787 @@
|
|
|
1
|
+
# Changelog
|
|
2
|
+
|
|
3
|
+
## v1.4.1
|
|
4
|
+
|
|
5
|
+
### Release Focus
|
|
6
|
+
|
|
7
|
+
Windows / provider 热修与长篇写作提速配置化:修复 MiniMax 默认端点不通的问题,保留长篇默认一轮自动修稿的速度收益,同时允许项目把自动修稿轮数配置回 3。
|
|
8
|
+
|
|
9
|
+
### Improvements
|
|
10
|
+
|
|
11
|
+
- 长篇章节写作的自动审稿修稿轮数新增 `writing.reviewRetries` 项目配置,默认仍为 1;需要更强修稿时可执行 `inkos config set writing.reviewRetries 3`
|
|
12
|
+
- Studio 写章链路会读取同一项目配置,CLI 和 Studio 行为保持一致
|
|
13
|
+
- README / 开发说明同步 v1.4.1 的 MiniMax 与长篇写作配置变化
|
|
14
|
+
|
|
15
|
+
### Bug Fixes
|
|
16
|
+
|
|
17
|
+
- 修复 MiniMax 默认 provider 仍指向已不可用的 Anthropic 端点,导致 Windows 原生环境测试连接失败的问题
|
|
18
|
+
- 修复 MiniMax endpoint 元数据覆盖逻辑过宽,可能影响其他服务商路由判断的问题
|
|
19
|
+
|
|
20
|
+
## v1.4.0
|
|
21
|
+
|
|
22
|
+
### Release Focus
|
|
23
|
+
|
|
24
|
+
短篇写作与 Studio Chat 协作大版本:新增公开短篇生产链路、封面制作工具、普通聊天持久化会话和生成物预览,并修复长篇长度归一化可能被输出上限截断的问题。
|
|
25
|
+
|
|
26
|
+
### Improvements
|
|
27
|
+
|
|
28
|
+
- 新增独立短篇写作链路:Studio Chat 和 CLI 可生成完整短篇正文、大纲记录、审稿记录、简介卖点和封面提示词
|
|
29
|
+
- 新增封面制作能力:支持单独生成 / 重做封面,并在 Studio 消息中直接预览生成后的封面图
|
|
30
|
+
- Studio 普通聊天支持项目级持久化 session,刷新或重启后可继续查看、切换、改名和删除会话
|
|
31
|
+
- Chat 可直接编辑项目内生成文本产物,适合调整章节、封面提示词、简介等文件后再继续使用 InkOS 写作链路
|
|
32
|
+
- 服务配置页新增封面生成配置区,封面文本模型和图片模型分工更清晰
|
|
33
|
+
|
|
34
|
+
### Bug Fixes
|
|
35
|
+
|
|
36
|
+
- 修复短篇 / 封面工具执行结果中的图片路径只显示文本、不渲染预览的问题
|
|
37
|
+
- 修复 Studio 工具调用详情在消息恢复后丢失的问题
|
|
38
|
+
- 修复 `LengthNormalizerAgent` 显式设置 `maxTokens` 可能导致长章节压缩 / 扩写输出被截断的问题
|
|
39
|
+
|
|
40
|
+
## v1.3.12
|
|
41
|
+
|
|
42
|
+
### Release Focus
|
|
43
|
+
|
|
44
|
+
Studio 服务配置体验小版本:把聚合服务入口放到更顺手的位置,补充官网 / 文档 / 模型页快捷访问,并把服务分组文案统一为“聚合 API”。
|
|
45
|
+
|
|
46
|
+
### Improvements
|
|
47
|
+
|
|
48
|
+
- Studio 服务列表和服务详情页为重点聚合服务补充外部快捷入口,配置前可直接打开官网、文档和模型列表
|
|
49
|
+
- 聚合服务分组标题统一为“聚合 API”,避免误导性表达
|
|
50
|
+
|
|
51
|
+
## v1.3.11
|
|
52
|
+
|
|
53
|
+
### Release Focus
|
|
54
|
+
|
|
55
|
+
Studio 服务与聚合模型接入更新:新增 kkaiapi 服务选项,修复自定义/本地 OpenAI-compatible 服务测试误用兜底模型、API Key 中文字符导致连接崩溃、服务配置删除缺失等问题,并补齐雷达历史、题材管理刷新和长篇多线比例落地。
|
|
56
|
+
|
|
57
|
+
### Improvements
|
|
58
|
+
|
|
59
|
+
- 新增 kkaiapi 聚合模型服务选项,Studio / CLI 服务配置可以直接选择并测试
|
|
60
|
+
- Studio 新建书籍改走共享对话交互内核,避免建书入口和真实创作链路行为分叉
|
|
61
|
+
- 雷达扫描结果持久化为历史记录,Studio 可浏览既有 scan 结果
|
|
62
|
+
- 长篇大纲 / 章纲会更明确承接用户设定的多线比例,减少“比例写了但结构里没体现”的情况
|
|
63
|
+
|
|
64
|
+
### Bug Fixes
|
|
65
|
+
|
|
66
|
+
- 修复自定义服务连接测试误用全局兜底模型或错误协议,导致 llama.cpp / 本地 OpenAI-compatible 服务被误判不可用的问题
|
|
67
|
+
- 修复 API Key 或请求头含中文等非 ASCII 字符时触发 ByteString 转换异常的问题
|
|
68
|
+
- 修复 Studio 缺少删除自定义服务 / 模型配置入口的问题
|
|
69
|
+
- 修复题材管理保存后文件已生成但 Studio 列表不刷新的问题
|
|
70
|
+
- 修复 `hooks.json` 里 hook id 可能出现重复横线或异常标点的问题
|
|
71
|
+
|
|
72
|
+
## v1.3.10
|
|
73
|
+
|
|
74
|
+
### Release Focus
|
|
75
|
+
|
|
76
|
+
建书 platform 热修:修复 `sub_agent.platform` 参数在网页和命令行建书时可能因中文/别名输入触发 schema 校验失败的问题,并把新书创建链路统一收口到合法平台值。
|
|
77
|
+
|
|
78
|
+
### Bug Fixes
|
|
79
|
+
|
|
80
|
+
- 修复建书过程中工具调用报 `Validation failed for tool "sub_agent": - platform: must be equal to constant`,导致无法生成书籍文件的问题
|
|
81
|
+
- 统一 Studio、CLI、TUI、agent create-book 链路的平台别名归一化,`番茄` / `fanqie` / `番茄小说` 等输入会落到合法枚举
|
|
82
|
+
- 对未知平台值降级为 `other`,避免错误平台 id 写入书籍配置后继续影响后续流程
|
|
83
|
+
- 更新 README 微信交流群二维码为 13 群
|
|
84
|
+
|
|
85
|
+
## v1.3.9
|
|
86
|
+
|
|
87
|
+
### Release Focus
|
|
88
|
+
|
|
89
|
+
Studio 建书与书籍设置热修:修复新建书籍链路被已有书籍 session 劫持的问题,并恢复可见的书籍设置页入口。
|
|
90
|
+
|
|
91
|
+
### Bug Fixes
|
|
92
|
+
|
|
93
|
+
- 修复 Studio 新建书籍 `/new`、`/create` 没有绑定独立 orphan session,导致建书请求可能被当前书籍工作台 session 接管的问题
|
|
94
|
+
- 修复建书完成后无法可靠跳转到新书 Chat 工作台的问题
|
|
95
|
+
- 恢复书籍设置页路由:`#/book/:id` 继续作为 Chat 工作台,`#/book/:id/settings` 用于修改书籍配置
|
|
96
|
+
- 修复 Dashboard 书籍菜单里的“书籍设置”实际打开 Chat 工作台的问题
|
|
97
|
+
|
|
98
|
+
## v1.3.8
|
|
99
|
+
|
|
100
|
+
### Release Focus
|
|
101
|
+
|
|
102
|
+
本地模型热修:修复 1.3.7 后 Ollama / 本地 OpenAI-compatible 端点在建书与续写链路里的配置回归,确保 Studio 与 CLI 都能继续使用无 API key 的本地模型。
|
|
103
|
+
|
|
104
|
+
### Bug Fixes
|
|
105
|
+
|
|
106
|
+
- 修复 Studio 服务测试、模型列表与建书链路强制要求 API key,导致 Ollama / 本地端点不可用的问题
|
|
107
|
+
- 修复 Studio 新建书籍页面实际 `/agent` 建书路径没有正确传递空 key 本地模型 client 的问题
|
|
108
|
+
- 修复 CLI / Studio 使用 Ollama 动态模型名时被内置模型表误拦的问题
|
|
109
|
+
- 修复 `write next --context` 没有真正进入章节规划和正文写作提示词的问题
|
|
110
|
+
|
|
111
|
+
## v1.3.7
|
|
112
|
+
|
|
113
|
+
### Release Focus
|
|
114
|
+
|
|
115
|
+
长篇写作质量收紧:把近期验证过的网文写法规则落到 Writer、Planner、Architect 与后置校验中,重点改善开篇抓人、章节密度、伏笔兑现、段落节奏和架构稿完整性。
|
|
116
|
+
|
|
117
|
+
### Improvements
|
|
118
|
+
|
|
119
|
+
- **网文写作规则入链路**:Writer prompt 新增看点密度、移动端段落、开篇第一屏、章节断章和人物行动动机等写作约束,让模型更少写空转铺垫和报告式正文
|
|
120
|
+
- **Planner / Architect 对齐写作目标**:章节规划和书籍架构稿更明确地承接黄金开篇、章节目标、hook 账和段落式 foundation 输出要求
|
|
121
|
+
- **Hook 兑现更具体**:hook ledger 要求 advance / resolve 项在正文里有可定位的动作、物件、对话或事件兑现,减少“账本里有、正文里没有”的断层
|
|
122
|
+
- **段落密度规则收紧**:强调密度来自语义和场景推进,不是把正文切成电报体;连续短段会被后置规则识别
|
|
123
|
+
|
|
124
|
+
### Bug Fixes
|
|
125
|
+
|
|
126
|
+
- 修复 Architect 在扩展输出时可能漏掉 5 个 foundation SECTION 块的问题
|
|
127
|
+
- 修复 hook ledger payoff 检查过于宽松,导致侧面暗示也可能被误判为兑现的问题
|
|
128
|
+
- 修复写作 prompt 对段落尺寸描述不够明确,模型容易在“1-3 点密度”规则下过度碎段的问题
|
|
129
|
+
|
|
130
|
+
## v1.3.6
|
|
131
|
+
|
|
132
|
+
### Release Focus
|
|
133
|
+
|
|
134
|
+
v13 书籍创建流程迁移:建书输出升级为段落式架构稿、卷级地图与一人一卡角色目录,并补齐旧书升级路径。
|
|
135
|
+
|
|
136
|
+
### Improvements
|
|
137
|
+
|
|
138
|
+
- **段落式架构稿**:Architect 生成 `outline/story_frame.md`、`outline/volume_map.md` 与 `roles/` 角色卡,保留 legacy shim 兼容旧读取路径
|
|
139
|
+
- **旧书升级路径**:agent architect 支持 `revise=true`,可把旧条目式架构稿转换为 Phase 5 布局;升级前会备份原架构稿,升级时不重置运行时状态文件
|
|
140
|
+
- **真相文件注入**:Agent 会把当前书籍 truth files 注入上下文;旧布局书会提示可升级到段落式架构稿
|
|
141
|
+
- **基础设定输出预算修复**:分离 `maxTokens` fallback 与 `maxTokensCap` 硬上限,避免 Architect 大输出被默认配置误裁
|
|
142
|
+
- **README 统计**:补充 Skills Download History 图表,并同步中文、英文、日文 README
|
|
143
|
+
|
|
144
|
+
### Bug Fixes
|
|
145
|
+
|
|
146
|
+
- 修复 Phase 5 二次升级时读取 shim 导致信息丢失的问题
|
|
147
|
+
- 修复 reviseFoundation 会重置 `current_state` / `pending_hooks` / runtime logs 的问题
|
|
148
|
+
- 修复角色改名或删除后旧 role 卡残留的问题
|
|
149
|
+
|
|
150
|
+
## v1.3.5
|
|
151
|
+
|
|
152
|
+
### Improvements
|
|
153
|
+
|
|
154
|
+
- **Session / Sidebar 体验重构**:Studio 引入 per-session runtime,`pendingBookArgs` 下沉到 session 级,session SSE 监听从 `App.tsx` 抽离;sidebar 支持按书折叠、草稿会话延迟展示、会话列表不再点击重排
|
|
155
|
+
- **会话标题简化**:不再走 LLM 生成标题;第一条用户消息直接成为 session title,并对历史 session 做 lazy migration
|
|
156
|
+
- **Draft Session 工作流**:新建会话延迟到第一条消息才持久化,未发送消息的草稿会话不会落盘,也不会在侧边栏出现
|
|
157
|
+
- **Session 列表性能提升**:`listBookSessions` 改为并发读取并返回轻量 summary,避免侧边栏一次读取大量完整 session 文件
|
|
158
|
+
|
|
159
|
+
### Bug Fixes
|
|
160
|
+
|
|
161
|
+
- **模型列表缓存修复**:`/services/:service/models` 的缓存 key 现在包含 `resolvedBaseUrl`,custom 服务切换端点后不再错误复用旧模型列表
|
|
162
|
+
- **会话删除确认弹窗定位**:`ConfirmDialog` 改走 portal,避免被 sidebar 的 containing block 锁在侧栏内
|
|
163
|
+
- **测试清理**:移除 `server.test.ts` 里已废弃的 `updateSessionTitle` mock 残留
|
|
164
|
+
|
|
165
|
+
## v1.3.4
|
|
166
|
+
|
|
167
|
+
### Bug Fixes
|
|
168
|
+
|
|
169
|
+
- **依赖版本钉死**:固定 `@mariozechner/pi-ai` / `pi-agent-core` 到 `0.67.1`,降低 npm 镜像滞后导致全局安装失败的概率
|
|
170
|
+
- **服务探测与模型列表提速**:`GET /models` 回到快路径,`knownModels` 服务不再走慢 probe;`/models` 不可用时会返回服务自己的 `knownModels`
|
|
171
|
+
- **服务验证更可靠**:`/models` 返回 `401/403` 时直接短路;服务详情页保存前先走 `/test` 验 key,页面加载时也会用 `/test` 校验真实连接状态
|
|
172
|
+
- **完整模型列表返回**:服务测试接口不再默认裁成 50 个模型
|
|
173
|
+
|
|
174
|
+
### Improvements
|
|
175
|
+
|
|
176
|
+
- **agent 通用文件工具面恢复**:`edit` 回归正常工具面,并新增 `write` 工具用于创建/覆盖写文件,路径仍限制在 `books/` 下
|
|
177
|
+
- **`sub_agent` 最小控制面扩展**:新增 `writer.chapterWordCount`、`reviser.mode`、`exporter.format`、`exporter.approvedOnly`
|
|
178
|
+
- **修订入口统一**:book-mode 下整章修订收敛到 `sub_agent(reviser)`,减少模型在 `revise_chapter` 与 `sub_agent` 之间摇摆
|
|
179
|
+
|
|
180
|
+
## v1.3.3
|
|
181
|
+
|
|
182
|
+
### Bug Fixes
|
|
183
|
+
|
|
184
|
+
- **聊天建书标题显式化**:agent 建书现在要求显式传入 `title`,`initBook` / `book.json` 直接吃结构化标题,不再允许空标题初始化
|
|
185
|
+
- **真实 EPUB 导出统一**:CLI、Studio 下载、共享交互层与 agent exporter 统一复用同一套真实 EPUB 实现,不再出现一条真 EPUB、一条假 HTML、一条未实现的分裂状态
|
|
186
|
+
- **高风险写作动作收口**:book-mode agent 对改设定、改名、局部修文、章节重写/精修优先使用 deterministic 工具,不再默认退回脆弱的通用 `edit`
|
|
187
|
+
|
|
188
|
+
### Improvements
|
|
189
|
+
|
|
190
|
+
- **TUI 普通聊天对齐 agent/session**:TUI 的普通输入改走本地 agent session 形式,保留少量本地控制命令 fast-path,进一步向 Studio 的交互模型靠拢
|
|
191
|
+
- **写作控制面更清晰**:agent prompt 明确区分重操作子代理与高风险 deterministic 写作工具,减少“模型理解了,但工具接不住”这类断层
|
|
192
|
+
|
|
193
|
+
## v1.3.2
|
|
194
|
+
|
|
195
|
+
### Bug Fixes
|
|
196
|
+
|
|
197
|
+
- **恢复 `architect` foundation 输出预算**:重新固定 `maxTokens: 16384`,降低本地模型与 LM Studio 在建书阶段因输出截断导致 foundation 缺段的概率
|
|
198
|
+
- **恢复旧的 OpenAI-compatible 兼容路径**:`provider=openai + 自定义兼容 baseUrl` 不再被错误送入更激进的 `custom fetch` 路径,Google/Gemma 一类旧兼容场景回归
|
|
199
|
+
- **自定义 Anthropic-compatible 原生 transport**:`service=custom` 且 `provider=anthropic` 也改走原生请求链,不再强绑 SDK
|
|
200
|
+
- **Windows Studio 启动修复**:`inkos studio` 在 Windows 下不再因绝对路径 loader 被当成非法 ESM URL 而崩溃
|
|
201
|
+
- **Bootstrap 项目回退到 env 配置**:空目录 auto-init 后的 Studio 项目,在未配置服务时会回退到全局 `.inkos/.env`,`book create` 不再先死在缺 key
|
|
202
|
+
- **统一服务路由真相**:`config-loader`、`service-resolver`、Studio 服务探测、`doctor` 统一从同一份 `service-presets` 读取 provider/api/chatBaseUrl/modelsBaseUrl,减少同一服务在不同链路上各猜一遍的问题
|
|
203
|
+
|
|
204
|
+
### 改进
|
|
205
|
+
|
|
206
|
+
- **空目录直接启动**:`inkos` / `inkos studio` 现在会自动初始化最小项目骨架并启动 Studio,不再要求显式先跑 `init`
|
|
207
|
+
- **Studio 自动探测 transport**:服务测试会自动尝试候选模型、`chat/responses` 与流式开关组合,尽量自动匹配可用配置
|
|
208
|
+
- **`doctor` 增强**:不再只死盯当前单一模型/单一组合,支持多 model、多协议、多流式探测
|
|
209
|
+
- **建书聊天 fresh session**:再次进入“创建书籍”时会清空旧对话,不再沿用上一次建书聊天记录
|
|
210
|
+
- **聊天模型选择器搜索**:Studio model picker 支持搜索过滤
|
|
211
|
+
- **侧栏刷新更克制**:读操作不再触发无意义 sidebar 刷新,只在写操作后刷新
|
|
212
|
+
- **服务保存流程更真实**:保存 API Key 后会走真实 `/test` 探测,而不是只靠 `/models`
|
|
213
|
+
|
|
214
|
+
## v1.3.1
|
|
215
|
+
|
|
216
|
+
### Bug Fixes
|
|
217
|
+
|
|
218
|
+
- **MiniMax baseUrl 修正**:从 `api.minimax.chat` 更正为 `api.minimaxi.com`(当前 OpenAI 兼容端点)
|
|
219
|
+
- **多服务 baseUrl 隔离**:agent 对话中选择非默认服务时,不再泄漏默认服务的 baseUrl(如 moonshot URL 被错误用于 minimax 请求)
|
|
220
|
+
- **resolveServiceModel 始终使用 preset**:不再直接使用 pi-ai 内置 model 对象(可能指向国际端点或错误的 API 格式),始终用 preset 的 baseUrl 和 api 格式构造 model
|
|
221
|
+
- **agent 建书后侧边栏刷新**:通过 agent 对话建书后,侧边栏书籍列表自动刷新(之前只有 POST /books/create 才广播 `book:created`)
|
|
222
|
+
- **`pnpm dev` 并行启动**:加 `--parallel`,解决 core tsc --watch 阻塞 studio 启动的问题
|
|
223
|
+
|
|
224
|
+
### 改进
|
|
225
|
+
|
|
226
|
+
- **MiniMax knownModels**:MiniMax 不支持 `GET /models`,改为硬编码 7 个模型(M2.7/M2.5/M2.1 及其 highspeed 版本 + M2)
|
|
227
|
+
- **测试连接不再发消息**:移除 chat completion 测试,只通过 `/models` + fallback 验证,秒回
|
|
228
|
+
- **custom 服务 URL 自动补 /v1**:`https://example.com`、`https://example.com/`、`https://example.com/v1` 三种写法等价
|
|
229
|
+
- **agent 系统提示词**:禁止 emoji、结构化内容用列表/表格、章节索引管理指引
|
|
230
|
+
|
|
231
|
+
### 测试
|
|
232
|
+
|
|
233
|
+
- 新增回归测试:service-presets(MiniMax baseUrl + knownModels)、service-resolver(preset 覆盖 pi-ai)、normalizeBaseUrl
|
|
234
|
+
|
|
235
|
+
## v1.3.0
|
|
236
|
+
|
|
237
|
+
### Release Focus
|
|
238
|
+
|
|
239
|
+
Studio 2.0 正式发布。`inkos` 现在默认直接启动 Studio,本地 Web 工作台成为主入口;TUI 保留为 `inkos tui`。
|
|
240
|
+
|
|
241
|
+
### 新功能
|
|
242
|
+
|
|
243
|
+
- **Studio 2.0 默认入口**:`inkos` 直接启动 Studio,首页、服务商管理、写作工作台统一为新的主交互入口
|
|
244
|
+
- **自定义 OpenAI-compatible 服务**:Studio 现支持自定义 `baseUrl`、协议类型(`chat` / `responses`)与流式开关,兼容更多中转站和聚合网关
|
|
245
|
+
- **配置来源切换**:Studio 新增 `.env` 与 Studio 配置的显式切换,不再只能被目录里的 `INKOS_LLM_*` 被动覆盖
|
|
246
|
+
- **原生 custom transport**:对 `custom` 服务新增原生 fetch 请求链,减少对 SDK 路径的单点依赖,提升兼容性
|
|
247
|
+
|
|
248
|
+
### 改进
|
|
249
|
+
|
|
250
|
+
- **服务测试更真实**:服务页测试不再只测 `/models`,还会执行最小生成探测,避免“测试连接通过但聊天失败”的假阳性
|
|
251
|
+
- **服务保存流程优化**:保存成功后自动返回服务商管理页,顶部首页和返回入口更醒目
|
|
252
|
+
- **密钥回填**:服务详情页会重新加载已保存的 key,避免重新打开后误以为 key 丢失
|
|
253
|
+
- **错误可见性增强**:Studio 聊天不再用 `Acknowledged.` 掩盖空回复,会直接显示真实上游错误
|
|
254
|
+
|
|
255
|
+
### Bug Fixes
|
|
256
|
+
|
|
257
|
+
- 修复 `llm.services + defaultModel + secrets` 与运行时加载契约不一致的问题
|
|
258
|
+
- 修复 `custom:*` 服务在测试连接、模型列表与 `/api/v1/agent` 之间链路不一致的问题
|
|
259
|
+
- 修复 `inkos` 启动 Studio 时因未设置默认模型而直接抛出 `llm.model` 校验错误
|
|
260
|
+
- 修复自定义服务非流式 / SSE 返回被误当作普通 JSON 解析的问题
|
|
261
|
+
|
|
262
|
+
## v1.2.0
|
|
263
|
+
|
|
264
|
+
### Release Focus
|
|
265
|
+
|
|
266
|
+
统一交互内核——TUI、Studio、`inkos interact`、OpenClaw Skill 共享同一套自然语言理解和执行运行时。
|
|
267
|
+
|
|
268
|
+
### 新功能
|
|
269
|
+
|
|
270
|
+
- **共享交互运行时**(`packages/core/src/interaction/`):自然语言路由器(15+ intent)、会话管理、编辑事务控制器、事件追踪、阶段遥测
|
|
271
|
+
- **Ink TUI 仪表盘**:`inkos` 直接进入全屏 Ink + React 仪表盘,对话式创作,slash 命令 Tab 补全,主题动效(writing/auditing/revising/planning 各有独立动画),i18n 中英双语
|
|
272
|
+
- **Studio 助手面板**:右侧 AI 助手接入共享交互内核,自然语言操作书籍(写章、改名、审计、导出),SSE 实时状态推送,执行阶段图标
|
|
273
|
+
- **对话式建书**:通过 Studio 助手自然语言对话逐步构思书籍概念、设定、目标章数,草稿就绪后一键创建
|
|
274
|
+
- **全书实体改名**:`把林烬改成张三` / `/rename 林烬 => 张三`,全量扫描章节 + 真相文件一次替换
|
|
275
|
+
- **单章文本替换**:`/replace 5 旧文本 => 新文本`,精确修补指定章节
|
|
276
|
+
- **`inkos interact --json`**:共享交互 JSON 入口,返回 request / response / session / events,供 OpenClaw 和外部 Agent 直接调用
|
|
277
|
+
- **Thinking 模型温度夹制**(PR #174):kimi-k2.5 等 thinking 模型自动 temperature=1,兼容 per-call 温度调参,每模型只 warn 一次
|
|
278
|
+
|
|
279
|
+
### 改进
|
|
280
|
+
|
|
281
|
+
- Studio ChatBar 去重:`executeCommand()` 提取公共逻辑,消除 handleSubmit/handleQuickCommand 80 行重复
|
|
282
|
+
- Studio ChatBar SSE effect 用 `loadingRef` 替代 stale closure
|
|
283
|
+
- Studio 下拉菜单 z-index 修复:移除 paper-sheet 的 transform(消除 stacking context),菜单打开时 card 提升 z-50
|
|
284
|
+
- Studio agent 响应修复:使用 `result.responseText` 而非 `session.messages.at(-1)`
|
|
285
|
+
- TUI 主题扩展:语义色(成功/错误/活跃/空闲)+ 角色色(用户/助手/系统)
|
|
286
|
+
- TUI 状态徽标:✓ 完成 / ✗ 失败 / ✎ 写作 / ◇ 规划 / ◈ 等待决策
|
|
287
|
+
- TUI i18n 修复:`stageLabels` 移入 TuiCopy,消除 hardcoded 状态字符串
|
|
288
|
+
- Studio 死代码清理(PR #176):移除未使用的 shadcn 组件、`dotenv`、`shadcn`、`tw-animate-css`、`class-variance-authority`,-2800 行
|
|
289
|
+
|
|
290
|
+
### Bug Fixes
|
|
291
|
+
|
|
292
|
+
- Studio ChatBar 助手回复丢失:session 历史覆盖导致 response 被静默丢弃
|
|
293
|
+
- Studio BookMenu 下拉被下层 card 遮挡:fadeIn 动画的 transform 创建 stacking context
|
|
294
|
+
- Studio GenreManager 用 `window.confirm` 替换为 `ConfirmDialog`
|
|
295
|
+
- Studio BookDetail Nav `toTruth` 类型断言 hack 修复
|
|
296
|
+
- Studio ChapterReader/Dashboard approve/reject 缺失错误处理
|
|
297
|
+
- ChatBar curly quote 编码导致 esbuild 解析失败
|
|
298
|
+
|
|
299
|
+
---
|
|
300
|
+
|
|
301
|
+
## v1.1.1
|
|
302
|
+
|
|
303
|
+
### Release Focus
|
|
304
|
+
|
|
305
|
+
- 回退到稳定的 `v6 + bugfix` 主线,替换掉不稳定的 `v8` 最新版本
|
|
306
|
+
|
|
307
|
+
### Bug Fixes
|
|
308
|
+
|
|
309
|
+
- **#151** — Architect section 解析支持 `book-rules` / `Book Rules` / 全角冒号等标题漂移,不再因 `book_rules` 区块轻微变形而创建失败
|
|
310
|
+
- **#152** — State validator 改为 fail-closed:空响应直接报错,并恢复多行 JSON 平衡提取,避免 `passed` 字段丢失时被误判
|
|
311
|
+
- **#154** — 后写规则增加正文章节号指称检测,拦截 `第33章` / `Chapter 33` 一类叙述
|
|
312
|
+
- **#155** — `repair-state` 支持对最新 `state-degraded` 章节进行同章重算,不再报 `delta chapter N goes backwards`
|
|
313
|
+
|
|
314
|
+
### Improvements
|
|
315
|
+
|
|
316
|
+
- `ai-tells` / `sensitive-words` 增加中英双语规则路径,英文书修订链不再混入中文 issue
|
|
317
|
+
- import / continuation / series 的 prompt 与语言传递补齐,foundation reviewer 结果能更稳定回灌
|
|
318
|
+
- reviser 修订链重新接入 `hookDebtBlock`,局部修订时能看到 hook 债务证据
|
|
319
|
+
|
|
320
|
+
---
|
|
321
|
+
|
|
322
|
+
## v1.1.0
|
|
323
|
+
|
|
324
|
+
写作管线全面升级。通过 Meta-Harness 方法论驱动的多轮 autoresearch 实验,从零模式质量从 75 分提升至 92 分,同人模式从 39 分提升至 82+ 分。
|
|
325
|
+
|
|
326
|
+
### 新功能
|
|
327
|
+
|
|
328
|
+
- **Foundation Reviewer**:建书时新增独立审核 Agent,5 维度百分制打分(原作 DNA 保留、新叙事空间、核心冲突、开篇节奏、节奏可行性),不达 80 分自动驳回并将审核意见反馈给 Architect 重新生成
|
|
329
|
+
- **新时空要求**:同人模式(canon/au/ooc/cp)必须设计原创分岔点,不允许复述原作剧情
|
|
330
|
+
- **Hook Seed Excerpt**:伏笔回收时,Composer 从 chapter_summaries 提取原始种子场景的原文片段注入 Writer 上下文,替代了复杂的 lifecycle pressure 系统
|
|
331
|
+
- **Review Reject 回滚**:`inkos review reject` 回滚 state 到被拒章节之前的快照,丢弃下游章节和记忆索引
|
|
332
|
+
- **State Validation Recovery**:state 校验失败自动重试 settler,仍失败则降级保存,支持 `inkos write repair-state` 手动修复
|
|
333
|
+
- **Audit Drift 隔离**:审计纠偏写入独立的 `audit_drift.md`,不再追加到 `current_state.md`
|
|
334
|
+
- **标题坍缩修复**:检测近期标题主题聚集,从正文提取新关键词重生标题
|
|
335
|
+
- **Hook 预算提示**:活跃伏笔 ≥10 时显示预算警告,引导优先回收旧债
|
|
336
|
+
- **章节结尾摘要**:提取最近 3 章结尾句注入上下文,防止结构性重复
|
|
337
|
+
- **情绪/节奏检测**:mood 单调和标题聚集检测,序列级 warning 不计入修订 blockingCount
|
|
338
|
+
- **同人风格提取**:`fanfic init` 和 `import chapters` 自动生成 style_guide.md + style_profile.json
|
|
339
|
+
- **Governed 路径补全**:续写/同人的 parent_canon.md 和 fanfic_canon.md 通过 Governed 路径注入 Writer
|
|
340
|
+
- **自定义 HTTP Headers**:`INKOS_LLM_HEADERS` 环境变量注入自定义 HTTP 头
|
|
341
|
+
|
|
342
|
+
### Bug Fixes
|
|
343
|
+
|
|
344
|
+
- 章节号污染修复:叙事文本中的数字不再被误解析为章节进度
|
|
345
|
+
- hook 排序修复:mustAdvance 从降序修正为升序(选最久未推进的)
|
|
346
|
+
- Outline 匹配修复:支持章节范围格式,防止 Chapter 1 误匹配 Chapter 10
|
|
347
|
+
- approve 不覆盖快照、style 提取 graceful degrade、Studio 热加载 LLM 配置、主题持久化
|
|
348
|
+
|
|
349
|
+
---
|
|
350
|
+
|
|
351
|
+
## v1.0.2
|
|
352
|
+
|
|
353
|
+
### Bug Fixes
|
|
354
|
+
|
|
355
|
+
- **#127** — 修复 Studio Web 创建书籍时的误报失败:后台仍在异步创建时,前端延长等待窗口,不再过早提示 `Book not found`
|
|
356
|
+
- 段落碎片检测忽略纯对话行,减少误报
|
|
357
|
+
|
|
358
|
+
---
|
|
359
|
+
|
|
360
|
+
## v1.0.0
|
|
361
|
+
|
|
362
|
+
InkOS Studio + 稳定性加固。从 CLI 工具升级为 CLI + Web 工作台。
|
|
363
|
+
|
|
364
|
+
### InkOS Studio
|
|
365
|
+
|
|
366
|
+
- `inkos studio` 启动本地 Web 工作台(Vite + React + Hono,默认端口 4567)
|
|
367
|
+
- 书籍管理:创建、删除、导出(TXT/MD/EPUB)、配置
|
|
368
|
+
- 章节审阅与编辑:批准/拒绝、行内编辑、多模式修订(polish/spot-fix/rewrite/anti-detect)
|
|
369
|
+
- 实时写作进度:SSE 推送生成状态
|
|
370
|
+
- 市场雷达:AI 驱动的平台/题材趋势分析
|
|
371
|
+
- 数据分析:字数统计、审计通过率、章节排名、token 用量
|
|
372
|
+
- AI 检测:扫描章节 AI 生成痕迹
|
|
373
|
+
- 文风分析与导入:分析参考文本、注入写作风格
|
|
374
|
+
- 题材管理:创建/自定义题材(疲劳词、节奏规则、审计维度)
|
|
375
|
+
- 守护进程控制:启停后台写作、查看事件日志
|
|
376
|
+
- 真相文件编辑器:按书查看和编辑知识库
|
|
377
|
+
- 配置编辑器:LLM 提供商、模型路由、通知
|
|
378
|
+
|
|
379
|
+
### Bug Fixes
|
|
380
|
+
|
|
381
|
+
- unknown hook 在 resolve/defer 时不再抛异常,改为跳过
|
|
382
|
+
- Studio 创建书后等待完成再路由跳转
|
|
383
|
+
- Studio 异步创建失败时错误暴露给用户
|
|
384
|
+
- validator false positive:只在硬矛盾时 fail,减少误报
|
|
385
|
+
|
|
386
|
+
### Chore
|
|
387
|
+
|
|
388
|
+
- 清理 studio 合并带入的无关文件(.playwright-cli/、.superpowers/、推广文档)
|
|
389
|
+
- untrack docs/ 和 autoresearch/,加入 .gitignore
|
|
390
|
+
- SKILL.md 升级到 v2.2.0,新增 Studio workflow section
|
|
391
|
+
- 三语 README 更新 Studio 发布公告和路线图
|
|
392
|
+
|
|
393
|
+
---
|
|
394
|
+
|
|
395
|
+
## v0.6.3
|
|
396
|
+
|
|
397
|
+
### Bug Fixes
|
|
398
|
+
|
|
399
|
+
- **#113/#109** — StateValidator JSON 解析从贪婪正则改为平衡括号解析器,LLM 追加 markdown 不再导致解析失败
|
|
400
|
+
- **#114** — status 命令章节数改为数实际文件,不再受 poisoned runtime state 影响
|
|
401
|
+
- **#110** — book creation 改为原子操作(临时目录 → rename),失败不留半成品
|
|
402
|
+
- **#92/#93** — agent 执行层硬限制:write_draft 校验顺序写入、revise_chapter 校验目标章存在、write_truth_file 拦截进度篡改、import_chapters 要求 ≥2 章
|
|
403
|
+
- **#90** — 段落形态检测移到落盘前(覆盖 normalize + auto revise 后的最终内容)
|
|
404
|
+
- **#94** — 标题去重:writer prompt 加约束 + post-write validator 检测 + 自动改名
|
|
405
|
+
|
|
406
|
+
### Improvements
|
|
407
|
+
|
|
408
|
+
- **#111** — SKILL.md 补齐 13 个缺失命令(eval, consolidate, write rewrite, book update/delete, plan/compose, studio, fanfic show/refresh, genre create/copy)
|
|
409
|
+
- **#95** — doctor 命令新增版本迁移检测(识别 pre-v0.6 旧格式书籍)
|
|
410
|
+
- **#103** — 补充 rewrite 端到端回归测试(rewrite 2 → next 应为 3)
|
|
411
|
+
- 新增 `inkos eval` 命令 — 结构化质量评估报告
|
|
412
|
+
- SKILL.md 版本升级到 2.1.0
|
|
413
|
+
|
|
414
|
+
## v0.6.2
|
|
415
|
+
|
|
416
|
+
### Bug Fixes
|
|
417
|
+
|
|
418
|
+
- **伏笔崩溃** (#99/#101/#104) — duplicate active hook family 不再崩溃,改为自动吸收合并;新增 hook 仲裁机制降低重复频率
|
|
419
|
+
- **本地 LLM** (#100) — 本地/self-hosted OpenAI-compatible 端点(Ollama 等)不再要求 API key
|
|
420
|
+
- **0 字章节** (#105) — truth rebuild 不再覆盖最终章节内容
|
|
421
|
+
- **章号错误** (#108/#98) — poisoned manifest 在 bootstrap 时自动归一化到真实进度
|
|
422
|
+
- **坏章节写入** (#88) — state validator 空响应直接报错,章节文件保存移到校验通过之后
|
|
423
|
+
- **Provider 400** (#91) — streaming provider fallback 错误提示优化
|
|
424
|
+
|
|
425
|
+
### Improvements
|
|
426
|
+
|
|
427
|
+
- **段落质量** (#90) — 新增短段落检测和段落密度漂移 warning
|
|
428
|
+
- **Agent 工具约束** (#92/#93) — agent 工具描述加强边界约束,system prompt 新增禁止性规则
|
|
429
|
+
- Windows 兼容:tar 命令加 --force-local
|
|
430
|
+
- README 描述更新,OpenClaw 链接指向 skill 页面
|
|
431
|
+
|
|
432
|
+
## v0.6.1
|
|
433
|
+
|
|
434
|
+
- 修复 emphasized hook id 标准化
|
|
435
|
+
- 修复 poisoned runtime state 恢复
|
|
436
|
+
|
|
437
|
+
## v0.6
|
|
438
|
+
|
|
439
|
+
结构化状态 + 伏笔治理 + 字数治理。
|
|
440
|
+
|
|
441
|
+
重点解决三个长篇写作的系统性问题:**20+ 章后上下文膨胀导致写作变慢甚至 400 报错**、**伏笔只加不收、回收率接近 0%**、**字数偏差 50%+ 且 normalizer 可能毁章**。
|
|
442
|
+
|
|
443
|
+
### 架构
|
|
444
|
+
|
|
445
|
+
- 管线升级为 10-agent:新增 Planner、Composer、Observer、Reflector、Normalizer
|
|
446
|
+
- 真相文件迁移到 `story/state/*.json`(Zod 校验),Settler 输出 JSON delta 而非全量 markdown,旧书自动迁移
|
|
447
|
+
- Node 22+ 启用 SQLite 时序记忆数据库(`story/memory.db`),按相关性检索历史事实
|
|
448
|
+
- `createRequire` 修复 ESM 下 node:sqlite 加载
|
|
449
|
+
|
|
450
|
+
### 伏笔治理
|
|
451
|
+
|
|
452
|
+
- Planner 生成 `hookAgenda`(mustAdvance / eligibleResolve / staleDebt),排班伏笔推进与回收
|
|
453
|
+
- Settler working set 扩展为 `selected ∪ recent ∪ agenda ∪ dormant debt`,堵住检索盲区
|
|
454
|
+
- hookOps 新增 `mention` 语义——"只是被提到"不再更新 `lastAdvancedChapter`,防止假推进
|
|
455
|
+
- `analyzeHookHealth`:active 超上限 / 连续无推进 / stale 未处置 / 新开不回收 → 审计 warning
|
|
456
|
+
- `evaluateHookAdmission`:重复 hook 家族自动拦截,防止伏笔膨胀
|
|
457
|
+
|
|
458
|
+
### 字数治理
|
|
459
|
+
|
|
460
|
+
- `LengthSpec`(target / softMin-softMax / hardMin-hardMax)+ `countingMode`(zh_chars / en_words)
|
|
461
|
+
- 审计前 + 修订后各一次归一化机会,不暴力截断
|
|
462
|
+
- 安全网:归一化结果 <25% 原文直接拒绝,`stripCommonWrappers` 删超 50% 回退原文
|
|
463
|
+
|
|
464
|
+
### 质量
|
|
465
|
+
|
|
466
|
+
- 跨章重复检测(中文 6 字 ngram / 英文 3 词短语)
|
|
467
|
+
- 对话驱动引导(互动场景优先对话交锋)
|
|
468
|
+
- English variance brief(反重复短语/开头/结尾注入)
|
|
469
|
+
- 多角色场景阻力要求(至少一轮带阻力的直接交锋)
|
|
470
|
+
|
|
471
|
+
### Bug 修复
|
|
472
|
+
|
|
473
|
+
- 用户 `INKOS_LLM_MAX_TOKENS` 作为全局上限生效(#87)
|
|
474
|
+
- `stripReservedKeys` 防止 `llm.extra` 覆盖 max_tokens / temperature
|
|
475
|
+
- 章节摘要去重:append 前去重 + bootstrap 加载时去重 + JSON 自动修复
|
|
476
|
+
- `consolidate` 正则支持全角括号卷边界格式
|
|
477
|
+
- 双语 CLI 输出和日志
|
|
478
|
+
- Runtime state 中毒恢复
|
|
479
|
+
|
|
480
|
+
---
|
|
481
|
+
|
|
482
|
+
## v0.5.0
|
|
483
|
+
|
|
484
|
+
英文原生写作 + 系统稳定性修复。
|
|
485
|
+
|
|
486
|
+
### 英文小说写作
|
|
487
|
+
|
|
488
|
+
- 10 个英文题材(LitRPG、Progression Fantasy、Isekai、Romantasy、Sci-Fi、Cozy Fantasy、Tower Climber、Dungeon Core、System Apocalypse、Cultivation)
|
|
489
|
+
- `--lang en` 贯穿全管道:Architect 生成英文设定、Writer 英文创作、Settler 英文 truth files、Auditor 英文审计、Reviser 英文修订
|
|
490
|
+
- 英文写后验证器:AI-tell 词检测(delve/tapestry/testament 等)、段落长度、疲劳词
|
|
491
|
+
- 章节标题自动切换:`Chapter X:` vs `第X章`
|
|
492
|
+
- EPUB 导出 lang 标签适配
|
|
493
|
+
|
|
494
|
+
### 系统稳定性
|
|
495
|
+
|
|
496
|
+
- 原子写入锁:`acquireBookLock` 从 stat+write 改为 `open("wx")` 排他创建,消除竞态
|
|
497
|
+
- 调度器防重入:上一轮写作/雷达未完成时跳过新 tick
|
|
498
|
+
- 修订一致性:revision 链使用 `finalContent` 而非原始内容,spot-fix 不再丢失
|
|
499
|
+
- Agent override 客户端隔离:不同 API key 的 agent 不再共用连接
|
|
500
|
+
- Daemon pid 清理:启动失败时自动删除残留 pid 文件
|
|
501
|
+
- Studio 启动修复:构建后的 JS 用 node 而非 tsx 启动
|
|
502
|
+
- Import resume 计数修正:`--resume-from` 正确报告实际处理数
|
|
503
|
+
|
|
504
|
+
### CLI 增强
|
|
505
|
+
|
|
506
|
+
- `inkos book delete <id>`:删除书籍及全部数据(`--force` 跳过确认)
|
|
507
|
+
- `inkos status --chapters`:显示每章状态和 failed 章节的 critical issues
|
|
508
|
+
- 审计 JSON 解析容错(#51)
|
|
509
|
+
- `write_truth_file` agent 工具(#53)
|
|
510
|
+
- 审计漂移纠偏自动注入状态卡(#52)
|
|
511
|
+
|
|
512
|
+
---
|
|
513
|
+
|
|
514
|
+
## v0.4.6
|
|
515
|
+
|
|
516
|
+
日志系统 + 流式兼容性 + 本地模型容错 + CLI 增强。
|
|
517
|
+
|
|
518
|
+
### 结构化日志
|
|
519
|
+
|
|
520
|
+
- 新增 Logger 模块:ANSI 颜色输出(INFO=cyan, WARN=yellow, ERROR=red),JSON Lines 文件日志
|
|
521
|
+
- `inkos up` 自动写入 `inkos.log`,守护进程重启后可追溯
|
|
522
|
+
- `write next`、`draft`、`up` 支持 `-q, --quiet` 静默模式
|
|
523
|
+
- LLM 流式心跳:模型思考期间每 30 秒汇报进度(已接收字符数、中文字数)
|
|
524
|
+
- 管线内 17 处 `process.stderr.write` 替换为结构化 logger
|
|
525
|
+
|
|
526
|
+
### 流式兼容性
|
|
527
|
+
|
|
528
|
+
- Stream 自动降级:streaming 失败时自动用 sync 重试,中转站不支持 SSE 也能用
|
|
529
|
+
- 流中断部分内容恢复:已接收 ≥500 字符时返回截断内容而非报错(#21)
|
|
530
|
+
- 错误诊断增强:400/401/403/429/Connection error 附带 baseUrl、model 上下文和排查建议
|
|
531
|
+
- `inkos doctor` 失败时给出针对性 hints(检查 baseUrl、试 stream:false、检查 API Key)
|
|
532
|
+
|
|
533
|
+
### Bug 修复
|
|
534
|
+
|
|
535
|
+
- `rewrite` 快照恢复:`particle_ledger.md` 从必需改为可选,非数值题材不再报错(#37)
|
|
536
|
+
- `rewrite` 第 1 章:`initBook` 末尾生成 snapshot-0,chapter 1 可正确恢复(#34)
|
|
537
|
+
- 本地小模型空章节:`parseCreativeOutput` 增加 3 级 fallback(markdown heading → 正文标签 → 最长散文块),Qwen/Ollama 不再返回空内容(#13)
|
|
538
|
+
|
|
539
|
+
### CLI 增强
|
|
540
|
+
|
|
541
|
+
- `book create --brief <file>`:传入创作简报,Architect 基于你的脑洞生成设定(#43)
|
|
542
|
+
- `write rewrite` 第 1 章时正确恢复到 snapshot-0(之前跳过恢复)
|
|
543
|
+
|
|
544
|
+
---
|
|
545
|
+
|
|
546
|
+
## v0.4 (v0.4.0 – v0.4.5)
|
|
547
|
+
|
|
548
|
+
续写 + 番外写作 + 文风仿写 + 多 Provider 路由 + 写后验证器 + 审计闭环加固。
|
|
549
|
+
|
|
550
|
+
### 续写已有作品
|
|
551
|
+
|
|
552
|
+
把已有的小说(单文件或章节目录)导入 InkOS,系统自动拆章、逆向工程生成全套真相文件(世界状态、伏笔、角色矩阵等),之后直接 `write next` 续写。
|
|
553
|
+
|
|
554
|
+
```bash
|
|
555
|
+
inkos import chapters 我的小说 --from 已有章节/ # 从目录导入
|
|
556
|
+
inkos import chapters 我的小说 --from 全书.txt # 从单文件导入(自动按"第X章"拆分)
|
|
557
|
+
inkos import chapters 我的小说 --from 全书.txt --split "Chapter\\s+\\d+" # 自定义分章正则
|
|
558
|
+
inkos write next 我的小说 # 无缝续写
|
|
559
|
+
```
|
|
560
|
+
|
|
561
|
+
单文件模式自动按 `第X章` 分章,也支持 `--split <regex>` 自定义。导入中断可用 `--resume-from <n>` 断点续导。
|
|
562
|
+
|
|
563
|
+
### 番外写作(Spinoff)
|
|
564
|
+
|
|
565
|
+
基于已有书创建前传、后传、外传或 if 线。番外和正传共享世界观和角色,但有独立剧情线。
|
|
566
|
+
|
|
567
|
+
```bash
|
|
568
|
+
inkos import canon 烈焰前传 --from 吞天魔帝 # 导入正传正典到番外
|
|
569
|
+
inkos write next 烈焰前传 # 写手自动读取正典约束
|
|
570
|
+
```
|
|
571
|
+
|
|
572
|
+
导入后生成 `story/parent_canon.md`,包含正传的世界规则、角色快照(含信息边界)、关键事件时间线、伏笔状态。写手在动笔前参照正典,审计员自动激活 4 个番外专属维度:
|
|
573
|
+
|
|
574
|
+
| 维度 | 审查内容 |
|
|
575
|
+
|------|----------|
|
|
576
|
+
| 正传事件冲突 | 番外事件是否与正典约束表矛盾 |
|
|
577
|
+
| 未来信息泄露 | 角色是否引用了分歧点之后才揭示的信息 |
|
|
578
|
+
| 世界规则跨书一致性 | 番外是否违反正传世界规则(力量体系、地理、阵营) |
|
|
579
|
+
| 番外伏笔隔离 | 番外是否越权回收正传伏笔 |
|
|
580
|
+
|
|
581
|
+
检测到 `parent_canon.md` 自动激活,无需额外配置。
|
|
582
|
+
|
|
583
|
+
### 文风仿写
|
|
584
|
+
|
|
585
|
+
喂入真人小说片段,系统提取统计指纹 + 生成风格指南,后续每章自动注入写手 prompt。
|
|
586
|
+
|
|
587
|
+
```bash
|
|
588
|
+
inkos style analyze 参考小说.txt # 分析:句长、TTR、修辞特征
|
|
589
|
+
inkos style import 参考小说.txt 吞天魔帝 --name 某作者 # 导入文风到书
|
|
590
|
+
```
|
|
591
|
+
|
|
592
|
+
产出两个文件:
|
|
593
|
+
- `style_profile.json` — 统计指纹(句长分布、段落长度、词汇多样性、修辞密度)
|
|
594
|
+
- `style_guide.md` — LLM 生成的定性风格指南(节奏、语气、用词偏好、禁忌)
|
|
595
|
+
|
|
596
|
+
写手每章读取风格指南,审计员在文风维度对照检查。
|
|
597
|
+
|
|
598
|
+
### 写后验证器
|
|
599
|
+
|
|
600
|
+
11 条确定性规则,零 LLM 成本,每章写完立刻触发:
|
|
601
|
+
|
|
602
|
+
| 规则 | 说明 |
|
|
603
|
+
|------|------|
|
|
604
|
+
| 禁止句式 | 「不是……而是……」 |
|
|
605
|
+
| 禁止破折号 | 「——」 |
|
|
606
|
+
| 转折词密度 | 仿佛/忽然/竟然等,每 3000 字 ≤ 1 次 |
|
|
607
|
+
| 高疲劳词 | 题材疲劳词单章每词 ≤ 1 次 |
|
|
608
|
+
| 元叙事 | 编剧旁白式表述 |
|
|
609
|
+
| 报告术语 | 分析框架术语不入正文 |
|
|
610
|
+
| 作者说教 | 显然/不言而喻等 |
|
|
611
|
+
| 集体反应 | 「全场震惊」类套话 |
|
|
612
|
+
| 连续了字 | ≥ 6 句连续含「了」 |
|
|
613
|
+
| 段落过长 | ≥ 2 个段落超 300 字 |
|
|
614
|
+
| 本书禁忌 | book_rules.md 中的禁令 |
|
|
615
|
+
|
|
616
|
+
验证器发现 error 级违规时,自动触发 `spot-fix` 模式定点修复,不等 LLM 审计。
|
|
617
|
+
|
|
618
|
+
### 审计-修订闭环加固
|
|
619
|
+
|
|
620
|
+
实测发现 `rewrite` 模式引入 6 倍 AI 标记词,现在:
|
|
621
|
+
|
|
622
|
+
- 自动修订模式从 `rewrite` 改为 `spot-fix`(只改问题句,不碰其余正文)
|
|
623
|
+
- 修订后对比 AI 标记数,如果修订反而增多 AI 痕迹,丢弃修订保留原文
|
|
624
|
+
- 再审温度锁 0(消除审计随机性,同一章不再出现 0-6 个 critical 的波动)
|
|
625
|
+
- `polish` 模式加固边界(禁止增删段落、改人名、加新情节)
|
|
626
|
+
|
|
627
|
+
### 多 Provider 路由
|
|
628
|
+
|
|
629
|
+
不同 agent 可以走不同 API 提供商——不只是换模型名,是完全不同的 API 地址和 Key。例如写手用便宜模型高速出稿,审计员用强模型精审:
|
|
630
|
+
|
|
631
|
+
```bash
|
|
632
|
+
inkos config set-model writer gpt-4o-mini # 简单模型覆盖
|
|
633
|
+
inkos config set-model auditor gemini-2.5-flash \
|
|
634
|
+
--base-url https://generativelanguage.googleapis.com/v1beta/openai \
|
|
635
|
+
--provider openai \
|
|
636
|
+
--api-key-env GEMINI_API_KEY # 走 Gemini API
|
|
637
|
+
inkos config set-model reviser claude-sonnet-4-20250514 \
|
|
638
|
+
--base-url https://api.anthropic.com \
|
|
639
|
+
--provider anthropic \
|
|
640
|
+
--api-key-env ANTHROPIC_API_KEY # 走 Anthropic API
|
|
641
|
+
inkos config show-models # 查看路由全景
|
|
642
|
+
```
|
|
643
|
+
|
|
644
|
+
每个 agent 独立配置 `--base-url`、`--provider`、`--api-key-env`、`--no-stream`。未覆盖的 agent 使用项目默认模型。
|
|
645
|
+
|
|
646
|
+
### 数据分析
|
|
647
|
+
|
|
648
|
+
```bash
|
|
649
|
+
inkos analytics 吞天魔帝 # 审计通过率、高频问题类别、问题最多的章节
|
|
650
|
+
inkos analytics 吞天魔帝 --json # 结构化输出
|
|
651
|
+
```
|
|
652
|
+
|
|
653
|
+
### 其他 v0.4 变更
|
|
654
|
+
|
|
655
|
+
- 审计维度从 26 扩展到 33(+4 番外维度 + dim 27 敏感词 + dim 32 读者期待管理 + dim 33 大纲偏离检测)
|
|
656
|
+
- 审计员联网搜索:年代考据题材可联网核实真实事件/人物/地理(原生搜索能力)
|
|
657
|
+
- 调度器重写:AI 节奏(默认 15 分钟一轮)、并行书处理、立即重试、每日上限
|
|
658
|
+
- 修订者新增 `spot-fix` 模式(定点修复)
|
|
659
|
+
- `book_rules.md` 的 `additionalAuditDimensions` 支持中文名称匹配
|
|
660
|
+
- 全部 5 个题材激活 dim 24-26(支线停滞/弧线平坦/节奏单调)
|
|
661
|
+
- `inkos export` 支持 `--format md`、`--output <path>`、`--approved-only`
|
|
662
|
+
- 写后验证器「连续了字」阈值从 4 句上调至 6 句(减少中文叙事误报)
|
|
663
|
+
- 安全加固:`init`/`book create`/`import chapters` 防覆盖检查、`config set` 类型推断 + key 校验、`update` 防降级、`doctor` 项目外可测 API、状态显示一致性、`genre show` 拒绝无效 ID
|
|
664
|
+
|
|
665
|
+
---
|
|
666
|
+
|
|
667
|
+
## v0.3
|
|
668
|
+
|
|
669
|
+
创作规则三层分离 + 跨章记忆 + AIGC 检测 + Webhook。
|
|
670
|
+
|
|
671
|
+
### 跨章记忆与写作质量
|
|
672
|
+
|
|
673
|
+
Writer 每章自动生成摘要、更新支线/情感/角色矩阵,全部追加到真相文件。后续章节加载全量上下文,长线伏笔不再丢失。
|
|
674
|
+
|
|
675
|
+
| 真相文件 | 用途 |
|
|
676
|
+
|----------|------|
|
|
677
|
+
| `chapter_summaries.md` | 各章摘要:出场人物、关键事件、状态变化、伏笔动态 |
|
|
678
|
+
| `subplot_board.md` | 支线进度板:A/B/C 线状态追踪 |
|
|
679
|
+
| `emotional_arcs.md` | 情感弧线:按角色追踪情绪、触发事件、弧线方向 |
|
|
680
|
+
| `character_matrix.md` | 角色交互矩阵:相遇记录、信息边界 |
|
|
681
|
+
|
|
682
|
+
### AIGC 检测
|
|
683
|
+
|
|
684
|
+
| 功能 | 说明 |
|
|
685
|
+
|------|------|
|
|
686
|
+
| AI 痕迹审计 | 纯规则检测(不走 LLM):段落等长、套话密度、公式化转折、列表式结构,自动合并到审计结果 |
|
|
687
|
+
| AIGC 检测 API | 外部 API 集成(GPTZero / Originality / 自定义端点),`inkos detect` 命令 |
|
|
688
|
+
| 文风指纹学习 | 从参考文本提取 StyleProfile(句长、TTR、修辞特征),注入 Writer prompt |
|
|
689
|
+
| 反检测改写 | ReviserAgent `anti-detect` 模式,检测→改写→重检测循环 |
|
|
690
|
+
| 检测反馈闭环 | `detection_history.json` 记录每次检测/改写结果,`inkos detect --stats` 查看统计 |
|
|
691
|
+
|
|
692
|
+
```bash
|
|
693
|
+
inkos style analyze reference.txt # 分析参考文本文风
|
|
694
|
+
inkos style import reference.txt 吞天魔帝 # 导入文风到书
|
|
695
|
+
inkos detect 吞天魔帝 --all # 全书 AIGC 检测
|
|
696
|
+
inkos detect --stats # 检测统计
|
|
697
|
+
```
|
|
698
|
+
|
|
699
|
+
### Webhook + 智能调度
|
|
700
|
+
|
|
701
|
+
管线事件 POST JSON 到配置 URL(HMAC-SHA256 签名),支持事件过滤(`chapter-complete`、`audit-failed`、`pipeline-error` 等)。守护进程增加质量门控:审计失败自动重试(调高 temperature)、连续失败暂停书籍。
|
|
702
|
+
|
|
703
|
+
### 题材自定义
|
|
704
|
+
|
|
705
|
+
内置 5 个题材,每个题材带一套完整的创作规则:章节类型、禁忌清单、疲劳词、语言铁律、审计维度。
|
|
706
|
+
|
|
707
|
+
| 题材 | 自带规则 |
|
|
708
|
+
|------|----------|
|
|
709
|
+
| 玄幻 | 数值系统、战力体系、同质吞噬衰减公式、打脸/升级/收益兑现节奏 |
|
|
710
|
+
| 仙侠 | 修炼/悟道节奏、法宝体系、天道规则 |
|
|
711
|
+
| 都市 | 年代考据、商战/社交驱动、法律术语年代匹配、无数值系统 |
|
|
712
|
+
| 恐怖 | 氛围递进、恐惧层级、克制叙事、无战力审计 |
|
|
713
|
+
| 通用 | 最小化兜底 |
|
|
714
|
+
|
|
715
|
+
创建书时指定题材,对应规则自动生效:
|
|
716
|
+
|
|
717
|
+
```bash
|
|
718
|
+
inkos book create --title "吞天魔帝" --genre xuanhuan
|
|
719
|
+
```
|
|
720
|
+
|
|
721
|
+
题材规则可以查看、复制到项目中修改、或从零创建:
|
|
722
|
+
|
|
723
|
+
```bash
|
|
724
|
+
inkos genre list # 查看所有题材
|
|
725
|
+
inkos genre show xuanhuan # 查看玄幻的完整规则
|
|
726
|
+
inkos genre copy xuanhuan # 复制到项目中,随意改
|
|
727
|
+
inkos genre create wuxia --name 武侠 # 从零创建新题材
|
|
728
|
+
```
|
|
729
|
+
|
|
730
|
+
复制到项目后,增删禁忌、调整疲劳词、修改节奏规则、自定义语言铁律——改完下次写章自动生效。
|
|
731
|
+
|
|
732
|
+
每个题材有专属语言铁律(带 ✗→✓ 示例),写手和审计员同时执行:
|
|
733
|
+
|
|
734
|
+
- **玄幻**:✗ "火元从12缕增加到24缕" → ✓ "手臂比先前有力了,握拳时指骨发紧"
|
|
735
|
+
- **都市**:✗ "迅速分析了当前的债务状况" → ✓ "把那叠皱巴巴的白条翻了三遍"
|
|
736
|
+
- **恐怖**:✗ "感到一阵恐惧" → ✓ "后颈的汗毛一根根立起来"
|
|
737
|
+
|
|
738
|
+
### 单本书规则
|
|
739
|
+
|
|
740
|
+
每本书有独立的 `book_rules.md`,建筑师 agent 创建书时自动生成,也可以随时手改。写在这里的规则注入每一章的 prompt:
|
|
741
|
+
|
|
742
|
+
```yaml
|
|
743
|
+
protagonist:
|
|
744
|
+
name: 林烬
|
|
745
|
+
personalityLock: ["强势冷静", "能忍能杀", "有脑子不是疯狗"]
|
|
746
|
+
behavioralConstraints: ["不圣母不留手", "对盟友有温度但不煽情"]
|
|
747
|
+
numericalSystemOverrides:
|
|
748
|
+
hardCap: 840000000
|
|
749
|
+
resourceTypes: ["微粒", "血脉浓度", "灵石"]
|
|
750
|
+
prohibitions:
|
|
751
|
+
- 主角关键时刻心软
|
|
752
|
+
- 无意义后宫暧昧拖剧情
|
|
753
|
+
- 配角戏份喧宾夺主
|
|
754
|
+
fatigueWordsOverride: ["瞳孔骤缩", "不可置信"] # 覆盖题材默认
|
|
755
|
+
```
|
|
756
|
+
|
|
757
|
+
主角人设锁定、数值上限、自定义禁令、疲劳词覆盖——每本书的规则独立调整,不影响题材模板。
|
|
758
|
+
|
|
759
|
+
### 33 维度审计
|
|
760
|
+
|
|
761
|
+
审计细化为 33 个维度,按题材自动启用对应的子集:
|
|
762
|
+
|
|
763
|
+
OOC检查、时间线、设定冲突、战力崩坏、数值检查、伏笔、节奏、文风、信息越界、词汇疲劳、利益链断裂、年代考据、配角降智、配角工具人化、爽点虚化、台词失真、流水账、知识库污染、视角一致性、段落等长、套话密度、公式化转折、列表式结构、支线停滞、弧线平坦、节奏单调、敏感词检查、正传事件冲突、未来信息泄露、世界规则跨书一致性、番外伏笔隔离、读者期待管理、大纲偏离检测
|
|
764
|
+
|
|
765
|
+
dim 20-23(AI 痕迹)+ dim 27(敏感词)由纯规则引擎检测,不消耗 LLM 调用。dim 28-31(番外维度)检测到 `parent_canon.md` 自动激活。dim 32(读者期待管理)、dim 33(大纲偏离检测)始终开启。
|
|
766
|
+
|
|
767
|
+
### 去 AI 味
|
|
768
|
+
|
|
769
|
+
5 条通用规则 + 每个题材的专属语言规则,控制 AI 标记词密度和叙述习惯:
|
|
770
|
+
|
|
771
|
+
- AI 标记词限频:仿佛/忽然/竟然/不禁/宛如/猛地,每 3000 字 ≤ 1 次
|
|
772
|
+
- 叙述者不替读者下结论,只写动作
|
|
773
|
+
- 禁止分析报告式语言("核心动机""信息落差"不入正文)
|
|
774
|
+
- 同一意象渲染不超过两轮
|
|
775
|
+
- 方法论术语不入正文
|
|
776
|
+
|
|
777
|
+
词汇疲劳审计 + AI 痕迹审计(dim 20-23)双重检测。文风指纹注入进一步降低 AI 文本特征。
|
|
778
|
+
|
|
779
|
+
### 其他 v0.3 变更
|
|
780
|
+
|
|
781
|
+
- 支持 OpenAI + Anthropic 原生 + 所有 OpenAI 兼容接口
|
|
782
|
+
- 修订者支持 polish / rewrite / rework / anti-detect / spot-fix 五种模式
|
|
783
|
+
- 无数值系统的题材不生成资源账本
|
|
784
|
+
- 所有命令支持 `--json` 结构化输出,OpenClaw / 外部 Agent 可直接解析
|
|
785
|
+
- book-id 自动检测:项目只有一本书时省略 book-id
|
|
786
|
+
- `inkos update` 一键更新、`inkos init` 支持当前目录初始化
|
|
787
|
+
- API 错误附带中文诊断提示,`inkos doctor` 含 API 连通性测试
|