chore(release): prepare v1.7.0

This commit is contained in:
Ma
2026-07-11 18:03:27 +08:00
parent c202ce4a2d
commit fd87b04c3f
7 changed files with 66 additions and 34 deletions
+26 -10
View File
@@ -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 `<think>` 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] <target-chapter>` 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] <target-chapter>` 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
+26 -10
View File
@@ -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`,思考内容不再以 `<think>` 标签混进章节/对话正文(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
+1 -1
View File
@@ -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": [
+4 -4
View File
@@ -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",
+3 -3
View File
@@ -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",
+2 -2
View File
@@ -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",
+4 -4
View File
@@ -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