diff --git a/CHANGELOG.en.md b/CHANGELOG.en.md index 7af01c1a..452d7f50 100644 --- a/CHANGELOG.en.md +++ b/CHANGELOG.en.md @@ -2,18 +2,34 @@ [中文](CHANGELOG.md) | English -## Unreleased +## v1.7.0 -### Improvements +### Release Focus -- Chat gains an `import_chapters` tool: existing novels in local files/directories (including attachments uploaded in chat) can be imported as real book chapters, with settings reverse-engineered automatically and chapter state replayed; its role is clearly separated from `ingest_material` (which only stores reference material) (#324) -- Services with dynamic model lists such as OpenRouter (openrouter/newapi/kkaiapi/ppio/siliconcloud) no longer block user-configured models with a static whitelist; the openrouter connectivity probe model switched to the long-lived `openrouter/auto`, fixing 404s caused by falling back to a delisted model (#300) -- The MiniMax integration now requests `reasoning_split` by default, so thinking content no longer leaks into chapter/chat prose as `` tags (M2.x thinking cannot be disabled server-side); as a safety net, a complete think block at the start of a response is stripped uniformly (#329) -- The revision gate is now configurable: `writing.revisionGate` supports three levels — strict (default, current behavior) / lenient (apply as long as it is not worse) / always (manual revisions are always applied) — with global and per-book overrides (#326) -- The CLI now respects book-level `writing.reviewMode` (previously `inkos write next` always ran automatic review); new `inkos auto [book-id] ` writes continuously and automatically up to the target chapter (#307) -- Notification channels support `format: text` (the default remains markdown); `write next / write rewrite / auto / revise / audit` gain `--notify` to send a notification when the action completes or fails (#308) -- Studio adds an "expand action details by default" browser preference (Project Settings → Chat interface); small tool rows such as read/grep can also be expanded to view their output when results exist (#306) -- English parity batch: added English prompt branches for the short-fiction / script / interactive-film pipelines, bilingual copy for dynamic areas of the Studio UI, and CLI fixes for environment-language fallback and hardcoded Chinese output; added the full English changelog `CHANGELOG.en.md` and filled in missing English README sections +Major multilingual creation and long-task reliability release. InkOS gains a complete long-form translation and localization workflow, while English support now extends through short fiction, scripts, storyboards, interactive film, Studio, and the CLI. Chat-driven novel import, configurable review and revision, automatic write-lock recovery, and abort propagation make long-form collaboration and cross-platform use more reliable. + +### Major Features + +- Added a translation and localization workflow for EPUB, text-based PDF, TXT, and Markdown sources, with chapter-aware semantic segmentation, glossary management, chapter review, and TXT / Markdown / EPUB export +- Added the Studio Translation workbench for human-readable source and target languages, project creation, translation runs, side-by-side source and translated text review, review reports, and complete-file export +- Added `inkos translate create / run / export` to the CLI. Studio Chat can also propose a confirmed translation action without requiring users to know language codes such as `zh` or `en` +- Added English prompt branches for short fiction, scripts, storyboards, and interactive film, plus bilingual dynamic Studio copy and corrected CLI environment-language fallback +- Added the Chat `import_chapters` tool: existing novels from local files, directories, or chat attachments can become real book chapters, with settings reverse-engineered and chapter state replayed. This is distinct from `ingest_material`, which only stores reference material (#324) + +### Collaboration And Control + +- Added configurable `writing.revisionGate` policies: strict, lenient, and always, with project-level and per-book overrides. Rejected revisions now report before/after review metrics and remaining issues (#326) +- The CLI now respects per-book `writing.reviewMode`; new `inkos auto [book-id] ` writes continuously to a target chapter (#307) +- Notification channels support plain text, and `write next / write rewrite / auto / revise / audit` can send completion or failure notifications with `--notify` (#308) +- Studio can expand action details by default, including read / grep tool results, making completed work directly inspectable (#306) + +### Reliability And Compatibility + +- Replaced fragile write-lock files with owned, heartbeating cross-process leases. Locks left by the same process, dead processes, or expired leases recover automatically; active conflicts return `BOOK_BUSY` instead of asking users to delete `.write.lock` manually (#337) +- Studio abort actions now propagate through pi-agent, the writing pipeline, and model requests, preventing background writes after the UI has stopped a task +- Dynamic model services such as OpenRouter, NewAPI, kkaiapi, PPIO, and SiliconCloud no longer reject user models through static allowlists; OpenRouter probing now uses the long-lived `openrouter/auto` model (#300) +- MiniMax responses use reasoning separation by default, with a shared fallback that removes complete leading think blocks before they enter chapters or chat prose (#329) +- Uploaded attachments and translation sources now return portable POSIX project-relative paths across Windows and Unix systems ## v1.6.3 diff --git a/CHANGELOG.md b/CHANGELOG.md index 26097a11..412c9624 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,18 +2,34 @@ [English](CHANGELOG.en.md) | 中文 -## Unreleased +## v1.7.0 -### Improvements +### Release Focus -- Chat 新增 `import_chapters` 工具:可把本地文件/目录(含对话上传的附件)里的已有小说导入为书籍真实章节,自动逆向生成设定并重放章节状态;与 `ingest_material`(只存参考资料)分工明确(#324) -- OpenRouter 等动态模型清单服务(openrouter/newapi/kkaiapi/ppio/siliconcloud)不再用静态白名单拦截用户配置的模型;openrouter 连通性探测模型更换为长期存在的 `openrouter/auto`,修复回退到已下架模型导致的 404(#300) -- MiniMax 接入默认请求 `reasoning_split`,思考内容不再以 `` 标签混进章节/对话正文(M2.x 的 thinking 无法在服务端关闭);响应起始处的完整 think 块统一剥离兜底(#329) -- 修订判断标准可配置:`writing.revisionGate` 三档 strict(默认,现状)/ lenient(不变差即应用)/ always(手动修订一律应用),支持全局与书级覆盖(#326) -- CLI 现在遵守书级 `writing.reviewMode`(此前 `inkos write next` 永远自动审查);新增 `inkos auto [book-id] <目标章号>` 连续自动写作到指定章(#307) -- 通知渠道支持 `format: text`(默认仍为 markdown);`write next / write rewrite / auto / revise / audit` 新增 `--notify`,动作完成或失败后发送通知(#308) -- Studio 新增"操作详情默认展开"浏览器偏好(项目设置 → 对话界面);read/grep 等小工具行有结果时也可展开查看正文(#306) -- 英文能力对齐批量改动:短篇 / 剧本 / 互动影游管线新增英文提示词分支,Studio 界面动态区补充中英双语文案,CLI 修复环境语言回退与硬编码中文输出;新增全量英文更新日志 `CHANGELOG.en.md` 并补齐英文 README 缺失章节 +多语言创作与长任务可靠性大版本:新增完整的长文翻译 / 本地化工作流,并把英文能力扩展到短篇、剧本、分镜、互动影游、Studio 与 CLI。与此同时,Chat 导入已有小说、可配置审稿修订、写锁自动恢复和中断信号传递,让长篇协作与跨平台运行更稳定。 + +### Major Features + +- 新增翻译 / 本地化工作流:支持导入 EPUB、文本型 PDF、TXT 和 Markdown,按章节与语义段翻译,维护术语表并执行章节审校,可导出 TXT、Markdown 或 EPUB +- Studio 新增翻译工作台:可使用自然语言填写任意源语言 / 目标语言,创建项目、运行翻译、在网页内对照查看原文与译文、阅读审校报告并导出完整文件 +- CLI 新增 `inkos translate create / run / export`;Studio Chat 也可通过确认动作创建翻译项目,不要求用户记忆 `zh`、`en` 等语言缩写 +- 短篇、剧本、分镜和互动影游管线新增英文提示词分支;Studio 动态界面与 CLI 环境语言回退同步补齐,英文不再只是外层 UI 翻译 +- Chat 新增 `import_chapters` 工具:可把本地文件 / 目录及对话附件中的已有小说导入为真实章节,自动逆向生成设定并重放章节状态;与只保存参考资料的 `ingest_material` 明确分工(#324) + +### Collaboration And Control + +- 修订判断标准新增 `writing.revisionGate`:支持 strict、lenient、always 三档,并可按项目或单本书覆盖;未落盘时返回前后审稿指标和具体剩余问题(#326) +- CLI 遵守单本书的 `writing.reviewMode`;新增 `inkos auto [book-id] <目标章号>` 连续写作到指定章节(#307) +- 通知渠道支持纯文本格式;`write next / write rewrite / auto / revise / audit` 支持通过 `--notify` 发送完成或失败通知(#308) +- Studio 可默认展开操作详情,read / grep 等工具结果也能直接查看,降低“做了但看不到结果”的不透明感(#306) + +### Reliability And Compatibility + +- 写锁升级为带所有权、心跳和租约的跨进程锁:同进程遗留锁、进程已退出的锁和过期锁会自动恢复;活跃冲突返回 `BOOK_BUSY`,不再要求用户手工删除 `.write.lock`(#337) +- Studio 中止操作会沿 pi-agent、写作管线和模型请求向下传播,避免界面已停止但后台仍继续写盘 +- OpenRouter、NewAPI、kkaiapi、PPIO、硅基流动等动态模型服务不再用静态白名单拦截用户模型;OpenRouter 探测改用长期存在的 `openrouter/auto`(#300) +- MiniMax 默认启用 reasoning 分离,并统一剥离响应开头完整的 think 块,避免思考内容混入章节或聊天正文(#329) +- 上传附件和翻译源文件统一返回 POSIX 项目相对路径,修复 Windows 与其他平台之间的路径不一致 ## v1.6.3 diff --git a/package.json b/package.json index 3a5140ca..84b3c4e3 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "inkos", - "version": "1.6.3", + "version": "1.7.0", "private": true, "description": "Story Creation AI Agent for long-form and short fiction, scripts, interactive games, and IP content", "keywords": [ diff --git a/packages/cli/package.json b/packages/cli/package.json index 536fa08f..86bd7411 100644 --- a/packages/cli/package.json +++ b/packages/cli/package.json @@ -1,6 +1,6 @@ { "name": "@actalk/inkos", - "version": "1.6.3", + "version": "1.7.0", "description": "Story Creation AI Agent CLI for long-form fiction, InkOS Short, fan works, continuations, covers, and interactive worlds.", "keywords": [ "story-creation-ai-agent", @@ -49,12 +49,12 @@ "typecheck": "tsc --noEmit" }, "dependencies": { - "@actalk/inkos-core": "1.6.3", - "@actalk/inkos-studio": "1.6.3", + "@actalk/inkos-core": "1.7.0", + "@actalk/inkos-studio": "1.7.0", "commander": "^13.0.0", "dotenv": "^16.4.0", "epub-gen-memory": "^1.0.10", - "ink": "^7.0.0", + "ink": "7.0.0", "ink-text-input": "^6.0.0", "marked": "^15.0.12", "marked-terminal": "^7.3.0", diff --git a/packages/core/package.json b/packages/core/package.json index a342a099..fd232342 100644 --- a/packages/core/package.json +++ b/packages/core/package.json @@ -1,6 +1,6 @@ { "name": "@actalk/inkos-core", - "version": "1.6.3", + "version": "1.7.0", "description": "InkOS core engine for story creation agents: governed context, writing, audit, revision, covers, and interactive worlds", "keywords": [ "story-creation-ai-agent", @@ -55,8 +55,8 @@ "typecheck": "tsc --noEmit" }, "dependencies": { - "@mariozechner/pi-agent-core": "^0.67.1", - "@mariozechner/pi-ai": "^0.67.1", + "@mariozechner/pi-agent-core": "0.67.1", + "@mariozechner/pi-ai": "0.67.1", "@sinclair/typebox": "^0.34.49", "dotenv": "^16.4.0", "epub-gen-memory": "^1.0.10", diff --git a/packages/studio/package.json b/packages/studio/package.json index 0c5edfc5..6c19ef03 100644 --- a/packages/studio/package.json +++ b/packages/studio/package.json @@ -1,6 +1,6 @@ { "name": "@actalk/inkos-studio", - "version": "1.6.3", + "version": "1.7.0", "description": "InkOS Studio — web workbench for story creation, InkOS Short, covers, and open-world interactive play", "type": "module", "main": "dist/api/index.js", @@ -31,7 +31,7 @@ "typecheck": "tsc --noEmit && tsc -p tsconfig.server.json --noEmit" }, "dependencies": { - "@actalk/inkos-core": "1.6.3", + "@actalk/inkos-core": "1.7.0", "@base-ui/react": "^1.3.0", "@fontsource-variable/geist": "^5.2.8", "@hono/node-server": "^1.13.0", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 613da45b..26521d99 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -15,10 +15,10 @@ importers: packages/cli: dependencies: '@actalk/inkos-core': - specifier: 1.6.3 + specifier: 1.7.0 version: link:../core '@actalk/inkos-studio': - specifier: 1.6.3 + specifier: 1.7.0 version: link:../studio commander: specifier: ^13.0.0 @@ -30,7 +30,7 @@ importers: specifier: ^1.0.10 version: 1.1.2 ink: - specifier: ^7.0.0 + specifier: 7.0.0 version: 7.0.0(@types/react@19.2.14)(react@19.2.4) ink-text-input: specifier: ^6.0.0 @@ -110,7 +110,7 @@ importers: packages/studio: dependencies: '@actalk/inkos-core': - specifier: 1.6.3 + specifier: 1.7.0 version: link:../core '@base-ui/react': specifier: ^1.3.0