v1.0.4: SYSTEM.md 触发优化(声明 image_in 也能自动兜底读剪贴板);README 新增 Claude Code 安装说明
This commit is contained in:
1 parent
8174e88a52
commit
b298b52262
5 files changed
+178
-24
No files matched your search
@@ -159,6 +159,78 @@ Both layers are fail-safe: a wrong judgment costs at most one wasted external ca
|
|||||||
the path/semantic signals). For a hard switch, simply `/plugins disable kimi-eyes`
|
the path/semantic signals). For a hard switch, simply `/plugins disable kimi-eyes`
|
||||||
when running multimodal models.
|
when running multimodal models.
|
||||||
|
|
||||||
|
## Claude Code usage (optional)
|
||||||
|
|
||||||
|
kimi-eyes's MCP server is standard MCP, so it can be mounted directly into Claude
|
||||||
|
Code. **Run the commands below in a system terminal (PowerShell / Git Bash), not
|
||||||
|
inside Claude Code's own Bash tool** (the in-app environment mishandles options
|
||||||
|
like `--scope`).
|
||||||
|
|
||||||
|
### 1. Prerequisites
|
||||||
|
|
||||||
|
- Node.js ≥ 18
|
||||||
|
- Claude Code CLI (`claude --version`)
|
||||||
|
- A multimodal vision API of your own
|
||||||
|
|
||||||
|
### 2. Mount the MCP server (any of these)
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# User-scope (global, all projects)
|
||||||
|
claude mcp add --scope user kimi-eyes -- node D:\AIGC\Plugin\kimi-eyes\mcp\server.mjs
|
||||||
|
|
||||||
|
# Project-scope only
|
||||||
|
claude mcp add kimi-eyes -- node D:\AIGC\Plugin\kimi-eyes\mcp\server.mjs
|
||||||
|
|
||||||
|
# npx generic version (no local path; copy-paste on any machine)
|
||||||
|
claude mcp add --scope user kimi-eyes -- npx --prefer-online -y -p kimi-eyes kimi-eyes-mcp
|
||||||
|
```
|
||||||
|
|
||||||
|
### 3. Configure the vision API (one-time)
|
||||||
|
|
||||||
|
```bash
|
||||||
|
npx kimi-eyes setup
|
||||||
|
```
|
||||||
|
|
||||||
|
> Same config is shared: kimi-eyes uses `~/.kimi-code/kimi-eyes/config.json` (or
|
||||||
|
> `VISION_*` env vars) under both Kimi Code and Claude Code.
|
||||||
|
|
||||||
|
### 4. Guidance rules (CLAUDE.md)
|
||||||
|
|
||||||
|
Create (or append to) `CLAUDE.md` in your project root; the repo root `CLAUDE.md`
|
||||||
|
is a ready-made example. Core rules:
|
||||||
|
|
||||||
|
```markdown
|
||||||
|
# Kimi Eyes — Vision Assist (Claude Code)
|
||||||
|
|
||||||
|
Whenever the user's request involves image content and you cannot see it directly:
|
||||||
|
1. Image path / @ reference → call `mcp__kimi-eyes__read_image` with that path.
|
||||||
|
2. Just screenshotted/copied, or media you cannot read → call
|
||||||
|
`mcp__kimi-eyes__read_clipboard_image` (image is almost always still in the clipboard).
|
||||||
|
3. Wording implies an image but no path → prefer `read_clipboard_image` over guessing.
|
||||||
|
If your model is multimodal (Claude 3+), you see images natively — ignore these rules.
|
||||||
|
```
|
||||||
|
|
||||||
|
### 5. Verify
|
||||||
|
|
||||||
|
```bash
|
||||||
|
claude mcp list
|
||||||
|
# kimi-eyes should show √ Connected
|
||||||
|
```
|
||||||
|
|
||||||
|
### 6. Usage
|
||||||
|
|
||||||
|
```
|
||||||
|
Image file → @C:\path\image.png what's in this?
|
||||||
|
Screenshot → ask "analyze this screenshot" (model calls read_clipboard_image)
|
||||||
|
```
|
||||||
|
|
||||||
|
### Notes
|
||||||
|
|
||||||
|
- Claude 3+ models are natively multimodal, so Claude Code usually sees images
|
||||||
|
directly; the plugin matters for text-only models or when you want a single
|
||||||
|
external VLM
|
||||||
|
- Uninstall: `claude mcp remove kimi-eyes`
|
||||||
|
|
||||||
**The first tool call prompts one approval** (MCP tool permission): choose *Approve
|
**The first tool call prompts one approval** (MCP tool permission): choose *Approve
|
||||||
for this session* to skip prompts for the rest of the session; for permanent
|
for this session* to skip prompts for the rest of the session; for permanent
|
||||||
approval, add to `~/.kimi-code/config.toml`:
|
approval, add to `~/.kimi-code/config.toml`:
|
||||||
|
|||||||
@@ -82,7 +82,20 @@ MCP 服务器会随会话自动启动。
|
|||||||
| --- | --- |
|
| --- | --- |
|
||||||
| 多模态模型 | 直接 Alt+V 粘贴图片,原生看图,插件不参与 |
|
| 多模态模型 | 直接 Alt+V 粘贴图片,原生看图,插件不参与 |
|
||||||
| 非多模态 + 有图片路径 | 输入 `@截图.png` 或直接给路径,模型自动调 `read_image` |
|
| 非多模态 + 有图片路径 | 输入 `@截图.png` 或直接给路径,模型自动调 `read_image` |
|
||||||
| 非多模态 + 刚截图/复制 | 截图后**不要 Alt+V 粘贴**(CLI 会拒绝非多模态模型粘贴并报 `Current model does not support image input`),直接提问「分析这张截图」,模型自动调 `read_clipboard_image` 读系统剪贴板 |
|
| 非多模态 + 刚截图/复制 | 直接提问「分析这张截图」,模型自动调 `read_clipboard_image` 读系统剪贴板 |
|
||||||
|
| 非多模态 + 想用 Alt+V 粘贴 | 需先在 config.toml 给模型声明 `image_in`(见下),粘贴后直接提问即可——模型看不懂图片内容时会自动调 `read_clipboard_image`(剪贴板仍保留原图) |
|
||||||
|
| 粘贴被拦截 | 直接告诉模型「我粘贴图片被拦截了」,模型会自动改读剪贴板,无需你保存文件 |
|
||||||
|
|
||||||
|
#### 想用 Alt+V 粘贴?(给模型声明 `image_in`)
|
||||||
|
|
||||||
|
KimiCode 前端默认会拦截「不支持图片输入」模型的粘贴。在 `~/.kimi-code/config.toml` 给对应模型加上 `image_in` 即可放行:
|
||||||
|
|
||||||
|
```toml
|
||||||
|
[models."opencode-go/deepseek-v4-flash"]
|
||||||
|
capabilities = [ "thinking", "tool_use", "image_in" ] # 追加 image_in
|
||||||
|
```
|
||||||
|
|
||||||
|
> 注意:声明 `image_in` 只是让前端放行粘贴。纯文本模型依然**看不懂**图片内容——这正是插件的用武之地:模型收到图片但看不见内容时,会按 SYSTEM.md 规则自动调 `read_clipboard_image` 从剪贴板读图。**全程零命令、零前缀**。
|
||||||
|
|
||||||
## 激活与触发
|
## 激活与触发
|
||||||
|
|
||||||
@@ -107,10 +120,11 @@ MCP 服务器会随会话自动启动。
|
|||||||
| --- | --- |
|
| --- | --- |
|
||||||
| 图片格式路径或 `@` 引用(`.png/.jpg/.jpeg/.webp/.gif/.bmp`) | **硬触发**:无条件调 `read_image(path)`,与提问语料无关 |
|
| 图片格式路径或 `@` 引用(`.png/.jpg/.jpeg/.webp/.gif/.bmp`) | **硬触发**:无条件调 `read_image(path)`,与提问语料无关 |
|
||||||
| 消息里有你无法解读的媒体内容(如粘贴的图片) | 忽略该媒体 part,自动调 `read_clipboard_image()` 读剪贴板(粘贴后剪贴板仍保留原图) |
|
| 消息里有你无法解读的媒体内容(如粘贴的图片) | 忽略该媒体 part,自动调 `read_clipboard_image()` 读剪贴板(粘贴后剪贴板仍保留原图) |
|
||||||
| 提问语义涉及图像内容:图 / 截图 / 照片 / 界面 / 图表 / 验证码 / OCR 等,但无路径 | 自动调 `read_clipboard_image()` |
|
| 提问语义涉及图像内容:图 / 截图 / 照片 / 界面 / 图表 / 验证码 / OCR 等,但无路径 | 自动调 `read_clipboard_image()`,**不会要求你重发** |
|
||||||
| 模型原生支持 `image_in`(多模态) | 跳过全部规则,原生看图,不调工具 |
|
| 粘贴被拦截(报 `Current model does not support image input`) | 直接告诉模型,它会改调 `read_clipboard_image`(剪贴板仍保留原图) |
|
||||||
|
| 模型真正能看懂图片内容(多模态) | 跳过全部规则,原生看图,不调工具 |
|
||||||
|
|
||||||
**触发不依赖固定语料**——用户不需要说「分析这个图片」。图片格式路径是**无条件硬触发**;拿不准时模型会倾向于调工具而不是瞎猜(SYSTEM.md 里的明确规则)。
|
**触发不依赖固定语料、不依赖任何命令前缀**——用户不需要说「分析这个图片」,也不需要 `/skill` 之类的指令。图片格式路径是**无条件硬触发**;模型判断「自己看不见图片内容」或「用户想看图但消息里没有」时,会自动调工具而不是瞎猜或让你重发(SYSTEM.md 里的明确规则)。
|
||||||
|
|
||||||
**关于模型能力判断**:KimiCode 不向插件暴露「当前模型是否多模态」的信号,本插件提供两层判断:
|
**关于模型能力判断**:KimiCode 不向插件暴露「当前模型是否多模态」的信号,本插件提供两层判断:
|
||||||
|
|
||||||
@@ -119,6 +133,71 @@ MCP 服务器会随会话自动启动。
|
|||||||
|
|
||||||
两层都是 fail-safe:判断错误最坏只是多一次外部调用(多模态误调)或漏调(文本模型漏调可用路径/语义信号补上)。若想硬性关闭,多模态场景可直接 `/plugins disable kimi-eyes`。
|
两层都是 fail-safe:判断错误最坏只是多一次外部调用(多模态误调)或漏调(文本模型漏调可用路径/语义信号补上)。若想硬性关闭,多模态场景可直接 `/plugins disable kimi-eyes`。
|
||||||
|
|
||||||
|
## Claude Code 使用(可选)
|
||||||
|
|
||||||
|
kimi-eyes 的 MCP 服务器是标准 MCP,可直接挂载到 Claude Code。**注意:以下命令请在系统终端(PowerShell / Git Bash)执行,不要在 Claude Code 内部的 Bash 工具里执行**(内部环境解析 `--scope` 等参数有差异)。
|
||||||
|
|
||||||
|
### 1. 前置要求
|
||||||
|
|
||||||
|
- Node.js ≥ 18
|
||||||
|
- Claude Code CLI(`claude --version`)
|
||||||
|
- 一个支持视觉的多模态 API(Key 由你自己提供)
|
||||||
|
|
||||||
|
### 2. 挂载 MCP 服务器(任选其一)
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# 方式一:全局注册(user scope,所有项目可用)
|
||||||
|
claude mcp add --scope user kimi-eyes -- node D:\AIGC\Plugin\kimi-eyes\mcp\server.mjs
|
||||||
|
|
||||||
|
# 方式二:仅当前项目
|
||||||
|
claude mcp add kimi-eyes -- node D:\AIGC\Plugin\kimi-eyes\mcp\server.mjs
|
||||||
|
|
||||||
|
# 方式三:npx 通用版(不依赖本地路径,任何机器可复制)
|
||||||
|
claude mcp add --scope user kimi-eyes -- npx --prefer-online -y -p kimi-eyes kimi-eyes-mcp
|
||||||
|
```
|
||||||
|
|
||||||
|
### 3. 配置视觉 API(一次性)
|
||||||
|
|
||||||
|
```bash
|
||||||
|
npx kimi-eyes setup
|
||||||
|
```
|
||||||
|
|
||||||
|
> 复用同一份配置:kimi-eyes 在 KimiCode 和 Claude Code 下共用 `~/.kimi-code/kimi-eyes/config.json`(或环境变量 `VISION_*`)。
|
||||||
|
|
||||||
|
### 4. 引导规则(CLAUDE.md)
|
||||||
|
|
||||||
|
在项目根目录创建 `CLAUDE.md`(或追加到已有的),内容可参考本仓库根目录的 `CLAUDE.md`。核心规则:
|
||||||
|
|
||||||
|
```markdown
|
||||||
|
# Kimi Eyes — Vision Assist (Claude Code)
|
||||||
|
|
||||||
|
Whenever the user's request involves image content and you cannot see it directly:
|
||||||
|
1. Image path / @ reference → call `mcp__kimi-eyes__read_image` with that path.
|
||||||
|
2. Just screenshotted/copied, or media you cannot read → call
|
||||||
|
`mcp__kimi-eyes__read_clipboard_image` (image is almost always still in the clipboard).
|
||||||
|
3. Wording implies an image but no path → prefer `read_clipboard_image` over guessing.
|
||||||
|
If your model is multimodal (Claude 3+), you see images natively — ignore these rules.
|
||||||
|
```
|
||||||
|
|
||||||
|
### 5. 验证
|
||||||
|
|
||||||
|
```bash
|
||||||
|
claude mcp list
|
||||||
|
# kimi-eyes 应显示 √ Connected
|
||||||
|
```
|
||||||
|
|
||||||
|
### 6. 使用
|
||||||
|
|
||||||
|
```
|
||||||
|
有图片文件 → @C:\path\image.png 这个图里有什么?
|
||||||
|
刚截图 → 直接说「分析这张截图」(模型调 read_clipboard_image 读剪贴板)
|
||||||
|
```
|
||||||
|
|
||||||
|
### 注意
|
||||||
|
|
||||||
|
- Claude 3+ 模型原生多模态,Claude Code 大多场景直接看图;插件主要用于文本模型或统一走某个外部 VLM 的场景
|
||||||
|
- 卸载:`claude mcp remove kimi-eyes`
|
||||||
|
|
||||||
**首次调用会弹一次审批**(MCP 工具权限):选 *Approve for this session* 本会话免问;想永久免审批,在 `~/.kimi-code/config.toml` 添加:
|
**首次调用会弹一次审批**(MCP 工具权限):选 *Approve for this session* 本会话免问;想永久免审批,在 `~/.kimi-code/config.toml` 添加:
|
||||||
|
|
||||||
```toml
|
```toml
|
||||||
@@ -184,7 +263,7 @@ node scripts/sync-models.mjs
|
|||||||
|
|
||||||
## 故障排查
|
## 故障排查
|
||||||
|
|
||||||
- **Alt+V 粘贴报 `Current model does not support image input`** → 这是 KimiCode CLI 的拦截:非多模态模型不支持粘贴图片。改用 `@图片路径`(`read_image`)或截图后直接提问(`read_clipboard_image` 读剪贴板)
|
- **Alt+V 粘贴报 `Current model does not support image input`** → KimiCode CLI 的拦截。两种解法:① 在 `config.toml` 给该模型追加 `image_in`(见「想用 Alt+V 粘贴?」)放行粘贴,模型看不懂图片时会自动读剪贴板;② 直接告诉模型「粘贴被拦截」,它会改调 `read_clipboard_image` 从剪贴板取图
|
||||||
- **工具返回「Vision API is not configured」** → 运行 `node setup.mjs`,或设置 `VISION_API_KEY` / `VISION_API_URL` / `VISION_MODEL`
|
- **工具返回「Vision API is not configured」** → 运行 `node setup.mjs`,或设置 `VISION_API_KEY` / `VISION_API_URL` / `VISION_MODEL`
|
||||||
- **模型列表拉取失败**(404/401)→ 向导自动回退手动输入;若服务端不支持 `/models`,直接输入模型名即可
|
- **模型列表拉取失败**(404/401)→ 向导自动回退手动输入;若服务端不支持 `/models`,直接输入模型名即可
|
||||||
- **视觉验证失败** → 换一个真正支持图片输入的模型(参考服务商文档,如 `qwen-vl-max`、`glm-4v`、`gpt-4o`、`claude-3-5-sonnet` 等)
|
- **视觉验证失败** → 换一个真正支持图片输入的模型(参考服务商文档,如 `qwen-vl-max`、`glm-4v`、`gpt-4o`、`claude-3-5-sonnet` 等)
|
||||||
|
|||||||
@@ -1,24 +1,27 @@
|
|||||||
# Kimi Eyes — Vision Assist Rules
|
# Kimi Eyes — Vision Assist Rules
|
||||||
|
|
||||||
**If your model supports image input (`image_in`) natively, ignore every rule below —
|
Your config may declare `image_in` even when you cannot truly interpret image
|
||||||
you can see images directly, so never call these tools.**
|
content (the declaration only lets the frontend accept pasted images). The rule is
|
||||||
|
simple: **if you cannot actually see/read the image content, use a vision tool
|
||||||
|
instead of guessing or asking the user to resend.**
|
||||||
|
|
||||||
For models **without** native image input, the signals below are **hard triggers**:
|
1. **Image path / `@` reference (hard trigger, unconditional)** — any path ending in
|
||||||
call a vision tool whenever any of them appears, regardless of how the user phrased
|
`.png`, `.jpg`, `.jpeg`, `.webp`, `.gif`, or `.bmp` (including an `@` file
|
||||||
their request.
|
reference to such a file) → call `mcp__kimi-eyes__read_image` with that path.
|
||||||
|
Pass `prompt` when the user has a specific question.
|
||||||
1. **Image-format path / `@` reference (hard trigger, unconditional)** — any path
|
2. **Image/media content you cannot read** — a pasted image or any media part in the
|
||||||
ending in `.png`, `.jpg`, `.jpeg`, `.webp`, `.gif`, or `.bmp` (including an `@`
|
message whose content you cannot see → ignore that part and call
|
||||||
file reference to such a file) → call `mcp__kimi-eyes__read_image` with that
|
`mcp__kimi-eyes__read_clipboard_image` — the pasted image is almost always still
|
||||||
path. Pass `prompt` when the user has a specific question.
|
in the system clipboard (pasting does not clear it).
|
||||||
2. **Media content you cannot interpret** — a pasted image or any media part you
|
3. **User asks about an image, nothing visible** — the user refers to "this", "the
|
||||||
cannot read → ignore that part and call
|
|
||||||
`mcp__kimi-eyes__read_clipboard_image` (the image is almost always still in the
|
|
||||||
system clipboard).
|
|
||||||
3. **Wording implies an image, no path** — the user refers to "this", "the
|
|
||||||
screenshot", "the UI/interface", "the chart", "the photo", asks for OCR / CAPTCHA
|
screenshot", "the UI/interface", "the chart", "the photo", asks for OCR / CAPTCHA
|
||||||
reading, or otherwise implies image content, with no path and no visible media
|
reading, or says they just screenshotted/copied an image, but no path and no
|
||||||
part → call `mcp__kimi-eyes__read_clipboard_image`.
|
visible image content are present → **do not ask them to resend**; call
|
||||||
|
`mcp__kimi-eyes__read_clipboard_image` immediately.
|
||||||
|
4. **Paste was rejected** — if the user says pasting an image failed (e.g. "Current
|
||||||
|
model does not support image input"), the clipboard still holds the image: call
|
||||||
|
`mcp__kimi-eyes__read_clipboard_image` and tell them it worked, instead of asking
|
||||||
|
them to save the file or redo anything.
|
||||||
|
|
||||||
When in doubt, call a tool rather than guessing blindly about the image.
|
When in doubt, call a tool rather than guessing blindly about the image.
|
||||||
|
|
||||||
|
|||||||
+1
-1
@@ -1 +1 @@
|
|||||||
{"zhipuai/glm-4.6v":{"name":"GLM-4.6V","image":true},"zhipuai/glm-5":{"name":"GLM-5","image":false},"zhipuai/glm-4.5-air":{"name":"GLM-4.5-Air","image":false},"zhipuai/glm-5.1":{"name":"GLM-5.1","image":false},"zhipuai/glm-4.7-flash":{"name":"GLM-4.7-Flash","image":false},"zhipuai/glm-5.2":{"name":"GLM-5.2","image":false},"zhipuai/glm-4.7-flashx":{"name":"GLM-4.7-FlashX","image":false},"zhipuai/glm-4.6":{"name":"GLM-4.6","image":false},"zhipuai/glm-4.5":{"name":"GLM-4.5","image":false},"zhipuai/glm-4.5v":{"name":"GLM-4.5V","image":true},"zhipuai/glm-4.7":{"name":"GLM-4.7","image":false},"zhipuai/glm-5-turbo":{"name":"GLM-5-Turbo","image":false},"zhipuai/glm-5v-turbo":{"name":"GLM-5V-Turbo","image":true},"zhipuai/glm-4.5-flash":{"name":"GLM-4.5-Flash","image":false},"microsoft/mai-code-1-flash":{"name":"MAI-Code-1-Flash","image":false},"cohere/command-r7b-arabic-02-2025":{"name":"Command R7B Arabic","image":false},"cohere/command-r-08-2024":{"name":"Command R","image":false},"cohere/command-a-plus-05-2026":{"name":"Command A Plus","image":true},"cohere/command-a-translate-08-2025":{"name":"Command A Translate","image":false},"cohere/c4ai-aya-expanse-8b":{"name":"Aya Expanse 8B","image":false},"cohere/c4ai-aya-vision-32b":{"name":"Aya Vision 32B","image":true},"cohere/command-a-03-2025":{"name":"Command A","image":false},"cohere/command-r-plus-08-2024":{"name":"Command R+","image":false},"cohere/command-a-reasoning-08-2025":{"name":"Command A Reasoning","image":false},"cohere/command-a-vision-07-2025":{"name":"Command A Vision","image":true},"cohere/command-r7b-12-2024":{"name":"Command R7B","image":false},"cohere/c4ai-aya-vision-8b":{"name":"Aya Vision 8B","image":true},"cohere/north-mini-code-1-0":{"name":"North Mini Code","image":false},"cohere/c4ai-aya-expanse-32b":{"name":"Aya Expanse 32B","image":false},"nvidia/mistral-nemotron":{"name":"Mistral Nemotron","image":false},"nvidia/nemotron-nano-12b-v2-vl":{"name":"Nemotron Nano 12B v2 VL","image":true},"nvidia/nemotron-3-nano-30b-a3b":{"name":"Nemotron 3 Nano 30B A3B","image":false},"nvidia/llama-3.3-nemotron-super-49b-v1.5":{"name":"Llama 3.3 Nemotron Super 49B v1.5","image":false},"nvidia/llama-3.1-nemotron-safety-guard-8b-v3":{"name":"Llama 3.1 Nemotron Safety Guard 8B v3","image":false},"nvidia/llama-3.3-nemotron-super-49b-v1":{"name":"Llama 3.3 Nemotron Super 49B v1","image":false},"nvidia/llama-3.1-nemotron-70b-instruct":{"name":"Llama 3.1 Nemotron 70B Instruct","image":false},"nvidia/nemotron-3-super-120b-a12b":{"name":"Nemotron 3 Super 120B A12B","image":false},"nvidia/nemotron-3-content-safety":{"name":"Nemotron 3 Content Safety","image":false},"nvidia/nemotron-3-nano-omni-30b-a3b-reasoning":{"name":"Nemotron 3 Nano Omni 30B A3B Reasoning","image":true},"nvidia/llama-3.1-nemotron-ultra-253b":{"name":"Llama 3.1 Nemotron Ultra 253B","image":false},"nvidia/nemotron-voicechat":{"name":"Nemotron VoiceChat","image":false},"nvidia/llama-nemotron-embed-vl-1b-v2":{"name":"Llama Nemotron Embed VL 1B v2","image":true},"nvidia/nemotron-content-safety-reasoning-4b":{"name":"Nemotron Content Safety Reasoning 4B","image":false},"nvidia/nemotron-3-ultra-550b-a55b":{"name":"Nemotron 3 Ultra 550B A55B","image":false},"nvidia/llama-nemotron-rerank-vl-1b-v2":{"name":"Llama Nemotron Rerank VL 1B v2","image":true},"nvidia/nemotron-mini-4b-instruct":{"name":"Nemotron Mini 4B Instruct","image":false},"nvidia/nemotron-nano-9b-v2":{"name":"Nemotron Nano 9B v2","image":false},"nvidia/nemotron-cascade-2-30b-a3b":{"name":"Nemotron Cascade 2 30B A3B","image":false},"nvidia/nemotron-3.5-content-safety":{"name":"Nemotron 3.5 Content Safety","image":true},"google/gemini-2.5-computer-use-preview-10-2025":{"name":"Gemini 2.5 Computer Use Preview","image":true},"google/deep-research-preview-04-2026":{"name":"Gemini Deep Research Preview","image":true},"google/gemini-3.1-flash-tts-preview":{"name":"Gemini 3.1 Flash TTS Preview","image":false},"google/gemini-flash-latest":{"name":"Gemini Flash Latest","image":true},"google/gemini-embedding-2":{"name":"Gemini Embedding 2","image":true},"google/lyria-3-pro-preview":{"name":"Lyria 3 Pro Preview","image":true},"google/gemini-3.5-flash":{"name":"Gemini 3.5 Flash","image":true},"google/gemini-2.5-flash":{"name":"Gemini 2.5 Flash","image":true},"google/gemini-3.5-flash-lite":{"name":"Gemini 3.5 Flash Lite","image":true},"google/lyria-3-clip-preview":{"name":"Lyria 3 Clip Preview","image":true},"google/gemini-omni-flash-preview":{"name":"Gemini Omni Flash Preview","image":true},"google/veo-3.1-generate-preview":{"name":"Veo 3.1 Preview","image":true},"google/gemini-2.5-pro-tts":{"name":"Gemini 2.5 Pro TTS","image":false},"google/deep-research-max-preview-04-2026":{"name":"Deep Research Max Preview","image":true},"google/gemini-3-pro-image-preview":{"name":"Nano Banana Pro","image":true},"google/gemini-3.1-flash-lite-preview":{"name":"Gemini 3.1 Flash Lite Preview","image":true},"google/gemini-2.5-flash-tts":{"name":"Gemini 2.5 Flash TTS","imLine truncated
|
{"zhipuai/glm-4.6v":{"name":"GLM-4.6V","image":true},"zhipuai/glm-5":{"name":"GLM-5","image":false},"zhipuai/glm-4.5-air":{"name":"GLM-4.5-Air","image":false},"zhipuai/glm-5.1":{"name":"GLM-5.1","image":false},"zhipuai/glm-4.7-flash":{"name":"GLM-4.7-Flash","image":false},"zhipuai/glm-5.2":{"name":"GLM-5.2","image":false},"zhipuai/glm-4.7-flashx":{"name":"GLM-4.7-FlashX","image":false},"zhipuai/glm-4.6":{"name":"GLM-4.6","image":false},"zhipuai/glm-4.5":{"name":"GLM-4.5","image":false},"zhipuai/glm-4.5v":{"name":"GLM-4.5V","image":true},"zhipuai/glm-4.7":{"name":"GLM-4.7","image":false},"zhipuai/glm-5-turbo":{"name":"GLM-5-Turbo","image":false},"zhipuai/glm-5v-turbo":{"name":"GLM-5V-Turbo","image":true},"zhipuai/glm-4.5-flash":{"name":"GLM-4.5-Flash","image":false},"microsoft/mai-code-1-flash":{"name":"MAI-Code-1-Flash","image":false},"cohere/command-r7b-arabic-02-2025":{"name":"Command R7B Arabic","image":false},"cohere/command-r-08-2024":{"name":"Command R","image":false},"cohere/command-a-plus-05-2026":{"name":"Command A Plus","image":true},"cohere/command-a-translate-08-2025":{"name":"Command A Translate","image":false},"cohere/c4ai-aya-expanse-8b":{"name":"Aya Expanse 8B","image":false},"cohere/c4ai-aya-vision-32b":{"name":"Aya Vision 32B","image":true},"cohere/command-a-03-2025":{"name":"Command A","image":false},"cohere/command-r-plus-08-2024":{"name":"Command R+","image":false},"cohere/command-a-reasoning-08-2025":{"name":"Command A Reasoning","image":false},"cohere/command-a-vision-07-2025":{"name":"Command A Vision","image":true},"cohere/command-r7b-12-2024":{"name":"Command R7B","image":false},"cohere/c4ai-aya-vision-8b":{"name":"Aya Vision 8B","image":true},"cohere/north-mini-code-1-0":{"name":"North Mini Code","image":false},"cohere/c4ai-aya-expanse-32b":{"name":"Aya Expanse 32B","image":false},"nvidia/mistral-nemotron":{"name":"Mistral Nemotron","image":false},"nvidia/nemotron-nano-12b-v2-vl":{"name":"Nemotron Nano 12B v2 VL","image":true},"nvidia/nemotron-3-nano-30b-a3b":{"name":"Nemotron 3 Nano 30B A3B","image":false},"nvidia/llama-3.3-nemotron-super-49b-v1.5":{"name":"Llama 3.3 Nemotron Super 49B v1.5","image":false},"nvidia/llama-3.1-nemotron-safety-guard-8b-v3":{"name":"Llama 3.1 Nemotron Safety Guard 8B v3","image":false},"nvidia/llama-3.3-nemotron-super-49b-v1":{"name":"Llama 3.3 Nemotron Super 49B v1","image":false},"nvidia/llama-3.1-nemotron-70b-instruct":{"name":"Llama 3.1 Nemotron 70B Instruct","image":false},"nvidia/nemotron-3-super-120b-a12b":{"name":"Nemotron 3 Super 120B A12B","image":false},"nvidia/nemotron-3-content-safety":{"name":"Nemotron 3 Content Safety","image":false},"nvidia/nemotron-3-nano-omni-30b-a3b-reasoning":{"name":"Nemotron 3 Nano Omni 30B A3B Reasoning","image":true},"nvidia/llama-3.1-nemotron-ultra-253b":{"name":"Llama 3.1 Nemotron Ultra 253B","image":false},"nvidia/nemotron-voicechat":{"name":"Nemotron VoiceChat","image":false},"nvidia/llama-nemotron-embed-vl-1b-v2":{"name":"Llama Nemotron Embed VL 1B v2","image":true},"nvidia/nemotron-content-safety-reasoning-4b":{"name":"Nemotron Content Safety Reasoning 4B","image":false},"nvidia/nemotron-3-ultra-550b-a55b":{"name":"Nemotron 3 Ultra 550B A55B","image":false},"nvidia/llama-nemotron-rerank-vl-1b-v2":{"name":"Llama Nemotron Rerank VL 1B v2","image":true},"nvidia/nemotron-mini-4b-instruct":{"name":"Nemotron Mini 4B Instruct","image":false},"nvidia/nemotron-nano-9b-v2":{"name":"Nemotron Nano 9B v2","image":false},"nvidia/nemotron-cascade-2-30b-a3b":{"name":"Nemotron Cascade 2 30B A3B","image":false},"nvidia/nemotron-3.5-content-safety":{"name":"Nemotron 3.5 Content Safety","image":true},"google/gemini-2.5-computer-use-preview-10-2025":{"name":"Gemini 2.5 Computer Use Preview","image":true},"google/deep-research-preview-04-2026":{"name":"Gemini Deep Research Preview","image":true},"google/gemini-3.1-flash-tts-preview":{"name":"Gemini 3.1 Flash TTS Preview","image":false},"google/gemini-flash-latest":{"name":"Gemini Flash Latest","image":true},"google/gemini-embedding-2":{"name":"Gemini Embedding 2","image":true},"google/lyria-3-pro-preview":{"name":"Lyria 3 Pro Preview","image":true},"google/gemini-3.5-flash":{"name":"Gemini 3.5 Flash","image":true},"google/gemini-2.5-flash":{"name":"Gemini 2.5 Flash","image":true},"google/gemini-3.5-flash-lite":{"name":"Gemini 3.5 Flash Lite","image":true},"google/lyria-3-clip-preview":{"name":"Lyria 3 Clip Preview","image":true},"google/gemini-omni-flash-preview":{"name":"Gemini Omni Flash Preview","image":true},"google/veo-3.1-generate-preview":{"name":"Veo 3.1 Preview","image":true},"google/gemini-2.5-pro-tts":{"name":"Gemini 2.5 Pro TTS","image":false},"google/deep-research-max-preview-04-2026":{"name":"Deep Research Max Preview","image":true},"google/gemini-3-pro-image-preview":{"name":"Nano Banana Pro","image":true},"google/gemini-3.1-flash-lite-preview":{"name":"Gemini 3.1 Flash Lite Preview","image":true},"google/gemini-2.5-flash-tts":{"name":"Gemini 2.5 Flash TTS","imLine truncated
|
||||||
+1
-1
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "kimi-eyes",
|
"name": "kimi-eyes",
|
||||||
"version": "1.0.3",
|
"version": "1.0.4",
|
||||||
"description": "Give non-multimodal models in Kimi Code the ability to analyze images and screenshots via a user-configured VLM (OpenAI-compatible or Anthropic protocol).",
|
"description": "Give non-multimodal models in Kimi Code the ability to analyze images and screenshots via a user-configured VLM (OpenAI-compatible or Anthropic protocol).",
|
||||||
"keywords": [
|
"keywords": [
|
||||||
"kimi",
|
"kimi",
|
||||||
|
|||||||
Reference in new issue
Block a user