feat: skill 随插件自动注册,免去 extra_skill_dirs 配置

kimi.plugin.json 声明 skills:["./skills"],/plugins install 后 /skill kimi-eyes 经 PluginSkillSource 自动注册(源码 manifest.ts:100 + pluginSkillRoots 全链路证实);package.json files 补 skills/;README(中英)与网页把「两步配置」简化为「一步」(只声明 image_in)。1.0.7 → 1.0.8。
This commit is contained in:
billowliu2 committed 2026-08-02 18:19:46 +08:00
1 parent 43f09c83f4
commit 5f797dc61a
5 files changed
+13 -21

No files matched your search

+3 -9
View File
@@ -152,22 +152,16 @@ capabilities = [ "thinking", "tool_use", "image_in" ] # append image_in
The warning above says: on a text-only provider, declaring `image_in` and using **Alt-V paste** sends an `image_url` part to the provider and triggers a 400. But the same `image_in` declaration is harmless if you go through the **`/skill` command** instead — `/skill` renders the pasted image as an `Attached image file: <path>` **plain-text path**, producing no image part. This plugin ships a skill that exploits exactly this channel.
**One-time setup (two steps)**:
**One-time setup**:
1. Declare `image_in` on the text-only model (only to pass the `/skill` frontend check; `/skill` sends no image part, so **no 400**):
Declare `image_in` on the text-only model (only to pass the `/skill` frontend check; `/skill` sends no image part, so **no 400**):
```toml
[models."opencode-go/deepseek-v4-flash"]
capabilities = [ "thinking", "tool_use", "image_in" ] # append image_in
```
2. Register the skill — add the plugin's `skills/` dir to the scan list in `~/.kimi-code/config.toml`:
```toml
extra_skill_dirs = [ "D:/AIGC/Plugin/kimi-eyes/skills" ]
```
> If the plugin lives elsewhere, use its actual `kimi-eyes/skills` path. After restarting the session, `/skill kimi-eyes` appears in the `/` completion menu.
> The skill ships with the plugin — `kimi.plugin.json` declares `skills`, so after `/plugins install kimi-eyes` the `/skill kimi-eyes` command is auto-registered into the `/` completion menu. **No `extra_skill_dirs` needed.**
**Usage**: