如果你是一名创作者、作家,或者需要批量产出文字内容的工作者,可能会遇到这样的困扰:构思耗时、写作过程中断后难以接续、内容格式混乱……而今天要介绍的Kimi Writing Agent,或许能解决这些问题。这是一款基于kimi-k2-thinking模型的自主写作代理工具,专为小说、书籍、短篇故事集等创作任务设计。接下来,我们将从它的核心功能、安装步骤、使用方法到工作原理,全面解析这款工具,帮你快速上手。
一、Kimi Writing Agent是什么?它能做什么?
简单来说,Kimi Writing Agent是一款“会自己思考的写作助手”。它不像普通的文字处理工具那样只能被动接收输入,而是能主动规划写作任务、执行创作,并根据情况调整策略。无论是长篇小说、系列短篇故事,还是结构化的书籍(如编程指南),它都能独立完成从构思到成稿的全过程。
核心功能亮点
这款工具的设计围绕“自主”和“高效”两个核心,主要有这些特点:
-
自主完成写作全流程:拿到你的写作需求后,它会自己思考怎么拆分任务(比如分章节、定主题)、怎么组织内容,不需要你逐段指挥。 -
支持多种创作格式:小说、书籍、短篇故事集都能驾驭,你可以根据需求指定具体类型。 -
实时可见创作过程:你能实时看到它的“思考过程”(比如“接下来该写主角的身世了”)和文字输出(内容会逐字逐句显示),就像看着一位作家边想边写。 -
智能管理内容上下文:写长文时,内容会越来越多,可能超出模型的处理范围。它会自动压缩不重要的上下文,保证创作不中断。 -
支持中断后恢复:如果写作过程中被打断(比如电脑关机),它能通过保存的“上下文摘要”继续之前的工作,不用从头再来。 -
实时监控内容长度:会显示当前用了多少“令牌”(可以理解为内容的基本单位),避免超出模型的处理上限。 -
自带工具集:能自己创建项目文件夹、写文件(支持新建、追加、覆盖三种模式),帮你打理创作的“工作台”。
二、如何安装Kimi Writing Agent?
安装这款工具并不复杂,只要按照步骤操作,即使是不太熟悉编程的人也能完成。首先需要准备一些基础环境,然后安装依赖、配置API密钥即可。
前置条件
推荐使用uv(一款快速的Python包管理工具)来安装依赖,如果你还没安装uv,可以先执行以下命令:
curl -LsSf https://astral.sh/uv/install.sh | sh
如果不想用uv,也可以用常规的pip,但uv的安装速度会更快。
具体安装步骤
1. 安装依赖包
首先,你需要获取工具的代码(通常从GitHub仓库下载),进入代码所在的文件夹后,执行以下命令安装依赖:
用uv(推荐):
uv pip install -r requirements.txt
用pip:
pip install -r requirements.txt
这一步会自动安装工具运行所需的所有Python库,耐心等待即可。
2. 配置API密钥
Kimi Writing Agent需要调用Moonshot AI的API才能工作,所以必须配置API密钥。具体步骤如下:
-
首先,在工具的根目录下,找到
env.example文件,复制一份并命名为.env:cp env.example .env -
用文本编辑器打开
.env文件,里面会有一行MOONSHOT_API_KEY=your-api-key-here,把your-api-key-here换成你自己的Moonshot API密钥。你的API密钥可以在Moonshot AI平台获取,注册并登录后,在个人中心找到“API密钥”相关的入口即可生成。
-
(可选)如果需要使用自定义的API基础地址(默认是
https://api.moonshot.ai/v1),可以在.env文件中添加一行:MOONSHOT_BASE_URL=你自定义的地址
完成这两步,安装就基本完成了。
三、如何使用Kimi Writing Agent进行创作?
安装完成后,就可以开始用它来创作了。根据需求不同,有两种主要使用方式:从头开始创作,或者继续之前未完成的工作。
方式一:从头开始创作
如果是新的写作任务,可以直接用命令启动工具,有两种输入提示的方式:
1. 直接在命令中输入提示
比如,你想让它写一个包含5个科幻短篇故事的集子,可以执行:
用uv:
uv run kimi-writer.py "Create a collection of 5 sci-fi short stories about AI"
用python:
python kimi-writer.py "Create a collection of 5 sci-fi short stories about AI"
提示内容可以用中文,比如“写一部以维多利亚时代伦敦为背景的悬疑小说,共10章”。
2. 交互式输入提示
如果不想在命令里写太长的提示,可以先启动工具,再输入需求:
uv run kimi-writer.py # 或 python kimi-writer.py
运行后,工具会提示你输入写作需求,这时直接输入即可。
方式二:恢复中断的创作(Recovery Mode)
如果创作过程中意外中断(比如按了Ctrl+C、电脑死机),不用着急,工具会自动保存“上下文摘要”(包含之前的思考和内容)。你可以用这个摘要继续写作:
uv run kimi-writer.py --recover output/你的项目名/.context_summary_时间戳.md
比如:
uv run kimi-writer.py --recover output/my_sci_fi_stories/.context_summary_20250107_143022.md
这里的“时间戳”是文件生成时的日期和时间,确保选择最新的摘要文件,就能接着之前的进度继续写了。
四、Kimi Writing Agent是如何工作的?
了解它的工作原理,能帮你更好地使用这款工具。简单来说,它就像一个“虚拟作家”,有自己的“工具箱”和“工作流程”。
它的“工具箱”里有什么?
Kimi Writing Agent有三个核心工具,用来完成创作中的各种任务:
-
create_project:创建项目文件夹。比如你要写一部小说,它会自动建一个以小说名为名的文件夹,把所有章节、摘要都放在里面,避免文件混乱。
-
write_file:写文件的工具,支持三种模式:
-
create:新建文件(如果文件已存在会失败,避免覆盖); -
append:在已有文件末尾添加内容(比如给章节加新段落); -
overwrite:替换文件的全部内容(比如修改已写的章节)。
-
-
compress_context:上下文压缩工具。当内容太多、快超出模型的处理范围时,它会自动启动,把不重要的信息压缩(比如合并重复内容、简化描述),保证创作能继续。
它的“工作流程”是怎样的?
整个创作过程可以分为5个步骤,循环进行,直到任务完成:
-
接收任务:拿到你输入的写作提示(比如“写10章悬疑小说”); -
思考规划:用kimi-k2-thinking模型分析任务,比如“先确定主角身份,再设计第一章的案件”; -
选择工具执行:根据规划,调用合适的工具(比如用create_project建文件夹,用write_file写第一章); -
检查结果:写完一部分后,它会自己看是否符合任务要求,是否需要修改; -
重复循环:直到完成所有内容,最多循环300次(防止无限制运行)。
它是如何管理“上下文”的?
写长文时,之前写的内容(上下文)会影响后续创作(比如人物性格要一致)。但模型能处理的内容是有限的(令牌限制),所以工具做了这些设计:
-
令牌上限:最多能处理200,000个令牌(大概相当于十几万字的内容); -
自动压缩触发点:当内容达到180,000个令牌(90%上限)时,自动压缩上下文; -
自动备份:每完成50次循环,会自动保存一次上下文摘要,方便中断后恢复; -
恢复机制:所有摘要都带时间戳,确保能找到最新的进度。
五、Kimi Writing Agent的文件结构是怎样的?
了解文件结构,能帮你更好地管理创作内容。工具的代码和生成的内容是分开存放的,整体结构如下:
kimi-writer/ # 工具本身的代码文件夹
├── kimi-writer.py # 主程序,启动工具就是运行这个文件
├── tools/ # 工具集文件夹
│ ├── __init__.py # 工具注册文件
│ ├── writer.py # 负责写文件的工具
│ ├── project.py # 负责管理项目的工具
│ └── compression.py # 负责压缩上下文的工具
├── utils.py # 辅助功能(比如计算令牌数量)
├── requirements.txt # 依赖包清单
├── env.example # API密钥配置示例
├── .gitignore # 告诉Git哪些文件不用上传
└── README.md # 说明文档
# 创作时自动生成的内容
output/ # 所有创作项目都存在这里
├── 你的项目名/ # 比如“victorian_mystery_novel”
│ ├── chapter_01.md # 第一章内容
│ ├── chapter_02.md # 第二章内容
│ └── .context_summary_20250107_143022.md # 上下文摘要(带时间戳)
└── 其他项目/ # 其他创作任务的文件夹
└── ...
简单来说,kimi-writer文件夹是工具本身,你不用动里面的文件;output文件夹是你的“作品库”,所有写好的内容都在这里。
六、有哪些常见的使用示例?
Kimi Writing Agent的适用场景很广,这里有几个典型例子,你可以参考它们的提示方式:
示例1:写一部小说
uv run kimi-writer.py "Write a mystery novel set in Victorian London with 10 chapters"
(中文提示:“写一部以维多利亚时代伦敦为背景的悬疑小说,共10章”)
示例2:创作短篇故事集
uv run kimi-writer.py "Create 7 interconnected sci-fi short stories exploring the theme of memory"
(中文提示:“创作7个相互关联的科幻短篇故事,主题围绕‘记忆’”)
示例3:编写工具书
uv run kimi-writer.py "Write a comprehensive guide to Python programming with 15 chapters"
(中文提示:“写一本全面的Python编程指南,共15章”)
这些例子的共同点是“具体”:明确了类型(小说/短篇/指南)、数量(10章/7个/15章)、主题或背景,这样工具能更准确地理解需求。
七、高级功能:让创作更透明、更可控
除了基础的写作功能,Kimi Writing Agent还有一些实用的高级功能,让你能更好地掌握创作过程。
实时流(Real-Time Streaming)
你可以实时看到两部分内容:
-
思考流:工具的“想法”,比如“下一章需要引入反派”“这里的情节要和第三章呼应”; -
内容流:文字内容会逐字显示,就像看着屏幕上的文字自己“生长”; -
工具调用进度:写长内容时,会显示已写多少字/字符,让你知道进度。
不用等全部写完再看,过程中的任何问题都能及时发现。
迭代计数器
工具会显示“Iteration X/300”(第X次循环/共300次),让你知道当前处于创作的哪个阶段。300次循环是上限,足够完成大部分中等长度的创作任务。
令牌监控
实时显示“Current tokens: 45,234/200,000 (22.6%)”,意思是“当前用了45,234个令牌,上限是200,000个,用了22.6%”。当接近90%时,会自动压缩上下文,不用担心超出限制。
优雅中断
如果想暂停创作,直接按Ctrl+C即可。工具会自动保存当前的上下文摘要,下次用--recover就能继续,不会丢失进度。
八、使用技巧:如何让Kimi Writing Agent写出更好的内容?
虽然工具能自主创作,但你的提示质量会直接影响结果。这里有几个实用技巧:
-
提示要具体:模糊的需求会导致模糊的结果。
-
好的提示:“写一部3章的奇幻短篇,主角是会说话的狐狸,背景设定在冬天的森林,主题是‘友谊’”; -
不够好的提示:“写个有趣的故事”。
-
-
给它足够的空间:工具会自己规划步骤,不用过多干预。比如让它写10章小说,它会自己决定每章的长度和内容,你只需要等结果即可。
-
善用恢复功能:如果中途觉得内容偏离方向,可以中断后,在恢复时修改提示(比如“继续写之前的小说,但把反派的动机改成复仇”)。
-
实时检查文件:创作的文件会实时保存在
output/你的项目名/文件夹里,随时可以打开看,有问题可以及时中断调整。
九、常见问题(FAQ)
使用过程中可能会遇到一些问题,这里整理了最常见的几种及解决方法:
1. 提示“MOONSHOT_API_KEY environment variable not set”
这是因为没配置API密钥。解决方法:
-
确认根目录下有 .env文件; -
打开 .env,确保里面有MOONSHOT_API_KEY=你的密钥(注意没有空格)。
2. 出现“401 Unauthorized”或认证错误
可能是API密钥或地址不对。解决方法:
-
检查 .env里的API密钥是否正确(复制时有没有多空格或少字符); -
确认 MOONSHOT_BASE_URL是否正确(默认是https://api.moonshot.ai/v1); -
去Moonshot AI平台确认密钥是否有效(有没有过期或被禁用)。
3. 提示“Error creating project folder”
这是因为没有创建文件夹的权限。解决方法:
-
检查当前文件夹是否允许写入(比如在Windows的“Program Files”下可能有限制); -
尝试把工具文件夹移到桌面或“文档”文件夹,再重新运行。
4. 工具好像卡住了,一直没动静
不用担心,工具最多会运行300次循环,复杂任务耗时会更长。解决方法:
-
检查 output/你的项目名/文件夹,看是否有新文件生成(有文件说明在工作); -
查看实时流的“思考内容”,看是否在规划下一步(可能在“想”而不是“写”); -
如果超过30分钟没变化,可以按 Ctrl+C中断,再用恢复模式重新启动。
5. 频繁出现“压缩上下文”的提示
这是正常现象,说明内容快到令牌上限了。工具会自动压缩不重要的信息,保证创作继续,不用手动干预。
十、技术细节:工具的“参数配置”
如果你想了解工具的底层设置,这些技术细节可能对你有帮助:
| 参数 | 具体值 | 说明 |
|---|---|---|
| 核心模型 | kimi-k2-thinking | 负责思考和生成内容的AI模型 |
| 温度(Temperature) | 1.0 | 控制输出的创造性,1.0是该模型经过优化的设置,平衡了创造性和连贯性 |
| 单次调用最大令牌 | 65,536(64K) | 每次生成内容的最大长度 |
| 上下文窗口 | 200,000令牌 | 最多能记住的历史内容总量 |
| 最大循环次数 | 300次 | 防止任务无限运行 |
| 压缩触发阈值 | 180,000令牌(90%上限) | 达到这个值时自动压缩上下文 |
这些参数在代码中可以修改,但默认设置已经过优化,适合大多数创作场景。
十一、许可证和 credits
Kimi Writing Agent使用MIT许可证(带有归因要求):
-
非商业使用:可以自由使用和修改,但需要保留原作者信息; -
商业使用:如果用于商业产品,必须明确标注作者是Pietro Schirano(@Doriandarko)。
此外,工具依赖Moonshot AI的API,使用时需遵守Moonshot AI的服务条款。
这款工具由Pietro Schirano(GitHub账号@Doriandarko)创建,基于Moonshot AI的kimi-k2-thinking模型开发,代码仓库地址是:https://github.com/Doriandarko/kimi-writer。
通过以上内容,相信你对Kimi Writing Agent已经有了全面的了解。从安装到使用,从基础功能到高级技巧,这款工具的设计初衷是让创作更高效、更省心。如果你经常需要处理长文本创作,不妨试试它,让AI成为你的“虚拟协作伙伴”。

