把 Kimi Agent 的 269 个 Skill 接进自己的 Agent

写在最前:KIMI AGENT 环境为Linux,SKILL中众多命令在WIN/MAC环境下无法运行,如需移植至WIN/MAC环境,需修改SKILL文件或添加前置prompt,均需消耗大量Token。所以建议移植到Linux环境运行的Agent

昨晚干了件挺有意思的事——把 Kimi Agent(Moonshot AI)运行环境里的 269
个 Skill,原封不动接到了我自己的 Agent 服务器上。

docx 生成、PPT
制作、全栈应用构建、财报分析、简历优化……这些能力,现在本地 Agent
也能直接调用。

写篇记录。


背景

Kimi Agent 和 OpenClaw 都是让 AI
调用外部工具做事的框架,但思路不太一样。Kimi 的 Skill 库非常丰富——生成
Word 文档、做 Excel 表格、写网页应用、处理 PDF、做
PPT,甚至发小红书笔记,都有现成的 Skill。

每个 Skill 本质上是一个自包含的目录:一个 SKILL.md(YAML
frontmatter + Markdown
指令)定义接口,加上脚本、模板或二进制引擎实现功能。它们原本是跑在 Kimi
的 Linux
沙箱里的,但设计上是无状态、无外部依赖的——这意味着理论上可以拆出来,放在任何支持同样接口的
Agent 框架里跑。

我试了一下,确实可以。

注意:这些 Skill 是 Kimi / Moonshot AI
的知识产权,本文仅讨论技术迁移方法,不涉及 Skill 内容的分发或商用。


核心问题

硬编码路径

Kimi 的 Skill 内部写死了 /mnt/agents/output/
/mnt/agents/upload/。这是 Kimi
沙箱里的标准目录,但我的服务器上没有。

方案是复刻目录结构,不改文件:

sudo mkdir -p /mnt/agents/output /mnt/agents/upload
sudo chown -R $USER:$USER /mnt/agents

为了手机端也能直接访问输出文件,我把 /mnt/agents/output
软链接到了 workspace 目录下。Skill
以为写到了沙箱路径,实际上文件出现在我能看到的地方。

二进制兼容性

docx Skill 里有一个 .so 文件,只能跑在 CPython
3.12 + x86_64 + glibc 上
。如果你的环境是 conda 或 pyenv 装的
3.13,这个引擎直接报错。

还有一个 74MB 的预编译二进制 Xlsx,需要
chmod +x。docx 的验证器是 .NET 8 写的,需要装
dotnet-sdk-8.0

node_modules 缺失

压缩包里不含
node_modules(预期行为)。webapp-building、backend-building 这类 Skill
的模板里有 package.json,需要自行 npm install
重建。我数了一下,19 个 Skill 需要装,总共约 1600 个包,1.3GB。


部署流程

解压

Kimi 的 Skill 库分了 4 个卷,每个卷是一个 .docx
文件——docx 本质上就是 ZIP。改后缀解压:

mkdir skills1 && cd skills1
unzip ../skills卷1-xlsx完整资源.docx

解压后归并到统一目录:

kimi-runtime/
├── skills/              # 269 个内置 Skill
│   ├── docx/
│   ├── xlsx/
│   ├── webapp-building/
│   └── ...
└── plugins-note.md      # MCP 插件不可用说明

注册到 Agent 框架

kimi-runtime/skills/ 加到 Agent 的 skill 扫描路径。以
OpenClaw 为例,编辑 openclaw.json

"skills": {
  "load": {
    "extraDirs": [
      "/path/to/kimi-runtime/skills"
    ]
  }
}

Agent 会自动扫描所有目录下的 SKILL.md,按 frontmatter
里的 description 做任务匹配。保持 frontmatter
原样即可被正确触发。

装依赖

系统依赖:

# 基础
sudo apt install -y python3.12 nodejs npm chromium-browser

# .NET 8(docx 验证器)
wget https://dot.net/v1/dotnet-install.sh
chmod +x dotnet-install.sh
./dotnet-install.sh --channel 8.0 --install-dir /usr/share/dotnet

# 中文字体
sudo apt install -y fonts-noto-cjk fonts-noto-cjk-extra

Python 包:

pip3 install --break-system-packages \
  numpy scipy sympy matplotlib pillow opencv-python-headless \
  openpyxl python-docx pdfplumber

npm 依赖:

for dir in $(find kimi-runtime/skills -name "package.json" \
  -not -path "*/node_modules/*"); do
  cd $(dirname "$dir")
  npm install
done

测试

测试项结果
docx 生成(OpenXML + 中文)
xlsx 工具运行
webapp npm install + build
Chromium 无头截图
dotnet 版本8.0.423 ✅

踩坑笔记

snap Chromium 的沙箱限制

snap 装的 chromium 不能直接写 /mnt/agents/output,会被
AppArmor 拒绝。workaround 是先截图到 /tmp,再复制过去。

npm install 内存不足

webapp-building 模板的依赖树很大,npm install 时出现过
Exit handler never called,加了
NODE_OPTIONS="--max-old-space-size=4096" 后解决。

同名 Skill 冲突

我原来的环境里已经有
docxpdfxlsx 三个
Skill,和新版本同名。删旧版,保留新版的完整版(带了引擎二进制和 .so
文件)。


现在能干什么

部署完成后,多了 243 个可用的 Skill。挑几个有意思的:

  • kimi-slides — 生成 PPT
  • webapp-building /

    backend-building
    — 一键生成 React + tRPC

    全栈项目
  • chart-gen / chart-image

    从 JSON 数据生成图表
  • cv-tailor — 简历优化
  • financial-report-reader

    财报三表分析
  • photo-magazine — 杂志级排版
  • edge-tts — 文字转语音
  • smart-web-scraper — 网页抓取

大部分开箱即用,少数需要配置账号密钥(如
r2-upload、email-manager)。


写在最后

这件事的本质是:能力不应该被锁定在某个平台里。

Kimi 的 Skill 设计得很好——每个 Skill
自包含、有清晰的接口定义、不依赖外部状态。这让它可以被拆出来,放在任何支持同样接口的框架里跑。

只要 Agent 框架能扫描 SKILL.md 的 frontmatter,按
description 做任务路由,这些 Skill
就能工作。接口是开放的,迁移成本主要是环境适配,不是代码重写。

如果你也在自建 Agent,可以试试看。


部署环境:Ubuntu 24.04 LTS / Python 3.12.3 / Node v24.15.0 /
OpenClaw 2026.4.14

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注