Narcooo/inkos
Autonomous novel writing CLI agent — AI agents write, audit, and revise novels with human review gates
View Origin LinkProduct Positioning & Context
AI Executive Synthesis
Reliable and complete chapter generation for new projects
Users report that `inkos` consistently 'breaks' or stalls mid-generation when creating the first chapter of a new book, even with models like `claude-opus-4-6`. This indicates a fundamental instability in the initial content generation pipeline. The pain point is a critical failure at the very start of a user's journey, preventing project initiation and demonstrating core system unreliability. Market implication: For AI content platforms, the first-time user experience and initial content generation success are paramount. Failures at this stage lead to immediate user abandonment, highlighting a need for robust error handling, progress monitoring, and stability in foundational generation tasks to ensure user adoption and project viability.
Autonomous novel writing CLI agent — AI agents write, audit, and revise novels with human review gates
Related Ecosystem & Alternatives
Discover adjacent products, open-source repositories, and developer tools sharing similar technical architecture.
Deep-Dive FAQs
What is Narcooo/inkos?
Narcooo/inkos is analyzed by our AI as: Reliable and complete chapter generation for new projects. It focuses on Users report that `inkos` consistently 'breaks' or stalls mid-generation when creating the first chapter of a new book, even with models like `clau...
Where did Narcooo/inkos originate?
Data for Narcooo/inkos was aggregated directly from the GitHub Open Source community ecosystem, representing raw developer and early-adopter sentiment.
When was Narcooo/inkos publicly launched?
The initial public indexing or launch date for Narcooo/inkos within our tracked developer communities was recorded on March 12, 2026.
How popular is Narcooo/inkos?
Narcooo/inkos has achieved measurable traction, logging over 2,192 traction score and facilitating 449 recorded discussions or engagements.
Which technical categories define Narcooo/inkos?
Based on metadata extraction, Narcooo/inkos is categorized under topics such as: agent, ai-writing, aigc-detection, automated-storytelling.
Are there active development issues for Narcooo/inkos?
Yes, we are currently tracking open architectural debates and bug reports for this project on GitHub. There are currently 5 active high-priority issues logged recently.
What are some commercial alternatives to Narcooo/inkos?
Our semantic intelligence engine identifies potential commercial alternatives in the SaaS space, such as Monkey Morse, which offers overlapping value propositions.
How does the creator describe Narcooo/inkos?
The original author or development team describes the product as follows: "Autonomous novel writing CLI agent — AI agents write, audit, and revise novels with human review gates"
Active Developer Issues (GitHub)
Logged: Mar 29, 2026
Logged: Mar 27, 2026
Logged: Mar 25, 2026
Logged: Mar 23, 2026
Logged: Mar 22, 2026
Community Voice & Feedback
@Narcooo 刚升级了1.0.0,但在不自己打patch的情况下,1.0.0 原版的 StateValidator 还是会崩,报错和之前完全一样:“State validator returned invalid JSON”
> `master@ca154b5`已于 2026-03-30检查。`StateValidatorAgent.parseResult()`主线版本不再需要原始纯 JSON;它会扫描响应并提取第一个有效的 JSON 对象,因此现在可以接受用 ```json 块分隔的 JSON 对象。
>
> 我`packages/core/src/__tests__/state-validator-agent.test.ts`今天在本地重新运行了一遍,测试通过了。如果这个问题在 Vertex 代理后仍然存在`0.6.3`,请粘贴完整的原始验证器响应:剩余的错误可能出在提供程序/代理链的其他环节,而不是当前主线解析器本身。
@Narcooo 感谢,已经通过了,我的一直不通过的问题是两个原因导致的:
1、0.63版中,write仍然出现了——“State validator returned invalid response: Error: missing boolean 'passed' field”,核心原因是:Gemini 返回的 JSON 里没有 passed 字段(或者整个 JSON 格式不对),导致 schema 校验失败然后抛错。这不是 code fence 的问题——是 LLM 返回的 JSON 结构不符合预期(缺少 passed: boolean)。0.6.3 的 extractBalancedJsonObject 能正确提取 JSON,但提取出来的内容本身不含 passed 字段。
实际问题定位,0.6.3 的 parseResult 里这行:
if (typeof parsed.passed !== "boolean") {
throw new Error("missing boolean 'passed' field");
}
所以,extractFirstValidJsonObject 能正确提取到 JSON 对象,但 Gemini 返回的 JSON 里 passed 字段不是 boolean(可能是字符串 "true" 或完全缺失),然后直接 throw 而不是 fail-open。没有容错——Gemini 返回的 JSON 结构不完整时直接抛错,而不是降级处理
解决方案:最小化 patch——只改 pars...
>
> 我`packages/core/src/__tests__/state-validator-agent.test.ts`今天在本地重新运行了一遍,测试通过了。如果这个问题在 Vertex 代理后仍然存在`0.6.3`,请粘贴完整的原始验证器响应:剩余的错误可能出在提供程序/代理链的其他环节,而不是当前主线解析器本身。
@Narcooo 感谢,已经通过了,我的一直不通过的问题是两个原因导致的:
1、0.63版中,write仍然出现了——“State validator returned invalid response: Error: missing boolean 'passed' field”,核心原因是:Gemini 返回的 JSON 里没有 passed 字段(或者整个 JSON 格式不对),导致 schema 校验失败然后抛错。这不是 code fence 的问题——是 LLM 返回的 JSON 结构不符合预期(缺少 passed: boolean)。0.6.3 的 extractBalancedJsonObject 能正确提取 JSON,但提取出来的内容本身不含 passed 字段。
实际问题定位,0.6.3 的 parseResult 里这行:
if (typeof parsed.passed !== "boolean") {
throw new Error("missing boolean 'passed' field");
}
所以,extractFirstValidJsonObject 能正确提取到 JSON 对象,但 Gemini 返回的 JSON 里 passed 字段不是 boolean(可能是字符串 "true" 或完全缺失),然后直接 throw 而不是 fail-open。没有容错——Gemini 返回的 JSON 结构不完整时直接抛错,而不是降级处理
解决方案:最小化 patch——只改 pars...
Checked `master@ca154b5` on 2026-03-30. Current `StateValidatorAgent.parseResult()` on mainline no longer requires raw plain JSON; it scans the response and extracts the first valid JSON object, so fenced ```json blocks are accepted now.
I reran `packages/core/src/__tests__/state-validator-agent.test.ts` locally today and it passes. If this still reproduces on `0.6.3` behind a Vertex proxy, please paste the exact raw validator response: the remaining failure may be elsewhere in the provider / proxy chain, not in the current mainline parser.
I reran `packages/core/src/__tests__/state-validator-agent.test.ts` locally today and it passes. If this still reproduces on `0.6.3` behind a Vertex proxy, please paste the exact raw validator response: the remaining failure may be elsewhere in the provider / proxy chain, not in the current mainline parser.
哇难得见到原生的作者大大,这个我是从0.5的时候自己做了修改,做了个记忆系统 writenext以及重写的那个接口都做了优化,现在大体实现的一些点完全解决了这个问题。
1.JSON解析,完全重构了JSON解析这一块,更加健壮
2.存储写作状态及做哈希校验,如果剧情有改动则会发现哈希值不同而根据最新的改动,拿到上一章节实际的剧情状态续写
也支持通过手动删除或者手动导入后的状态更新,导入章节后会自动更新对应章节剧情状态以及哈希值;如果手动对章节做了改动则可以通过命令行手动更新章节状态和哈希值,确保严格的章节剧情一致性。如果是删除章节,则可以通过命令行删除章节时删除章节索引,哈希值,章节剧情记忆。
严格确保了记忆,索引不被污染
不过我这个还加了一些功能和inkos作者原发版本的功能不太一样,代码变动也非常大,很多地方都重构了。要解决你的问题的话得结合你现在的代码状态结合我现在的改进一并去看,把我改进的这些覆盖到你没解决的问题上去
它现在针对你这一块,可以做到如下:
1.通过markdown打开了AI写好的进行了手动编辑,保证后面的剧情能跟着写。
手动命令更新章节记忆,索引,更改后的章节哈希值
2.删除章节要重写且要保证和之前的章节剧情衔接(它之后无已经写好的章节),和之前之后的章节剧情一致有衔接(这个章节之后有一些写好的章节)。
删除时删除章节记忆,索引,章节内容,重写根据前后章节剧情重写。包括手动删除和 inkos rewrite操作时的自动删除,都可以实现重写根据前后章节剧情重写,保留原章节号。
3.也是非常重要的JSON解析,反复尝试重构之后,它 可以对章节正文做更好的解析,因为从大模型那边拿到的JSON是碎片化信息,导致有时候解析到的是大模型思考内容,以及没拿到实际的正文内容导致写入错误或者审计不通过,虽然现在也有偶尔的写入失败,写的不是真正的正文内容,内容夹断问题(虽然夹断,但是已经写好了大部分内容,夹断的影响可以忽略不计),但比之前有非常明显的改善,基本上即使写作失败,一到两次rewrite命令操作都可以写好。
可以相互交流哈,我现在也在用它写书,一边打磨inkos工具,一边看写作效果。
1.JSON解析,完全重构了JSON解析这一块,更加健壮
2.存储写作状态及做哈希校验,如果剧情有改动则会发现哈希值不同而根据最新的改动,拿到上一章节实际的剧情状态续写
也支持通过手动删除或者手动导入后的状态更新,导入章节后会自动更新对应章节剧情状态以及哈希值;如果手动对章节做了改动则可以通过命令行手动更新章节状态和哈希值,确保严格的章节剧情一致性。如果是删除章节,则可以通过命令行删除章节时删除章节索引,哈希值,章节剧情记忆。
严格确保了记忆,索引不被污染
不过我这个还加了一些功能和inkos作者原发版本的功能不太一样,代码变动也非常大,很多地方都重构了。要解决你的问题的话得结合你现在的代码状态结合我现在的改进一并去看,把我改进的这些覆盖到你没解决的问题上去
它现在针对你这一块,可以做到如下:
1.通过markdown打开了AI写好的进行了手动编辑,保证后面的剧情能跟着写。
手动命令更新章节记忆,索引,更改后的章节哈希值
2.删除章节要重写且要保证和之前的章节剧情衔接(它之后无已经写好的章节),和之前之后的章节剧情一致有衔接(这个章节之后有一些写好的章节)。
删除时删除章节记忆,索引,章节内容,重写根据前后章节剧情重写。包括手动删除和 inkos rewrite操作时的自动删除,都可以实现重写根据前后章节剧情重写,保留原章节号。
3.也是非常重要的JSON解析,反复尝试重构之后,它 可以对章节正文做更好的解析,因为从大模型那边拿到的JSON是碎片化信息,导致有时候解析到的是大模型思考内容,以及没拿到实际的正文内容导致写入错误或者审计不通过,虽然现在也有偶尔的写入失败,写的不是真正的正文内容,内容夹断问题(虽然夹断,但是已经写好了大部分内容,夹断的影响可以忽略不计),但比之前有非常明显的改善,基本上即使写作失败,一到两次rewrite命令操作都可以写好。
可以相互交流哈,我现在也在用它写书,一边打磨inkos工具,一边看写作效果。
感谢报告,问题确认,正在加强描述和提示词,prompt部分和执行层同步会在0.6.3继续调整
感谢报告,问题确认,初步修复了一版,可以升级 v0.6.2 回测
还有新的问题
inkos write next --count 10
```
INFO [writer] 阶段 2:状态结算(第3章,9166字)
INFO [writer] 阶段 2a:提取第3章事实
INFO [inkos] streaming 30s, 1623 chars (1074 CJK)
INFO [writer] 阶段 2b:把观察结果回写到真相文件
INFO [inkos] streaming 30s, 2003 chars (899 CJK)
INFO [inkos] streaming 60s, 6243 chars (1604 CJK)
[ERROR] Failed to write chapter: Error: duplicate active hook family: H012 overlaps H003
```
inkos write next --count 10
```
INFO [writer] 阶段 2:状态结算(第3章,9166字)
INFO [writer] 阶段 2a:提取第3章事实
INFO [inkos] streaming 30s, 1623 chars (1074 CJK)
INFO [writer] 阶段 2b:把观察结果回写到真相文件
INFO [inkos] streaming 30s, 2003 chars (899 CJK)
INFO [inkos] streaming 60s, 6243 chars (1604 CJK)
[ERROR] Failed to write chapter: Error: duplicate active hook family: H012 overlaps H003
```
是的,我也遇到这个问题,求解决
这些问题基本都是函数的discription没写清楚,导致inkos agent调用错了函数造成的; 这个工程的discription和system prompt写的太少了; revise的功能也有问题
> 全量注入在早期是很有用的,不过写到长篇导致上下文,记忆和质量的系统性原因,大更新正在加紧测试中!!
兄弟我有个想法,问题就在chapter_summaries.md这个文件越积越多,里面冗余信息太多了;如果说有用的信息,1.hook有关的信息抽出来 2.主要人物状态。。。 其他可以删掉,里面90%以上都是冗余无用信息
兄弟我有个想法,问题就在chapter_summaries.md这个文件越积越多,里面冗余信息太多了;如果说有用的信息,1.hook有关的信息抽出来 2.主要人物状态。。。 其他可以删掉,里面90%以上都是冗余无用信息
优化卡在phase2这个阶段,因为上传chapter_summaries.md这个文件,这个文件是每一章的概括,越积越大;几十章就能过100kb,传给llm,基本都没回复,或者要等很久;这个要简化下还有机会;
原来如此 期待你的大更新 我这边持续测试!
全量注入在早期是很有用的,不过写到长篇导致上下文,记忆和质量的系统性原因,大更新正在加紧测试中!!
不过话又说回来很多很多时候优化过度了会导致小说情节出现问题 不知道大佬设计思路是怎么样的 有时候有些事情鱼和熊掌不可兼得除非大模型上下文又大速度又快 😄
感谢报告,问题确认,预计将在下一次大规模更新中修复
Discovery Source
GitHub Open Source Aggregated via automated community intelligence tracking.
Tech Stack Dependencies
No direct open-source NPM package mentions detected in the product documentation.
Media Tractions & Mentions
No mainstream media stories specifically mentioning this product name have been intercepted yet.
Deep Research & Science
No direct peer-reviewed scientific literature matched with this product's architecture.
SaaS Metrics