Просмотр исходного кода

docs: add v0.5 roadmap items (studio, cost tracking, epub, partial rewrite)

Ma 7 месяцев назад
Родитель
Сommit
ef821ecf3e
2 измененных файлов с 119 добавлено и 19 удалено
  1. 60 10
      README.en.md
  2. 59 9
      README.md

+ 60 - 10
README.en.md

@@ -22,7 +22,20 @@ Open-source multi-agent system that autonomously writes, audits, and revises nov
 
 
 ## v0.4 Update
 ## v0.4 Update
 
 
-Spinoff writing + style cloning + post-write validator + audit-revise hardening.
+Continuation writing + spinoff writing + style cloning + multi-provider routing + post-write validator + audit-revise hardening.
+
+### Continuation Writing (Import Existing Work)
+
+Import an existing novel (single file or chapter directory) into InkOS. The system auto-splits chapters, reverse-engineers all truth files (world state, hooks, character matrix, etc.), then seamlessly continues writing.
+
+```bash
+inkos import chapters my-book --from chapters/          # Import from directory
+inkos import chapters my-book --from novel.txt           # Import from single file (auto-splits on "第X章")
+inkos import chapters my-book --from novel.txt --split "Chapter\\s+\\d+"  # Custom split regex
+inkos write next my-book                                 # Continue writing seamlessly
+```
+
+Single-file mode splits on `第X章` by default. Use `--split <regex>` for custom patterns. Interrupted imports can resume with `--resume-from <n>`.
 
 
 ### Spinoff Writing
 ### Spinoff Writing
 
 
@@ -73,7 +86,7 @@ The Writer reads the style guide every chapter; the Auditor cross-checks against
 | Report Terminology | Analytical framework terms banned from prose |
 | Report Terminology | Analytical framework terms banned from prose |
 | Author Sermonizing | "obviously" / "needless to say" etc. |
 | Author Sermonizing | "obviously" / "needless to say" etc. |
 | Collective Shock | "the whole crowd was stunned" cliches |
 | Collective Shock | "the whole crowd was stunned" cliches |
-| Consecutive "le" (了) | ≥ 4 consecutive sentences containing "了" |
+| Consecutive "le" (了) | ≥ 6 consecutive sentences containing "了" |
 | Paragraph Length | ≥ 2 paragraphs over 300 characters |
 | Paragraph Length | ≥ 2 paragraphs over 300 characters |
 | Book Prohibitions | Custom bans from book_rules.md |
 | Book Prohibitions | Custom bans from book_rules.md |
 
 
@@ -88,6 +101,32 @@ Real testing showed `rewrite` mode introduces 6x more AI markers than the origin
 - Re-audit temperature locked to 0 (deterministic pass/fail gating)
 - Re-audit temperature locked to 0 (deterministic pass/fail gating)
 - `polish` mode boundaries strengthened (no adding paragraphs, renaming entities, or changing causality)
 - `polish` mode boundaries strengthened (no adding paragraphs, renaming entities, or changing causality)
 
 
+### Multi-Provider Agent Routing
+
+Different agents can use completely different API providers — not just different model names, but different API endpoints and keys. For example, use a cheap model for drafting and a strong model for auditing:
+
+```bash
+inkos config set-model writer gpt-4o-mini                                    # Simple model override
+inkos config set-model auditor gemini-2.5-flash \
+  --base-url https://generativelanguage.googleapis.com/v1beta/openai \
+  --provider openai \
+  --api-key-env GEMINI_API_KEY                                                # Route to Gemini API
+inkos config set-model reviser claude-sonnet-4-20250514 \
+  --base-url https://api.anthropic.com \
+  --provider anthropic \
+  --api-key-env ANTHROPIC_API_KEY                                             # Route to Anthropic API
+inkos config show-models                                                      # View full routing
+```
+
+Each agent independently configurable with `--base-url`, `--provider`, `--api-key-env`, `--no-stream`. Unconfigured agents use the project default.
+
+### Analytics
+
+```bash
+inkos analytics my-book          # Audit pass rate, top issue categories, chapters with most issues
+inkos analytics my-book --json   # Structured output
+```
+
 ### Other v0.4 Changes
 ### Other v0.4 Changes
 
 
 - Audit dimensions expanded from 26 to 33 (+4 spinoff dims + dim 27 sensitive words + dim 32 reader expectation management + dim 33 outline adherence detection)
 - Audit dimensions expanded from 26 to 33 (+4 spinoff dims + dim 27 sensitive words + dim 32 reader expectation management + dim 33 outline adherence detection)
