Originally created by: kevindai007
## 变更说明
这个 PR 主要做了两件事:
- 强化章节字数控制
- 新增统一的章节长度目标工具,基于目标字数计算允许区间
- 写作提示词中不再只写“XX字左右”,而是明确输出目标字数和允许范围
post-write-validator 新增章节长度校验
pipeline runner 在最终审查阶段接入确定性长度校验,超出范围时直接判定失败
-
wordCountOverride 会贯穿到写作提示、校验和流水线结果中,避免只在局部生效
-
提升 OpenAI Chat 接口兼容性
- 针对不同模型自动选择
max_completion_tokens 或 max_tokens
- 当代理服务/兼容层不支持首选参数时,自动回退到另一种参数,减少因参数不兼容导致的请求失败
## 具体改动
- 新增章节长度工具方法,用于计算和格式化章节目标区间
- 更新中英文写作 prompt,使章节长度要求更明确
- 更新写作阶段 token 预算逻辑,使其随目标章节长度缩放
- 在写后校验中增加章节过长/过短检测
- 在流水线审计阶段将该类问题映射为审计错误
- 为 OpenAI token 参数兼容逻辑补充测试
- 为章节长度提示、校验和流水线失败场景补充测试
## 测试
已通过:
pnpm --filter @actalk/inkos-core test
pnpm --filter @actalk/inkos-core typecheck
## 影响
- 章节长度控制更稳定,能够真正约束到最终输出
- 使用 GPT-5 / OpenAI 兼容接口时,请求参数兼容性更好