kovi-plugin-oai
===============
[<img alt="github" src="https://img.shields.io/badge/github-araea/kovi__plugin__oai-8da0cb?style=for-the-badge&labelColor=555555&logo=github" height="20">](https://github.com/araea/kovi-plugin-oai)
[<img alt="crates.io" src="https://img.shields.io/crates/v/kovi-plugin-oai.svg?style=for-the-badge&color=fc8d62&logo=rust" height="20">](https://crates.io/crates/kovi-plugin-oai)
Kovi 的 OpenAI 兼容 API 聊天插件。支持多智能体管理、符号指令系统、图片识别与生成。
## 特性
- 🤖 **多智能体管理** - 创建、复制、删除、配置
- 💬 **对话模式** - 公有/私有对话,独立历史
- 🖼️ **多模态支持** - 图片识别、生成、预览
- 📝 **输出格式** - Markdown 渲染或纯文本
- 📚 **历史管理** - 查看、编辑、删除、导出
- ⚡ **符号指令** - 简洁高效语法
## 前置
1. 创建 Kovi 项目
2. 执行 `cargo kovi add oai`
3. 在 `src/main.rs` 添加 `kovi_plugin_oai`
## 快速开始
1. 发送 `oai API地址 API密钥` 配置 API
(如 `oai https://api.openai.com/v1 sk-xxx`)
2. 发送 `oai` 查看完整帮助
3. 发送 `/%` 查看模型列表
已按常用厂商过滤,创建时可自定义模型名称
4. 发送 `##助手 gpt-4o 你是一个有帮助的助手`
(可用模型序号或自定义模型)
5. 发送 `助手 你好` 开始对话
## 指令速查
### 模式前缀(可组合)
| `&` | 私有模式(独立历史) |
| `"` | 文本模式(不渲染图片) |
| `~` | 临时模式(无历史/不阻塞) |
### 智能体管理
| `##名称 模型 提示词` | 创建/更新 | `##助手 gpt-4o 你是助手` |
| `##:模型` | 批量生成描述 | `##:gpt-4o` |
| `智能体~=新名` | 重命名 | `助手~=管家` |
| `智能体~#新名` | 复制 | `助手~#助手2` |
| `智能体:描述` | 设置描述 | `助手:通用助手` |
| `-#名称` | 删除 | `-#助手` |
| `/#` | 列表 | `/#` |
### 配置修改
| `智能体%模型` | 修改模型 | `助手%gpt-4` |
| `智能体$提示词` | 修改提示词 | `助手$你是...` |
| `智能体$` | 清空提示词 | `助手$` |
| `智能体/$` | 查看提示词 | `助手/$` |
| `/%` | 模型列表 | `/%` |
### API 配置
| `oai API地址 API密钥` | 更新配置 | `oai https://... sk-...` |
### 对话控制
| `智能体 内容` | 对话 |
| `"智能体 内容` | 文本模式对话 |
| `&智能体 内容` | 私有对话 |
| `~智能体 内容` | 临时对话 |
| `智能体~` | 重新生成 |
| `智能体!` | 停止生成 |
### 历史管理
| `智能体/*` | 查看所有 |
| `智能体/1` | 查看第1条 |
| `智能体/1-5` | 查看1-5条 |
| `智能体_*` | 导出(.txt) |
| `智能体'1 新内容` | 编辑第1条 |
| `智能体-1` | 删除第1条 |
| `智能体-1,3,5` | 删除多条 |
| `智能体-1-5` | 删除范围 |
| `智能体-*` | 清空历史 |
> 💡 加 `&` 前缀操作私有历史,如 `&智能体/*`
### 危险操作
| `-*` | 清空所有智能体公有历史 |
| `-*!` | 清空所有历史 |
## 配置
资源目录:`data/kovi-plugin-oai/*`
> 首次运行时自动生成。
### `config.json` - 插件配置
```json
{
"api_base": "https://api.openai.com/v1",
"api_key": "sk-xxx",
"models": [],
"agents": [],
"default_model": "gpt-4o",
"default_prompt": "You are a helpful assistant."
}
```
| `api_base` | API 基础地址 |
| `api_key` | API 密钥 |
| `models` | 缓存的模型列表 |
| `agents` | 智能体列表 |
| `default_model` | 默认模型 |
| `default_prompt` | 默认系统提示词 |
## 兼容性
支持所有 OpenAI 兼容的 API 服务:
- OpenAI
- Claude (via API proxy)
- Gemini (via API proxy)
- DeepSeek
- Qwen (通义千问)
- GLM (智谱)
- Kimi (月之暗面)
- 其他兼容服务...
## 致谢
- [Kovi](https://kovi.threkork.com/)
- [async-openai](https://github.com/64bit/async-openai)
- [cdp-html-shot](https://crates.io/crates/cdp-html-shot)
<br>
#### License
<sup>
Licensed under either of <a href="LICENSE-APACHE">Apache License, Version
2.0</a> or <a href="LICENSE-MIT">MIT license</a> at your option.
</sup>
<br>
<sub>
Unless you explicitly state otherwise, any contribution intentionally submitted
for inclusion in this crate by you, as defined in the Apache-2.0 license, shall
be dual licensed as above, without any additional terms or conditions.
</sub>