@@ -96,6 +135,9 @@ Real testing showed `rewrite` mode introduces 6x more AI markers than the origin
 - Scheduler rewrite: AI-paced (15min cycles), parallel book processing, immediate retry, daily cap
 - Scheduler rewrite: AI-paced (15min cycles), parallel book processing, immediate retry, daily cap
 - New `spot-fix` revise mode (targeted repair)
 - New `spot-fix` revise mode (targeted repair)
 - `additionalAuditDimensions` in `book_rules.md` now supports name-string matching
 - `additionalAuditDimensions` in `book_rules.md` now supports name-string matching
+- `inkos export` supports `--format md`, `--output <path>`, `--approved-only`
+- Post-write validator consecutive "了" threshold raised from 4 to 6 (reduces false positives in Chinese prose)
+- Safety hardening: `init`/`book create`/`import chapters` overwrite guards, `config set` type coercion + key validation, `update` downgrade prevention, `doctor` works outside projects, consistent status display, `genre show` rejects invalid IDs
 
 
 ---
 ---
 
 
@@ -374,12 +416,12 @@ inkos up                          # Daemon mode
 | Command | Description |
 | Command | Description |
 |---------|-------------|
 |---------|-------------|
 | `inkos init [name]` | Initialize project (omit name to init current directory) |
 | `inkos init [name]` | Initialize project (omit name to init current directory) |
-| `inkos book create` | Create a new book (`--chapter-words` to set word count) |
+| `inkos book create` | Create a new book (`--genre`, `--platform`, `--chapter-words`, `--target-chapters`, `--context`) |
 | `inkos book update [id]` | Update book settings (`--chapter-words`, `--target-chapters`, `--status`) |
 | `inkos book update [id]` | Update book settings (`--chapter-words`, `--target-chapters`, `--status`) |
 | `inkos book list` | List all books |
 | `inkos book list` | List all books |
 | `inkos genre list/show/copy/create` | View, copy, or create genres |
 | `inkos genre list/show/copy/create` | View, copy, or create genres |
 | `inkos write next [id]` | Full pipeline: write next chapter (`--words` to override, `--count` for batch) |
 | `inkos write next [id]` | Full pipeline: write next chapter (`--words` to override, `--count` for batch) |
-| `inkos write rewrite [id] <n>` | Rewrite chapter N (restores state snapshot, requires confirmation) |
+| `inkos write rewrite [id] <n>` | Rewrite chapter N (restores state snapshot, `--force` to skip confirmation, `--words` to override) |
 | `inkos draft [id]` | Write draft only (`--words` to override word count) |
 | `inkos draft [id]` | Write draft only (`--words` to override word count) |
 | `inkos audit [id] [n]` | Audit a specific chapter |
 | `inkos audit [id] [n]` | Audit a specific chapter |
 | `inkos revise [id] [n]` | Revise a specific chapter |
 | `inkos revise [id] [n]` | Revise a specific chapter |
@@ -387,12 +429,12 @@ inkos up                          # Daemon mode
 | `inkos review list [id]` | Review drafts |
 | `inkos review list [id]` | Review drafts |
 | `inkos review approve-all [id]` | Batch approve |
 | `inkos review approve-all [id]` | Batch approve |
 | `inkos status [id]` | Project status |
 | `inkos status [id]` | Project status |
-| `inkos export [id]` | Export book to txt/md |
+| `inkos export [id]` | Export book (`--format md`, `--output <path>`, `--approved-only`) |
 | `inkos radar scan` | Scan platform trends |
 | `inkos radar scan` | Scan platform trends |
 | `inkos config set-global` | Set global LLM config (~/.inkos/.env) |
 | `inkos config set-global` | Set global LLM config (~/.inkos/.env) |
 | `inkos config show-global` | Show global config |
 | `inkos config show-global` | Show global config |
 | `inkos config set/show` | View/update project config |
 | `inkos config set/show` | View/update project config |
-| `inkos config set-model <agent> <model>` | Set model override for a specific agent |
+| `inkos config set-model <agent> <model>` | Set model override for a specific agent (`--base-url`, `--provider`, `--api-key-env` for multi-provider routing) |
 | `inkos config remove-model <agent>` | Remove agent model override (fall back to default) |
 | `inkos config remove-model <agent>` | Remove agent model override (fall back to default) |
 | `inkos config show-models` | Show current model routing |
 | `inkos config show-models` | Show current model routing |
 | `inkos doctor` | Diagnose setup issues (includes API connectivity test) |
 | `inkos doctor` | Diagnose setup issues (includes API connectivity test) |
