如果你是一名创作者、作家,或者需要批量产出文字内容的工作者,可能会遇到这样的困扰:构思耗时、写作过程中断后难以接续、内容格式混乱……而今天要介绍的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有三个核心工具,用来完成创作中的各种任务:

  1. create_project:创建项目文件夹。比如你要写一部小说,它会自动建一个以小说名为名的文件夹,把所有章节、摘要都放在里面,避免文件混乱。

  2. write_file:写文件的工具,支持三种模式:

    • create:新建文件(如果文件已存在会失败,避免覆盖);
    • append:在已有文件末尾添加内容(比如给章节加新段落);
    • overwrite:替换文件的全部内容(比如修改已写的章节)。
  3. compress_context:上下文压缩工具。当内容太多、快超出模型的处理范围时,它会自动启动,把不重要的信息压缩(比如合并重复内容、简化描述),保证创作能继续。

它的“工作流程”是怎样的?

整个创作过程可以分为5个步骤,循环进行,直到任务完成:

  1. 接收任务:拿到你输入的写作提示(比如“写10章悬疑小说”);
  2. 思考规划:用kimi-k2-thinking模型分析任务,比如“先确定主角身份,再设计第一章的案件”;
  3. 选择工具执行:根据规划,调用合适的工具(比如用create_project建文件夹,用write_file写第一章);
  4. 检查结果:写完一部分后,它会自己看是否符合任务要求,是否需要修改;
  5. 重复循环:直到完成所有内容,最多循环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写出更好的内容?

虽然工具能自主创作,但你的提示质量会直接影响结果。这里有几个实用技巧:

  1. 提示要具体:模糊的需求会导致模糊的结果。

    • 好的提示:“写一部3章的奇幻短篇,主角是会说话的狐狸,背景设定在冬天的森林,主题是‘友谊’”;
    • 不够好的提示:“写个有趣的故事”。
  2. 给它足够的空间:工具会自己规划步骤,不用过多干预。比如让它写10章小说,它会自己决定每章的长度和内容,你只需要等结果即可。

  3. 善用恢复功能:如果中途觉得内容偏离方向,可以中断后,在恢复时修改提示(比如“继续写之前的小说,但把反派的动机改成复仇”)。

  4. 实时检查文件:创作的文件会实时保存在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成为你的“虚拟协作伙伴”。