@@ -400,6 +442,8 @@ inkos up                          # Daemon mode
 | `inkos style analyze <file>` | Analyze reference text to extract style fingerprint |
 | `inkos style analyze <file>` | Analyze reference text to extract style fingerprint |
 | `inkos style import <file> [id]` | Import style fingerprint into a book |
 | `inkos style import <file> [id]` | Import style fingerprint into a book |
 | `inkos import canon [id] --from <parent>` | Import parent canon for spinoff writing |
 | `inkos import canon [id] --from <parent>` | Import parent canon for spinoff writing |
+| `inkos import chapters [id] --from <path>` | Import existing chapters for continuation (`--split`, `--resume-from`) |
+| `inkos analytics [id]` | Book analytics (audit pass rate, top issues, chapter ranking) |
 | `inkos update` | Update to latest version |
 | `inkos update` | Update to latest version |
 | `inkos up / down` | Start/stop daemon |
 | `inkos up / down` | Start/stop daemon |
 
 
@@ -447,7 +491,7 @@ inkos/
 │   │   ├── llm/           # OpenAI + Anthropic dual SDK (streaming)
 │   │   ├── llm/           # OpenAI + Anthropic dual SDK (streaming)
 │   │   ├── notify/        # Telegram, Feishu, WeCom, Webhook
 │   │   ├── notify/        # Telegram, Feishu, WeCom, Webhook
 │   │   └── models/        # Zod schema validation
 │   │   └── models/        # Zod schema validation
-│   └── cli/               # Commander.js CLI (20 commands)
+│   └── cli/               # Commander.js CLI (22 commands)
 │       └── commands/      # init, book, write, draft, audit, revise, agent, review, detect, style...
 │       └── commands/      # init, book, write, draft, audit, revise, agent, review, detect, style...
 └── (planned) studio/      # Web UI for review and editing
 └── (planned) studio/      # Web UI for review and editing
 ```
 ```
@@ -459,7 +503,7 @@ TypeScript monorepo managed with pnpm workspaces.
 - [x] Full pipeline (radar → architect → writer → auditor → reviser)
 - [x] Full pipeline (radar → architect → writer → auditor → reviser)
 - [x] Canonical truth files + continuity audit
 - [x] Canonical truth files + continuity audit
 - [x] Built-in writing rule system
 - [x] Built-in writing rule system
-- [x] Full CLI (20 commands)
+- [x] Full CLI (22 commands)
 - [x] State snapshots + chapter rewrite
 - [x] State snapshots + chapter rewrite
 - [x] Daemon mode
 - [x] Daemon mode
 - [x] Notifications (Telegram / Feishu / WeCom)
 - [x] Notifications (Telegram / Feishu / WeCom)
@@ -478,8 +522,14 @@ TypeScript monorepo managed with pnpm workspaces.
 - [x] AIGC detection + anti-detect rewrite pipeline
 - [x] AIGC detection + anti-detect rewrite pipeline
 - [x] Webhook notifications + smart scheduler (quality gates)
 - [x] Webhook notifications + smart scheduler (quality gates)
 - [x] Cross-chapter coherence (chapter summaries + subplot/emotion/character matrices)
 - [x] Cross-chapter coherence (chapter summaries + subplot/emotion/character matrices)
-- [ ] `packages/studio` Web UI for review and editing
-- [x] Multi-model routing (different models for different agents, `inkos config set-model`)
+- [x] Continuation writing (import chapters + auto reverse-engineer truth files + resumable import)
+- [x] Multi-provider agent routing (different agents use different API endpoints and keys, `inkos config set-model --base-url --provider`)
+- [x] Analytics (`inkos analytics`: audit pass rate, top issues, chapter ranking)
+- [ ] `packages/studio` Web UI for review and editing (Vite + React + Hono)
+- [ ] Cost tracking + runtime dashboard (per-chapter token usage, API cost, audit rounds, `inkos stats`)
+- [ ] EPUB export (`inkos export --format epub`, read on phone/Kindle)
+- [ ] Partial chapter intervention (rewrite half a chapter + cascade truth file updates)
+- [ ] Empty chapter / truncation fix (local model parsing tolerance + timeout reconnection)
 - [ ] Custom agent plugin system
 - [ ] Custom agent plugin system
 - [ ] Platform-specific export (Qidian, Tomato, etc.)
 - [ ] Platform-specific export (Qidian, Tomato, etc.)
 
 

+ 59 - 9
README.md

@@ -22,7 +22,20 @@ Agent 写小说。写、审、改,全程接管。
 
 
 ## v0.4 更新
 ## v0.4 更新
 
 
-番外写作 + 文风仿写 + 写后验证器 + 审计闭环加固。
+续写 + 番外写作 + 文风仿写 + 多 Provider 路由 + 写后验证器 + 审计闭环加固。
+
+### 续写已有作品
+
+把已有的小说(单文件或章节目录)导入 InkOS,系统自动拆章、逆向工程生成全套真相文件(世界状态、伏笔、角色矩阵等),之后直接 `write next` 续写。
+
+```bash
+inkos import chapters 我的小说 --from 已有章节/        # 从目录导入
+inkos import chapters 我的小说 --from 全书.txt          # 从单文件导入(自动按"第X章"拆分)
+inkos import chapters 我的小说 --from 全书.txt --split "Chapter\\s+\\d+"  # 自定义分章正则
+inkos write next 我的小说                               # 无缝续写
+```
+
+单文件模式自动按 `第X章` 分章,也支持 `--split <regex>` 自定义。导入中断可用 `--resume-from <n>` 断点续导。
 
 
 ### 番外写作(Spinoff)
 ### 番外写作(Spinoff)
 
 
@@ -73,7 +86,7 @@ inkos style import 参考小说.txt 吞天魔帝 --name 某作者  # 导入文
 | 报告术语 | 分析框架术语不入正文 |
 | 报告术语 | 分析框架术语不入正文 |
 | 作者说教 | 显然/不言而喻等 |
 | 作者说教 | 显然/不言而喻等 |
 | 集体反应 | 「全场震惊」类套话 |
 | 集体反应 | 「全场震惊」类套话 |
-| 连续了字 | ≥ 4 句连续含「了」 |
+| 连续了字 | ≥ 6 句连续含「了」 |
 | 段落过长 | ≥ 2 个段落超 300 字 |
 | 段落过长 | ≥ 2 个段落超 300 字 |
 | 本书禁忌 | book_rules.md 中的禁令 |
 | 本书禁忌 | book_rules.md 中的禁令 |
 
 
@@ -88,6 +101,32 @@ inkos style import 参考小说.txt 吞天魔帝 --name 某作者  # 导入文
 - 再审温度锁 0(消除审计随机性,同一章不再出现 0-6 个 critical 的波动)
 - 再审温度锁 0(消除审计随机性,同一章不再出现 0-6 个 critical 的波动)
 - `polish` 模式加固边界(禁止增删段落、改人名、加新情节)
 - `polish` 模式加固边界(禁止增删段落、改人名、加新情节)
 
 
+### 多 Provider 路由
+
+不同 agent 可以走不同 API 提供商——不只是换模型名,是完全不同的 API 地址和 Key。例如写手用便宜模型高速出稿,审计员用强模型精审:
+
+```bash
+inkos config set-model writer gpt-4o-mini                                    # 简单模型覆盖
+inkos config set-model auditor gemini-2.5-flash \
+  --base-url https://generativelanguage.googleapis.com/v1beta/openai \
+  --provider openai \
+  --api-key-env GEMINI_API_KEY                                                # 走 Gemini API
+inkos config set-model reviser claude-sonnet-4-20250514 \
+  --base-url https://api.anthropic.com \
+  --provider anthropic \
+  --api-key-env ANTHROPIC_API_KEY                                             # 走 Anthropic API
+inkos config show-models                                                      # 查看路由全景
+```
+
+每个 agent 独立配置 `--base-url`、`--provider`、`--api-key-env`、`--no-stream`。未覆盖的 agent 使用项目默认模型。
+
+### 数据分析
+
+```bash
+inkos analytics 吞天魔帝          # 审计通过率、高频问题类别、问题最多的章节
+inkos analytics 吞天魔帝 --json   # 结构化输出
+```
+
 ### 其他 v0.4 变更
 ### 其他 v0.4 变更
 
 
 - 审计维度从 26 扩展到 33(+4 番外维度 + dim 27 敏感词 + dim 32 读者期待管理 + dim 33 大纲偏离检测)
 - 审计维度从 26 扩展到 33(+4 番外维度 + dim 27 敏感词 + dim 32 读者期待管理 + dim 33 大纲偏离检测)
@@ -96,6 +135,9 @@ inkos style import 参考小说.txt 吞天魔帝 --name 某作者  # 导入文
 - 修订者新增 `spot-fix` 模式(定点修复)
 - 修订者新增 `spot-fix` 模式(定点修复)
 - `book_rules.md` 的 `additionalAuditDimensions` 支持中文名称匹配
 - `book_rules.md` 的 `additionalAuditDimensions` 支持中文名称匹配
 - 全部 5 个题材激活 dim 24-26(支线停滞/弧线平坦/节奏单调)
 - 全部 5 个题材激活 dim 24-26(支线停滞/弧线平坦/节奏单调)
+- `inkos export` 支持 `--format md`、`--output <path>`、`--approved-only`
+- 写后验证器「连续了字」阈值从 4 句上调至 6 句(减少中文叙事误报)
+- 安全加固:`init`/`book create`/`import chapters` 防覆盖检查、`config set` 类型推断 + key 校验、`update` 防降级、`doctor` 项目外可测 API、状态显示一致性、`genre show` 拒绝无效 ID
 
 
 ---
 ---
 
 
@@ -374,12 +416,12 @@ inkos up                       # 守护进程模式
 | 命令 | 说明 |
 | 命令 | 说明 |
 |------|------|
 |------|------|
 | `inkos init [name]` | 初始化项目(省略 name 在当前目录初始化) |
 | `inkos init [name]` | 初始化项目(省略 name 在当前目录初始化) |
-| `inkos book create` | 创建新书(`--chapter-words` 设定字数) |
+| `inkos book create` | 创建新书(`--genre`、`--platform`、`--chapter-words`、`--target-chapters`、`--context`) |
 | `inkos book update [id]` | 修改书设置(`--chapter-words`、`--target-chapters`、`--status`) |
 | `inkos book update [id]` | 修改书设置(`--chapter-words`、`--target-chapters`、`--status`) |
 | `inkos book list` | 列出所有书籍 |
 | `inkos book list` | 列出所有书籍 |
 | `inkos genre list/show/copy/create` | 查看、复制、创建题材 |
 | `inkos genre list/show/copy/create` | 查看、复制、创建题材 |
 | `inkos write next [id]` | 完整管线写下一章(`--words` 覆盖字数,`--count` 连写) |
 | `inkos write next [id]` | 完整管线写下一章(`--words` 覆盖字数,`--count` 连写) |
-| `inkos write rewrite [id] <n>` | 重写第 N 章(恢复状态快照,需确认) |
+| `inkos write rewrite [id] <n>` | 重写第 N 章(恢复状态快照,`--force` 跳过确认,`--words` 覆盖字数) |
 | `inkos draft [id]` | 只写草稿(`--words` 覆盖字数) |
 | `inkos draft [id]` | 只写草稿(`--words` 覆盖字数) |
 | `inkos audit [id] [n]` | 审计指定章节 |
 | `inkos audit [id] [n]` | 审计指定章节 |
 | `inkos revise [id] [n]` | 修订指定章节 |
 | `inkos revise [id] [n]` | 修订指定章节 |
@@ -387,12 +429,12 @@ inkos up                       # 守护进程模式
 | `inkos review list [id]` | 审阅草稿 |
 | `inkos review list [id]` | 审阅草稿 |
 | `inkos review approve-all [id]` | 批量通过 |
 | `inkos review approve-all [id]` | 批量通过 |
 | `inkos status [id]` | 项目状态 |
 | `inkos status [id]` | 项目状态 |
-| `inkos export [id]` | 导出书籍为 txt/md |
+| `inkos export [id]` | 导出书籍(`--format md`、`--output <path>`、`--approved-only`) |
 | `inkos radar scan` | 扫描平台趋势 |
 | `inkos radar scan` | 扫描平台趋势 |
 | `inkos config set-global` | 设置全局 LLM 配置(~/.inkos/.env) |
 | `inkos config set-global` | 设置全局 LLM 配置(~/.inkos/.env) |
 | `inkos config show-global` | 查看全局配置 |
 | `inkos config show-global` | 查看全局配置 |
 | `inkos config set/show` | 查看/更新项目配置 |
 | `inkos config set/show` | 查看/更新项目配置 |
-| `inkos config set-model <agent> <model>` | 为指定 agent 设置模型覆盖 |
+| `inkos config set-model <agent> <model>` | 为指定 agent 设置模型覆盖(`--base-url`、`--provider`、`--api-key-env` 支持多 Provider 路由) |
 | `inkos config remove-model <agent>` | 移除 agent 模型覆盖(回退到默认) |
 | `inkos config remove-model <agent>` | 移除 agent 模型覆盖(回退到默认) |
 | `inkos config show-models` | 查看当前模型路由 |
 | `inkos config show-models` | 查看当前模型路由 |
 | `inkos doctor` | 诊断配置问题(含 API 连通性测试) |
 | `inkos doctor` | 诊断配置问题(含 API 连通性测试) |
@@ -400,6 +442,8 @@ inkos up                       # 守护进程模式
 | `inkos style analyze <file>` | 分析参考文本提取文风指纹 |
 | `inkos style analyze <file>` | 分析参考文本提取文风指纹 |
 | `inkos style import <file> [id]` | 导入文风指纹到指定书 |
 | `inkos style import <file> [id]` | 导入文风指纹到指定书 |
 | `inkos import canon [id] --from <parent>` | 导入正传正典到番外书 |
 | `inkos import canon [id] --from <parent>` | 导入正传正典到番外书 |
+| `inkos import chapters [id] --from <path>` | 导入已有章节续写(`--split`、`--resume-from`) |
+| `inkos analytics [id]` | 书籍数据分析(审计通过率、高频问题、章节排名) |
 | `inkos update` | 更新到最新版本 |
 | `inkos update` | 更新到最新版本 |
 | `inkos up / down` | 启动/停止守护进程 |
 | `inkos up / down` | 启动/停止守护进程 |
 
 
@@ -465,7 +509,7 @@ inkos/
 │   │   ├── llm/           # OpenAI + Anthropic 双 SDK 接口 (流式)
 │   │   ├── llm/           # OpenAI + Anthropic 双 SDK 接口 (流式)
 │   │   ├── notify/        # Telegram, 飞书, 企业微信, Webhook
 │   │   ├── notify/        # Telegram, 飞书, 企业微信, Webhook
 │   │   └── models/        # Zod schema 校验
 │   │   └── models/        # Zod schema 校验
-│   └── cli/               # Commander.js 命令行 (20 条命令)
+│   └── cli/               # Commander.js 命令行 (22 条命令)
 │       └── commands/      # init, book, write, draft, audit, revise, agent, review, detect, style...
 │       └── commands/      # init, book, write, draft, audit, revise, agent, review, detect, style...
 └── (规划中) studio/        # 网页审阅编辑界面
 └── (规划中) studio/        # 网页审阅编辑界面
 ```
 ```
@@ -496,8 +540,14 @@ TypeScript 单仓库,pnpm workspaces 管理。
 - [x] 文风仿写(统计指纹 + LLM 风格指南 + 写手注入)
 - [x] 文风仿写(统计指纹 + LLM 风格指南 + 写手注入)
 - [x] 写后验证器(11 条硬规则 + 自动 spot-fix)
 - [x] 写后验证器(11 条硬规则 + 自动 spot-fix)
 - [x] 审计-修订闭环加固(AI 标记守卫 + 温度锁)
 - [x] 审计-修订闭环加固(AI 标记守卫 + 温度锁)
-- [ ] `packages/studio` Web UI 审阅编辑界面
-- [x] 多模型路由(不同 agent 用不同模型,`inkos config set-model`)
+- [x] 续写接盘(import chapters + 自动逆向真相文件 + 断点续导)
+- [x] 多 Provider 路由(不同 agent 走不同 API 地址和 Key,`inkos config set-model --base-url --provider`)
+- [x] 数据分析(`inkos analytics`:审计通过率、高频问题、章节排名)
+- [ ] `packages/studio` Web UI 审阅编辑界面(Vite + React + Hono)
+- [ ] 成本追踪 + 运行看板(每章 token 消耗、API 花费、审计轮次,`inkos stats`)
+- [ ] EPUB 导出(`inkos export --format epub`,手机/Kindle 阅读)
+- [ ] 局部干预(重写半章 + 级联更新后续 truth 文件)
+- [ ] 空章节/断章修复(本地小模型解析容错 + 超时重连)
 - [ ] 自定义 agent 插件系统
 - [ ] 自定义 agent 插件系统
 - [ ] 平台格式导出(起点、番茄等)
 - [ ] 平台格式导出(起点、番茄等)