mirror of
https://github.com/aiclientproxy/proxycast.git
synced 2026-09-24 23:10:56 +08:00
feat: sync latest workspace changes
This commit is contained in:
@@ -1,56 +0,0 @@
|
||||
---
|
||||
title: 概述
|
||||
description: 了解 Lime 如何支持从灵感到发布的完整创作流程
|
||||
navigation:
|
||||
icon: i-heroicons-home
|
||||
---
|
||||
|
||||
# Lime 概述
|
||||
|
||||
Lime 是一款创作类 AI Agent 桌面应用。
|
||||
它把对话、内容生成、图片创作、项目管理、资源沉淀放到同一个工作台里。
|
||||
|
||||
::alert{type="warning"}
|
||||
**免责声明**: 请在合法合规前提下使用本产品。[查看完整声明](/legal/disclaimer)
|
||||
::
|
||||
|
||||
## 你可以用它做什么
|
||||
|
||||
### 九类工作区主题
|
||||
|
||||
- 通用对话
|
||||
- 社媒内容
|
||||
- 图文海报
|
||||
- 歌词曲谱
|
||||
- 知识探索
|
||||
- 计划规划
|
||||
- 办公文档
|
||||
- 短视频
|
||||
- 小说创作
|
||||
|
||||
### 创作全流程
|
||||
|
||||
1. 用 Agent 把想法变成清晰方向
|
||||
2. 生成文案、脚本或结构化草稿
|
||||
3. 按需要生成图片并继续迭代
|
||||
4. 把结果沉淀到项目和资源库,方便长期复用
|
||||
|
||||
### 一站式工作台
|
||||
|
||||
- AI 对话与创作在同一处完成
|
||||
- 项目隔离上下文,避免内容串线
|
||||
- 资源按文档/图片/语音/视频分类管理
|
||||
- 支持参考图参与图片生成与编辑链路
|
||||
|
||||
## 使用场景
|
||||
|
||||
1. **自媒体创作**:每天稳定产出选题、文案、配图
|
||||
2. **短视频团队**:快速完成脚本与分镜草稿
|
||||
3. **小说连载**:持续积累设定、章节与角色信息
|
||||
4. **品牌运营**:统一管理活动素材与历史版本
|
||||
|
||||
## 下一步
|
||||
|
||||
- [安装指南](/introduction/installation) - 下载并安装 Lime
|
||||
- [快速开始](/introduction/quickstart) - 3 步完成首次创作
|
||||
- [首页与工作台](/user-guide/dashboard) - 熟悉核心入口
|
||||
@@ -1,80 +0,0 @@
|
||||
---
|
||||
title: 安装指南
|
||||
description: 下载、安装并验证 Lime 可正常启动
|
||||
navigation:
|
||||
icon: i-heroicons-arrow-down-tray
|
||||
---
|
||||
|
||||
# 安装指南
|
||||
|
||||
## 系统要求
|
||||
|
||||
| 平台 | 最低版本 | 架构 |
|
||||
|------|----------|------|
|
||||
| macOS | 11.0 (Big Sur) | Apple Silicon (arm64) |
|
||||
| Windows | 10 | x64 |
|
||||
|
||||
## 下载
|
||||
|
||||
从 GitHub Releases 下载最新版本安装包:
|
||||
|
||||
[下载 Lime](https://github.com/aiclientproxy/lime/releases)
|
||||
|
||||
::alert{type="warning"}
|
||||
Lime 当前仅提供 macOS 与 Windows 桌面端安装包,Linux 版本已暂停支持,不再发布 `.deb` 或 `AppImage`。
|
||||
::
|
||||
|
||||
### 安装包
|
||||
|
||||
| 平台 | 文件名 | 说明 |
|
||||
|------|--------|------|
|
||||
| macOS | `Lime_x.x.x_aarch64.dmg` | Apple Silicon Mac |
|
||||
| Windows | `Lime_x.x.x_x64-online-setup.exe` | 默认推荐,体积更小,安装时按需下载 WebView2 |
|
||||
| Windows | `Lime_x.x.x_x64-offline-setup.exe` | 离线、内网或受限网络环境使用 |
|
||||
|
||||
## macOS 安装
|
||||
|
||||
1. 下载 `.dmg` 文件
|
||||
2. 双击打开 DMG 镜像
|
||||
3. 将 Lime 拖入 Applications 文件夹
|
||||
4. 首次运行时,右键点击应用选择"打开"(绕过 Gatekeeper)
|
||||
|
||||
::alert{type="info"}
|
||||
如果提示"无法验证开发者",请在系统偏好设置 > 安全性与隐私中点击"仍要打开"。
|
||||
::
|
||||
|
||||
## Windows 安装
|
||||
|
||||
1. 优先下载 `Lime_x.x.x_x64-online-setup.exe`
|
||||
2. 双击运行安装程序
|
||||
3. 按照安装向导完成安装
|
||||
4. 从开始菜单启动 Lime
|
||||
|
||||
::alert{type="info"}
|
||||
如果设备处于离线、内网或受限网络环境,请改用 `Lime_x.x.x_x64-offline-setup.exe`。
|
||||
::
|
||||
|
||||
## 验证安装
|
||||
|
||||
启动 Lime 后,你应该看到:
|
||||
|
||||
1. 主窗口正常打开
|
||||
2. 左侧出现主要入口(AI Agent、项目、资源、设置等)
|
||||
3. 可以进入设置页并看到版本信息
|
||||
|
||||
## 常见安装问题
|
||||
|
||||
### macOS: "应用已损坏"
|
||||
|
||||
```bash
|
||||
# 移除隔离属性
|
||||
xattr -cr /Applications/Lime.app
|
||||
```
|
||||
|
||||
### Windows: SmartScreen 警告
|
||||
|
||||
点击"更多信息" > "仍要运行"即可继续安装。
|
||||
|
||||
## 下一步
|
||||
|
||||
安装完成后,继续阅读 [快速开始](/introduction/quickstart),用 3 步完成第一次创作。
|
||||
@@ -1,64 +0,0 @@
|
||||
---
|
||||
title: 快速开始
|
||||
description: 3 步完成首次创作并沉淀到项目资源库
|
||||
navigation:
|
||||
icon: i-heroicons-rocket-launch
|
||||
---
|
||||
|
||||
# 快速开始
|
||||
|
||||
本指南帮助你在几分钟内完成第一次完整创作流程。
|
||||
|
||||
## 前置准备
|
||||
|
||||
确保你已经:
|
||||
|
||||
- [x] 安装了 Lime
|
||||
- [x] 可以正常打开应用主界面
|
||||
|
||||
## 步骤 1:选择主题方向与项目
|
||||
|
||||
1. 启动 Lime,进入 AI Agent 或项目入口
|
||||
2. 选择你的主题方向(如社媒、短视频、小说)
|
||||
3. 新建项目,作为本次创作的工作空间
|
||||
|
||||
## 步骤 2:输入需求并生成内容
|
||||
|
||||
1. 用一句话描述你的目标
|
||||
2. 让 Agent 先给结构,再生成首稿
|
||||
3. 如需视觉内容,在 AI Agent 中用 `@素材` 搜图或触发图片生成,再把结果沉淀到资源库
|
||||
|
||||
## 步骤 3:沉淀到资源库
|
||||
|
||||
1. 将文档、图片等结果保存到当前项目资源库
|
||||
2. 在资源页按分类查看(文档/图片/语音/视频)
|
||||
3. 下次创作直接复用历史素材和上下文
|
||||
|
||||
## 一个最小创作示例
|
||||
|
||||
1. 主题:`短视频`
|
||||
2. 输入:`做一条 30 秒“高效晨间复盘”口播内容`
|
||||
3. 产出:
|
||||
- 3 个开场钩子
|
||||
- 1 版结构化口播稿
|
||||
- 1 组配图提示词或参考图改写结果
|
||||
|
||||
## 常见问题
|
||||
|
||||
### 我可以只用对话,不做图片吗?
|
||||
|
||||
可以。你可以只用 AI Agent 完成文本创作和项目沉淀。
|
||||
|
||||
### 我可以直接改图吗?
|
||||
|
||||
可以。先在资源库上传参考图,再从 Claw 发起图片任务;若所选模型支持编辑接口,会自动走对应链路。
|
||||
|
||||
### 我还需要排查底层协议怎么办?
|
||||
|
||||
可以继续阅读 [API 参考](/api-reference/overview)。
|
||||
|
||||
## 下一步
|
||||
|
||||
- [首页与工作台](/user-guide/dashboard) - 理解核心导航
|
||||
- [资源库](/user-guide/resources) - 管理创作资产
|
||||
- [图片生成与素材链路](/user-guide/image-generation) - 理解 Claw 与资源页如何协同
|
||||
@@ -1,57 +0,0 @@
|
||||
---
|
||||
title: 首页与工作台
|
||||
description: 首页与创作工作台总览
|
||||
navigation:
|
||||
icon: i-heroicons-chart-bar
|
||||
---
|
||||
|
||||
# 首页与工作台
|
||||
|
||||
首页是你进入 Lime 后的主入口。
|
||||
建议把它理解为“创作操作台”,而不是单一功能面板。
|
||||
|
||||
## 左侧核心入口
|
||||
|
||||
- **AI Agent**:对话、任务推进、内容初稿
|
||||
- **项目**:按创作目标管理长期内容
|
||||
- **资源**:统一查看文档、图片、语音、视频
|
||||
- **设置**:调整主题、模块开关、连接与高级选项
|
||||
|
||||
## 推荐工作方式
|
||||
|
||||
1. 先在项目中选择一个主题方向
|
||||
2. 在 AI Agent 中完成结构和首稿
|
||||
3. 需要视觉时在 AI Agent 中使用 `@素材` 或图片任务
|
||||
4. 回到资源库统一管理本地图片、图库素材与回流结果
|
||||
|
||||
## 主题方向
|
||||
|
||||
当前支持的主题包括:
|
||||
|
||||
- 通用对话
|
||||
- 社媒内容
|
||||
- 图文海报
|
||||
- 歌词曲谱
|
||||
- 知识探索
|
||||
- 计划规划
|
||||
- 办公文档
|
||||
- 短视频
|
||||
- 小说创作
|
||||
|
||||
## 常见操作
|
||||
|
||||
### 新建一个创作项目
|
||||
|
||||
1. 进入项目页
|
||||
2. 选择主题并创建项目
|
||||
3. 开始持续沉淀对话与素材
|
||||
|
||||
### 从资源继续创作
|
||||
|
||||
1. 在资源页选中历史文档或图片
|
||||
2. 跳转到 AI Agent 继续改写或扩展
|
||||
3. 将新结果再次沉淀回资源库
|
||||
|
||||
### 只看某类素材
|
||||
|
||||
在资源页切换分类视图,可只看文档、图片、语音或视频。
|
||||
@@ -1,50 +0,0 @@
|
||||
---
|
||||
title: 提示词模板
|
||||
description: 管理可复用提示词,提升稳定产出效率
|
||||
navigation:
|
||||
icon: i-heroicons-document-text
|
||||
---
|
||||
|
||||
# 提示词模板
|
||||
|
||||
提示词模板用于把“经常重复的表达方式”沉淀下来,减少每次从零开始。
|
||||
|
||||
## 模板结构建议
|
||||
|
||||
每个模板建议包含:
|
||||
|
||||
- 名称(便于检索)
|
||||
- 使用场景(何时用)
|
||||
- 模板正文(可复用)
|
||||
- 变量占位(可选)
|
||||
|
||||
## 示例:短视频口播模板
|
||||
|
||||
```text
|
||||
你是一名内容策划。
|
||||
请基于主题「{{topic}}」生成一段 {{duration}} 秒口播稿,要求:
|
||||
1. 开头 3 秒有抓力
|
||||
2. 中段给出 3 个关键点
|
||||
3. 结尾有明确行动引导
|
||||
语气风格:{{tone}}
|
||||
```
|
||||
|
||||
## 推荐组织方式
|
||||
|
||||
- 按主题分类:社媒、短视频、小说、办公
|
||||
- 按阶段分类:灵感、初稿、润色、发布
|
||||
- 统一标签:例如 `#高频`、`#可复用`
|
||||
|
||||
## 使用建议
|
||||
|
||||
### 一次只优化一个模板
|
||||
|
||||
避免同时改太多模板,难以判断效果。
|
||||
|
||||
### 模板要留“可变空间”
|
||||
|
||||
把固定规则写清楚,把创意部分留给变量。
|
||||
|
||||
### 和项目结合
|
||||
|
||||
在项目中沉淀效果好的模板,后续同类任务可直接复用。
|
||||
@@ -1,55 +0,0 @@
|
||||
---
|
||||
title: 技能工作流
|
||||
description: 把常见任务封装成可复用的 AI 技能
|
||||
navigation:
|
||||
icon: i-heroicons-sparkles
|
||||
---
|
||||
|
||||
# 技能工作流
|
||||
|
||||
技能可以理解为“可复用的任务卡片”:
|
||||
|
||||
- 预设目标
|
||||
- 预设风格
|
||||
- 预设步骤
|
||||
|
||||
这样每次执行同类任务时,不必重复手工组织提示。
|
||||
|
||||
## 技能适合做什么
|
||||
|
||||
- 固定流程写作(如周报、复盘、活动文案)
|
||||
- 固定结构产出(如短视频脚本、小说章节骨架)
|
||||
- 固定标准检查(如发布前检查清单)
|
||||
|
||||
## 技能卡建议字段
|
||||
|
||||
- 名称:明确任务类型
|
||||
- 描述:写清输入与输出
|
||||
- 系统指令:定义角色与规则
|
||||
- 参数:控制风格与长度
|
||||
- 输出格式:约束结果结构
|
||||
|
||||
## 示例:活动文案技能
|
||||
|
||||
```yaml
|
||||
name: "活动文案生成"
|
||||
description: "根据主题生成活动预热文案与发布文案"
|
||||
system_prompt: |
|
||||
你是一名品牌内容策划,输出要简洁、有行动感。
|
||||
output_format: "markdown"
|
||||
```
|
||||
|
||||
## 组合为流程
|
||||
|
||||
你可以把多个技能串成流程,例如:
|
||||
|
||||
1. 选题拆解
|
||||
2. 初稿生成
|
||||
3. 风格统一
|
||||
4. 发布前检查
|
||||
|
||||
## 团队使用建议
|
||||
|
||||
1. 共享高频技能模板
|
||||
2. 每个技能指定维护人
|
||||
3. 定期清理低使用技能,保持列表可维护
|
||||
@@ -1,60 +0,0 @@
|
||||
---
|
||||
title: 设置
|
||||
description: 管理应用偏好、导航模块和进阶系统选项
|
||||
navigation:
|
||||
icon: i-heroicons-cog-6-tooth
|
||||
---
|
||||
|
||||
# 设置
|
||||
|
||||
设置页用于管理你的创作体验与系统行为。
|
||||
|
||||
## 通用
|
||||
|
||||
常见选项:
|
||||
|
||||
- 主题模式(浅色 / 深色 / 跟随系统)
|
||||
- 语言选择
|
||||
- 启动行为(开机自启动、最小化到托盘)
|
||||
- 声音反馈开关
|
||||
|
||||
## 创作与导航偏好
|
||||
|
||||
你可以按使用习惯定制入口:
|
||||
|
||||
- 启用或停用工作区主题(如社媒、短视频、小说)
|
||||
- 启用或停用导航模块(如 AI Agent、项目、资源、设置、插件)
|
||||
|
||||
这样可以让侧边栏更聚焦,减少干扰。
|
||||
|
||||
## 连接与系统
|
||||
|
||||
系统相关设置在这里管理:
|
||||
|
||||
- 连接与网络代理
|
||||
- 安全与证书
|
||||
- 存储目录与配额
|
||||
- 外部工具联动
|
||||
- 实验室与开发者选项
|
||||
|
||||
## 关于与版本
|
||||
|
||||
在“关于”标签页可以查看:
|
||||
|
||||
- 当前版本号
|
||||
- 更新检查入口
|
||||
- 相关项目信息
|
||||
|
||||
## 建议配置
|
||||
|
||||
### 个人创作者
|
||||
|
||||
- 保留:AI Agent、项目、资源
|
||||
- 关闭:暂时不用的高级模块
|
||||
- 目的:让工作台聚焦在“日常产出”
|
||||
|
||||
### 团队协作
|
||||
|
||||
- 统一主题配置
|
||||
- 固定项目命名规则
|
||||
- 约定资源标签方式
|
||||
@@ -1,6 +1,6 @@
|
||||
---
|
||||
title: 插件中心
|
||||
description: 安装和管理扩展插件,按需扩展创作能力
|
||||
description: 通过本地包或 URL 安装、启停与卸载插件
|
||||
navigation:
|
||||
icon: i-heroicons-puzzle-piece
|
||||
---
|
||||
@@ -8,97 +8,66 @@ navigation:
|
||||
# 插件中心
|
||||
|
||||
::alert{type="info"}
|
||||
📢 插件属于进阶能力。若你只做日常创作,可先跳过本页。
|
||||
插件属于进阶能力。当前页面只覆盖已经落地的安装与管理链路,不再承诺“推荐插件市场”或“一键精选区”。
|
||||
::
|
||||
|
||||
插件中心用于扩展 Lime 的能力,例如新增工具、接入外部流程、扩展特定场景工作流。
|
||||
插件中心用于安装和管理扩展插件。当前可确认的主路径只有两条:从本地插件包安装,或从 URL 安装。
|
||||
|
||||
## 访问插件中心
|
||||
## 当前可做的事
|
||||
|
||||
点击左侧导航栏的「插件中心」进入插件管理页面。
|
||||
|
||||
## 你能做什么
|
||||
|
||||
- 浏览推荐插件并一键安装
|
||||
- 通过本地文件或 URL 安装插件包
|
||||
- 管理启用状态与卸载
|
||||
- 查看插件加载与执行状态
|
||||
- 从本地文件安装插件包
|
||||
- 从 URL 安装插件包
|
||||
- 查看 `已安装插件包` 与 `已加载插件`
|
||||
- 启用、禁用、卸载、重新加载插件
|
||||
- 查看基础状态、最近错误与任务执行情况
|
||||
|
||||
## 安装插件
|
||||
|
||||
### 方式一:推荐插件一键安装
|
||||
### 从本地文件安装
|
||||
|
||||
1. 在「推荐插件」区域找到想要的插件
|
||||
2. 点击「一键安装」
|
||||
3. 等待下载和安装完成
|
||||
1. 打开 `插件中心`
|
||||
2. 点击 `安装插件`
|
||||
3. 选择本地插件包
|
||||
4. 等待校验、解压和安装完成
|
||||
|
||||
### 方式二:从 URL 安装
|
||||
当前文件安装支持:
|
||||
|
||||
1. 点击「安装插件」按钮
|
||||
2. 输入插件 ZIP 包的下载 URL
|
||||
3. 点击「安装」
|
||||
- `.zip`
|
||||
- `.tar.gz`
|
||||
- `.tgz`
|
||||
|
||||
支持的 URL 格式:
|
||||
- GitHub Release: `https://github.com/org/repo/releases/latest/download/plugin.zip`
|
||||
- 直接下载链接: `https://example.com/plugin.zip`
|
||||
### 从 URL 安装
|
||||
|
||||
### 方式三:从本地文件安装
|
||||
1. 打开 `插件中心`
|
||||
2. 点击 `安装插件`
|
||||
3. 切换到 `URL` 页签
|
||||
4. 输入插件包直链并开始安装
|
||||
|
||||
1. 点击「安装插件」按钮
|
||||
2. 点击「选择文件」
|
||||
3. 选择本地的 `.zip` 文件
|
||||
4. 点击「安装」
|
||||
当前 URL 安装接受 `http://` 或 `https://` 链接;如果用于团队分发,建议优先使用 `https://` 直链。
|
||||
|
||||
## 使用建议
|
||||
## 安装时会校验什么
|
||||
|
||||
### 从小处开始
|
||||
插件安装器会先做基础校验,再继续安装:
|
||||
|
||||
先安装 1 到 2 个高频插件,观察是否真正提升你的创作效率,再决定是否扩展更多插件。
|
||||
- 压缩包格式是否有效
|
||||
- 包内是否包含可解析的 `plugin.json`
|
||||
- `name`、`version`、`entry` 等清单字段是否满足当前规则
|
||||
- 如果声明了 `hooks`,其命名是否满足当前格式限制
|
||||
|
||||
### 明确用途
|
||||
通过校验后,插件会进入 `已安装插件包` 列表;是否真正加载成功,还要以 `已加载插件` 区域的状态为准。
|
||||
|
||||
每个插件都应对应明确目的,例如:
|
||||
## 日常管理
|
||||
|
||||
- 扩展素材处理
|
||||
- 增加内容生成模板
|
||||
- 对接外部工作流
|
||||
你可以在插件中心完成这些操作:
|
||||
|
||||
## 管理插件
|
||||
- 启用或禁用已安装插件
|
||||
- 卸载不再需要的插件包
|
||||
- 手动重新加载插件
|
||||
- 查看插件状态、最近错误和基础执行信息
|
||||
|
||||
### 启用/禁用
|
||||
如果某个插件声明了最低 Lime 版本要求,插件中心会给出版本提示;发布方是否兼容当前版本,仍应以实际安装和加载结果为准。
|
||||
|
||||
在已加载插件列表中,点击电源图标可以启用或禁用插件。
|
||||
## 继续阅读
|
||||
|
||||
### 卸载
|
||||
|
||||
1. 在「已安装插件包」列表中找到要卸载的插件
|
||||
2. 点击红色的删除按钮
|
||||
3. 确认卸载
|
||||
|
||||
卸载会删除插件文件和配置,但不会删除插件产生的数据。
|
||||
|
||||
## 进阶阅读
|
||||
|
||||
- [开放平台 - 总览](/open-platform/overview)
|
||||
- [开放平台 - 插件中心](/open-platform/plugins)
|
||||
- [开放平台 - 插件开发](/open-platform/plugin-development)
|
||||
|
||||
## 常见问题
|
||||
|
||||
### 插件安装失败
|
||||
|
||||
1. 检查网络连接
|
||||
2. 确认 URL 正确且可访问
|
||||
3. 检查 ZIP 包格式是否正确
|
||||
|
||||
### 插件无法加载
|
||||
|
||||
1. 检查 Lime 版本是否满足插件要求
|
||||
2. 查看日志了解详细错误信息
|
||||
3. 尝试重新安装插件
|
||||
|
||||
### 二进制插件权限问题
|
||||
|
||||
部分二进制插件需要管理员权限:
|
||||
- **Windows**: 以管理员身份运行 Lime
|
||||
- **macOS/Linux**: 插件会提示需要的权限
|
||||
- [插件打包指南](/open-platform/plugin-development)
|
||||
- [扩展接入概览](/open-platform/overview)
|
||||
|
||||
@@ -1,71 +0,0 @@
|
||||
---
|
||||
title: 资源库
|
||||
description: 管理项目中的文档、图片、语音和视频素材
|
||||
navigation:
|
||||
icon: i-heroicons-folder-open
|
||||
---
|
||||
|
||||
# 资源库
|
||||
|
||||
资源库是 Lime 的创作资产中心。
|
||||
它和项目绑定,用来长期沉淀你的创作结果。
|
||||
|
||||
## 资源分类
|
||||
|
||||
资源页支持按分类查看:
|
||||
|
||||
- 全部
|
||||
- 文档
|
||||
- 图片
|
||||
- 语音
|
||||
- 视频
|
||||
|
||||
当你只想找图或找文档时,直接切换分类即可。
|
||||
|
||||
## 常见操作
|
||||
|
||||
### 新建与上传
|
||||
|
||||
1. 选择左侧资源库(项目)
|
||||
2. 新建文件夹或新建文档
|
||||
3. 上传本地文件到当前目录
|
||||
|
||||
### 搜索与排序
|
||||
|
||||
- 支持按名称、描述、标签搜索
|
||||
- 支持按更新时间、创建时间、名称排序
|
||||
|
||||
### 重命名与删除
|
||||
|
||||
在资源列表的操作菜单中,可对资源进行重命名、删除等操作。
|
||||
|
||||
## 资源与创作联动
|
||||
|
||||
### 从 Claw 与图片任务回流资源库
|
||||
|
||||
在 Claw 中发起图片生成任务,或从图片任务结果执行入库后,成功生成的图片会自动写入当前项目。
|
||||
|
||||
资料库的图片视图还统一承接:
|
||||
|
||||
- 本地图片上传
|
||||
- 我的图片库浏览
|
||||
- 选图后插入当前画布
|
||||
|
||||
### 从资源继续对话创作
|
||||
|
||||
在资源页选中素材后,可继续进入 AI Agent 进行改写、扩写或二次创作。
|
||||
|
||||
## 常见问题
|
||||
|
||||
### 为什么看不到某些图片?
|
||||
|
||||
先确认:
|
||||
|
||||
1. 当前选择的是否是正确资源库(项目)
|
||||
2. 是否切到了“图片”分类
|
||||
3. 文件后缀或 MIME 类型是否被识别为图片
|
||||
|
||||
### 为什么资源数量和预期不一致?
|
||||
|
||||
常见原因是“分类过滤”或“项目切换”导致显示范围变化。
|
||||
建议先切换到“全部”分类再确认总量。
|
||||
@@ -1,81 +0,0 @@
|
||||
---
|
||||
title: 图片生成与素材链路
|
||||
description: 通过 Claw 与资源库完成搜图、图片生成、编辑与资产沉淀
|
||||
navigation:
|
||||
icon: i-heroicons-photo
|
||||
---
|
||||
|
||||
# 图片生成与素材链路
|
||||
|
||||
Lime 不再把图片能力拆成独立页面。
|
||||
现在的事实源是:
|
||||
|
||||
- Claw:负责联网搜图、图片生成、参考图编辑和任务推进
|
||||
- 资源库:负责本地图片上传、我的图片库浏览、结果沉淀和插图复用
|
||||
- 设置:负责图片模型、Provider 与联网搜图 Key 配置
|
||||
|
||||
## 基本流程
|
||||
|
||||
1. 在 AI Agent 中明确视觉目标
|
||||
2. 需要找参考图时,用 Claw `@素材` 进行联网搜图
|
||||
3. 需要生成或编辑图片时,在 Claw 发起对应图片任务
|
||||
4. 结果自动或手动沉淀到资源库
|
||||
5. 在资源库图片视图继续筛选、上传、插图或复用
|
||||
|
||||
## 联网搜图与生成
|
||||
|
||||
### 联网搜图
|
||||
|
||||
当你需要灵感图、风格参考或可复用素材时:
|
||||
|
||||
- 在 Claw 中使用 `@素材`
|
||||
- 联网图片搜索结果会以任务结果或素材候选的形式返回
|
||||
- 选中的图片可以继续进入正文插图、封面或图片任务链路
|
||||
|
||||
### 图片生成与编辑
|
||||
|
||||
当你已经明确提示词或参考图后:
|
||||
|
||||
- 在 Claw 发起图片生成任务
|
||||
- 如模型支持参考图编辑,系统会优先走编辑链路
|
||||
- 若某条接口不可用,运行时会回退到可用生成链路,尽量保障出图成功率
|
||||
|
||||
## 本地图片与我的图片库
|
||||
|
||||
本地图片与历史沉淀图片已经统一收口到资源库图片视图,你可以在这里:
|
||||
|
||||
- 上传本地图片
|
||||
- 浏览“我的图片库”
|
||||
- 选图后直接插入当前画布
|
||||
- 在当前项目下统一管理图片资产
|
||||
|
||||
## 与资源库联动
|
||||
|
||||
### 结果回流
|
||||
|
||||
图片任务会根据当前项目和资源库选择自动回流;如果需要,也可以在结果完成后再手动入库。
|
||||
|
||||
### 插图复用
|
||||
|
||||
进入资源库的图片可以直接被当前画布复用,不需要再回到旧图片页面挑选。
|
||||
|
||||
## 配置入口
|
||||
|
||||
相关配置分布在两个位置:
|
||||
|
||||
- 图片模型与默认策略:设置中的媒体服务配置
|
||||
- 联网图片搜索 Key:设置中的网络搜索配置
|
||||
|
||||
## 实用建议
|
||||
|
||||
### 先定方向再出图
|
||||
|
||||
先在 AI Agent 里明确画面目标,再决定是 `@素材` 搜图还是直接发起图片任务,会减少无效尝试。
|
||||
|
||||
### 一次只改一个变量
|
||||
|
||||
每轮仅调整一个维度(提示词、比例、参考图),更容易稳定收敛到理想结果。
|
||||
|
||||
### 把可用版本及时入库
|
||||
|
||||
选中可用图片后尽快入库,方便后续在资源页检索、插图和复用。
|
||||
@@ -25,8 +25,8 @@ cloudflared --version
|
||||
2. 已准备 Cloudflare 账号和域名(若使用固定域名)
|
||||
3. 飞书应用已创建,拿到 `App ID` 与 `App Secret`
|
||||
|
||||
> 桌面端已支持在「渠道管理 > Gateway 公共隧道」中直接点击:
|
||||
> `检测 cloudflared`、`一键安装 cloudflared`(支持 macOS / Windows / Ubuntu 等常见 Linux 发行版)。
|
||||
> 当前界面已支持在「渠道管理 > Gateway 公共隧道」中直接点击:
|
||||
> `检测 cloudflared`、`一键安装 cloudflared`。安装动作会按当前系统检测到的包管理器环境执行,例如 `brew`、`winget`、`apt-get`、`dnf`、`yum`、`scoop` 或 `choco`。
|
||||
|
||||
## 步骤 1:配置 Gateway 公共隧道
|
||||
|
||||
@@ -65,6 +65,11 @@ Cloudflare 相关字段(二选一):
|
||||
- 将飞书渠道切换为 `webhook` 模式
|
||||
- 回填飞书 `webhook_host/webhook_port/webhook_path`
|
||||
|
||||
注意:
|
||||
|
||||
- 当前同步动作只支持 `feishu`
|
||||
- 同步前需要已经拿到 `public_base_url`,或已填写可推导公网地址的 `DNS Name`
|
||||
|
||||
## 步骤 3:启动隧道并验证状态
|
||||
|
||||
在 Gateway 公共隧道卡片依次点击:
|
||||
@@ -150,9 +155,9 @@ Cloudflare 相关字段(二选一):
|
||||
桌面端建议按环境选择:
|
||||
|
||||
1. `managed`(应用内托管,默认)
|
||||
由 Lime 在启动后自动拉起 tunnel,并定时检查进程状态;异常退出会自动重拉。
|
||||
Lime 启动后会启动守护逻辑,约每 `10` 秒检查一次 tunnel 状态;若隧道异常退出且不是手动停止,守护器会尝试重新拉起。
|
||||
2. `external`(系统级常驻,生产更稳)
|
||||
由系统服务管理 `cloudflared`,Lime 仅做状态诊断与 webhook 同步。
|
||||
由系统服务管理 `cloudflared`,Lime 只做状态诊断与 webhook 同步,不负责应用内启动。
|
||||
|
||||
### 何时用 external
|
||||
|
||||
@@ -160,6 +165,10 @@ Cloudflare 相关字段(二选一):
|
||||
- 本机网络波动较大,应用重启不希望影响 tunnel
|
||||
- 需要把 tunnel 运维与桌面应用生命周期解耦
|
||||
|
||||
补充说明:
|
||||
|
||||
- 如果你在 `managed` 模式下手动点过 `停止`,守护器不会立刻自动再拉起,需手动重新 `启动` 或 `重启`
|
||||
|
||||
### 常见连通性检查
|
||||
|
||||
```bash
|
||||
|
||||
@@ -1,164 +1,101 @@
|
||||
---
|
||||
title: 运行时 AGENTS 规则
|
||||
description: 使用 `~/.lime/AGENTS.md` 与 Workspace `.lime/AGENTS.md` 为 Lime 运行时会话提供稳定指令
|
||||
description: 用 `.lime/AGENTS.md` 体系为 Lime 运行时会话提供指令
|
||||
navigation:
|
||||
icon: i-heroicons-document-text
|
||||
---
|
||||
|
||||
# 运行时 AGENTS 规则
|
||||
|
||||
Lime 应用运行时会话现在默认读取 `.lime/AGENTS.md` 体系,而不是仓库根的 `AGENTS.md`。
|
||||
Lime 应用运行时会话不读取仓库根 `AGENTS.md`,而是使用 `.lime/AGENTS.md` 体系。
|
||||
|
||||
你也可以在「设置 → 记忆」里点击按钮,显式生成全局、Workspace 或本机私有模板文件。
|
||||
如果是本机私有模板,还可以继续点击按钮,把 `.lime/AGENTS.local.md` 一键加入 Workspace 的 `.gitignore`。
|
||||
首次创建新项目后,Lime 也会弹出一个非强制提示,允许你直接一键初始化这两个 Workspace 模板。
|
||||
## 当前事实源
|
||||
|
||||
这让“开发 Lime 源码仓库本身的规则”和“Lime 应用实际运行时的规则”彻底分开:
|
||||
运行时 AGENTS 相关能力当前分成两层:
|
||||
|
||||
- 仓库根 `AGENTS.md`:给外部 AI 编辑器或源码协作使用
|
||||
- `~/.lime/AGENTS.md`:你的全局运行时偏好
|
||||
- `<workspace>/.lime/AGENTS.md`:当前项目 / 工作区的运行时规则
|
||||
1. 运行时 AGENTS 主层
|
||||
|
||||
## 加载顺序
|
||||
- 全局:`~/.lime/AGENTS.md`
|
||||
- 工作区:`<workspace>/.lime/AGENTS.md`
|
||||
|
||||
Lime 运行时会话默认按下面顺序加载:
|
||||
这两层会直接进入 Lime 运行时 AGENTS 提示拼接。
|
||||
|
||||
1. 全局:`~/.lime/AGENTS.md`
|
||||
2. 工作区:`<workspace>/.lime/AGENTS.md`
|
||||
|
||||
如果你保留默认记忆来源设置,Lime 还会继续把下面这个文件作为**本机私有补充**读取:
|
||||
2. 本机私有补充层
|
||||
|
||||
- `<workspace>/.lime/AGENTS.local.md`
|
||||
|
||||
推荐做法:
|
||||
这层默认通过记忆来源配置进入当前 workspace 的有效记忆,不会向父目录递归查找。
|
||||
|
||||
- 把长期个人偏好写进 `~/.lime/AGENTS.md`
|
||||
- 把项目约束写进 `<workspace>/.lime/AGENTS.md`
|
||||
- 把不想提交到仓库的本机补充写进 `<workspace>/.lime/AGENTS.local.md`
|
||||
## 当前加载口径
|
||||
|
||||
## 什么时候用哪个文件
|
||||
默认情况下,可以按下面这条顺序理解:
|
||||
|
||||
### `~/.lime/AGENTS.md`
|
||||
1. 先读全局:`~/.lime/AGENTS.md`
|
||||
2. 再读工作区:`<workspace>/.lime/AGENTS.md`
|
||||
3. 如果保留默认记忆来源配置,再把 `<workspace>/.lime/AGENTS.local.md` 作为本机私有补充带入
|
||||
|
||||
适合放所有项目都通用的偏好,例如:
|
||||
推荐分工:
|
||||
|
||||
- 统一回复语言
|
||||
- 默认输出结构
|
||||
- 常用代码风格
|
||||
- 你长期偏好的解释方式
|
||||
- `~/.lime/AGENTS.md`
|
||||
- 放长期个人偏好
|
||||
- `<workspace>/.lime/AGENTS.md`
|
||||
- 放团队共享的项目规则
|
||||
- `<workspace>/.lime/AGENTS.local.md`
|
||||
- 放不想提交到仓库的本机补充
|
||||
|
||||
直接复制下面模板即可:
|
||||
## 在哪里生成模板
|
||||
|
||||
```md
|
||||
# 我的全局 Lime 运行时规则
|
||||
当前在 `设置 → 记忆` 页面可以显式生成这些模板:
|
||||
|
||||
## 回复习惯
|
||||
- 全局模板
|
||||
- Workspace 模板
|
||||
- Workspace 本机模板
|
||||
|
||||
- 默认使用中文简体
|
||||
- 先给结论,再给关键步骤
|
||||
- 没必要时保持简洁,不要过度展开
|
||||
如果是本机模板,还可以继续一键把 `.lime/AGENTS.local.md` 写入当前 Workspace 的 `.gitignore`。
|
||||
|
||||
## 工程偏好
|
||||
## 新项目提示
|
||||
|
||||
- 优先选择 KISS 方案
|
||||
- 优先修根因,不做表面补丁
|
||||
- 先说明影响范围,再做改动
|
||||
首次创建新项目后,Lime 会弹出一个非强制提示,允许你一键初始化:
|
||||
|
||||
## 代码风格
|
||||
- `.lime/AGENTS.md`
|
||||
- `.lime/AGENTS.local.md`
|
||||
|
||||
- 尽量沿用现有项目风格
|
||||
- 避免无关重构
|
||||
- 没有明确收益时,不新增抽象层
|
||||
```
|
||||
|
||||
## Workspace `.lime/AGENTS.md`
|
||||
|
||||
适合放当前项目独有的规则,例如:
|
||||
|
||||
- 仓库使用的语言
|
||||
- 文档与注释风格
|
||||
- 目录边界
|
||||
- 测试、构建、提交前检查要求
|
||||
|
||||
把下面内容保存为工作区内的 `.lime/AGENTS.md`:
|
||||
|
||||
```md
|
||||
# 当前项目运行时规则
|
||||
|
||||
## 项目背景
|
||||
|
||||
- 这是一个 React + Rust + Tauri 项目
|
||||
- 前端使用 TypeScript
|
||||
- 回答和文档默认使用中文简体
|
||||
|
||||
## 修改原则
|
||||
|
||||
- 先读后写
|
||||
- 只改当前任务直接相关内容
|
||||
- 保持现有目录结构和命名习惯
|
||||
|
||||
## 验证要求
|
||||
|
||||
- 前端改动后优先跑相关前端测试
|
||||
- Rust 改动后优先跑相关单测
|
||||
- 若无法完整验证,需要明确说明未验证部分
|
||||
|
||||
## 禁止事项
|
||||
|
||||
- 不要把临时排障脚本提交进仓库
|
||||
- 不要修改与当前任务无关的配置
|
||||
- 不要默认进行 git commit 或 push
|
||||
```
|
||||
|
||||
## `.lime/AGENTS.local.md` 示例
|
||||
|
||||
如果你想保留**只在自己机器生效**的补充规则,可以新建 `.lime/AGENTS.local.md`,并把它加入 `.gitignore`。
|
||||
|
||||
例如:
|
||||
|
||||
```md
|
||||
# 本机私有补充
|
||||
|
||||
- 优先使用本机已安装的 Node 与 Rust 工具链
|
||||
- 如需浏览器调试,优先使用本机开发配置
|
||||
- 涉及大体量编译时,先做定向测试再跑全量
|
||||
```
|
||||
|
||||
## 推荐目录结构
|
||||
|
||||
```text
|
||||
workspace-root/
|
||||
├─ .lime/
|
||||
│ ├─ AGENTS.md
|
||||
│ └─ AGENTS.local.md
|
||||
├─ src/
|
||||
├─ src-tauri/
|
||||
└─ ...
|
||||
```
|
||||
|
||||
你的全局文件位于:
|
||||
|
||||
```text
|
||||
~/.lime/AGENTS.md
|
||||
```
|
||||
同时自动补 `.gitignore` 的本机模板忽略规则。
|
||||
|
||||
## 注意事项
|
||||
|
||||
- Lime 运行时不会读取仓库根 `AGENTS.md`
|
||||
- Workspace `.lime/AGENTS.md` 只读取当前 workspace,不会向父目录递归回溯
|
||||
- `.lime/AGENTS.md` 与 `.lime/AGENTS.local.md` 都只看当前 workspace 根目录
|
||||
- 如果团队要共享规则,请提交 `.lime/AGENTS.md`
|
||||
- 如果规则只属于你自己,请放进 `.lime/AGENTS.local.md`
|
||||
|
||||
## 推荐起步模板
|
||||
## 最小示例
|
||||
|
||||
如果你想先快速用起来,最小可用版本可以直接写:
|
||||
`~/.lime/AGENTS.md`
|
||||
|
||||
```md
|
||||
# Lime 运行时规则
|
||||
# 我的全局 Lime 运行时规则
|
||||
|
||||
- 默认使用中文简体
|
||||
- 先给结论,再展开说明
|
||||
- 保持简洁,优先可执行建议
|
||||
- 修改代码时先读后写
|
||||
- 只改当前任务相关内容
|
||||
- 先给结论,再给关键步骤
|
||||
- 没必要时保持简洁
|
||||
```
|
||||
|
||||
`<workspace>/.lime/AGENTS.md`
|
||||
|
||||
```md
|
||||
# 当前项目运行时规则
|
||||
|
||||
- 先读后写
|
||||
- 只改当前任务直接相关内容
|
||||
- 若无法完整验证,需要明确说明
|
||||
```
|
||||
|
||||
`<workspace>/.lime/AGENTS.local.md`
|
||||
|
||||
```md
|
||||
# 本机私有补充
|
||||
|
||||
- 优先使用本机已安装工具链
|
||||
- 涉及大体量编译时先跑定向测试
|
||||
```
|
||||
|
||||
@@ -1,61 +0,0 @@
|
||||
---
|
||||
title: 创作数据与监控
|
||||
description: 查看创作产出趋势、调用状态与问题定位信息
|
||||
navigation:
|
||||
icon: i-heroicons-eye
|
||||
---
|
||||
|
||||
# 创作数据与监控
|
||||
|
||||
监控页帮助你回答三个问题:
|
||||
|
||||
1. 最近创作是否稳定
|
||||
2. 哪些任务成功率更高
|
||||
3. 出现异常时该从哪里排查
|
||||
|
||||
## 你能看到什么
|
||||
|
||||
### 概览指标
|
||||
|
||||
常见指标包括:
|
||||
|
||||
- 请求总量与成功率
|
||||
- 平均响应耗时
|
||||
- 活跃连接数量
|
||||
- 近期错误趋势
|
||||
|
||||
### 趋势视图
|
||||
|
||||
你可以按时间查看:
|
||||
|
||||
- 调用量变化
|
||||
- 成功率变化
|
||||
- 延迟波动
|
||||
|
||||
这能帮助你判断问题是偶发,还是持续性异常。
|
||||
|
||||
## 日志排查
|
||||
|
||||
当某次生成失败时,优先看请求日志:
|
||||
|
||||
1. 找到失败时间点
|
||||
2. 查看模型与请求参数
|
||||
3. 对照错误信息定位问题(超时、认证、限流等)
|
||||
|
||||
## 对创作者最有用的用法
|
||||
|
||||
### 判断工作流是否健康
|
||||
|
||||
如果成功率持续下降,建议先减少并发任务,确认连接状态后再恢复批量生成。
|
||||
|
||||
### 对比不同创作任务
|
||||
|
||||
同样是生成任务,不同主题的耗时差异可能很大。通过趋势图可以更快选择稳定方案。
|
||||
|
||||
### 复盘高峰时段
|
||||
|
||||
高峰期(例如集中出图)出现波动时,可根据日志回看是否需要拆分任务批次。
|
||||
|
||||
## 数据导出
|
||||
|
||||
如果你需要做团队复盘,可导出统计数据用于周报或复盘记录。
|
||||
@@ -1,55 +0,0 @@
|
||||
---
|
||||
title: 模型连接与账号
|
||||
description: 管理模型连接方式与多账号状态(进阶)
|
||||
navigation:
|
||||
icon: i-heroicons-key
|
||||
---
|
||||
|
||||
# 模型连接与账号
|
||||
|
||||
::alert{type="info"}
|
||||
这是进阶页。普通创作者可直接使用默认连接能力,按需再回来配置。
|
||||
::
|
||||
|
||||
该页面用于管理模型连接与账号状态,适合以下场景:
|
||||
|
||||
- 你有多个账号需要统一管理
|
||||
- 你需要手动添加 API Key
|
||||
- 你希望在连接异常时快速排查
|
||||
|
||||
## 常见连接方式
|
||||
|
||||
### 自动检测
|
||||
|
||||
应用会尝试检测本地常见凭证文件,检测成功后可直接使用。
|
||||
|
||||
### 手动添加
|
||||
|
||||
如果自动检测失败,可手动添加:
|
||||
|
||||
1. 选择连接类型
|
||||
2. 填写必要凭证信息
|
||||
3. 保存后执行连接测试
|
||||
|
||||
## 账号状态说明
|
||||
|
||||
- 可用:可正常调用
|
||||
- 即将过期:建议尽快刷新
|
||||
- 已失效:需重新登录或更新凭证
|
||||
- 未验证:建议先执行测试
|
||||
|
||||
## 多账号使用建议
|
||||
|
||||
### 日常创作
|
||||
|
||||
保留 1 到 2 个稳定账号即可,优先保证可用性。
|
||||
|
||||
### 高强度创作
|
||||
|
||||
如果你需要长时间连续生成,可配置多个账号做冗余,降低单点失败影响。
|
||||
|
||||
## 安全建议
|
||||
|
||||
1. 不在聊天记录或公开文档里粘贴密钥
|
||||
2. 定期清理失效连接
|
||||
3. 导出配置时确认敏感信息不会被带出
|
||||
@@ -1,110 +0,0 @@
|
||||
---
|
||||
title: 进阶配置示例
|
||||
description: 按创作场景选择配置思路(示例)
|
||||
navigation:
|
||||
icon: i-heroicons-document-text
|
||||
---
|
||||
|
||||
# 进阶配置示例
|
||||
|
||||
::alert{type="info"}
|
||||
本页示例用于说明配置思路,不要求你逐字段照抄。具体字段以应用设置界面为准。
|
||||
::
|
||||
|
||||
## 示例 1:个人创作者(推荐起步)
|
||||
|
||||
目标:少配置、快开始。
|
||||
|
||||
```yaml
|
||||
profile: "solo-content"
|
||||
navigation:
|
||||
enabled:
|
||||
- agent
|
||||
- projects
|
||||
- resources
|
||||
- image-gen
|
||||
themes:
|
||||
enabled:
|
||||
- general
|
||||
```
|
||||
|
||||
适用:统一通用工作台入口,按项目内容继续细分任务。
|
||||
|
||||
## 示例 2:团队协作
|
||||
|
||||
目标:统一入口和主题,降低沟通成本。
|
||||
|
||||
```yaml
|
||||
profile: "team-content"
|
||||
navigation:
|
||||
enabled:
|
||||
- agent
|
||||
- projects
|
||||
- resources
|
||||
- tools
|
||||
themes:
|
||||
enabled:
|
||||
- general
|
||||
resource:
|
||||
naming: "project-date-version"
|
||||
```
|
||||
|
||||
适用:品牌运营、活动策划、小团队协作的统一工作台配置。
|
||||
|
||||
## 示例 3:API 缓存策略(高级)
|
||||
|
||||
目标:精确控制哪些响应状态码参与短时缓存(非流式)。
|
||||
|
||||
```yaml
|
||||
server:
|
||||
host: "127.0.0.1"
|
||||
port: 8999
|
||||
api_key: "your-api-key"
|
||||
response_cache:
|
||||
enabled: true
|
||||
ttl_secs: 600
|
||||
max_entries: 200
|
||||
max_body_bytes: 1048576
|
||||
cacheable_status_codes: [200] # 默认仅缓存 200;可按需扩展 [200, 201]
|
||||
```
|
||||
|
||||
适用:对缓存命中与语义一致性有要求的自动化/API 调用场景。
|
||||
|
||||
## 示例 4:运行时诊断接口(高级)
|
||||
|
||||
目标:像 ClawRouter 一样快速查看网关健康、缓存与统计信息。
|
||||
|
||||
```bash
|
||||
# 基础健康检查(兼容旧行为)
|
||||
curl "http://127.0.0.1:8999/health"
|
||||
|
||||
# 扩展健康检查(包含完整诊断)
|
||||
curl "http://127.0.0.1:8999/health?full=true"
|
||||
|
||||
# 响应缓存配置与命中统计
|
||||
curl "http://127.0.0.1:8999/cache"
|
||||
|
||||
# 统计诊断(默认最近 7 天,可传 days=1~30)
|
||||
curl "http://127.0.0.1:8999/stats?days=7"
|
||||
|
||||
# 查看请求级调试头(缓存/去重/幂等等状态)
|
||||
curl -i "http://127.0.0.1:8999/v1/chat/completions" \
|
||||
-H "Authorization: Bearer your-api-key" \
|
||||
-H "Content-Type: application/json" \
|
||||
-d '{"model":"gpt-4o-mini","messages":[{"role":"user","content":"ping"}]}'
|
||||
```
|
||||
|
||||
适用:排查“为什么慢/为什么回退/是否命中缓存”等线上联调问题。
|
||||
|
||||
可观测调试头示例:
|
||||
- `x-lime-request-id`
|
||||
- `x-lime-cache`(`hit/store/skip-*`)
|
||||
- `x-lime-dedup`(`replay/wait-replay/new/removed-on-error`)
|
||||
- `x-lime-idempotency`(`replay/in-progress/new/removed-on-error`)
|
||||
- `x-lime-requested-provider` / `x-lime-effective-provider` / `x-lime-model`
|
||||
|
||||
## 调整顺序建议
|
||||
|
||||
1. 先确认导航与主题
|
||||
2. 再确认连接与稳定性
|
||||
3. 最后再做自动化与诊断扩展
|
||||
@@ -1,66 +0,0 @@
|
||||
---
|
||||
title: 模型分发规则
|
||||
description: 按任务类型将请求分发到不同模型(进阶)
|
||||
navigation:
|
||||
icon: i-heroicons-arrows-right-left
|
||||
---
|
||||
|
||||
# 模型分发规则
|
||||
|
||||
::alert{type="info"}
|
||||
这是进阶能力。只有在“多模型并行使用”时才需要配置。
|
||||
::
|
||||
|
||||
分发规则用于把不同任务自动交给更合适的模型。
|
||||
|
||||
## 什么时候需要它
|
||||
|
||||
- 文本创作和图片任务使用不同模型
|
||||
- 同一主题需要“快速草稿 + 高质量润色”两种路径
|
||||
- 你希望把高成本任务限制在特定模型上
|
||||
|
||||
## 常见策略
|
||||
|
||||
### 按任务类型分发
|
||||
|
||||
- 长文写作走高质量模型
|
||||
- 快速问答走低延迟模型
|
||||
- 图片任务走图片专用模型
|
||||
|
||||
### 按阶段分发
|
||||
|
||||
- 初稿阶段:速度优先
|
||||
- 定稿阶段:质量优先
|
||||
|
||||
### 按兜底分发
|
||||
|
||||
主模型异常时,自动回退到备用模型。
|
||||
|
||||
## 示例(示意)
|
||||
|
||||
```yaml
|
||||
routes:
|
||||
- pattern: "video-script-*"
|
||||
provider: "primary"
|
||||
model: "high-quality-model"
|
||||
priority: 10
|
||||
- pattern: "quick-*"
|
||||
provider: "fast-lane"
|
||||
model: "fast-model"
|
||||
priority: 20
|
||||
- pattern: "*"
|
||||
provider: "fallback"
|
||||
priority: 100
|
||||
```
|
||||
|
||||
## 配置建议
|
||||
|
||||
1. 先只配 2 到 3 条关键规则
|
||||
2. 给兜底规则留最后优先级
|
||||
3. 每次改完都做一次路由测试
|
||||
|
||||
## 常见误区
|
||||
|
||||
- 规则过多导致难以维护
|
||||
- 没有兜底规则,异常时直接失败
|
||||
- 频繁改规则但不做回归测试
|
||||
@@ -1,68 +0,0 @@
|
||||
---
|
||||
title: 稳定性与容错
|
||||
description: 在高强度创作下保持调用稳定(进阶)
|
||||
navigation:
|
||||
icon: i-heroicons-shield-check
|
||||
---
|
||||
|
||||
# 稳定性与容错
|
||||
|
||||
::alert{type="info"}
|
||||
这是进阶能力。只有在你频繁遇到超时、失败、波动时才需要细调。
|
||||
::
|
||||
|
||||
稳定性配置的核心目标是:
|
||||
|
||||
- 少失败
|
||||
- 失败后可恢复
|
||||
- 出错时可定位
|
||||
|
||||
## 三个关键参数
|
||||
|
||||
### 重试
|
||||
|
||||
用于处理偶发失败。
|
||||
|
||||
建议:
|
||||
|
||||
- 最大重试次数:2 到 3 次
|
||||
- 首次重试延迟:1 秒左右
|
||||
- 使用递增退避,避免短时间反复打满请求
|
||||
|
||||
### 超时
|
||||
|
||||
用于避免单次请求长时间卡住。
|
||||
|
||||
建议:
|
||||
|
||||
- 普通文本任务:较短超时
|
||||
- 长文或复杂任务:适当放宽
|
||||
- 图片任务:通常需要更长超时
|
||||
|
||||
### 故障回退
|
||||
|
||||
主连接失败后自动走备用连接,减少中断。
|
||||
|
||||
## 推荐调参顺序
|
||||
|
||||
1. 先调超时
|
||||
2. 再调重试
|
||||
3. 最后配置回退策略
|
||||
|
||||
## 诊断建议
|
||||
|
||||
### 连续失败
|
||||
|
||||
优先检查:
|
||||
|
||||
1. 连接状态是否可用
|
||||
2. 当前模型是否可调用
|
||||
3. 是否触发限流
|
||||
|
||||
### 偶发失败
|
||||
|
||||
通常先提高重试效果更明显。
|
||||
|
||||
### 高峰波动
|
||||
|
||||
建议拆分任务批次,避免同一时刻大量并发。
|
||||
@@ -1,63 +0,0 @@
|
||||
---
|
||||
title: 配置管理与迁移
|
||||
description: 导出、导入、备份与跨设备迁移配置
|
||||
navigation:
|
||||
icon: i-heroicons-document-duplicate
|
||||
---
|
||||
|
||||
# 配置管理与迁移
|
||||
|
||||
配置管理适合两类人:
|
||||
|
||||
- 想把当前工作台快速迁移到另一台设备
|
||||
- 团队内需要统一一套基础配置
|
||||
|
||||
## 导出配置
|
||||
|
||||
你可以将当前设置导出为配置文件,常用于备份和迁移。
|
||||
|
||||
常见导出内容:
|
||||
|
||||
- 主题与导航偏好
|
||||
- 部分连接与路由策略
|
||||
- 稳定性相关参数
|
||||
|
||||
::alert{type="warning"}
|
||||
导出文件通常不包含敏感凭证信息。导入后需重新检查连接状态。
|
||||
::
|
||||
|
||||
## 导入配置
|
||||
|
||||
1. 在设置页选择导入
|
||||
2. 预览配置差异
|
||||
3. 选择覆盖或合并策略
|
||||
4. 导入后做一次连接与功能自检
|
||||
|
||||
## 备份建议
|
||||
|
||||
### 个人用户
|
||||
|
||||
至少保留最近 2 到 3 份配置备份。
|
||||
|
||||
### 团队用户
|
||||
|
||||
建议按版本管理配置文件,例如:
|
||||
|
||||
- `team-config-v1.yaml`
|
||||
- `team-config-v1.1.yaml`
|
||||
|
||||
## 跨设备迁移清单
|
||||
|
||||
1. 导出配置文件
|
||||
2. 在新设备导入配置
|
||||
3. 重新校验连接状态
|
||||
4. 检查主题、导航、资源路径是否符合预期
|
||||
5. 进行一次完整创作演练
|
||||
|
||||
## 什么时候需要重置
|
||||
|
||||
当你长期调参后“越调越乱”,最稳妥的方式是:
|
||||
|
||||
1. 先备份当前配置
|
||||
2. 恢复到基础配置
|
||||
3. 只按必要场景逐项开启进阶能力
|
||||
@@ -1,50 +0,0 @@
|
||||
---
|
||||
title: 工作模式切换
|
||||
description: 在不同创作场景间快速切换配置
|
||||
navigation:
|
||||
icon: i-heroicons-arrows-up-down
|
||||
---
|
||||
|
||||
# 工作模式切换
|
||||
|
||||
如果你在不同场景下有明显不同的工作方式,可以使用配置档案快速切换。
|
||||
|
||||
## 典型模式
|
||||
|
||||
### 日更模式
|
||||
|
||||
- 目标:快速产出
|
||||
- 适合:社媒短内容、灵感快写
|
||||
- 特点:速度优先、流程简化
|
||||
|
||||
### 深度创作模式
|
||||
|
||||
- 目标:质量优先
|
||||
- 适合:长文、小说章节、方案定稿
|
||||
- 特点:更强调结构和多轮迭代
|
||||
|
||||
### 出图冲刺模式
|
||||
|
||||
- 目标:集中生成并沉淀图片素材
|
||||
- 适合:活动海报、视觉素材周更
|
||||
- 特点:图片相关入口前置、资源回流优先
|
||||
|
||||
## 建议的档案字段
|
||||
|
||||
每个档案建议包含:
|
||||
|
||||
- 启用的导航模块
|
||||
- 启用的工作区主题
|
||||
- 关键连接与稳定性偏好
|
||||
|
||||
## 切换步骤
|
||||
|
||||
1. 选择目标档案
|
||||
2. 应用后检查核心入口是否符合预期
|
||||
3. 用一个小任务做快速验证
|
||||
|
||||
## 使用建议
|
||||
|
||||
1. 档案数量控制在 3 个以内
|
||||
2. 一个档案只服务一个明确场景
|
||||
3. 变更档案后记录用途,避免后续混乱
|
||||
@@ -1,53 +1,82 @@
|
||||
---
|
||||
title: MCP 工具扩展
|
||||
description: 让 AI 调用外部工具与资源(进阶)
|
||||
description: 管理 MCP 服务器配置,并浏览可用 Tools、Prompts 与 Resources
|
||||
navigation:
|
||||
icon: i-heroicons-puzzle-piece
|
||||
---
|
||||
|
||||
# MCP 工具扩展
|
||||
|
||||
MCP 可以让 AI 不只“回答问题”,还可以调用外部工具完成动作。
|
||||
|
||||
::alert{type="info"}
|
||||
这是进阶能力。建议先熟悉基础创作流程,再接入 MCP。
|
||||
MCP 属于进阶能力,当前仍应按实验功能理解。它不会替代 Lime 的主创作路径,更适合已经明确需要外部工具或资源接入的场景。
|
||||
::
|
||||
|
||||
## 适合的场景
|
||||
当前 Lime 已提供 MCP 服务器管理与运行时浏览面板。你可以集中维护服务器配置,把它同步到常用外部工具,并在 Lime 内验证可用的 Tools、Prompts 和 Resources。
|
||||
|
||||
- 让 AI 读取指定目录素材
|
||||
- 连接外部知识源或服务
|
||||
- 把重复操作做成可调用工具
|
||||
## 当前可做的事
|
||||
|
||||
## 基本使用流程
|
||||
- 新增、编辑、删除 MCP 服务器配置
|
||||
- 使用预设快速创建常见服务器
|
||||
- 从 Claude、Codex、Gemini CLI 导入已有 MCP 配置
|
||||
- 将当前配置同步回外部应用
|
||||
- 查看服务器运行状态并手动启动、停止
|
||||
- 浏览运行中服务器暴露的 Tools、Prompts、Resources
|
||||
|
||||
1. 添加 MCP 服务器配置
|
||||
2. 启动并确认连接状态
|
||||
3. 在工具列表里验证可用工具
|
||||
4. 在实际任务里小范围试跑
|
||||
|
||||
## 一个简单示例
|
||||
## 一个最小配置示例
|
||||
|
||||
```json
|
||||
{
|
||||
"mcpServers": {
|
||||
"filesystem": {
|
||||
"command": "npx",
|
||||
"args": ["-y", "@modelcontextprotocol/server-filesystem", "/path/to/workspace"]
|
||||
}
|
||||
}
|
||||
"command": "npx",
|
||||
"args": ["-y", "@modelcontextprotocol/server-filesystem", "/path/to/workspace"],
|
||||
"env": {}
|
||||
}
|
||||
```
|
||||
|
||||
如果你只是想先验证链路,`filesystem` 是最容易起步的示例。
|
||||
|
||||
## 推荐使用流程
|
||||
|
||||
1. 先选择一种来源
|
||||
|
||||
- 直接新建服务器配置
|
||||
- 从 Claude、Codex、Gemini CLI 导入已有配置
|
||||
|
||||
2. 再决定同步范围
|
||||
|
||||
- 只在 Lime 内启用
|
||||
- 或同步到 Claude、Codex、Gemini CLI 一起使用
|
||||
|
||||
3. 保存后验证运行状态
|
||||
|
||||
- 确认服务器能正常启动
|
||||
- 确认 Lime 能读取到对应能力列表
|
||||
|
||||
4. 最后做小范围试跑
|
||||
|
||||
- 先试一个简单 Tool
|
||||
- 再验证 Prompt 或 Resource 是否符合预期
|
||||
|
||||
## 当前常见入口
|
||||
|
||||
当前面板已经内置一些常见预设,适合快速起步:
|
||||
|
||||
- `Filesystem`
|
||||
- `GitHub`
|
||||
- `PostgreSQL`
|
||||
- `自定义`
|
||||
|
||||
如果团队已有现成配置,优先导入;如果只是单机试验,优先从最小自定义或 `Filesystem` 开始。
|
||||
|
||||
## 安全边界建议
|
||||
|
||||
1. 只授权必要目录和资源
|
||||
2. 敏感环境变量不要硬编码在公开配置里
|
||||
3. 新工具先在测试项目验证
|
||||
1. 只给服务器开放必要目录、数据库或环境变量
|
||||
2. 新接入的 MCP 先在测试目录验证,不要直接连生产数据
|
||||
3. 对外同步前,先确认对应应用确实需要这台服务器
|
||||
4. 涉及密钥时,避免把敏感值直接写进会提交的公共配置
|
||||
|
||||
## 排错顺序
|
||||
|
||||
1. 看连接状态是否正常
|
||||
2. 看工具是否成功注册
|
||||
3. 看调用参数是否符合工具定义
|
||||
4. 看服务器日志定位具体错误
|
||||
1. 先看服务器配置 JSON 是否有效
|
||||
2. 再看服务器是否能成功启动
|
||||
3. 再看 Tools、Prompts、Resources 是否已被正确发现
|
||||
4. 最后再检查具体调用参数、环境变量和外部依赖
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
---
|
||||
title: 模型连接概览
|
||||
description: 了解不同连接方式,并按你的创作目标选择
|
||||
description: 连接文档重建中,当前只保留应用内 Provider 与凭证入口说明
|
||||
navigation:
|
||||
icon: i-heroicons-squares-2x2
|
||||
---
|
||||
@@ -8,62 +8,33 @@ navigation:
|
||||
# 模型连接概览
|
||||
|
||||
::alert{type="info"}
|
||||
本章节属于进阶内容。普通创作者可先使用默认连接,只有在需要多账号或精细控制时再深入配置。
|
||||
Provider 文档正在按 LimeNext V2 current 连接入口重建。
|
||||
::
|
||||
|
||||
Lime 支持多种模型连接方式,你可以按自己的使用习惯选择。
|
||||
旧版按单个 Provider 拆分、并以 `credential_pool:` / `routing:` YAML 为主的配置页已下线,避免继续传播已经偏离 current UI 的旧配置方式。
|
||||
|
||||
## 两类连接方式
|
||||
## 当前事实源
|
||||
|
||||
### 自动连接(推荐)
|
||||
当前模型连接能力以应用内 `Provider 与凭证` 入口为准,主要收敛到以下几类:
|
||||
|
||||
适合希望“少配置、快开始”的用户:
|
||||
- `服务商`
|
||||
默认主入口。
|
||||
先补可用 API Key,再读取真实模型目录、做连接验证,并校准默认模型与兼容协议
|
||||
- `中转服务`
|
||||
对应 Lime Connect。
|
||||
浏览已验证中转商,获取 API Key 后通过 `lime://connect` 深链一键带入凭证池
|
||||
- `语音服务`
|
||||
单独管理语音相关 Provider
|
||||
- `OAuth 凭证`
|
||||
管理 Kiro、Gemini、Antigravity、Codex、Claude OAuth 等登录型凭证
|
||||
|
||||
- 登录对应客户端后自动识别
|
||||
- 日常创作可直接使用
|
||||
## 当前建议
|
||||
|
||||
### 手动连接
|
||||
1. 默认先从 `服务商` 分类补可用 API Key
|
||||
2. 只有需要登录型凭证时,再进入 `OAuth 凭证`
|
||||
3. 需要浏览中转商时,再进入 `中转服务`
|
||||
4. 不再以旧 YAML 配置文档作为日常配置入口
|
||||
|
||||
适合有明确工程需求的用户:
|
||||
## 后续说明
|
||||
|
||||
- 手动填写 API Key
|
||||
- 自定义 Base URL
|
||||
- 多账号并行管理
|
||||
|
||||
## 如何选择
|
||||
|
||||
### 追求稳定创作
|
||||
|
||||
优先选择你最常用、最稳定的连接方式,保持单一主连接即可。
|
||||
|
||||
### 追求多模型组合
|
||||
|
||||
可按任务分配不同连接,例如:
|
||||
|
||||
- 长文与定稿使用质量优先模型
|
||||
- 快速草稿与批量任务使用速度优先模型
|
||||
- 图片任务使用视觉能力更强的模型
|
||||
|
||||
### 追求高可用
|
||||
|
||||
可配置多个连接作为冗余,避免单点失败影响创作。
|
||||
|
||||
## 配置建议
|
||||
|
||||
1. 先完成一个主连接并测试可用
|
||||
2. 再按场景增加备用连接
|
||||
3. 每次新增连接后做一次小任务验证
|
||||
|
||||
## 下一步
|
||||
|
||||
按你的连接类型进入对应页面:
|
||||
|
||||
- [Kiro Claude](/providers/kiro-claude)
|
||||
- [Gemini CLI](/providers/gemini-cli)
|
||||
- [Qwen](/providers/qwen)
|
||||
- [Codex](/providers/codex)
|
||||
- [iFlow](/providers/iflow)
|
||||
- [OpenAI Custom](/providers/openai-custom)
|
||||
- [Claude Custom](/providers/claude-custom)
|
||||
- [Gemini API Key](/providers/gemini-api-key)
|
||||
- [Vertex AI](/providers/vertex-ai)
|
||||
后续如果恢复单个 Provider 的对外文档,应直接按 current 表单、模型发现、连接校验与导入流程重写,而不是回收旧 `content/providers/*` 页面。
|
||||
|
||||
@@ -1,197 +0,0 @@
|
||||
---
|
||||
title: Vertex AI
|
||||
description: Google Cloud Vertex AI Provider 配置
|
||||
navigation:
|
||||
icon: i-heroicons-cloud
|
||||
---
|
||||
|
||||
# Vertex AI Provider
|
||||
|
||||
::alert{type="info"}
|
||||
本页属于进阶连接配置。若你已能正常创作,可先跳过。
|
||||
::
|
||||
|
||||
使用 API Key 访问 Google Cloud Vertex AI 服务,支持模型别名映射。
|
||||
|
||||
## 概述
|
||||
|
||||
Vertex AI Provider 允许你:
|
||||
- 使用 API Key 访问 Vertex AI 兼容端点
|
||||
- 配置模型别名映射
|
||||
- 多账号负载均衡
|
||||
- 为每个 Key 单独配置代理
|
||||
|
||||
## 支持的模型
|
||||
|
||||
- Gemini 2.0 系列
|
||||
- Gemini 1.5 系列
|
||||
- 其他 Vertex AI 支持的模型
|
||||
|
||||
## 配置
|
||||
|
||||
### 基础配置
|
||||
|
||||
```yaml
|
||||
credential_pool:
|
||||
vertex_api_keys:
|
||||
- id: "vertex-main"
|
||||
api_key: "vk-123..."
|
||||
base_url: "https://example.com/api"
|
||||
disabled: false
|
||||
```
|
||||
|
||||
### 完整配置
|
||||
|
||||
```yaml
|
||||
credential_pool:
|
||||
vertex_api_keys:
|
||||
- id: "vertex-main"
|
||||
api_key: "vk-123..."
|
||||
base_url: "https://example.com/api"
|
||||
proxy_url: "socks5://proxy:1080"
|
||||
models:
|
||||
- name: "gemini-2.0-flash"
|
||||
alias: "vertex-flash"
|
||||
- name: "gemini-1.5-pro"
|
||||
alias: "vertex-pro"
|
||||
disabled: false
|
||||
```
|
||||
|
||||
### 配置项说明
|
||||
|
||||
| 配置项 | 类型 | 必填 | 说明 |
|
||||
|--------|------|------|------|
|
||||
| id | string | ✅ | 凭证唯一标识 |
|
||||
| api_key | string | ✅ | Vertex AI API Key |
|
||||
| base_url | string | ❌ | Vertex AI 端点 URL |
|
||||
| proxy_url | string | ❌ | 单独的代理 URL |
|
||||
| models | array | ❌ | 模型别名映射列表 |
|
||||
| disabled | boolean | ❌ | 是否禁用此凭证 |
|
||||
|
||||
## 模型别名
|
||||
|
||||
### 工作原理
|
||||
|
||||
模型别名允许你使用自定义名称访问上游模型:
|
||||
|
||||
1. 客户端请求别名(如 `vertex-flash`)
|
||||
2. Lime 将别名解析为上游模型名(如 `gemini-2.0-flash`)
|
||||
3. 使用上游模型名发送请求
|
||||
4. 响应中保留客户端请求的别名
|
||||
|
||||
### 配置示例
|
||||
|
||||
```yaml
|
||||
models:
|
||||
- name: "gemini-2.0-flash" # 上游模型名
|
||||
alias: "vertex-flash" # 客户端使用的别名
|
||||
- name: "gemini-1.5-pro"
|
||||
alias: "vertex-pro"
|
||||
- name: "gemini-2.0-flash-lite"
|
||||
alias: "vertex-lite"
|
||||
```
|
||||
|
||||
### 使用场景
|
||||
|
||||
1. **简化模型名称**:使用简短易记的别名
|
||||
2. **版本管理**:通过别名切换模型版本
|
||||
3. **兼容性**:保持客户端代码不变,后端切换模型
|
||||
|
||||
## API Key 认证
|
||||
|
||||
Vertex AI Provider 使用 `x-goog-api-key` 头进行认证:
|
||||
|
||||
```
|
||||
x-goog-api-key: your-api-key
|
||||
```
|
||||
|
||||
Lime 会自动将配置的 API Key 添加到请求头中。
|
||||
|
||||
## 负载均衡
|
||||
|
||||
### 配置多个凭证
|
||||
|
||||
```yaml
|
||||
credential_pool:
|
||||
vertex_api_keys:
|
||||
- id: "vertex-1"
|
||||
api_key: "vk-123..."
|
||||
base_url: "https://endpoint1.example.com/api"
|
||||
- id: "vertex-2"
|
||||
api_key: "vk-456..."
|
||||
base_url: "https://endpoint2.example.com/api"
|
||||
```
|
||||
|
||||
### 工作原理
|
||||
|
||||
1. 使用 Round-Robin 在凭证之间分配请求
|
||||
2. 如果某个凭证失败,自动尝试下一个
|
||||
3. 配额超限时自动切换到其他凭证
|
||||
|
||||
## 使用示例
|
||||
|
||||
### 使用上游模型名
|
||||
|
||||
```bash
|
||||
curl http://127.0.0.1:8999/v1/chat/completions \
|
||||
-H "Authorization: Bearer your-api-key" \
|
||||
-H "Content-Type: application/json" \
|
||||
-d '{
|
||||
"model": "gemini-2.0-flash",
|
||||
"messages": [{"role": "user", "content": "Hello!"}]
|
||||
}'
|
||||
```
|
||||
|
||||
### 使用模型别名
|
||||
|
||||
```bash
|
||||
curl http://127.0.0.1:8999/v1/chat/completions \
|
||||
-H "Authorization: Bearer your-api-key" \
|
||||
-H "Content-Type: application/json" \
|
||||
-d '{
|
||||
"model": "vertex-flash",
|
||||
"messages": [{"role": "user", "content": "Hello!"}]
|
||||
}'
|
||||
```
|
||||
|
||||
### 路由配置
|
||||
|
||||
将 Vertex 模型路由到 Vertex AI Provider:
|
||||
|
||||
```yaml
|
||||
routing:
|
||||
rules:
|
||||
- pattern: "vertex-*"
|
||||
provider: "vertex"
|
||||
priority: 1
|
||||
```
|
||||
|
||||
## 与 Gemini API Key 的区别
|
||||
|
||||
| 特性 | Vertex AI | Gemini API Key |
|
||||
|------|-----------|----------------|
|
||||
| 认证方式 | x-goog-api-key | API Key |
|
||||
| 模型别名 | ✅ | ❌ |
|
||||
| 模型排除 | ❌ | ✅ |
|
||||
| 自定义 Base URL | ✅ | ✅ |
|
||||
| 适用场景 | Vertex 兼容端点 | 官方 Gemini API |
|
||||
|
||||
## 故障排除
|
||||
|
||||
### API Key 无效
|
||||
|
||||
1. 确认 Key 格式正确
|
||||
2. 检查 Key 是否已被撤销
|
||||
3. 确认 Base URL 正确
|
||||
|
||||
### 模型不可用
|
||||
|
||||
1. 检查模型名称或别名是否正确
|
||||
2. 确认端点支持该模型
|
||||
3. 检查别名映射配置
|
||||
|
||||
### 连接失败
|
||||
|
||||
1. 检查 Base URL 是否可访问
|
||||
2. 确认代理配置正确
|
||||
3. 检查网络连接
|
||||
@@ -1,120 +0,0 @@
|
||||
---
|
||||
title: Kiro Claude
|
||||
description: 配置 Kiro IDE 的 Claude 凭证
|
||||
navigation:
|
||||
icon: i-heroicons-cpu-chip
|
||||
---
|
||||
|
||||
# Kiro Claude
|
||||
|
||||
::alert{type="info"}
|
||||
本页属于进阶连接配置。若你已能正常创作,可先跳过。
|
||||
::
|
||||
|
||||
Kiro Claude 是 AWS Kiro IDE 提供的 Claude AI 服务凭证。
|
||||
|
||||
## 凭证位置
|
||||
|
||||
### 默认路径
|
||||
|
||||
Kiro 凭证文件位于:
|
||||
|
||||
| 平台 | 路径 |
|
||||
|------|------|
|
||||
| macOS | `~/.kiro/credentials.json` |
|
||||
| Windows | `%USERPROFILE%\.kiro\credentials.json` |
|
||||
|
||||
### 凭证格式
|
||||
|
||||
```json
|
||||
{
|
||||
"accessToken": "eyJ...",
|
||||
"refreshToken": "eyJ...",
|
||||
"expiresAt": "2024-01-01T00:00:00Z"
|
||||
}
|
||||
```
|
||||
|
||||
## 自动刷新机制
|
||||
|
||||
### Token 生命周期
|
||||
|
||||
- Access Token 有效期:约 1 小时
|
||||
- Refresh Token 有效期:约 30 天
|
||||
|
||||
### 自动刷新
|
||||
|
||||
Lime 会自动处理 Token 刷新:
|
||||
|
||||
1. 检测 Access Token 即将过期
|
||||
2. 使用 Refresh Token 获取新 Token
|
||||
3. 更新本地凭证文件
|
||||
4. 继续处理请求
|
||||
|
||||
### 刷新失败处理
|
||||
|
||||
如果刷新失败:
|
||||
|
||||
1. 标记凭证为"已过期"
|
||||
2. 尝试使用其他可用凭证
|
||||
3. 通知用户重新登录 Kiro
|
||||
|
||||
## 配置步骤
|
||||
|
||||
### 自动检测
|
||||
|
||||
1. 确保已安装 Kiro IDE
|
||||
2. 在 Kiro 中完成登录
|
||||
3. 启动 Lime
|
||||
4. 凭证自动出现在凭证池中
|
||||
|
||||
### 手动添加
|
||||
|
||||
如果自动检测失败:
|
||||
|
||||
1. 进入 **凭证池** 页面
|
||||
2. 点击 **添加凭证**
|
||||
3. 选择 **Kiro Claude**
|
||||
4. 选择凭证文件或手动输入
|
||||
|
||||
## 支持的模型
|
||||
|
||||
| 模型 | 说明 |
|
||||
|------|------|
|
||||
| claude-sonnet-4-20250514 | Claude Sonnet 4 |
|
||||
| claude-3-5-sonnet-20241022 | Claude 3.5 Sonnet |
|
||||
| claude-3-5-haiku-20241022 | Claude 3.5 Haiku |
|
||||
|
||||
## 使用限制
|
||||
|
||||
### 额度限制
|
||||
|
||||
Kiro 订阅有使用额度限制,具体取决于订阅计划。
|
||||
|
||||
### 并发限制
|
||||
|
||||
建议单个凭证的并发请求数不超过 5。
|
||||
|
||||
## 故障排除
|
||||
|
||||
### 凭证未检测到
|
||||
|
||||
1. 确认 Kiro 已安装并登录
|
||||
2. 检查凭证文件是否存在
|
||||
3. 点击 **刷新凭证** 重新扫描
|
||||
|
||||
### Token 过期
|
||||
|
||||
1. 打开 Kiro IDE
|
||||
2. 确认登录状态
|
||||
3. 如需要,重新登录
|
||||
4. 在 Lime 中刷新凭证
|
||||
|
||||
### 请求失败
|
||||
|
||||
常见错误:
|
||||
|
||||
| 错误 | 原因 | 解决方案 |
|
||||
|------|------|----------|
|
||||
| 401 Unauthorized | Token 无效 | 刷新凭证或重新登录 |
|
||||
| 429 Too Many Requests | 超出限制 | 等待或使用其他凭证 |
|
||||
| 503 Service Unavailable | 服务不可用 | 稍后重试 |
|
||||
@@ -1,147 +0,0 @@
|
||||
---
|
||||
title: Gemini CLI
|
||||
description: 配置 Google Gemini CLI 凭证
|
||||
navigation:
|
||||
icon: i-heroicons-sparkles
|
||||
---
|
||||
|
||||
# Gemini CLI
|
||||
|
||||
::alert{type="info"}
|
||||
本页属于进阶连接配置。若你已能正常创作,可先跳过。
|
||||
::
|
||||
|
||||
Gemini CLI 是 Google 提供的命令行 AI 工具,使用 OAuth 认证。
|
||||
|
||||
## 凭证位置
|
||||
|
||||
### 默认路径
|
||||
|
||||
Gemini CLI 凭证文件位于:
|
||||
|
||||
| 平台 | 路径 |
|
||||
|------|------|
|
||||
| macOS | `~/.config/gemini-cli/oauth_creds.json` |
|
||||
| Windows | `%USERPROFILE%\.config\gemini-cli\oauth_creds.json` |
|
||||
| Linux | `~/.config/gemini-cli/oauth_creds.json` |
|
||||
|
||||
### 凭证格式
|
||||
|
||||
```json
|
||||
{
|
||||
"client_id": "...",
|
||||
"client_secret": "...",
|
||||
"refresh_token": "...",
|
||||
"token_uri": "https://oauth2.googleapis.com/token"
|
||||
}
|
||||
```
|
||||
|
||||
## 项目设置
|
||||
|
||||
### Google Cloud 项目
|
||||
|
||||
Gemini CLI 需要关联 Google Cloud 项目:
|
||||
|
||||
1. 访问 [Google Cloud Console](https://console.cloud.google.com)
|
||||
2. 创建或选择项目
|
||||
3. 启用 Gemini API
|
||||
4. 配置 OAuth 同意屏幕
|
||||
|
||||
### 配置项目 ID
|
||||
|
||||
在 Lime 中配置项目:
|
||||
|
||||
```yaml
|
||||
gemini:
|
||||
project_id: "your-project-id"
|
||||
location: "us-central1"
|
||||
```
|
||||
|
||||
## 自动刷新机制
|
||||
|
||||
### Token 刷新
|
||||
|
||||
Lime 自动处理 OAuth Token 刷新:
|
||||
|
||||
1. 使用 Refresh Token 获取 Access Token
|
||||
2. Access Token 过期前自动刷新
|
||||
3. 无需用户干预
|
||||
|
||||
### 刷新失败
|
||||
|
||||
如果刷新失败:
|
||||
|
||||
1. 检查网络连接
|
||||
2. 确认 Google 账户状态
|
||||
3. 重新运行 `gemini auth login`
|
||||
|
||||
## 配置步骤
|
||||
|
||||
### 安装 Gemini CLI
|
||||
|
||||
```bash
|
||||
# 使用 npm 安装
|
||||
npm install -g @anthropic-ai/gemini-cli
|
||||
|
||||
# 或使用 pip
|
||||
pip install gemini-cli
|
||||
```
|
||||
|
||||
### 登录认证
|
||||
|
||||
```bash
|
||||
gemini auth login
|
||||
```
|
||||
|
||||
按提示完成 OAuth 认证流程。
|
||||
|
||||
### 在 Lime 中配置
|
||||
|
||||
1. 完成 Gemini CLI 登录
|
||||
2. 启动 Lime
|
||||
3. 凭证自动出现在凭证池中
|
||||
|
||||
## 支持的模型
|
||||
|
||||
| 模型 | 说明 |
|
||||
|------|------|
|
||||
| gemini-2.0-flash | Gemini 2.0 Flash |
|
||||
| gemini-1.5-pro | Gemini 1.5 Pro |
|
||||
| gemini-1.5-flash | Gemini 1.5 Flash |
|
||||
|
||||
## 使用限制
|
||||
|
||||
### 免费额度
|
||||
|
||||
Google 提供一定的免费使用额度,超出后需要付费。
|
||||
|
||||
### 速率限制
|
||||
|
||||
| 限制类型 | 限制值 |
|
||||
|----------|--------|
|
||||
| 每分钟请求数 | 60 |
|
||||
| 每日请求数 | 1500 |
|
||||
|
||||
## 故障排除
|
||||
|
||||
### 凭证未检测到
|
||||
|
||||
1. 确认已运行 `gemini auth login`
|
||||
2. 检查凭证文件是否存在
|
||||
3. 确认文件权限正确
|
||||
|
||||
### 认证失败
|
||||
|
||||
```bash
|
||||
# 重新登录
|
||||
gemini auth logout
|
||||
gemini auth login
|
||||
```
|
||||
|
||||
### 项目配置错误
|
||||
|
||||
确认 Google Cloud 项目:
|
||||
|
||||
1. 已启用 Gemini API
|
||||
2. 有足够的配额
|
||||
3. 账单设置正确
|
||||
@@ -1,148 +0,0 @@
|
||||
---
|
||||
title: Qwen (通义千问)
|
||||
description: 配置阿里云通义千问凭证
|
||||
navigation:
|
||||
icon: i-heroicons-language
|
||||
---
|
||||
|
||||
# Qwen (通义千问)
|
||||
|
||||
::alert{type="info"}
|
||||
本页属于进阶连接配置。若你已能正常创作,可先跳过。
|
||||
::
|
||||
|
||||
Qwen 是阿里云提供的大语言模型服务。
|
||||
|
||||
## 凭证位置
|
||||
|
||||
### 默认路径
|
||||
|
||||
Qwen 凭证文件位于:
|
||||
|
||||
| 平台 | 路径 |
|
||||
|------|------|
|
||||
| macOS | `~/.config/qwen/credentials.json` |
|
||||
| Windows | `%USERPROFILE%\.config\qwen\credentials.json` |
|
||||
| Linux | `~/.config/qwen/credentials.json` |
|
||||
|
||||
### 凭证格式
|
||||
|
||||
```json
|
||||
{
|
||||
"access_token": "...",
|
||||
"refresh_token": "...",
|
||||
"expires_at": "2024-01-01T00:00:00Z"
|
||||
}
|
||||
```
|
||||
|
||||
## 认证设置
|
||||
|
||||
### 获取凭证
|
||||
|
||||
1. 访问 [阿里云控制台](https://www.aliyun.com)
|
||||
2. 开通通义千问服务
|
||||
3. 获取 API 凭证
|
||||
|
||||
### 使用阿里云 CLI
|
||||
|
||||
```bash
|
||||
# 安装阿里云 CLI
|
||||
pip install aliyun-cli
|
||||
|
||||
# 配置凭证
|
||||
aliyun configure
|
||||
```
|
||||
|
||||
### 手动配置
|
||||
|
||||
在 Lime 中手动添加:
|
||||
|
||||
1. 进入 **凭证池** 页面
|
||||
2. 点击 **添加凭证**
|
||||
3. 选择 **Qwen**
|
||||
4. 输入凭证信息
|
||||
|
||||
## 自动刷新
|
||||
|
||||
Lime 支持 Qwen Token 的自动刷新:
|
||||
|
||||
1. 检测 Token 即将过期
|
||||
2. 使用 Refresh Token 获取新 Token
|
||||
3. 更新凭证文件
|
||||
|
||||
## 支持的模型
|
||||
|
||||
| 模型 | 说明 |
|
||||
|------|------|
|
||||
| qwen-turbo | 通义千问 Turbo |
|
||||
| qwen-plus | 通义千问 Plus |
|
||||
| qwen-max | 通义千问 Max |
|
||||
| qwen-long | 通义千问 Long(长文本) |
|
||||
|
||||
## 配置选项
|
||||
|
||||
### 区域设置
|
||||
|
||||
```yaml
|
||||
qwen:
|
||||
region: "cn-hangzhou"
|
||||
endpoint: "https://dashscope.aliyuncs.com"
|
||||
```
|
||||
|
||||
### 模型映射
|
||||
|
||||
将 OpenAI 模型名映射到 Qwen:
|
||||
|
||||
```yaml
|
||||
routes:
|
||||
- pattern: "gpt-4*"
|
||||
provider: qwen
|
||||
model: qwen-max
|
||||
- pattern: "gpt-3.5*"
|
||||
provider: qwen
|
||||
model: qwen-turbo
|
||||
```
|
||||
|
||||
## 使用限制
|
||||
|
||||
### 并发限制
|
||||
|
||||
| 模型 | 并发数 |
|
||||
|------|--------|
|
||||
| qwen-turbo | 10 |
|
||||
| qwen-plus | 5 |
|
||||
| qwen-max | 3 |
|
||||
|
||||
### Token 限制
|
||||
|
||||
| 模型 | 最大 Token |
|
||||
|------|-----------|
|
||||
| qwen-turbo | 8K |
|
||||
| qwen-plus | 32K |
|
||||
| qwen-max | 32K |
|
||||
| qwen-long | 1M |
|
||||
|
||||
## 故障排除
|
||||
|
||||
### 凭证无效
|
||||
|
||||
1. 检查阿里云账户状态
|
||||
2. 确认服务已开通
|
||||
3. 重新获取凭证
|
||||
|
||||
### 请求失败
|
||||
|
||||
| 错误码 | 原因 | 解决方案 |
|
||||
|--------|------|----------|
|
||||
| InvalidApiKey | API Key 无效 | 检查凭证配置 |
|
||||
| QuotaExhausted | 配额用尽 | 充值或等待重置 |
|
||||
| RateLimitExceeded | 超出速率限制 | 降低请求频率 |
|
||||
|
||||
### 网络问题
|
||||
|
||||
如果在中国大陆以外使用,可能需要配置代理:
|
||||
|
||||
```yaml
|
||||
qwen:
|
||||
proxy: "http://proxy.example.com:8080"
|
||||
```
|
||||
@@ -1,143 +0,0 @@
|
||||
---
|
||||
title: OpenAI Custom
|
||||
description: 配置自定义 OpenAI 兼容服务
|
||||
navigation:
|
||||
icon: i-heroicons-cube
|
||||
---
|
||||
|
||||
# OpenAI Custom
|
||||
|
||||
::alert{type="info"}
|
||||
本页属于进阶连接配置。若你已能正常创作,可先跳过。
|
||||
::
|
||||
|
||||
OpenAI Custom 允许你配置任何 OpenAI 兼容的 API 服务。
|
||||
|
||||
## 适用场景
|
||||
|
||||
- 使用 OpenAI 官方 API
|
||||
- 使用 Azure OpenAI
|
||||
- 使用其他 OpenAI 兼容服务(如 Groq、Together AI)
|
||||
- 使用本地部署的模型(如 Ollama、vLLM)
|
||||
|
||||
## API Key 配置
|
||||
|
||||
### 获取 API Key
|
||||
|
||||
**OpenAI 官方:**
|
||||
1. 访问 [OpenAI Platform](https://platform.openai.com)
|
||||
2. 进入 API Keys 页面
|
||||
3. 创建新的 API Key
|
||||
|
||||
**Azure OpenAI:**
|
||||
1. 访问 Azure Portal
|
||||
2. 创建 Azure OpenAI 资源
|
||||
3. 获取 API Key 和端点
|
||||
|
||||
### 在 Lime 中配置
|
||||
|
||||
1. 进入 **凭证池** 页面
|
||||
2. 点击 **添加凭证**
|
||||
3. 选择 **OpenAI Custom**
|
||||
4. 填写配置信息:
|
||||
|
||||
| 字段 | 说明 |
|
||||
|------|------|
|
||||
| 名称 | 凭证标识名称 |
|
||||
| API Key | OpenAI API Key |
|
||||
| Base URL | API 端点(可选) |
|
||||
|
||||
## Base URL 设置
|
||||
|
||||
### 默认端点
|
||||
|
||||
不填写 Base URL 时,使用 OpenAI 官方端点:
|
||||
|
||||
```
|
||||
https://api.openai.com/v1
|
||||
```
|
||||
|
||||
### 自定义端点
|
||||
|
||||
| 服务 | Base URL |
|
||||
|------|----------|
|
||||
| Azure OpenAI | `https://{resource}.openai.azure.com/openai/deployments/{deployment}` |
|
||||
| Groq | `https://api.groq.com/openai/v1` |
|
||||
| Together AI | `https://api.together.xyz/v1` |
|
||||
| Ollama | `http://localhost:11434/v1` |
|
||||
|
||||
### 配置示例
|
||||
|
||||
```yaml
|
||||
providers:
|
||||
- name: openai-official
|
||||
type: openai-custom
|
||||
api_key: "sk-..."
|
||||
# 使用默认 Base URL
|
||||
|
||||
- name: azure-openai
|
||||
type: openai-custom
|
||||
api_key: "..."
|
||||
base_url: "https://myresource.openai.azure.com/openai/deployments/gpt-4"
|
||||
|
||||
- name: ollama-local
|
||||
type: openai-custom
|
||||
api_key: "ollama" # Ollama 不需要真实 key
|
||||
base_url: "http://localhost:11434/v1"
|
||||
```
|
||||
|
||||
## 支持的模型
|
||||
|
||||
取决于你使用的服务,常见模型:
|
||||
|
||||
| 服务 | 模型 |
|
||||
|------|------|
|
||||
| OpenAI | gpt-4, gpt-4-turbo, gpt-3.5-turbo |
|
||||
| Azure | 取决于部署 |
|
||||
| Groq | llama-3.1-70b, mixtral-8x7b |
|
||||
| Ollama | llama3, mistral, codellama |
|
||||
|
||||
## 高级配置
|
||||
|
||||
### 请求头
|
||||
|
||||
添加自定义请求头:
|
||||
|
||||
```yaml
|
||||
openai-custom:
|
||||
headers:
|
||||
X-Custom-Header: "value"
|
||||
```
|
||||
|
||||
### Azure 特殊配置
|
||||
|
||||
Azure OpenAI 需要额外配置:
|
||||
|
||||
```yaml
|
||||
azure-openai:
|
||||
api_key: "..."
|
||||
base_url: "https://..."
|
||||
api_version: "2024-02-15-preview"
|
||||
headers:
|
||||
api-key: "..." # Azure 使用 api-key 头
|
||||
```
|
||||
|
||||
## 故障排除
|
||||
|
||||
### API Key 无效
|
||||
|
||||
1. 确认 API Key 正确
|
||||
2. 检查 Key 是否过期
|
||||
3. 确认账户有足够余额
|
||||
|
||||
### 连接失败
|
||||
|
||||
1. 检查 Base URL 是否正确
|
||||
2. 确认网络可以访问端点
|
||||
3. 检查是否需要代理
|
||||
|
||||
### 模型不存在
|
||||
|
||||
1. 确认模型名称正确
|
||||
2. 检查账户是否有该模型的访问权限
|
||||
3. Azure 用户确认部署名称
|
||||
@@ -1,176 +0,0 @@
|
||||
---
|
||||
title: Claude Custom
|
||||
description: 配置自定义 Claude 兼容服务
|
||||
navigation:
|
||||
icon: i-heroicons-beaker
|
||||
---
|
||||
|
||||
# Claude Custom
|
||||
|
||||
::alert{type="info"}
|
||||
本页属于进阶连接配置。若你已能正常创作,可先跳过。
|
||||
::
|
||||
|
||||
Claude Custom 允许你配置 Anthropic 官方 API 或其他 Claude 兼容服务。
|
||||
|
||||
## 适用场景
|
||||
|
||||
- 使用 Anthropic 官方 API
|
||||
- 使用 AWS Bedrock Claude
|
||||
- 使用其他 Claude 兼容服务
|
||||
|
||||
## API Key 配置
|
||||
|
||||
### 获取 API Key
|
||||
|
||||
**Anthropic 官方:**
|
||||
1. 访问 [Anthropic Console](https://console.anthropic.com)
|
||||
2. 进入 API Keys 页面
|
||||
3. 创建新的 API Key
|
||||
|
||||
**AWS Bedrock:**
|
||||
1. 访问 AWS Console
|
||||
2. 配置 Bedrock 访问权限
|
||||
3. 获取 AWS 凭证
|
||||
|
||||
### 在 Lime 中配置
|
||||
|
||||
1. 进入 **凭证池** 页面
|
||||
2. 点击 **添加凭证**
|
||||
3. 选择 **Claude Custom**
|
||||
4. 填写配置信息:
|
||||
|
||||
| 字段 | 说明 |
|
||||
|------|------|
|
||||
| 名称 | 凭证标识名称 |
|
||||
| API Key | Anthropic API Key |
|
||||
| Base URL | API 端点(可选) |
|
||||
|
||||
## Base URL 设置
|
||||
|
||||
### 默认端点
|
||||
|
||||
不填写 Base URL 时,使用 Anthropic 官方端点:
|
||||
|
||||
```
|
||||
https://api.anthropic.com
|
||||
```
|
||||
|
||||
### 自定义端点
|
||||
|
||||
| 服务 | Base URL |
|
||||
|------|----------|
|
||||
| Anthropic 官方 | `https://api.anthropic.com` |
|
||||
| AWS Bedrock | 使用 AWS SDK |
|
||||
| 代理服务 | 自定义 URL |
|
||||
|
||||
### 配置示例
|
||||
|
||||
```yaml
|
||||
providers:
|
||||
- name: anthropic-official
|
||||
type: claude-custom
|
||||
api_key: "sk-ant-..."
|
||||
# 使用默认 Base URL
|
||||
|
||||
- name: claude-proxy
|
||||
type: claude-custom
|
||||
api_key: "..."
|
||||
base_url: "https://my-proxy.example.com"
|
||||
```
|
||||
|
||||
## 支持的模型
|
||||
|
||||
| 模型 | 说明 |
|
||||
|------|------|
|
||||
| claude-sonnet-4-20250514 | Claude Sonnet 4 |
|
||||
| claude-3-5-sonnet-20241022 | Claude 3.5 Sonnet |
|
||||
| claude-3-5-haiku-20241022 | Claude 3.5 Haiku |
|
||||
| claude-3-opus-20240229 | Claude 3 Opus |
|
||||
|
||||
## API 版本
|
||||
|
||||
### 版本配置
|
||||
|
||||
Anthropic API 需要指定版本:
|
||||
|
||||
```yaml
|
||||
claude-custom:
|
||||
api_version: "2023-06-01"
|
||||
```
|
||||
|
||||
### 请求头
|
||||
|
||||
Claude API 使用特定的请求头:
|
||||
|
||||
```
|
||||
x-api-key: your-api-key
|
||||
anthropic-version: 2023-06-01
|
||||
```
|
||||
|
||||
## AWS Bedrock 配置
|
||||
|
||||
### 使用 AWS 凭证
|
||||
|
||||
```yaml
|
||||
bedrock-claude:
|
||||
type: claude-custom
|
||||
aws_region: "us-east-1"
|
||||
aws_access_key: "..."
|
||||
aws_secret_key: "..."
|
||||
model_id: "anthropic.claude-3-sonnet-20240229-v1:0"
|
||||
```
|
||||
|
||||
### IAM 角色
|
||||
|
||||
推荐使用 IAM 角色而非 Access Key:
|
||||
|
||||
1. 配置 IAM 角色
|
||||
2. 授予 Bedrock 访问权限
|
||||
3. Lime 自动使用角色凭证
|
||||
|
||||
## 高级配置
|
||||
|
||||
### 自定义请求头
|
||||
|
||||
```yaml
|
||||
claude-custom:
|
||||
headers:
|
||||
X-Custom-Header: "value"
|
||||
```
|
||||
|
||||
### 超时设置
|
||||
|
||||
```yaml
|
||||
claude-custom:
|
||||
timeout:
|
||||
connect: 10s
|
||||
request: 180s # Claude 响应可能较慢
|
||||
```
|
||||
|
||||
## 故障排除
|
||||
|
||||
### API Key 无效
|
||||
|
||||
1. 确认 API Key 正确
|
||||
2. 检查 Key 是否过期
|
||||
3. 确认账户状态正常
|
||||
|
||||
### 模型访问被拒
|
||||
|
||||
1. 确认账户有该模型的访问权限
|
||||
2. 某些模型需要申请访问
|
||||
3. 检查使用限制
|
||||
|
||||
### 速率限制
|
||||
|
||||
| 错误 | 解决方案 |
|
||||
|------|----------|
|
||||
| 429 Too Many Requests | 降低请求频率 |
|
||||
| rate_limit_error | 等待后重试 |
|
||||
|
||||
### Bedrock 问题
|
||||
|
||||
1. 确认 AWS 凭证正确
|
||||
2. 检查 IAM 权限
|
||||
3. 确认区域支持 Claude
|
||||
@@ -1,145 +0,0 @@
|
||||
---
|
||||
title: Codex
|
||||
description: OpenAI Codex OAuth Provider 配置
|
||||
navigation:
|
||||
icon: i-heroicons-code-bracket
|
||||
---
|
||||
|
||||
# Codex Provider
|
||||
|
||||
::alert{type="info"}
|
||||
本页属于进阶连接配置。若你已能正常创作,可先跳过。
|
||||
::
|
||||
|
||||
通过 OAuth 认证使用 OpenAI Codex 服务。
|
||||
|
||||
## 概述
|
||||
|
||||
Codex Provider 允许你使用 OpenAI Codex 的 OAuth 凭证访问 GPT 模型。
|
||||
同时,为了兼容 Codex CLI 的「API Key 登录」用户(`~/.codex/auth.json` 只有 `api_key`),Lime 也支持读取 `api_key` 并作为 Bearer Token 使用(无需刷新)。
|
||||
|
||||
## 支持的模型
|
||||
|
||||
- GPT-4 系列
|
||||
- GPT-3.5 系列
|
||||
- 其他 Codex 支持的模型
|
||||
|
||||
## 配置
|
||||
|
||||
### 凭证池配置
|
||||
|
||||
```yaml
|
||||
credential_pool:
|
||||
codex:
|
||||
- id: "codex-main"
|
||||
token_file: "codex/oauth.json"
|
||||
disabled: false
|
||||
proxy_url: "http://proxy:8080" # 可选
|
||||
```
|
||||
|
||||
### 配置项说明
|
||||
|
||||
| 配置项 | 类型 | 必填 | 说明 |
|
||||
|--------|------|------|------|
|
||||
| id | string | ✅ | 凭证唯一标识 |
|
||||
| token_file | string | ✅ | Token 文件路径(相对于 auth_dir) |
|
||||
| disabled | boolean | ❌ | 是否禁用此凭证 |
|
||||
| proxy_url | string | ❌ | 单独的代理 URL |
|
||||
|
||||
## OAuth 登录
|
||||
|
||||
### 通过 UI 登录
|
||||
|
||||
1. 打开 Lime
|
||||
2. 进入 Provider 管理页面
|
||||
3. 找到 Codex 部分
|
||||
4. 点击"OAuth 登录"按钮
|
||||
5. 在弹出的浏览器中完成认证
|
||||
6. 认证成功后自动保存凭证
|
||||
|
||||
### Token 文件格式
|
||||
|
||||
#### OAuth 模式(推荐用于 Codex OAuth)
|
||||
|
||||
```json
|
||||
{
|
||||
"access_token": "eyJ...",
|
||||
"refresh_token": "eyJ...",
|
||||
"expires_at": "2025-01-01T00:00:00Z",
|
||||
"token_type": "Bearer"
|
||||
}
|
||||
```
|
||||
|
||||
#### API Key 模式(兼容 Codex CLI)
|
||||
|
||||
```json
|
||||
{
|
||||
"api_key": "sk-xxx",
|
||||
"api_base_url": "https://api.openai.com"
|
||||
}
|
||||
```
|
||||
|
||||
说明:
|
||||
- `api_key` / `apiKey`:必填
|
||||
- `api_base_url` / `apiBaseUrl`:可选;可填写 `https://api.openai.com` 或带 `/v1` 的地址(例如网关、反代、Azure 兼容地址)
|
||||
|
||||
## Token 刷新
|
||||
|
||||
Lime 会自动在 Token 过期前刷新:
|
||||
|
||||
- 检测到 Token 即将过期时自动刷新
|
||||
- 刷新失败时标记凭证为无效
|
||||
- 无效凭证会在 UI 中显示警告
|
||||
|
||||
## 使用示例
|
||||
|
||||
### API 请求
|
||||
|
||||
```bash
|
||||
curl http://127.0.0.1:8999/v1/chat/completions \
|
||||
-H "Authorization: Bearer your-api-key" \
|
||||
-H "Content-Type: application/json" \
|
||||
-d '{
|
||||
"model": "gpt-4",
|
||||
"messages": [{"role": "user", "content": "Hello!"}]
|
||||
}'
|
||||
```
|
||||
|
||||
### 路由配置
|
||||
|
||||
将 GPT 模型路由到 Codex:
|
||||
|
||||
```yaml
|
||||
routing:
|
||||
rules:
|
||||
- pattern: "gpt-*"
|
||||
provider: "codex"
|
||||
priority: 1
|
||||
```
|
||||
|
||||
## 多账号配置
|
||||
|
||||
```yaml
|
||||
credential_pool:
|
||||
codex:
|
||||
- id: "codex-1"
|
||||
token_file: "codex/account1.json"
|
||||
- id: "codex-2"
|
||||
token_file: "codex/account2.json"
|
||||
```
|
||||
|
||||
Lime 会自动在多个凭证之间负载均衡。
|
||||
|
||||
## 故障排除
|
||||
|
||||
### Token 刷新失败
|
||||
|
||||
1. 检查网络连接
|
||||
2. 确认 OAuth 授权未被撤销
|
||||
3. 尝试重新登录
|
||||
|
||||
### 凭证无效
|
||||
|
||||
1. 删除旧的 Token 文件
|
||||
2. 重新进行 OAuth 登录
|
||||
3. 检查账号状态
|
||||
@@ -1,173 +0,0 @@
|
||||
---
|
||||
title: iFlow
|
||||
description: iFlow Provider 配置(OAuth 和 Cookie)
|
||||
navigation:
|
||||
icon: i-heroicons-arrow-path
|
||||
---
|
||||
|
||||
# iFlow Provider
|
||||
|
||||
::alert{type="info"}
|
||||
本页属于进阶连接配置。若你已能正常创作,可先跳过。
|
||||
::
|
||||
|
||||
iFlow Provider 支持两种认证方式:OAuth 和 Cookie。
|
||||
|
||||
## 概述
|
||||
|
||||
iFlow 是一个 AI 服务提供商,Lime 支持通过 OAuth 或 Cookie 方式使用其服务。
|
||||
|
||||
## 认证方式
|
||||
|
||||
### OAuth 认证
|
||||
|
||||
通过 OAuth 协议认证,支持自动刷新 Token。
|
||||
|
||||
### Cookie 认证
|
||||
|
||||
通过导入浏览器 Cookie 认证,适用于不支持 OAuth 的场景。
|
||||
|
||||
## 配置
|
||||
|
||||
### OAuth 模式
|
||||
|
||||
```yaml
|
||||
credential_pool:
|
||||
iflow:
|
||||
- id: "iflow-oauth"
|
||||
token_file: "iflow/oauth.json"
|
||||
auth_type: "oauth"
|
||||
disabled: false
|
||||
proxy_url: "http://proxy:8080" # 可选
|
||||
```
|
||||
|
||||
### Cookie 模式
|
||||
|
||||
```yaml
|
||||
credential_pool:
|
||||
iflow:
|
||||
- id: "iflow-cookie"
|
||||
auth_type: "cookie"
|
||||
cookies: "session_id=abc123; auth_token=xyz789"
|
||||
disabled: false
|
||||
proxy_url: "http://proxy:8080" # 可选
|
||||
```
|
||||
|
||||
### 配置项说明
|
||||
|
||||
| 配置项 | 类型 | 必填 | 说明 |
|
||||
|--------|------|------|------|
|
||||
| id | string | ✅ | 凭证唯一标识 |
|
||||
| auth_type | string | ✅ | 认证类型:`oauth` 或 `cookie` |
|
||||
| token_file | string | OAuth | Token 文件路径(OAuth 模式必填) |
|
||||
| cookies | string | Cookie | Cookie 字符串(Cookie 模式必填) |
|
||||
| disabled | boolean | ❌ | 是否禁用此凭证 |
|
||||
| proxy_url | string | ❌ | 单独的代理 URL |
|
||||
|
||||
## OAuth 登录
|
||||
|
||||
### 通过 UI 登录
|
||||
|
||||
1. 打开 Lime
|
||||
2. 进入 Provider 管理页面
|
||||
3. 找到 iFlow 部分
|
||||
4. 点击"OAuth 登录"按钮
|
||||
5. 在弹出的浏览器中完成认证
|
||||
6. 认证成功后自动保存凭证
|
||||
|
||||
### Token 文件格式
|
||||
|
||||
```json
|
||||
{
|
||||
"access_token": "eyJ...",
|
||||
"refresh_token": "eyJ...",
|
||||
"expires_at": "2025-01-01T00:00:00Z"
|
||||
}
|
||||
```
|
||||
|
||||
## Cookie 导入
|
||||
|
||||
### 获取 Cookie
|
||||
|
||||
1. 在浏览器中登录 iFlow
|
||||
2. 打开开发者工具(F12)
|
||||
3. 切换到 Network 标签
|
||||
4. 刷新页面
|
||||
5. 选择任意请求,查看 Request Headers
|
||||
6. 复制 Cookie 头的值
|
||||
|
||||
### 通过 UI 导入
|
||||
|
||||
1. 打开 Lime
|
||||
2. 进入 Provider 管理页面
|
||||
3. 找到 iFlow 部分
|
||||
4. 选择"Cookie 导入"
|
||||
5. 粘贴 Cookie 字符串
|
||||
6. 点击"保存"
|
||||
|
||||
### Cookie 格式
|
||||
|
||||
```
|
||||
session_id=abc123; auth_token=xyz789; user_id=12345
|
||||
```
|
||||
|
||||
## 使用示例
|
||||
|
||||
### API 请求
|
||||
|
||||
```bash
|
||||
curl http://127.0.0.1:8999/v1/chat/completions \
|
||||
-H "Authorization: Bearer your-api-key" \
|
||||
-H "Content-Type: application/json" \
|
||||
-d '{
|
||||
"model": "iflow-model",
|
||||
"messages": [{"role": "user", "content": "Hello!"}]
|
||||
}'
|
||||
```
|
||||
|
||||
### 路由配置
|
||||
|
||||
将 iFlow 模型路由到 iFlow Provider:
|
||||
|
||||
```yaml
|
||||
routing:
|
||||
rules:
|
||||
- pattern: "iflow-*"
|
||||
provider: "iflow"
|
||||
priority: 1
|
||||
```
|
||||
|
||||
## 多账号配置
|
||||
|
||||
```yaml
|
||||
credential_pool:
|
||||
iflow:
|
||||
# OAuth 账号
|
||||
- id: "iflow-oauth-1"
|
||||
token_file: "iflow/account1.json"
|
||||
auth_type: "oauth"
|
||||
# Cookie 账号
|
||||
- id: "iflow-cookie-1"
|
||||
auth_type: "cookie"
|
||||
cookies: "session_id=abc123"
|
||||
```
|
||||
|
||||
## 故障排除
|
||||
|
||||
### OAuth Token 刷新失败
|
||||
|
||||
1. 检查网络连接
|
||||
2. 确认 OAuth 授权未被撤销
|
||||
3. 尝试重新登录
|
||||
|
||||
### Cookie 过期
|
||||
|
||||
1. 重新从浏览器获取 Cookie
|
||||
2. 更新配置中的 Cookie 字符串
|
||||
3. Cookie 通常有效期较短,建议使用 OAuth
|
||||
|
||||
### 凭证无效
|
||||
|
||||
1. 检查账号状态
|
||||
2. 确认服务可用
|
||||
3. 尝试重新认证
|
||||
@@ -1,203 +0,0 @@
|
||||
---
|
||||
title: Gemini API Key
|
||||
description: Gemini API Key 多账号负载均衡配置
|
||||
navigation:
|
||||
icon: i-heroicons-key
|
||||
---
|
||||
|
||||
# Gemini API Key Provider
|
||||
|
||||
::alert{type="info"}
|
||||
本页属于进阶连接配置。若你已能正常创作,可先跳过。
|
||||
::
|
||||
|
||||
使用 API Key 访问 Google Gemini 服务,支持多账号负载均衡和模型排除。
|
||||
|
||||
## 概述
|
||||
|
||||
Gemini API Key Provider 允许你:
|
||||
- 配置多个 API Key 实现负载均衡
|
||||
- 为每个 Key 设置排除的模型
|
||||
- 自定义 Base URL
|
||||
- 为每个 Key 单独配置代理
|
||||
|
||||
## 支持的模型
|
||||
|
||||
- Gemini 2.5 Pro
|
||||
- Gemini 2.5 Flash
|
||||
- Gemini 2.0 系列
|
||||
- Gemini 1.5 系列
|
||||
- 其他 Gemini API 支持的模型
|
||||
|
||||
## 配置
|
||||
|
||||
### 基础配置
|
||||
|
||||
```yaml
|
||||
credential_pool:
|
||||
gemini_api_keys:
|
||||
- id: "gemini-key-1"
|
||||
api_key: "AIzaSy..."
|
||||
disabled: false
|
||||
```
|
||||
|
||||
### 完整配置
|
||||
|
||||
```yaml
|
||||
credential_pool:
|
||||
gemini_api_keys:
|
||||
- id: "gemini-key-1"
|
||||
api_key: "AIzaSy...01"
|
||||
base_url: "https://generativelanguage.googleapis.com"
|
||||
proxy_url: "socks5://proxy1:1080"
|
||||
excluded_models:
|
||||
- "gemini-2.5-pro"
|
||||
- "gemini-2.5-*"
|
||||
- "*-preview"
|
||||
disabled: false
|
||||
- id: "gemini-key-2"
|
||||
api_key: "AIzaSy...02"
|
||||
disabled: false
|
||||
```
|
||||
|
||||
### 配置项说明
|
||||
|
||||
| 配置项 | 类型 | 必填 | 说明 |
|
||||
|--------|------|------|------|
|
||||
| id | string | ✅ | 凭证唯一标识 |
|
||||
| api_key | string | ✅ | Gemini API Key |
|
||||
| base_url | string | ❌ | 自定义 Base URL |
|
||||
| proxy_url | string | ❌ | 单独的代理 URL |
|
||||
| excluded_models | array | ❌ | 排除的模型列表 |
|
||||
| disabled | boolean | ❌ | 是否禁用此凭证 |
|
||||
|
||||
## 模型排除
|
||||
|
||||
### 排除规则
|
||||
|
||||
支持以下匹配模式:
|
||||
|
||||
| 模式 | 说明 | 示例 |
|
||||
|------|------|------|
|
||||
| 精确匹配 | 完全匹配模型名称 | `gemini-2.5-pro` |
|
||||
| 前缀匹配 | 以指定前缀开头 | `gemini-2.5-*` |
|
||||
| 后缀匹配 | 以指定后缀结尾 | `*-preview` |
|
||||
| 包含匹配 | 包含指定字符串 | `*flash*` |
|
||||
|
||||
### 配置示例
|
||||
|
||||
```yaml
|
||||
excluded_models:
|
||||
- "gemini-2.5-pro" # 精确匹配
|
||||
- "gemini-2.5-*" # 匹配 gemini-2.5-flash, gemini-2.5-pro 等
|
||||
- "*-preview" # 匹配所有预览版模型
|
||||
- "*flash*" # 匹配所有包含 flash 的模型
|
||||
```
|
||||
|
||||
### 使用场景
|
||||
|
||||
1. **配额限制**:某些 Key 对特定模型有配额限制
|
||||
2. **区域限制**:某些 Key 在特定区域无法访问某些模型
|
||||
3. **成本控制**:限制高成本模型的使用
|
||||
|
||||
## 负载均衡
|
||||
|
||||
### 工作原理
|
||||
|
||||
1. 收到请求时,检查请求的模型
|
||||
2. 过滤掉排除了该模型的 Key
|
||||
3. 在剩余的 Key 中使用 Round-Robin 选择
|
||||
4. 如果选中的 Key 失败,尝试下一个
|
||||
|
||||
### 配置示例
|
||||
|
||||
```yaml
|
||||
credential_pool:
|
||||
gemini_api_keys:
|
||||
# Key 1: 用于所有模型
|
||||
- id: "gemini-all"
|
||||
api_key: "AIzaSy...01"
|
||||
# Key 2: 排除 Pro 模型
|
||||
- id: "gemini-flash-only"
|
||||
api_key: "AIzaSy...02"
|
||||
excluded_models:
|
||||
- "gemini-*-pro*"
|
||||
# Key 3: 仅用于预览模型
|
||||
- id: "gemini-preview"
|
||||
api_key: "AIzaSy...03"
|
||||
excluded_models:
|
||||
- "gemini-2.5-pro"
|
||||
- "gemini-2.5-flash"
|
||||
```
|
||||
|
||||
## 自定义 Base URL
|
||||
|
||||
### 使用场景
|
||||
|
||||
- 使用代理服务
|
||||
- 使用私有部署
|
||||
- 使用第三方兼容服务
|
||||
|
||||
### 配置示例
|
||||
|
||||
```yaml
|
||||
credential_pool:
|
||||
gemini_api_keys:
|
||||
- id: "gemini-proxy"
|
||||
api_key: "AIzaSy..."
|
||||
base_url: "https://my-proxy.example.com/gemini"
|
||||
```
|
||||
|
||||
## 使用示例
|
||||
|
||||
### API 请求
|
||||
|
||||
```bash
|
||||
curl http://127.0.0.1:8999/v1/chat/completions \
|
||||
-H "Authorization: Bearer your-api-key" \
|
||||
-H "Content-Type: application/json" \
|
||||
-d '{
|
||||
"model": "gemini-2.5-flash",
|
||||
"messages": [{"role": "user", "content": "Hello!"}]
|
||||
}'
|
||||
```
|
||||
|
||||
### 路由配置
|
||||
|
||||
将 Gemini 模型路由到 Gemini API Key Provider:
|
||||
|
||||
```yaml
|
||||
routing:
|
||||
rules:
|
||||
- pattern: "gemini-*"
|
||||
provider: "gemini_api_key"
|
||||
priority: 1
|
||||
```
|
||||
|
||||
## 获取 API Key
|
||||
|
||||
1. 访问 [Google AI Studio](https://aistudio.google.com/)
|
||||
2. 登录 Google 账号
|
||||
3. 点击"Get API Key"
|
||||
4. 创建新的 API Key
|
||||
5. 复制并保存 Key
|
||||
|
||||
## 故障排除
|
||||
|
||||
### API Key 无效
|
||||
|
||||
1. 确认 Key 格式正确(以 `AIzaSy` 开头)
|
||||
2. 检查 Key 是否已被撤销
|
||||
3. 确认账号状态正常
|
||||
|
||||
### 模型不可用
|
||||
|
||||
1. 检查模型名称是否正确
|
||||
2. 确认 Key 有权访问该模型
|
||||
3. 检查是否被排除规则过滤
|
||||
|
||||
### 配额超限
|
||||
|
||||
1. 等待配额重置
|
||||
2. 添加更多 API Key
|
||||
3. 启用配额超限自动切换
|
||||
@@ -1,6 +1,6 @@
|
||||
---
|
||||
title: API 概览
|
||||
description: 面向进阶用户的本地接口能力说明
|
||||
description: 当前只保留本地兼容接口入口说明
|
||||
navigation:
|
||||
icon: i-heroicons-code-bracket
|
||||
---
|
||||
@@ -8,48 +8,66 @@ navigation:
|
||||
# API 概览
|
||||
|
||||
::alert{type="info"}
|
||||
本章节面向进阶用户与开发者。普通创作者可直接在应用内使用,无需 API 接入。
|
||||
本章节面向进阶用户与开发者。普通创作者直接在应用内使用即可,无需单独接 API。
|
||||
::
|
||||
|
||||
当你需要把 Lime 接入脚本、自动化流程或第三方工具时,可使用本地 API。
|
||||
当前 `content/api-reference` 只保留仍与实现锚点对齐的本地兼容接口说明,不再继续扩写旧管理接口或未挂载的兼容路由叙事。
|
||||
|
||||
## 常见端点类型
|
||||
## 当前保留的兼容面
|
||||
|
||||
### 通用对话端点
|
||||
### OpenAI 兼容
|
||||
|
||||
用于文本生成、对话续写等任务。
|
||||
用于本地对话与模型发现:
|
||||
|
||||
### 模型与管理端点
|
||||
- `POST /v1/chat/completions`
|
||||
- `GET /v1/models`
|
||||
|
||||
用于读取模型列表、状态信息和部分管理能力。
|
||||
[查看 OpenAI API 说明 →](/api-reference/openai-api)
|
||||
|
||||
### 扩展端点
|
||||
### Claude 兼容
|
||||
|
||||
用于特定平台或集成场景。
|
||||
用于 Claude Messages 协议兼容:
|
||||
|
||||
## 认证方式
|
||||
- `POST /v1/messages`
|
||||
- `POST /v1/messages/count_tokens`
|
||||
|
||||
- `Authorization: Bearer <api-key>`
|
||||
- 或使用兼容格式的密钥头
|
||||
|
||||
请确保 API Key 仅在可信环境使用。
|
||||
[查看 Claude API 说明 →](/api-reference/claude-api)
|
||||
|
||||
## 默认地址
|
||||
|
||||
默认本地地址:`http://127.0.0.1:8999`
|
||||
默认本地地址:
|
||||
|
||||
通常建议保持本地监听,不对公网暴露。
|
||||
```text
|
||||
http://127.0.0.1:8999
|
||||
```
|
||||
|
||||
通常建议只在本地监听,不对公网直接暴露。
|
||||
|
||||
## 认证方式
|
||||
|
||||
认证头会跟随兼容协议变化:
|
||||
|
||||
- OpenAI 兼容:`Authorization: Bearer <api-key>`
|
||||
- Claude 兼容:`x-api-key: <api-key>`,并携带 `anthropic-version`
|
||||
|
||||
具体请求示例以各协议子页面为准。
|
||||
|
||||
## 错误排查建议
|
||||
|
||||
- `401`:密钥错误或请求头格式错误
|
||||
- `404`:端点路径错误
|
||||
- `429`:请求频率过高
|
||||
- `5xx`:服务端异常或上游波动
|
||||
- `401`
|
||||
- 密钥错误
|
||||
- 认证头格式与协议不匹配
|
||||
- `404`
|
||||
- 路径错误
|
||||
- 协议路径写错
|
||||
- `429`
|
||||
- 请求频率过高
|
||||
- 上游限流
|
||||
- `5xx`
|
||||
- 本地服务异常
|
||||
- 上游模型服务波动
|
||||
|
||||
## 下一步
|
||||
|
||||
- [OpenAI API](/api-reference/openai-api)
|
||||
- [Claude API](/api-reference/claude-api)
|
||||
- [管理 API](/api-reference/management-api)
|
||||
- [Amp CLI API](/api-reference/amp-cli-api)
|
||||
|
||||
@@ -11,7 +11,13 @@ navigation:
|
||||
本页是开发者进阶文档。普通创作者可直接在应用内使用,无需 API 调用。
|
||||
::
|
||||
|
||||
Lime 提供完整的 OpenAI Chat Completions API 兼容。
|
||||
Lime 当前提供 OpenAI Chat Completions 协议兼容入口,以及 `/v1/models` 模型发现端点。
|
||||
|
||||
## 当前边界
|
||||
|
||||
- 当前只覆盖 `/v1/chat/completions` 与 `/v1/models`
|
||||
- 本页不把其他 OpenAI 风格端点写成已落地能力
|
||||
- 具体可用模型仍以 Lime 当前加载到本地运行时的结果为准
|
||||
|
||||
## /v1/chat/completions
|
||||
|
||||
@@ -27,7 +33,7 @@ Authorization: Bearer your-api-key
|
||||
|
||||
```json
|
||||
{
|
||||
"model": "claude-sonnet-4-20250514",
|
||||
"model": "your-model-id",
|
||||
"messages": [
|
||||
{"role": "system", "content": "You are a helpful assistant."},
|
||||
{"role": "user", "content": "Hello!"}
|
||||
@@ -72,7 +78,7 @@ Authorization: Bearer your-api-key
|
||||
"id": "chatcmpl-xxx",
|
||||
"object": "chat.completion",
|
||||
"created": 1234567890,
|
||||
"model": "claude-sonnet-4-20250514",
|
||||
"model": "your-model-id",
|
||||
"choices": [
|
||||
{
|
||||
"index": 0,
|
||||
@@ -100,7 +106,7 @@ curl http://127.0.0.1:8999/v1/chat/completions \
|
||||
-H "Authorization: Bearer your-api-key" \
|
||||
-H "Content-Type: application/json" \
|
||||
-d '{
|
||||
"model": "claude-sonnet-4-20250514",
|
||||
"model": "your-model-id",
|
||||
"messages": [{"role": "user", "content": "Hello!"}],
|
||||
"stream": true
|
||||
}'
|
||||
@@ -132,16 +138,16 @@ Authorization: Bearer your-api-key
|
||||
"object": "list",
|
||||
"data": [
|
||||
{
|
||||
"id": "claude-sonnet-4-20250514",
|
||||
"id": "example-chat-model",
|
||||
"object": "model",
|
||||
"created": 1234567890,
|
||||
"owned_by": "anthropic"
|
||||
"owned_by": "provider-a"
|
||||
},
|
||||
{
|
||||
"id": "gemini-2.0-flash",
|
||||
"id": "example-fast-model",
|
||||
"object": "model",
|
||||
"created": 1234567890,
|
||||
"owned_by": "google"
|
||||
"owned_by": "provider-b"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -153,7 +159,7 @@ Authorization: Bearer your-api-key
|
||||
|
||||
```json
|
||||
{
|
||||
"model": "claude-sonnet-4-20250514",
|
||||
"model": "your-model-id",
|
||||
"messages": [{"role": "user", "content": "What's the weather in Tokyo?"}],
|
||||
"tools": [
|
||||
{
|
||||
@@ -211,7 +217,7 @@ client = openai.OpenAI(
|
||||
)
|
||||
|
||||
response = client.chat.completions.create(
|
||||
model="claude-sonnet-4-20250514",
|
||||
model="your-model-id",
|
||||
messages=[{"role": "user", "content": "Hello!"}]
|
||||
)
|
||||
|
||||
@@ -229,7 +235,7 @@ const client = new OpenAI({
|
||||
});
|
||||
|
||||
const response = await client.chat.completions.create({
|
||||
model: 'claude-sonnet-4-20250514',
|
||||
model: 'your-model-id',
|
||||
messages: [{ role: 'user', content: 'Hello!' }]
|
||||
});
|
||||
|
||||
|
||||
@@ -11,7 +11,13 @@ navigation:
|
||||
本页是开发者进阶文档。普通创作者可直接在应用内使用,无需 API 调用。
|
||||
::
|
||||
|
||||
Lime 提供 Anthropic Claude Messages API 兼容。
|
||||
Lime 当前提供 Claude Messages 协议兼容入口。
|
||||
|
||||
## 当前边界
|
||||
|
||||
- 当前只覆盖 `/v1/messages` 与 `/v1/messages/count_tokens`
|
||||
- `/v1/messages/count_tokens` 目前用于兼容需要估算值的客户端,不承诺返回上游精确计费结果
|
||||
- 具体可用模型仍以 Lime 当前加载到本地运行时的结果为准
|
||||
|
||||
## /v1/messages
|
||||
|
||||
@@ -28,7 +34,7 @@ anthropic-version: 2023-06-01
|
||||
|
||||
```json
|
||||
{
|
||||
"model": "claude-sonnet-4-20250514",
|
||||
"model": "your-model-id",
|
||||
"max_tokens": 1024,
|
||||
"messages": [
|
||||
{"role": "user", "content": "Hello!"}
|
||||
@@ -83,7 +89,7 @@ anthropic-version: 2023-06-01
|
||||
"content": [
|
||||
{"type": "text", "text": "Hello! How can I help you today?"}
|
||||
],
|
||||
"model": "claude-sonnet-4-20250514",
|
||||
"model": "your-model-id",
|
||||
"stop_reason": "end_turn",
|
||||
"usage": {
|
||||
"input_tokens": 10,
|
||||
@@ -102,7 +108,7 @@ curl http://127.0.0.1:8999/v1/messages \
|
||||
-H "anthropic-version: 2023-06-01" \
|
||||
-H "Content-Type: application/json" \
|
||||
-d '{
|
||||
"model": "claude-sonnet-4-20250514",
|
||||
"model": "your-model-id",
|
||||
"max_tokens": 1024,
|
||||
"messages": [{"role": "user", "content": "Hello!"}],
|
||||
"stream": true
|
||||
@@ -127,6 +133,8 @@ data: {"type":"message_stop"}
|
||||
|
||||
## /v1/messages/count_tokens
|
||||
|
||||
当前该端点返回估算值,用于兼容需要预估 token 数的客户端。
|
||||
|
||||
### 请求
|
||||
|
||||
```bash
|
||||
@@ -140,7 +148,7 @@ anthropic-version: 2023-06-01
|
||||
|
||||
```json
|
||||
{
|
||||
"model": "claude-sonnet-4-20250514",
|
||||
"model": "your-model-id",
|
||||
"messages": [
|
||||
{"role": "user", "content": "Hello!"}
|
||||
]
|
||||
@@ -151,7 +159,7 @@ anthropic-version: 2023-06-01
|
||||
|
||||
```json
|
||||
{
|
||||
"input_tokens": 10
|
||||
"input_tokens": 100
|
||||
}
|
||||
```
|
||||
|
||||
@@ -161,7 +169,7 @@ anthropic-version: 2023-06-01
|
||||
|
||||
```json
|
||||
{
|
||||
"model": "claude-sonnet-4-20250514",
|
||||
"model": "your-model-id",
|
||||
"max_tokens": 1024,
|
||||
"messages": [{"role": "user", "content": "What's the weather in Tokyo?"}],
|
||||
"tools": [
|
||||
@@ -209,7 +217,7 @@ client = anthropic.Anthropic(
|
||||
)
|
||||
|
||||
message = client.messages.create(
|
||||
model="claude-sonnet-4-20250514",
|
||||
model="your-model-id",
|
||||
max_tokens=1024,
|
||||
messages=[{"role": "user", "content": "Hello!"}]
|
||||
)
|
||||
@@ -228,7 +236,7 @@ const client = new Anthropic({
|
||||
});
|
||||
|
||||
const message = await client.messages.create({
|
||||
model: 'claude-sonnet-4-20250514',
|
||||
model: 'your-model-id',
|
||||
max_tokens: 1024,
|
||||
messages: [{ role: 'user', content: 'Hello!' }]
|
||||
});
|
||||
|
||||
@@ -1,324 +0,0 @@
|
||||
---
|
||||
title: 管理 API
|
||||
description: Lime 远程管理 API 端点
|
||||
navigation:
|
||||
icon: i-heroicons-cog-6-tooth
|
||||
---
|
||||
|
||||
# 管理 API
|
||||
|
||||
::alert{type="info"}
|
||||
本页是开发者进阶文档,主要用于自动化管理与运维集成。
|
||||
::
|
||||
|
||||
Lime 提供远程管理 API,用于配置和监控服务。
|
||||
|
||||
## 认证
|
||||
|
||||
所有管理 API 请求需要在 `Authorization` 头中提供密钥:
|
||||
|
||||
```bash
|
||||
Authorization: Bearer your-secret-key
|
||||
```
|
||||
|
||||
## 访问控制
|
||||
|
||||
管理 API 的访问受以下配置控制:
|
||||
|
||||
| 配置项 | 说明 |
|
||||
|--------|------|
|
||||
| `secret_key` | 管理密钥,为空时禁用所有管理端点(返回 404) |
|
||||
| `allow_remote` | 是否允许远程访问,为 false 时仅允许 localhost |
|
||||
|
||||
::alert{type="warning"}
|
||||
当前版本未启用 TLS,仅支持本地访问,`allow_remote` 必须保持为 `false`。
|
||||
::
|
||||
|
||||
## /v0/management/status
|
||||
|
||||
获取服务器状态信息。
|
||||
|
||||
### 请求
|
||||
|
||||
```bash
|
||||
GET /v0/management/status
|
||||
Authorization: Bearer your-secret-key
|
||||
```
|
||||
|
||||
### 响应
|
||||
|
||||
```json
|
||||
{
|
||||
"status": "running",
|
||||
"version": "1.0.0",
|
||||
"uptime_seconds": 3600,
|
||||
"tls_enabled": false,
|
||||
"active_credentials": 5,
|
||||
"total_requests": 1234,
|
||||
"providers": {
|
||||
"kiro": {
|
||||
"enabled": true,
|
||||
"credentials_count": 2
|
||||
},
|
||||
"gemini": {
|
||||
"enabled": true,
|
||||
"credentials_count": 1
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
## /v0/management/credentials
|
||||
|
||||
### 获取凭证列表
|
||||
|
||||
```bash
|
||||
GET /v0/management/credentials
|
||||
Authorization: Bearer your-secret-key
|
||||
```
|
||||
|
||||
### 响应
|
||||
|
||||
```json
|
||||
{
|
||||
"credentials": [
|
||||
{
|
||||
"id": "kiro-main",
|
||||
"provider": "kiro",
|
||||
"type": "oauth",
|
||||
"status": "valid",
|
||||
"expires_at": "2025-01-01T00:00:00Z",
|
||||
"disabled": false
|
||||
},
|
||||
{
|
||||
"id": "gemini-key-1",
|
||||
"provider": "gemini_api_key",
|
||||
"type": "api_key",
|
||||
"status": "valid",
|
||||
"disabled": false,
|
||||
"excluded_models": ["gemini-2.5-pro"]
|
||||
}
|
||||
]
|
||||
}
|
||||
```
|
||||
|
||||
### 添加凭证
|
||||
|
||||
```bash
|
||||
POST /v0/management/credentials
|
||||
Authorization: Bearer your-secret-key
|
||||
Content-Type: application/json
|
||||
```
|
||||
|
||||
#### 添加 OAuth 凭证
|
||||
|
||||
```json
|
||||
{
|
||||
"provider": "kiro",
|
||||
"id": "kiro-new",
|
||||
"token_file": "kiro/new-token.json"
|
||||
}
|
||||
```
|
||||
|
||||
#### 添加 API Key 凭证
|
||||
|
||||
```json
|
||||
{
|
||||
"provider": "openai",
|
||||
"id": "openai-new",
|
||||
"api_key": "sk-xxx...",
|
||||
"base_url": "https://api.openai.com/v1"
|
||||
}
|
||||
```
|
||||
|
||||
#### 添加 Gemini API Key
|
||||
|
||||
```json
|
||||
{
|
||||
"provider": "gemini_api_key",
|
||||
"id": "gemini-key-new",
|
||||
"api_key": "AIzaSy...",
|
||||
"base_url": "https://generativelanguage.googleapis.com",
|
||||
"excluded_models": ["gemini-2.5-pro", "*-preview"]
|
||||
}
|
||||
```
|
||||
|
||||
### 响应
|
||||
|
||||
```json
|
||||
{
|
||||
"success": true,
|
||||
"credential_id": "kiro-new"
|
||||
}
|
||||
```
|
||||
|
||||
### 删除凭证
|
||||
|
||||
```bash
|
||||
DELETE /v0/management/credentials/{credential_id}
|
||||
Authorization: Bearer your-secret-key
|
||||
```
|
||||
|
||||
### 响应
|
||||
|
||||
```json
|
||||
{
|
||||
"success": true
|
||||
}
|
||||
```
|
||||
|
||||
## /v0/management/config
|
||||
|
||||
### 获取配置
|
||||
|
||||
```bash
|
||||
GET /v0/management/config
|
||||
Authorization: Bearer your-secret-key
|
||||
```
|
||||
|
||||
### 响应
|
||||
|
||||
```json
|
||||
{
|
||||
"server": {
|
||||
"host": "127.0.0.1",
|
||||
"port": 8999,
|
||||
"tls": {
|
||||
"enable": false
|
||||
}
|
||||
},
|
||||
"routing": {
|
||||
"default_provider": "kiro"
|
||||
},
|
||||
"quota_exceeded": {
|
||||
"switch_project": true,
|
||||
"switch_preview_model": true,
|
||||
"cooldown_seconds": 300
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
### 更新配置
|
||||
|
||||
```bash
|
||||
PUT /v0/management/config
|
||||
Authorization: Bearer your-secret-key
|
||||
Content-Type: application/json
|
||||
```
|
||||
|
||||
```json
|
||||
{
|
||||
"routing": {
|
||||
"default_provider": "gemini"
|
||||
},
|
||||
"quota_exceeded": {
|
||||
"cooldown_seconds": 600
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
### 响应
|
||||
|
||||
```json
|
||||
{
|
||||
"success": true,
|
||||
"restart_required": false
|
||||
}
|
||||
```
|
||||
|
||||
> **注意**: 某些配置更改(如 TLS、端口)需要重启服务器才能生效。
|
||||
|
||||
## 错误响应
|
||||
|
||||
### 401 Unauthorized
|
||||
|
||||
密钥无效或缺失:
|
||||
|
||||
```json
|
||||
{
|
||||
"error": {
|
||||
"message": "Invalid or missing secret key",
|
||||
"type": "authentication_error",
|
||||
"code": "invalid_api_key"
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
### 403 Forbidden
|
||||
|
||||
远程访问被禁止:
|
||||
|
||||
```json
|
||||
{
|
||||
"error": {
|
||||
"message": "Remote access not allowed",
|
||||
"type": "permission_error",
|
||||
"code": "remote_access_denied"
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
### 404 Not Found
|
||||
|
||||
管理 API 已禁用(secret_key 为空):
|
||||
|
||||
```json
|
||||
{
|
||||
"error": {
|
||||
"message": "Management API is disabled",
|
||||
"type": "not_found_error",
|
||||
"code": "endpoint_not_found"
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
## 示例代码
|
||||
|
||||
### cURL
|
||||
|
||||
```bash
|
||||
# 获取状态
|
||||
curl http://127.0.0.1:8999/v0/management/status \
|
||||
-H "Authorization: Bearer your-secret-key"
|
||||
|
||||
# 获取凭证列表
|
||||
curl http://127.0.0.1:8999/v0/management/credentials \
|
||||
-H "Authorization: Bearer your-secret-key"
|
||||
|
||||
# 添加凭证
|
||||
curl http://127.0.0.1:8999/v0/management/credentials \
|
||||
-H "Authorization: Bearer your-secret-key" \
|
||||
-H "Content-Type: application/json" \
|
||||
-d '{"provider": "openai", "id": "openai-new", "api_key": "sk-xxx"}'
|
||||
```
|
||||
|
||||
### Python
|
||||
|
||||
```python
|
||||
import requests
|
||||
|
||||
BASE_URL = "http://127.0.0.1:8999"
|
||||
SECRET_KEY = "your-secret-key"
|
||||
|
||||
headers = {
|
||||
"Authorization": f"Bearer {SECRET_KEY}",
|
||||
"Content-Type": "application/json"
|
||||
}
|
||||
|
||||
# 获取状态
|
||||
response = requests.get(f"{BASE_URL}/v0/management/status", headers=headers)
|
||||
print(response.json())
|
||||
|
||||
# 添加凭证
|
||||
credential = {
|
||||
"provider": "openai",
|
||||
"id": "openai-new",
|
||||
"api_key": "sk-xxx"
|
||||
}
|
||||
response = requests.post(
|
||||
f"{BASE_URL}/v0/management/credentials",
|
||||
headers=headers,
|
||||
json=credential
|
||||
)
|
||||
print(response.json())
|
||||
```
|
||||
@@ -1,248 +0,0 @@
|
||||
---
|
||||
title: Amp CLI API
|
||||
description: Amp CLI 集成路由端点
|
||||
navigation:
|
||||
icon: i-heroicons-command-line
|
||||
---
|
||||
|
||||
# Amp CLI API
|
||||
|
||||
::alert{type="info"}
|
||||
本页是开发者进阶文档。若你不涉及 Amp CLI 集成,可跳过。
|
||||
::
|
||||
|
||||
Lime 提供 Amp CLI 兼容的路由端点,支持将 Amp CLI 请求路由到本地 OAuth 凭证。
|
||||
|
||||
## 概述
|
||||
|
||||
Amp CLI 集成允许你:
|
||||
- 使用本地 OAuth 凭证处理 Amp CLI 请求
|
||||
- 将不可用的模型映射到可用的替代模型
|
||||
- 代理 Amp 的认证和账户管理功能
|
||||
|
||||
## Provider 路由
|
||||
|
||||
### /api/provider/{provider}/v1/chat/completions
|
||||
|
||||
处理 Amp CLI 的 OpenAI 格式聊天请求。
|
||||
|
||||
```bash
|
||||
POST /api/provider/{provider}/v1/chat/completions
|
||||
Content-Type: application/json
|
||||
Authorization: Bearer your-api-key
|
||||
```
|
||||
|
||||
#### 支持的 Provider
|
||||
|
||||
| Provider | 说明 |
|
||||
|----------|------|
|
||||
| `anthropic` | Claude 模型 |
|
||||
| `openai` | GPT 模型 |
|
||||
| `google` | Gemini 模型 |
|
||||
|
||||
#### 请求示例
|
||||
|
||||
```bash
|
||||
curl http://127.0.0.1:8999/api/provider/anthropic/v1/chat/completions \
|
||||
-H "Authorization: Bearer your-api-key" \
|
||||
-H "Content-Type: application/json" \
|
||||
-d '{
|
||||
"model": "claude-sonnet-4",
|
||||
"messages": [{"role": "user", "content": "Hello!"}],
|
||||
"stream": true
|
||||
}'
|
||||
```
|
||||
|
||||
### /api/provider/{provider}/v1/messages
|
||||
|
||||
处理 Amp CLI 的 Anthropic Messages 格式请求。
|
||||
|
||||
```bash
|
||||
POST /api/provider/{provider}/v1/messages
|
||||
Content-Type: application/json
|
||||
x-api-key: your-api-key
|
||||
anthropic-version: 2023-06-01
|
||||
```
|
||||
|
||||
#### 请求示例
|
||||
|
||||
```bash
|
||||
curl http://127.0.0.1:8999/api/provider/anthropic/v1/messages \
|
||||
-H "x-api-key: your-api-key" \
|
||||
-H "anthropic-version: 2023-06-01" \
|
||||
-H "Content-Type: application/json" \
|
||||
-d '{
|
||||
"model": "claude-sonnet-4",
|
||||
"max_tokens": 1024,
|
||||
"messages": [{"role": "user", "content": "Hello!"}]
|
||||
}'
|
||||
```
|
||||
|
||||
## 模型映射
|
||||
|
||||
当 Amp CLI 请求的模型不可用时,Lime 可以自动映射到可用的替代模型。
|
||||
|
||||
### 配置
|
||||
|
||||
```yaml
|
||||
ampcode:
|
||||
model_mappings:
|
||||
- from: "claude-opus-4.5"
|
||||
to: "claude-sonnet-4"
|
||||
- from: "gpt-5"
|
||||
to: "gemini-2.5-pro"
|
||||
- from: "claude-3-opus-20240229"
|
||||
to: "claude-3-5-sonnet-20241022"
|
||||
```
|
||||
|
||||
### 映射行为
|
||||
|
||||
1. 收到请求时检查模型名称
|
||||
2. 如果模型在映射列表中,替换为目标模型
|
||||
3. 使用替换后的模型名称路由请求
|
||||
4. 响应中保留原始请求的模型名称
|
||||
|
||||
## 管理端点代理
|
||||
|
||||
Lime 可以代理 Amp 的认证和账户管理端点到上游服务器。
|
||||
|
||||
### /api/auth/*
|
||||
|
||||
代理认证相关请求。
|
||||
|
||||
```bash
|
||||
# 登录
|
||||
POST /api/auth/login
|
||||
|
||||
# 刷新 Token
|
||||
POST /api/auth/refresh
|
||||
|
||||
# 登出
|
||||
POST /api/auth/logout
|
||||
```
|
||||
|
||||
### /api/user/*
|
||||
|
||||
代理用户账户相关请求。
|
||||
|
||||
```bash
|
||||
# 获取用户信息
|
||||
GET /api/user/profile
|
||||
|
||||
# 获取使用统计
|
||||
GET /api/user/usage
|
||||
```
|
||||
|
||||
### 配置
|
||||
|
||||
```yaml
|
||||
ampcode:
|
||||
upstream_url: "https://ampcode.com"
|
||||
restrict_management_to_localhost: false
|
||||
```
|
||||
|
||||
| 配置项 | 说明 |
|
||||
|--------|------|
|
||||
| `upstream_url` | Amp 上游服务器 URL |
|
||||
| `restrict_management_to_localhost` | 是否限制管理端点只能从 localhost 访问 |
|
||||
|
||||
## 使用场景
|
||||
|
||||
### 场景 1:使用本地 OAuth 凭证
|
||||
|
||||
你有 Kiro 的 Claude 订阅,想用 Amp CLI 但不想额外付费:
|
||||
|
||||
1. 配置 Lime 加载 Kiro OAuth 凭证
|
||||
2. 在 Amp CLI 中配置 Lime 作为 API 端点
|
||||
3. Amp CLI 请求通过 Lime 路由到 Kiro 凭证
|
||||
|
||||
### 场景 2:模型替换
|
||||
|
||||
Amp CLI 请求 Claude Opus 4.5,但你只有 Sonnet 4 的访问权限:
|
||||
|
||||
```yaml
|
||||
ampcode:
|
||||
model_mappings:
|
||||
- from: "claude-opus-4.5"
|
||||
to: "claude-sonnet-4"
|
||||
```
|
||||
|
||||
### 场景 3:多 Provider 负载均衡
|
||||
|
||||
配置多个凭证,Lime 自动在它们之间负载均衡:
|
||||
|
||||
```yaml
|
||||
credential_pool:
|
||||
kiro:
|
||||
- id: "kiro-1"
|
||||
token_file: "kiro/token-1.json"
|
||||
- id: "kiro-2"
|
||||
token_file: "kiro/token-2.json"
|
||||
```
|
||||
|
||||
## Amp CLI 配置
|
||||
|
||||
在 Amp CLI 中配置 Lime:
|
||||
|
||||
```bash
|
||||
# 设置 API 端点
|
||||
amp config set api.base_url http://127.0.0.1:8999/api/provider
|
||||
|
||||
# 设置 API Key
|
||||
amp config set api.key your-lime-api-key
|
||||
```
|
||||
|
||||
或在配置文件中:
|
||||
|
||||
```yaml
|
||||
# ~/.amp/config.yaml
|
||||
api:
|
||||
base_url: http://127.0.0.1:8999/api/provider
|
||||
key: your-lime-api-key
|
||||
```
|
||||
|
||||
## 错误处理
|
||||
|
||||
### 模型不可用
|
||||
|
||||
当请求的模型不可用且没有配置映射时:
|
||||
|
||||
```json
|
||||
{
|
||||
"error": {
|
||||
"message": "Model 'claude-opus-4.5' is not available",
|
||||
"type": "invalid_request_error",
|
||||
"code": "model_not_found"
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
### 上游连接失败
|
||||
|
||||
当无法连接到 Amp 上游服务器时:
|
||||
|
||||
```json
|
||||
{
|
||||
"error": {
|
||||
"message": "Failed to connect to upstream server",
|
||||
"type": "upstream_error",
|
||||
"code": "connection_failed"
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
### 凭证耗尽
|
||||
|
||||
当所有凭证都不可用时:
|
||||
|
||||
```json
|
||||
{
|
||||
"error": {
|
||||
"message": "All credentials exhausted",
|
||||
"type": "service_unavailable",
|
||||
"code": "no_credentials_available"
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
响应头会包含 `Retry-After` 指示何时可以重试。
|
||||
@@ -1,125 +0,0 @@
|
||||
---
|
||||
title: 常见问题
|
||||
description: 按症状快速定位问题并恢复创作
|
||||
navigation:
|
||||
icon: i-heroicons-question-mark-circle
|
||||
---
|
||||
|
||||
# 常见问题
|
||||
|
||||
本页给你一个最快排查顺序:
|
||||
|
||||
1. 看页面提示
|
||||
2. 看当前项目与资源选择是否正确
|
||||
3. 看连接状态与网络
|
||||
4. 再进入详细排查页
|
||||
|
||||
## 启动后看不到内容
|
||||
|
||||
### 症状
|
||||
|
||||
- 页面空白或内容未刷新
|
||||
- 明明生成过,但当前列表看不到
|
||||
|
||||
### 先检查
|
||||
|
||||
1. 是否选错了项目
|
||||
2. 是否切到了筛选分类(例如只看图片)
|
||||
3. 是否处于搜索过滤状态
|
||||
|
||||
### 处理建议
|
||||
|
||||
- 先切回“全部”分类
|
||||
- 清空搜索词
|
||||
- 刷新当前页面再确认
|
||||
|
||||
## 图片没显示或数量不对
|
||||
|
||||
### 症状
|
||||
|
||||
- 资源页看不到已生成图片
|
||||
- 图片数量和预期不一致
|
||||
|
||||
### 先检查
|
||||
|
||||
1. 当前资源库(项目)是否正确
|
||||
2. 是否选在“图片”分类
|
||||
3. 图片是否已入库(自动或手动补录)
|
||||
|
||||
### 处理建议
|
||||
|
||||
- 先确认当前项目与资源库选择一致
|
||||
- 回看 Claw 中对应图片任务是否已经成功并完成入库
|
||||
- 回资源页切换“全部”核对总量
|
||||
|
||||
## 生成失败或超时
|
||||
|
||||
### 症状
|
||||
|
||||
- 请求长时间无响应
|
||||
- 返回超时或失败提示
|
||||
|
||||
### 处理建议
|
||||
|
||||
1. 降低同一时间的并发任务数
|
||||
2. 缩短单次输入长度或拆成批次
|
||||
3. 稍后重试,观察是否为瞬时波动
|
||||
4. 必要时切换备用连接
|
||||
|
||||
## 认证或权限错误
|
||||
|
||||
### 常见提示
|
||||
|
||||
- `401`:认证失败
|
||||
- `403`:权限不足
|
||||
|
||||
### 处理建议
|
||||
|
||||
1. 重新确认连接状态
|
||||
2. 刷新或重建对应连接
|
||||
3. 再做一次小请求测试
|
||||
|
||||
详见 [连接鉴权问题](/troubleshooting/credential-errors)。
|
||||
|
||||
## 网络连接不稳定
|
||||
|
||||
### 常见提示
|
||||
|
||||
- 网络超时
|
||||
- DNS 解析失败
|
||||
- TLS/证书错误
|
||||
|
||||
### 处理建议
|
||||
|
||||
1. 检查本机网络
|
||||
2. 检查代理配置是否正确
|
||||
3. 避开高峰时段进行批量任务
|
||||
|
||||
详见 [网络与连接问题](/troubleshooting/connection-issues)。
|
||||
|
||||
## Windows 安装后打不开或白屏
|
||||
|
||||
### 常见症状
|
||||
|
||||
- 双击应用无反应
|
||||
- 启动后白屏
|
||||
- 提示缺少运行时或被 SmartScreen 拦截
|
||||
|
||||
### 处理建议
|
||||
|
||||
1. 优先重新下载安装 `Lime_*_x64-online-setup.exe`
|
||||
2. 确认 `%APPDATA%\lime\` 与 `%USERPROFILE%\.lime\` 可写
|
||||
3. 如被 SmartScreen 拦截,确认来源可信后再继续
|
||||
4. 如果处于离线、内网或受限网络环境,改用 `Lime_*_x64-offline-setup.exe`
|
||||
5. 如有条件,运行一键收集脚本后再反馈
|
||||
|
||||
详见 [Windows 启动与安装问题](/troubleshooting/windows-startup-issues)。
|
||||
|
||||
## 仍然无法解决
|
||||
|
||||
请整理以下信息后反馈:
|
||||
|
||||
1. 问题发生时间
|
||||
2. 页面截图与错误文案
|
||||
3. 复现步骤(尽量 3 步内)
|
||||
4. 当前版本号
|
||||
@@ -1,61 +0,0 @@
|
||||
---
|
||||
title: 连接鉴权问题
|
||||
description: 处理连接失效、认证失败与账号状态异常
|
||||
navigation:
|
||||
icon: i-heroicons-key
|
||||
---
|
||||
|
||||
# 连接鉴权问题
|
||||
|
||||
本页用于处理“能打开应用,但调用失败”的问题。
|
||||
|
||||
## 快速判断
|
||||
|
||||
如果你看到以下报错,通常属于连接鉴权问题:
|
||||
|
||||
- `401` 认证失败
|
||||
- `403` 权限不足
|
||||
- 连接状态显示已失效
|
||||
|
||||
## 3 步排查
|
||||
|
||||
### 第 1 步:检查连接状态
|
||||
|
||||
在连接管理页面确认当前连接是否可用。
|
||||
|
||||
### 第 2 步:刷新或重建连接
|
||||
|
||||
- 先尝试刷新
|
||||
- 刷新失败则重新登录或重新添加连接
|
||||
|
||||
### 第 3 步:做最小测试
|
||||
|
||||
使用一条简短请求验证是否恢复。
|
||||
|
||||
## 常见场景
|
||||
|
||||
### 场景 1:昨天还能用,今天突然失败
|
||||
|
||||
高概率是连接过期或上游状态变化。建议先重建该连接。
|
||||
|
||||
### 场景 2:部分模型可用,部分模型失败
|
||||
|
||||
可能是模型权限差异或连接配置不匹配。先换一个已知可用模型测试。
|
||||
|
||||
### 场景 3:导入配置后无法调用
|
||||
|
||||
导入通常不包含敏感凭证信息,需要重新校验连接。
|
||||
|
||||
## 进阶检查(可选)
|
||||
|
||||
如果你需要定位更深层原因,可检查:
|
||||
|
||||
- 本地凭证文件是否存在且可读
|
||||
- 连接使用的账号是否仍有效
|
||||
- 代理或网络环境是否变更
|
||||
|
||||
## 预防建议
|
||||
|
||||
1. 保留一个备用连接
|
||||
2. 关键活动前做一次连通性测试
|
||||
3. 定期清理长期失效连接
|
||||
@@ -1,72 +0,0 @@
|
||||
---
|
||||
title: 网络与连接问题
|
||||
description: 处理超时、DNS、证书和代理相关问题
|
||||
navigation:
|
||||
icon: i-heroicons-signal
|
||||
---
|
||||
|
||||
# 网络与连接问题
|
||||
|
||||
当你频繁遇到超时、连接失败或证书错误时,按下面顺序排查。
|
||||
|
||||
## 排查顺序
|
||||
|
||||
1. 本机网络是否正常
|
||||
2. 代理是否配置正确
|
||||
3. 请求是否过于集中
|
||||
4. 是否为上游短时波动
|
||||
|
||||
## 常见症状与处理
|
||||
|
||||
### 连接超时
|
||||
|
||||
处理建议:
|
||||
|
||||
1. 先减少并发
|
||||
2. 拆分任务批次
|
||||
3. 适当增加超时
|
||||
4. 稍后重试
|
||||
|
||||
### DNS 解析失败
|
||||
|
||||
处理建议:
|
||||
|
||||
1. 切换网络后重试
|
||||
2. 检查系统 DNS 设置
|
||||
3. 清理 DNS 缓存后重试
|
||||
|
||||
### 证书错误
|
||||
|
||||
处理建议:
|
||||
|
||||
1. 校准系统时间
|
||||
2. 检查网络代理是否拦截 HTTPS
|
||||
3. 更换网络环境复测
|
||||
|
||||
## 代理相关
|
||||
|
||||
如果你使用代理,请重点检查:
|
||||
|
||||
1. 代理地址格式是否正确
|
||||
2. 账号密码是否有效
|
||||
3. 排除列表是否包含本地地址
|
||||
|
||||
常见格式示例:
|
||||
|
||||
- `http://proxy.example.com:8080`
|
||||
- `http://user:password@proxy.example.com:8080`
|
||||
- `socks5://proxy.example.com:1080`
|
||||
|
||||
## 什么时候判断是上游问题
|
||||
|
||||
满足以下特征时,通常是上游波动:
|
||||
|
||||
- 同一配置偶发失败、重试可恢复
|
||||
- 不同网络环境都出现短时错误
|
||||
- 一段时间后无需改配置自动恢复
|
||||
|
||||
## 仍未恢复怎么办
|
||||
|
||||
1. 记录失败时间段
|
||||
2. 保存错误提示和关键日志
|
||||
3. 先切换备用连接保障创作不中断
|
||||
@@ -1,128 +0,0 @@
|
||||
---
|
||||
title: Windows 启动与安装问题
|
||||
description: 处理打不开、白屏、缺少运行时与目录权限问题
|
||||
navigation:
|
||||
icon: i-heroicons-computer-desktop
|
||||
---
|
||||
|
||||
# Windows 启动与安装问题
|
||||
|
||||
如果 Windows 用户反馈“打不开”“白屏”“没有任何反应”,请优先按本页顺序排查。
|
||||
|
||||
## 最快处理顺序
|
||||
|
||||
1. 先确认安装包类型
|
||||
2. 再确认运行时与系统拦截
|
||||
3. 再检查本地目录权限
|
||||
4. 最后收集日志反馈
|
||||
|
||||
## 先确认安装包
|
||||
|
||||
推荐优先使用:
|
||||
|
||||
- `Lime_*_x64-online-setup.exe`
|
||||
|
||||
不建议优先分发:
|
||||
|
||||
- 便携版压缩包
|
||||
- 旧的 `.msi` 安装包
|
||||
|
||||
原因:
|
||||
|
||||
- 在线安装包体积更小,适合大多数 Windows 10/11 用户
|
||||
- 如果处于离线、内网或受限网络环境,请改用 `Lime_*_x64-offline-setup.exe`
|
||||
|
||||
## 常见症状与处理
|
||||
|
||||
### 双击后无反应
|
||||
|
||||
处理建议:
|
||||
|
||||
1. 确认下载来源可信
|
||||
2. 如果被 SmartScreen 拦截,点击“更多信息”后再确认是否继续
|
||||
3. 重新运行 Windows setup 安装包覆盖安装
|
||||
4. 安装后从开始菜单再次启动
|
||||
|
||||
### 启动后白屏
|
||||
|
||||
处理建议:
|
||||
|
||||
1. 优先重装 Windows setup 安装包,补齐 WebView2 Runtime
|
||||
2. 检查系统是否禁用了 Edge WebView2 Runtime
|
||||
3. 再确认本地目录是否可写
|
||||
|
||||
### 提示缺少运行时
|
||||
|
||||
处理建议:
|
||||
|
||||
1. 不要先手动找旧版运行时
|
||||
2. 先重新运行 Windows setup 安装包
|
||||
3. 如仍失败,再单独检查 WebView2 Runtime 是否安装完整
|
||||
|
||||
## 目录权限检查
|
||||
|
||||
以下目录至少要保证当前用户可读写:
|
||||
|
||||
- `%APPDATA%\lime\`
|
||||
- `%USERPROFILE%\.lime\`
|
||||
|
||||
这些目录分别用于:
|
||||
|
||||
- 配置与凭证副本
|
||||
- 数据库、日志、请求日志和部分运行时状态
|
||||
|
||||
如果目录不可写,常见表现包括:
|
||||
|
||||
- 启动后立即退出
|
||||
- 白屏
|
||||
- 功能区能打开但数据无法加载
|
||||
|
||||
## 日志收集
|
||||
|
||||
反馈问题前,建议至少收集以下内容:
|
||||
|
||||
- `%USERPROFILE%\.lime\logs\`
|
||||
- `%USERPROFILE%\.lime\request_logs\`
|
||||
- 问题出现时间
|
||||
- 安装包文件名
|
||||
- 页面或弹窗提示截图
|
||||
|
||||
### 一键收集(推荐给支持/开发环境)
|
||||
|
||||
如果你有仓库脚本环境,可直接运行:
|
||||
|
||||
```powershell
|
||||
powershell -ExecutionPolicy Bypass -File .\scripts\windows-collect-support-bundle.ps1
|
||||
```
|
||||
|
||||
脚本会:
|
||||
|
||||
- 打包 `%USERPROFILE%\.lime\logs\` 与 `request_logs\`
|
||||
- 收集 WebView2、PowerShell、目录存在性等环境信息
|
||||
- 默认不打包 `config.yaml`、数据库和凭证正文,避免泄露敏感信息
|
||||
|
||||
执行完成后,会在桌面生成 `Lime-Support-时间戳.zip`。
|
||||
|
||||
如果应用本身还能打开,也可以在“设置 / API 服务器 / 诊断接口”区域点击“导出支持包”。
|
||||
|
||||
## 如果页面出现 Windows 启动自检提示
|
||||
|
||||
新版本会在部分场景下提示以下问题:
|
||||
|
||||
- 应用数据目录不可写
|
||||
- 用户目录数据根不可写
|
||||
- 数据库不可访问
|
||||
- 未检测到 WebView2 Runtime
|
||||
- 未检测到 PowerShell 或 `cmd.exe`
|
||||
|
||||
建议按提示顺序处理,不要一开始就同时修改多项系统设置。
|
||||
|
||||
## 仍然无法恢复怎么办
|
||||
|
||||
请整理以下最小信息后反馈:
|
||||
|
||||
1. Windows 版本
|
||||
2. Lime 版本
|
||||
3. 使用的安装包文件名
|
||||
4. 首次出现时间
|
||||
5. 日志目录压缩包
|
||||
@@ -1,229 +0,0 @@
|
||||
---
|
||||
title: 架构说明
|
||||
description: Lime 技术架构
|
||||
navigation:
|
||||
icon: i-heroicons-cube-transparent
|
||||
---
|
||||
|
||||
# 架构说明
|
||||
|
||||
Lime 是基于 Tauri 2.0 构建的跨平台桌面应用。
|
||||
|
||||
## 技术栈
|
||||
|
||||
| 层级 | 技术 |
|
||||
|------|------|
|
||||
| 前端 | React + TypeScript + Tailwind CSS |
|
||||
| 后端 | Rust + Tauri 2.0 |
|
||||
| 构建 | Vite |
|
||||
| 包管理 | pnpm |
|
||||
|
||||
## Tauri 前后端通信
|
||||
|
||||
### 架构图
|
||||
|
||||
```
|
||||
┌─────────────────────────────────────────────────────────┐
|
||||
│ Frontend (React) │
|
||||
│ ┌─────────────┐ ┌─────────────┐ ┌─────────────┐ │
|
||||
│ │ Dashboard │ │ Settings │ │ Monitoring │ │
|
||||
│ └──────┬──────┘ └──────┬──────┘ └──────┬──────┘ │
|
||||
│ │ │ │ │
|
||||
│ └────────────────┼────────────────┘ │
|
||||
│ │ │
|
||||
│ ┌─────▼─────┐ │
|
||||
│ │ Tauri │ │
|
||||
│ │ Commands │ │
|
||||
│ └─────┬─────┘ │
|
||||
└──────────────────────────┼──────────────────────────────┘
|
||||
│ IPC
|
||||
┌──────────────────────────┼──────────────────────────────┐
|
||||
│ ┌─────▼─────┐ │
|
||||
│ │ Command │ │
|
||||
│ │ Handler │ │
|
||||
│ └─────┬─────┘ │
|
||||
│ │ │
|
||||
│ ┌───────────────────────┼───────────────────────┐ │
|
||||
│ │ │ │ │
|
||||
│ ▼ ▼ ▼ │
|
||||
│ ┌─────────┐ ┌─────────┐ ┌─────────┐ │
|
||||
│ │Provider │ │Credential│ │ Router │ │
|
||||
│ │ Manager │ │ Pool │ │ │ │
|
||||
│ └────┬────┘ └────┬────┘ └────┬────┘ │
|
||||
│ │ │ │ │
|
||||
│ └──────────────────┼──────────────────────┘ │
|
||||
│ │ │
|
||||
│ ┌─────▼─────┐ │
|
||||
│ │ API Server│ │
|
||||
│ │ (Axum) │ │
|
||||
│ └───────────┘ │
|
||||
│ Backend (Rust) │
|
||||
└───────────────────────────────────────────────────────┘
|
||||
```
|
||||
|
||||
### 通信方式
|
||||
|
||||
前端通过 Tauri Commands 调用后端:
|
||||
|
||||
```typescript
|
||||
// 前端调用
|
||||
import { invoke } from '@tauri-apps/api/core';
|
||||
|
||||
const result = await invoke('get_credentials');
|
||||
```
|
||||
|
||||
```rust
|
||||
// 后端处理
|
||||
#[tauri::command]
|
||||
async fn get_credentials() -> Result<Vec<Credential>, String> {
|
||||
// 处理逻辑
|
||||
}
|
||||
```
|
||||
|
||||
## Rust 后端模块
|
||||
|
||||
### 模块结构
|
||||
|
||||
```
|
||||
src-tauri/src/
|
||||
├── main.rs # 入口
|
||||
├── lib.rs # 库导出
|
||||
├── commands/ # Tauri 命令
|
||||
│ ├── mod.rs
|
||||
│ ├── config_cmd.rs
|
||||
│ ├── credential_cmd.rs
|
||||
│ └── server_cmd.rs
|
||||
├── credential/ # 凭证管理
|
||||
│ ├── mod.rs
|
||||
│ ├── kiro.rs
|
||||
│ ├── gemini.rs
|
||||
│ └── qwen.rs
|
||||
├── provider/ # Provider 实现
|
||||
│ ├── mod.rs
|
||||
│ ├── anthropic.rs
|
||||
│ ├── openai.rs
|
||||
│ └── gemini.rs
|
||||
├── router/ # 请求路由
|
||||
│ ├── mod.rs
|
||||
│ └── rules.rs
|
||||
├── converter/ # 协议转换
|
||||
│ ├── mod.rs
|
||||
│ ├── openai_to_claude.rs
|
||||
│ └── claude_to_openai.rs
|
||||
├── server/ # API Server
|
||||
│ ├── mod.rs
|
||||
│ ├── handlers.rs
|
||||
│ └── middleware.rs
|
||||
└── config/ # 配置管理
|
||||
├── mod.rs
|
||||
└── yaml.rs
|
||||
```
|
||||
|
||||
### 核心模块
|
||||
|
||||
#### Credential 模块
|
||||
|
||||
负责凭证的加载、刷新和管理:
|
||||
|
||||
```rust
|
||||
pub struct CredentialManager {
|
||||
credentials: Vec<Credential>,
|
||||
refresh_scheduler: RefreshScheduler,
|
||||
}
|
||||
|
||||
impl CredentialManager {
|
||||
pub async fn load_credentials(&mut self) -> Result<()>;
|
||||
pub async fn refresh_token(&mut self, id: &str) -> Result<()>;
|
||||
pub fn get_available(&self) -> Vec<&Credential>;
|
||||
}
|
||||
```
|
||||
|
||||
#### Provider 模块
|
||||
|
||||
实现不同 AI 服务的调用:
|
||||
|
||||
```rust
|
||||
#[async_trait]
|
||||
pub trait Provider: Send + Sync {
|
||||
async fn chat_completion(&self, request: ChatRequest) -> Result<ChatResponse>;
|
||||
async fn stream_completion(&self, request: ChatRequest) -> Result<impl Stream<Item = StreamChunk>>;
|
||||
}
|
||||
```
|
||||
|
||||
#### Router 模块
|
||||
|
||||
根据规则路由请求:
|
||||
|
||||
```rust
|
||||
pub struct Router {
|
||||
rules: Vec<RoutingRule>,
|
||||
default_provider: String,
|
||||
}
|
||||
|
||||
impl Router {
|
||||
pub fn route(&self, model: &str) -> RoutingResult;
|
||||
}
|
||||
```
|
||||
|
||||
#### Converter 模块
|
||||
|
||||
在不同 API 格式之间转换:
|
||||
|
||||
```rust
|
||||
pub fn openai_to_claude(request: OpenAIRequest) -> ClaudeRequest;
|
||||
pub fn claude_to_openai(response: ClaudeResponse) -> OpenAIResponse;
|
||||
```
|
||||
|
||||
## 请求处理流程
|
||||
|
||||
```
|
||||
1. 客户端请求 → API Server (Axum)
|
||||
│
|
||||
2. 认证检查 ────────┤
|
||||
│
|
||||
3. 路由匹配 ────────┤ Router
|
||||
│
|
||||
4. 凭证选择 ────────┤ Credential Pool
|
||||
│
|
||||
5. 协议转换 ────────┤ Converter
|
||||
│
|
||||
6. Provider 调用 ───┤ Provider
|
||||
│
|
||||
7. 响应转换 ────────┤ Converter
|
||||
│
|
||||
8. 返回响应 ────────┘
|
||||
```
|
||||
|
||||
## 数据流
|
||||
|
||||
### 请求流程
|
||||
|
||||
1. 前端发起 API 请求
|
||||
2. Axum 服务器接收请求
|
||||
3. 中间件进行认证和日志
|
||||
4. Router 根据模型名称选择 Provider
|
||||
5. Credential Pool 选择可用凭证
|
||||
6. Converter 转换请求格式
|
||||
7. Provider 调用实际 AI 服务
|
||||
8. Converter 转换响应格式
|
||||
9. 返回响应给客户端
|
||||
|
||||
### 事件流程
|
||||
|
||||
```
|
||||
后端事件 → Tauri Event → 前端监听 → UI 更新
|
||||
```
|
||||
|
||||
```rust
|
||||
// 后端发送事件
|
||||
app.emit("credential-updated", payload)?;
|
||||
```
|
||||
|
||||
```typescript
|
||||
// 前端监听
|
||||
import { listen } from '@tauri-apps/api/event';
|
||||
|
||||
await listen('credential-updated', (event) => {
|
||||
// 更新 UI
|
||||
});
|
||||
```
|
||||
@@ -1,200 +0,0 @@
|
||||
---
|
||||
title: 贡献指南
|
||||
description: 如何为 Lime 做贡献
|
||||
navigation:
|
||||
icon: i-heroicons-heart
|
||||
---
|
||||
|
||||
# 贡献指南
|
||||
|
||||
感谢你对 Lime 的关注!本指南帮助你开始贡献。
|
||||
|
||||
## 开发环境设置
|
||||
|
||||
### 前置要求
|
||||
|
||||
| 工具 | 版本 |
|
||||
| --------- | ------- |
|
||||
| Node.js | >= 22 |
|
||||
| pnpm | >= 8 |
|
||||
| Rust | >= 1.70 |
|
||||
| Tauri CLI | >= 2.0 |
|
||||
|
||||
### 安装依赖
|
||||
|
||||
```bash
|
||||
# 克隆仓库
|
||||
git clone https://github.com/aiclientproxy/lime.git
|
||||
cd lime
|
||||
|
||||
# 安装前端依赖
|
||||
pnpm install
|
||||
|
||||
# 安装 Tauri CLI
|
||||
cargo install tauri-cli
|
||||
```
|
||||
|
||||
### 开发模式
|
||||
|
||||
```bash
|
||||
# 启动开发服务器
|
||||
pnpm tauri dev
|
||||
```
|
||||
|
||||
### 构建
|
||||
|
||||
```bash
|
||||
# 构建发布版本
|
||||
pnpm tauri build
|
||||
```
|
||||
|
||||
## 代码规范
|
||||
|
||||
### TypeScript/React
|
||||
|
||||
- 使用 ESLint 和 Prettier
|
||||
- 遵循 React Hooks 规范
|
||||
- 组件使用函数式写法
|
||||
|
||||
```bash
|
||||
# 检查代码
|
||||
pnpm lint
|
||||
|
||||
# 格式化代码
|
||||
pnpm format
|
||||
```
|
||||
|
||||
### Rust
|
||||
|
||||
- 使用 rustfmt 格式化
|
||||
- 使用 clippy 检查
|
||||
- 遵循 Rust API Guidelines
|
||||
|
||||
```bash
|
||||
# 格式化
|
||||
cargo fmt
|
||||
|
||||
# 检查
|
||||
cargo clippy
|
||||
```
|
||||
|
||||
### 提交规范
|
||||
|
||||
使用 Conventional Commits:
|
||||
|
||||
```
|
||||
feat: 添加新功能
|
||||
fix: 修复 bug
|
||||
docs: 更新文档
|
||||
style: 代码格式调整
|
||||
refactor: 代码重构
|
||||
test: 添加测试
|
||||
chore: 构建/工具变更
|
||||
```
|
||||
|
||||
示例:
|
||||
|
||||
```
|
||||
feat(credential): 添加 Qwen 凭证支持
|
||||
fix(router): 修复路由规则匹配问题
|
||||
docs: 更新安装指南
|
||||
```
|
||||
|
||||
## PR 流程
|
||||
|
||||
### 1. Fork 仓库
|
||||
|
||||
在 GitHub 上 Fork 项目到你的账户。
|
||||
|
||||
### 2. 创建分支
|
||||
|
||||
```bash
|
||||
git checkout -b feature/your-feature
|
||||
```
|
||||
|
||||
### 3. 开发和测试
|
||||
|
||||
- 编写代码
|
||||
- 添加测试
|
||||
- 确保所有测试通过
|
||||
|
||||
### 4. 提交代码
|
||||
|
||||
```bash
|
||||
git add .
|
||||
git commit -m "feat: your feature description"
|
||||
git push origin feature/your-feature
|
||||
```
|
||||
|
||||
### 5. 创建 PR
|
||||
|
||||
1. 在 GitHub 上创建 Pull Request
|
||||
2. 填写 PR 描述
|
||||
3. 等待 Review
|
||||
|
||||
### PR 检查清单
|
||||
|
||||
- [ ] 代码通过 lint 检查
|
||||
- [ ] 添加了必要的测试
|
||||
- [ ] 更新了相关文档
|
||||
- [ ] 提交信息符合规范
|
||||
|
||||
## 项目结构
|
||||
|
||||
```
|
||||
lime/
|
||||
├── src/ # 前端源码
|
||||
│ ├── components/ # React 组件
|
||||
│ ├── pages/ # 页面组件
|
||||
│ ├── hooks/ # 自定义 Hooks
|
||||
│ ├── lib/ # 工具函数
|
||||
│ └── styles/ # 样式文件
|
||||
├── src-tauri/ # Rust 后端
|
||||
│ ├── src/ # 源码
|
||||
│ ├── Cargo.toml # 依赖配置
|
||||
│ └── tauri.conf.json # Tauri 配置
|
||||
├── docs/ # 文档
|
||||
└── public/ # 静态资源
|
||||
```
|
||||
|
||||
## 测试
|
||||
|
||||
### 前端测试
|
||||
|
||||
```bash
|
||||
# 运行测试
|
||||
pnpm test
|
||||
|
||||
# 运行测试并生成覆盖率
|
||||
pnpm test:coverage
|
||||
```
|
||||
|
||||
### 后端测试
|
||||
|
||||
```bash
|
||||
cd src-tauri
|
||||
cargo test
|
||||
```
|
||||
|
||||
## 问题反馈
|
||||
|
||||
### 报告 Bug
|
||||
|
||||
1. 搜索是否已有相同问题
|
||||
2. 创建新 Issue
|
||||
3. 提供详细信息:
|
||||
- 操作系统和版本
|
||||
- Lime 版本
|
||||
- 复现步骤
|
||||
- 错误日志
|
||||
|
||||
### 功能建议
|
||||
|
||||
1. 创建 Feature Request Issue
|
||||
2. 描述功能需求
|
||||
3. 说明使用场景
|
||||
|
||||
## 社区
|
||||
|
||||
- GitHub Issues: 问题反馈
|
||||
- GitHub Discussions: 讨论交流
|
||||
@@ -1,283 +0,0 @@
|
||||
---
|
||||
title: 构建指南
|
||||
description: 本地开发和构建发布
|
||||
navigation:
|
||||
icon: i-heroicons-wrench-screwdriver
|
||||
---
|
||||
|
||||
# 构建指南
|
||||
|
||||
本指南介绍如何在本地开发和构建 Lime。
|
||||
|
||||
## 本地开发
|
||||
|
||||
::alert{type="warning"}
|
||||
Lime 桌面端当前仅支持 macOS 与 Windows,本页不再提供 Linux 打包与发布说明。
|
||||
::
|
||||
|
||||
### 环境准备
|
||||
|
||||
1. **安装 Node.js**
|
||||
|
||||
```bash
|
||||
# 使用 nvm 安装
|
||||
nvm install 22
|
||||
nvm use 22
|
||||
```
|
||||
|
||||
Windows 用户请使用 Node.js 官方安装器安装 22.x,并重新打开终端后通过 `node -v` 确认版本。
|
||||
|
||||
2. **安装 pnpm**
|
||||
|
||||
```bash
|
||||
npm install -g pnpm
|
||||
```
|
||||
|
||||
3. **安装 Rust**
|
||||
|
||||
```bash
|
||||
# macOS
|
||||
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
|
||||
|
||||
# Windows
|
||||
# 下载并运行 rustup-init.exe
|
||||
```
|
||||
|
||||
4. **安装 Tauri 依赖**
|
||||
|
||||
**macOS:**
|
||||
|
||||
```bash
|
||||
xcode-select --install
|
||||
```
|
||||
|
||||
**Windows:**
|
||||
|
||||
- 安装 Visual Studio Build Tools
|
||||
- 安装 WebView2(开发模式必需;对外分发时默认推荐在线小包,离线或受限网络环境再提供离线大包)
|
||||
|
||||
### 启动开发
|
||||
|
||||
```bash
|
||||
# 安装依赖
|
||||
pnpm install
|
||||
|
||||
# 启动开发模式
|
||||
pnpm tauri dev
|
||||
```
|
||||
|
||||
开发模式特性:
|
||||
|
||||
- 前端热重载
|
||||
- Rust 代码变更自动重新编译
|
||||
- 开发者工具可用
|
||||
|
||||
### 开发配置
|
||||
|
||||
#### 前端配置
|
||||
|
||||
`vite.config.ts`:
|
||||
|
||||
```typescript
|
||||
export default defineConfig({
|
||||
plugins: [react()],
|
||||
server: {
|
||||
port: 1420,
|
||||
strictPort: true,
|
||||
},
|
||||
});
|
||||
```
|
||||
|
||||
#### Tauri 配置
|
||||
|
||||
`src-tauri/tauri.conf.json`:
|
||||
|
||||
```json
|
||||
{
|
||||
"build": {
|
||||
"devPath": "http://localhost:1420",
|
||||
"distDir": "../dist"
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
## 构建发布
|
||||
|
||||
### 构建命令
|
||||
|
||||
```bash
|
||||
# 构建当前平台
|
||||
pnpm tauri build
|
||||
|
||||
# 构建 debug 版本
|
||||
pnpm tauri build --debug
|
||||
```
|
||||
|
||||
### 自动更新产物与签名
|
||||
|
||||
Lime 当前的桌面端升级流程分成两步:
|
||||
|
||||
- 检查更新:客户端直接请求静态清单 `latest.json`
|
||||
- 安装更新:客户端使用 Tauri updater 校验签名并安装对应平台包
|
||||
|
||||
`src-tauri/tauri.conf.json` 与 `src-tauri/tauri.conf.headless.json` 已启用 `createUpdaterArtifacts: true`,构建发布包时会额外生成 updater 需要的签名产物与 `latest.json`。
|
||||
|
||||
本地或 CI 构建发布版本时,至少需要准备以下环境变量:
|
||||
|
||||
```bash
|
||||
# updater 校验使用的公钥;编译时注入到桌面端
|
||||
export LIME_UPDATER_PUBLIC_KEY="..."
|
||||
|
||||
# Tauri 生成 latest.json 和签名文件时使用的私钥
|
||||
export TAURI_SIGNING_PRIVATE_KEY="..."
|
||||
export TAURI_SIGNING_PRIVATE_KEY_PASSWORD="..."
|
||||
```
|
||||
|
||||
如果缺少 `LIME_UPDATER_PUBLIC_KEY`,应用仍可读取 `latest.json` 显示新版本信息,但会降级为只能跳转发布页手动下载,无法执行应用内安装。
|
||||
|
||||
### 构建产物
|
||||
|
||||
| 平台 | 产物位置 |
|
||||
| ------- | --------------------------------------- |
|
||||
| macOS | `src-tauri/target/release/bundle/dmg/` |
|
||||
| Windows | `src-tauri/target/release/bundle/nsis/` |
|
||||
|
||||
### 跨平台构建
|
||||
|
||||
#### macOS 构建
|
||||
|
||||
```bash
|
||||
# 构建 Apple Silicon
|
||||
pnpm tauri build --target aarch64-apple-darwin
|
||||
|
||||
# 构建 Intel
|
||||
pnpm tauri build --target x86_64-apple-darwin
|
||||
|
||||
# 构建 Universal
|
||||
pnpm tauri build --target universal-apple-darwin
|
||||
```
|
||||
|
||||
#### Windows 构建
|
||||
|
||||
```bash
|
||||
# 构建 64 位 Windows 在线安装包(推荐,体积更小,安装时按需下载 WebView2)
|
||||
pnpm tauri build --target x86_64-pc-windows-msvc --config src-tauri/tauri.windows.online.conf.json
|
||||
|
||||
# 构建 64 位 Windows 离线安装包(体积更大,内置离线 WebView2 安装器)
|
||||
pnpm tauri build --target x86_64-pc-windows-msvc --config src-tauri/tauri.windows.conf.json
|
||||
```
|
||||
|
||||
> 建议默认对外分发在线小包;只有内网、离线或受限网络环境,再提供离线大包。
|
||||
|
||||
## 版本管理
|
||||
|
||||
### 更新版本号
|
||||
|
||||
1. 更新 `package.json`:
|
||||
|
||||
```json
|
||||
{
|
||||
"version": "1.0.1"
|
||||
}
|
||||
```
|
||||
|
||||
2. 更新 `src-tauri/Cargo.toml`:
|
||||
|
||||
```toml
|
||||
[package]
|
||||
version = "1.0.1"
|
||||
```
|
||||
|
||||
3. 更新 `src-tauri/tauri.conf.json`:
|
||||
|
||||
```json
|
||||
{
|
||||
"version": "1.0.1"
|
||||
}
|
||||
```
|
||||
|
||||
### 创建发布
|
||||
|
||||
```bash
|
||||
# 创建 tag
|
||||
git tag v1.0.1
|
||||
git push origin v1.0.1
|
||||
```
|
||||
|
||||
## CI/CD
|
||||
|
||||
### GitHub Actions
|
||||
|
||||
项目使用 GitHub Actions 自动构建:
|
||||
|
||||
- Push 到 main 分支触发构建
|
||||
- 创建 tag 触发发布
|
||||
- Release 工作流会把 `LIME_UPDATER_PUBLIC_KEY`、`TAURI_SIGNING_PRIVATE_KEY`、`TAURI_SIGNING_PRIVATE_KEY_PASSWORD` 注入构建环境,用于生成可校验的 updater 清单与安装包签名
|
||||
|
||||
### 构建矩阵
|
||||
|
||||
| 平台 | 架构 | Runner |
|
||||
| ------- | ----- | ------------ |
|
||||
| macOS | arm64 | macos-latest |
|
||||
| macOS | x64 | macos-13 |
|
||||
| Windows | x64 | windows-2022 |
|
||||
|
||||
## 调试
|
||||
|
||||
### 前端调试
|
||||
|
||||
开发模式下按 `F12` 打开开发者工具。
|
||||
|
||||
### 后端调试
|
||||
|
||||
```bash
|
||||
# 启用 Rust 日志
|
||||
RUST_LOG=debug pnpm tauri dev
|
||||
```
|
||||
|
||||
### 日志位置
|
||||
|
||||
| 平台 | 路径 |
|
||||
| ------- | ---------------------- |
|
||||
| macOS | `~/Library/Logs/Lime/` |
|
||||
| Windows | `%APPDATA%\Lime\logs\` |
|
||||
|
||||
## 常见问题
|
||||
|
||||
### 构建失败
|
||||
|
||||
1. 确保所有依赖已安装
|
||||
2. 清理构建缓存:
|
||||
|
||||
```bash
|
||||
# 清理前端
|
||||
rm -rf node_modules dist
|
||||
pnpm install
|
||||
|
||||
# 清理 Rust
|
||||
cd src-tauri
|
||||
cargo clean
|
||||
```
|
||||
|
||||
### 签名问题
|
||||
|
||||
macOS 构建需要代码签名:
|
||||
|
||||
```bash
|
||||
# 设置签名身份
|
||||
export APPLE_SIGNING_IDENTITY="Developer ID Application: ..."
|
||||
```
|
||||
|
||||
Windows 构建强烈建议签名:
|
||||
|
||||
```bash
|
||||
# 设置签名证书
|
||||
export TAURI_SIGNING_PRIVATE_KEY="..."
|
||||
```
|
||||
|
||||
如果要让桌面端“检查更新后直接安装”可用,还需要同时配置:
|
||||
|
||||
```bash
|
||||
export LIME_UPDATER_PUBLIC_KEY="..."
|
||||
export TAURI_SIGNING_PRIVATE_KEY_PASSWORD="..."
|
||||
```
|
||||
@@ -1,63 +0,0 @@
|
||||
---
|
||||
title: 上线运维
|
||||
description: 生产就绪的最小运维清单
|
||||
navigation:
|
||||
icon: i-heroicons-wrench-screwdriver
|
||||
---
|
||||
|
||||
# 上线运行与运维(生产就绪最小版)
|
||||
|
||||
本页面用于“马上上线且长期稳定运行”的最小运维闭环,避免上线后因配置、备份或回滚缺失导致不可恢复的问题。
|
||||
|
||||
## 上线前检查
|
||||
|
||||
- 确认服务仅本地监听:`server.host = 127.0.0.1`(当前版本仅支持本地监听)
|
||||
- 设置强 API Key:不要使用默认值 `proxy_cast`
|
||||
- 确认日志保留策略:`logging.retention_days` 合理(建议 >= 7 天)
|
||||
- 确认凭证与配置已正确导入,并完成一次启动 + 健康检查
|
||||
|
||||
## 运行健康检查
|
||||
|
||||
- HTTP 健康检查:`GET /health`
|
||||
- 关键字段应包含 `status=healthy` 与 `version`
|
||||
- 建议在上线后做一次 API 冒烟请求(如 `/v1/models`)
|
||||
|
||||
## 备份与恢复(必须)
|
||||
|
||||
当前版本需要手动备份以下路径:
|
||||
|
||||
- 配置文件(macOS: `~/Library/Application Support/lime/config.yaml`,Linux: `~/.config/lime/config.yaml`,Windows: `%APPDATA%\\lime\\config.yaml`)
|
||||
- 凭证池副本目录(导入的凭证文件):macOS `~/Library/Application Support/lime/credentials/`,Linux `~/.local/share/lime/credentials/`,Windows `%APPDATA%\\lime\\credentials\\`
|
||||
- OAuth 凭证目录:`~/.lime/auth/`
|
||||
- 数据库文件:`~/.lime/lime.db`
|
||||
- 日志目录:`~/.lime/logs/`、`~/.lime/request_logs/`
|
||||
|
||||
恢复步骤(顺序建议):
|
||||
|
||||
1. 停止应用
|
||||
2. 恢复 `config.yaml`
|
||||
3. 恢复 `credentials` 目录、`auth` 目录与数据库 `lime.db`
|
||||
4. 如需保留历史日志,恢复 `logs/` 与 `request_logs/`
|
||||
5. 启动应用并验证 `/health` 与关键功能
|
||||
|
||||
## Windows 启动失败排查
|
||||
|
||||
- 优先确认用户安装的是 `Lime_*_x64-online-setup.exe`;离线、内网或受限网络环境再提供 `Lime_*_x64-offline-setup.exe`
|
||||
- 首次启动若提示缺少运行时,优先重新运行 Windows setup 安装包;如果在线安装失败,再切换到 offline 安装包
|
||||
- 检查 `%APPDATA%\lime\` 与 `%USERPROFILE%\.lime\` 是否可写;数据库、日志与部分运行时状态依赖这两个目录
|
||||
- 收集 `%USERPROFILE%\.lime\logs\` 与 `%USERPROFILE%\.lime\request_logs\` 作为一线排障材料
|
||||
- 若前端出现 Windows 启动自检提示,按提示项优先检查目录权限、数据库可访问性、WebView2 与 Shell 可用性
|
||||
|
||||
## 回滚策略
|
||||
|
||||
- 如果升级失败,恢复备份的 `config.yaml` 与 `lime.db`
|
||||
- 使用上一版本安装包覆盖安装
|
||||
- 完成健康检查与冒烟测试
|
||||
|
||||
## 发布质量门槛(最小)
|
||||
|
||||
- `cd src-tauri && cargo test`
|
||||
- `cd src-tauri && cargo clippy`
|
||||
- `npm test`
|
||||
- `npm run lint`
|
||||
- `npm run build`
|
||||
@@ -1,17 +0,0 @@
|
||||
---
|
||||
title: 插件开发(迁移说明)
|
||||
description: 本章节已迁移至开放平台文档
|
||||
navigation:
|
||||
icon: i-heroicons-arrow-top-right-on-square
|
||||
---
|
||||
|
||||
# 插件开发(迁移说明)
|
||||
|
||||
::alert{type="info"}
|
||||
插件开发文档已迁移,请阅读:[开放平台 - 插件开发指南](/open-platform/plugin-development)。
|
||||
::
|
||||
|
||||
迁移后,开发者文档与用户文档分层更清晰:
|
||||
|
||||
- 开放平台:插件规范、接入流程、生态能力
|
||||
- 用户指南:插件安装与使用
|
||||
@@ -1,57 +1,65 @@
|
||||
---
|
||||
title: 免责声明
|
||||
description: 使用条款和法律声明
|
||||
description: Lime 使用条款与法律说明
|
||||
navigation:
|
||||
icon: i-heroicons-scale
|
||||
---
|
||||
|
||||
# 免责声明
|
||||
|
||||
## 使用目的
|
||||
## 适用范围
|
||||
|
||||
Lime 是一款开源工具,其设计初衷是帮助用户**充分利用已订阅的 AI 服务 Token**,在更多场景中发挥其价值。
|
||||
Lime 是一款本地优先的内容闭环 Agent 桌面应用。
|
||||
你在使用 Lime 及其接入的模型、插件、MCP 服务、浏览器连接器、Webhook 与其它外部服务时,应自行确保符合所在地法律法规以及对应服务条款。
|
||||
|
||||
::alert{type="warning"}
|
||||
**重要提示**: 本工具仅限于个人合法使用,严禁用于任何非法盈利目的。
|
||||
**重要提示**: 请仅在合法、合规、可授权的前提下使用本产品及其外部连接能力。
|
||||
::
|
||||
|
||||
## 合法使用范围
|
||||
## 你需要自行确认的事项
|
||||
|
||||
本工具的合法使用场景包括但不限于:
|
||||
使用 Lime 前,请至少确认以下事项:
|
||||
|
||||
- ✅ 个人学习和研究
|
||||
- ✅ 个人开发项目中使用已订阅的 AI 服务
|
||||
- ✅ 在不同开发工具间复用个人订阅额度
|
||||
- ✅ 提高个人工作效率
|
||||
1. 你有权使用接入的模型账号、API Key、OAuth 凭证、插件包或 MCP 服务
|
||||
2. 你有权处理导入到 Lime 的文本、图片、音视频、网页、代码和其它素材
|
||||
3. 你已理解目标平台、模型服务商和第三方工具的使用限制
|
||||
4. 你不会把本产品用于违法、侵权、欺诈、骚扰、滥用计算资源或规避服务限制等行为
|
||||
|
||||
## 禁止行为
|
||||
|
||||
以下行为严格禁止:
|
||||
以下行为明确禁止:
|
||||
|
||||
- ❌ 将本工具用于商业盈利目的
|
||||
- ❌ 转售或分享他人的 AI 服务凭证
|
||||
- ❌ 违反 AI 服务提供商的服务条款
|
||||
- ❌ 任何形式的非法活动
|
||||
- ❌ 使用未经授权的账号、密钥、Cookie、凭证或第三方连接
|
||||
- ❌ 上传、处理或传播你无权使用的内容、数据或素材
|
||||
- ❌ 将 Lime 用于违法、侵权、诈骗、骚扰、恶意自动化、绕过风控或违反平台条款的场景
|
||||
- ❌ 通过插件、Webhook、MCP、连接器或脚本向外泄露敏感信息
|
||||
- ❌ 将本产品宣传为对第三方平台、模型服务或连接结果提供官方背书
|
||||
|
||||
## 责任声明
|
||||
|
||||
1. **用户责任**: 用户应确保其使用行为符合所在地区的法律法规,以及相关 AI 服务提供商的服务条款。
|
||||
1. **用户责任**:你应对自己的配置、连接、导入内容、生成结果和发布行为负责。
|
||||
2. **第三方风险**:模型服务、插件、MCP 服务、Webhook、浏览器连接器与外部服务均由对应提供方独立维护,其可用性、安全性与合规性不由 Lime 保证。
|
||||
3. **风险自担**:使用本产品可能带来内容误判、外部服务波动、账号限制、连接失败、数据丢失或其它损失,相关风险由用户自行承担。
|
||||
4. **按现状提供**:本产品按“现状”提供,不提供任何明示或暗示担保。
|
||||
|
||||
2. **风险自担**: 使用本工具所产生的任何后果由用户自行承担,包括但不限于账户封禁、服务终止等。
|
||||
## 内容与结果说明
|
||||
|
||||
3. **无担保**: 本工具按"现状"提供,不提供任何明示或暗示的担保。
|
||||
Lime 生成、改写、整理、抓取、导出或分发的内容,仍需由用户自行复核。
|
||||
尤其是以下场景,请在发布或对外使用前做人工确认:
|
||||
|
||||
4. **免责**: 开发者不对因使用本工具而导致的任何直接或间接损失承担责任。
|
||||
- 涉及事实正确性、日期、引用、来源、版权、隐私、品牌承诺的内容
|
||||
- 涉及合同、医疗、法律、财务、监管合规等高风险领域的内容
|
||||
- 通过自动化、Webhook、插件或外部服务进一步传播的内容
|
||||
|
||||
## 服务条款遵守
|
||||
## 第三方条款遵守
|
||||
|
||||
使用本工具时,请务必遵守以下服务提供商的使用条款:
|
||||
当你接入第三方模型、平台或服务时,请同时遵守对应条款与政策。常见示例包括但不限于:
|
||||
|
||||
- [Anthropic 使用政策](https://www.anthropic.com/policies)
|
||||
- [Google AI 服务条款](https://policies.google.com/terms)
|
||||
- [阿里云服务条款](https://terms.alibabacloud.com/)
|
||||
- [OpenAI 使用政策](https://openai.com/policies)
|
||||
- [阿里云服务条款](https://terms.alibabacloud.com/)
|
||||
|
||||
## 联系我们
|
||||
|
||||
如对本声明有任何疑问,请通过 GitHub Issues 联系我们。
|
||||
如对本声明有疑问,请通过 GitHub Issues 或项目维护渠道联系。
|
||||
|
||||
@@ -1,41 +1,50 @@
|
||||
---
|
||||
title: 开放平台概览
|
||||
description: 面向开发者与生态合作方的扩展能力
|
||||
title: 扩展接入概览
|
||||
description: 当前只保留插件打包与 Connect 接入说明
|
||||
navigation:
|
||||
icon: i-heroicons-cube-transparent
|
||||
---
|
||||
|
||||
# 开放平台概览
|
||||
|
||||
开放平台面向开发者与生态合作方,用于扩展 Lime 的能力边界。
|
||||
# 扩展接入概览
|
||||
|
||||
::alert{type="info"}
|
||||
如果你是普通创作者,可先跳过本章节。
|
||||
当前这组“扩展接入”文档只保留仍有实现锚点的高级接入说明,不再把插件市场、生态合作流转或未落地的扩展能力写成既成事实。
|
||||
::
|
||||
|
||||
## 平台能力
|
||||
如果你是普通创作者,可以直接跳过本章节。这里面向的是需要扩展 Lime、分发接入包、或让外部系统与 Lime 建立连接的开发者。
|
||||
|
||||
### 插件系统
|
||||
## 当前保留能力
|
||||
|
||||
用于扩展工具、工作流和界面能力。
|
||||
### 插件打包与安装
|
||||
|
||||
[了解更多 →](/open-platform/plugins)
|
||||
当前文档覆盖的是已经落地的插件安装链路:
|
||||
|
||||
### Connect 能力
|
||||
- 本地文件安装
|
||||
- URL 安装
|
||||
- `plugin.json` 清单约束
|
||||
- UI surface 与二进制字段的基础说明
|
||||
|
||||
用于外部平台与 Lime 的配置联动与生态集成。
|
||||
[查看插件打包说明 →](/open-platform/plugin-development)
|
||||
|
||||
[了解更多 →](/open-platform/connect)
|
||||
### Connect 接入
|
||||
|
||||
## 谁适合阅读
|
||||
当前文档覆盖的是已经落地的 Connect 能力:
|
||||
|
||||
- 需要开发自定义插件的团队
|
||||
- 需要对接外部系统的开发者
|
||||
- 需要建设生态能力的合作方
|
||||
- `lime://connect` 深链写入连接参数
|
||||
- relay 注册表校验
|
||||
- 用户确认后保存
|
||||
- 可选 webhook 回调
|
||||
|
||||
[查看 Connect 说明 →](/open-platform/connect)
|
||||
|
||||
## 适合阅读的人
|
||||
|
||||
- 需要打包和分发插件的团队
|
||||
- 需要把外部站点或服务接入 Lime 的开发者
|
||||
- 需要对接 Connect 深链或回调的集成方
|
||||
|
||||
## 快速入口
|
||||
|
||||
- [插件中心](/open-platform/plugins)
|
||||
- [插件开发指南](/open-platform/plugin-development)
|
||||
- [插件打包指南](/open-platform/plugin-development)
|
||||
- [Connect 接入](/open-platform/connect)
|
||||
- [Connect 集成说明](/open-platform/connect-integration)
|
||||
- [Connect 回调字段](/open-platform/connect-webhook)
|
||||
|
||||
@@ -1,38 +0,0 @@
|
||||
---
|
||||
title: 开放平台 - 插件中心
|
||||
description: 面向开发者的插件安装、管理与发布能力
|
||||
navigation:
|
||||
icon: i-heroicons-puzzle-piece
|
||||
---
|
||||
|
||||
# 开放平台 - 插件中心
|
||||
|
||||
::alert{type="info"}
|
||||
本页面向开发者与高级用户。普通创作者可使用用户指南中的插件页。
|
||||
::
|
||||
|
||||
Lime 支持通过插件扩展能力,适用于自定义工具、自动化流程和生态集成。
|
||||
|
||||
## 你可以做什么
|
||||
|
||||
- 安装推荐插件或第三方插件包
|
||||
- 管理插件启用状态与版本
|
||||
- 查看插件加载与执行状态
|
||||
- 在工具入口中使用插件能力
|
||||
|
||||
## 安装方式
|
||||
|
||||
1. 推荐插件一键安装
|
||||
2. 通过 URL 安装 ZIP 包
|
||||
3. 通过本地文件安装 ZIP 包
|
||||
|
||||
## 管理建议
|
||||
|
||||
1. 先安装高频插件,再逐步扩展
|
||||
2. 每次新增插件后做一次功能验证
|
||||
3. 定期清理长期不用的插件
|
||||
|
||||
## 下一步
|
||||
|
||||
- [插件开发指南](/open-platform/plugin-development)
|
||||
- [开放平台概览](/open-platform/overview)
|
||||
@@ -1,44 +1,125 @@
|
||||
---
|
||||
title: 开放平台 - 插件开发指南
|
||||
description: 开发 Lime 插件的规范与最佳实践
|
||||
title: 插件打包指南
|
||||
description: 当前插件安装链路、清单字段与打包约束
|
||||
navigation:
|
||||
icon: i-heroicons-code-bracket-square
|
||||
---
|
||||
|
||||
# 开放平台 - 插件开发指南
|
||||
# 插件打包指南
|
||||
|
||||
::alert{type="info"}
|
||||
本页面向开发者。若你不开发插件,可跳过。
|
||||
本页只记录当前已经落地的插件安装与清单约束。插件市场、审核流、灰度发布和未稳定的原生扩展能力不在当前承诺范围内。
|
||||
::
|
||||
|
||||
本文档说明插件类型、打包方式和开发建议,帮助你把能力稳定接入 Lime。
|
||||
如果你准备给 Lime 打包插件,当前最重要的事实源是安装链路本身:插件包通过本地文件或 URL 进入 Lime,安装器会校验压缩格式并读取包内清单。
|
||||
|
||||
## 插件类型
|
||||
## 当前打包入口
|
||||
|
||||
### 脚本插件
|
||||
当前公开可确认的安装入口只有两类:
|
||||
|
||||
基于 JavaScript/TypeScript,通过 Hook 扩展行为。
|
||||
- 本地文件安装
|
||||
- URL 安装
|
||||
|
||||
### 二进制插件
|
||||
当前安装器接受这些压缩格式:
|
||||
|
||||
通过独立可执行文件提供系统级能力,适合重计算或本地工具集成。
|
||||
- `.zip`
|
||||
- `.tar.gz`
|
||||
- `.tgz`
|
||||
|
||||
## 基础结构
|
||||
建议把“插件根目录”直接打进压缩包,并确保包内能明确定位到 `plugin.json`。
|
||||
|
||||
插件以 ZIP 分发,至少包含:
|
||||
## `plugin.json` 是当前安装清单
|
||||
|
||||
- `plugin.json`:元数据与入口定义
|
||||
- 可选配置文件与资源文件
|
||||
当前安装器会从压缩包中提取并校验 `plugin.json`。对外发布时,建议始终提供这份文件,并在发布前用当前 Lime 版本做一次真实安装验证。
|
||||
|
||||
## 开发建议
|
||||
一个最小示例:
|
||||
|
||||
1. 先做最小可用版本
|
||||
2. 明确输入输出协议
|
||||
3. 做异常与超时处理
|
||||
4. 提供清晰的版本兼容说明
|
||||
```json
|
||||
{
|
||||
"name": "example_plugin",
|
||||
"version": "1.0.0",
|
||||
"plugin_type": "script",
|
||||
"entry": "config.json",
|
||||
"hooks": ["on_request"],
|
||||
"ui": {
|
||||
"surfaces": ["tools"],
|
||||
"entry": "dist/index.js",
|
||||
"title": "Example Plugin"
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
## 发布建议
|
||||
## 当前清单字段
|
||||
|
||||
1. 版本号语义化管理
|
||||
2. 发布前做跨平台验证
|
||||
3. 提供回滚策略与变更日志
|
||||
### 必填基础字段
|
||||
|
||||
- `name`
|
||||
- 不能为空
|
||||
- 只允许字母、数字、连字符和下划线
|
||||
- 长度不能超过 `64`
|
||||
- `version`
|
||||
- 需要满足当前 semver 校验
|
||||
- 当前接受 `x.y`、`x.y.z`、`x.y.z-suffix` 这类格式
|
||||
- `entry`
|
||||
- 不能为空
|
||||
- 表示插件入口文件路径
|
||||
|
||||
### 常用可选字段
|
||||
|
||||
- `description`
|
||||
- `author`
|
||||
- `homepage`
|
||||
- `license`
|
||||
- `min_lime_version`
|
||||
- `config_schema`
|
||||
- `hooks`
|
||||
|
||||
如果声明了 `hooks`,当前只接受由字母、数字、下划线或冒号组成的名称。
|
||||
|
||||
### `plugin_type`
|
||||
|
||||
当前清单 schema 识别这些类型:
|
||||
|
||||
- `script`
|
||||
- `binary`
|
||||
- `native`
|
||||
|
||||
其中当前公开主路径应默认按 `script` 打包;`native` 仍属于预留能力,不建议作为对外稳定发布前提。若使用 `binary`,还需要补充二进制下载与平台映射信息。
|
||||
|
||||
### `ui`
|
||||
|
||||
如果插件需要在 Lime 内暴露界面,可声明 `ui` 段。当前已存在的字段包括:
|
||||
|
||||
- `surfaces`
|
||||
- `icon`
|
||||
- `title`
|
||||
- `entry`
|
||||
- `description`
|
||||
- `default_width`
|
||||
- `default_height`
|
||||
|
||||
`surfaces` 用于声明 UI 入口位置。当前代码中常见的 surface 标识包括 `tools`、`sidebar`、`main`、`settings`;发布前仍应在目标版本中实际验证展示结果。
|
||||
|
||||
### `binary`
|
||||
|
||||
如果插件类型为 `binary`,当前清单还支持补充:
|
||||
|
||||
- `binary_name`
|
||||
- `github_owner`
|
||||
- `github_repo`
|
||||
- `platform_binaries`
|
||||
- `checksum_file`
|
||||
|
||||
这类插件通常还需要分别准备各平台产物,并验证可执行文件权限与下载地址是否可用。
|
||||
|
||||
## 发布前最少检查
|
||||
|
||||
建议至少完成以下检查:
|
||||
|
||||
1. 用当前 Lime 版本做一次真实安装
|
||||
2. 确认 `plugin.json` 能通过安装器校验
|
||||
3. 确认插件能出现在 `已安装插件包`,并在需要时进入 `已加载插件`
|
||||
4. 如果声明了 `ui`,确认目标 surface 能正常出现
|
||||
5. 如果声明了 `min_lime_version`,同步写清最低版本要求
|
||||
|
||||
当前文档只保证“安装链路与字段约束”的说明,不再把尚未稳定的插件生态流程写成既成事实。
|
||||
|
||||
@@ -1,32 +1,37 @@
|
||||
---
|
||||
title: 开放平台 - Connect
|
||||
description: 面向服务提供方的一键配置接入能力
|
||||
title: Connect 接入
|
||||
description: 面向中转服务提供方的 Lime Deep Link 接入说明
|
||||
navigation:
|
||||
icon: i-heroicons-link
|
||||
---
|
||||
|
||||
# 开放平台 - Connect
|
||||
# Connect 接入
|
||||
|
||||
::alert{type="info"}
|
||||
本页面向生态合作方与平台接入方。普通创作者可跳过。
|
||||
本页面面向已进入 Lime Connect 注册表,或准备按当前 Deep Link / webhook 协议接入的中转服务提供方。
|
||||
::
|
||||
|
||||
Connect 通过 Deep Link 提供“一键配置”能力,帮助外部平台将配置快速带入 Lime。
|
||||
Connect 通过 `lime://connect` Deep Link,把外部服务下发的 API Key 一键带入 Lime。
|
||||
|
||||
## 核心价值
|
||||
## 当前边界
|
||||
|
||||
- 用户:减少手动配置步骤
|
||||
- 服务提供方:降低接入门槛
|
||||
- 平台:提升配置成功率
|
||||
当前 Connect 文档只覆盖已经落地的运行时边界:
|
||||
|
||||
## 一键配置流程
|
||||
- `lime://connect` Deep Link 参数
|
||||
- 已注册中转商的展示与确认流程
|
||||
- 可选的统计回调行为
|
||||
|
||||
1. 用户在外部平台点击一键配置
|
||||
2. 浏览器打开 `lime://` 链接
|
||||
3. Lime 弹出确认
|
||||
4. 用户确认后完成导入
|
||||
不再在这里承诺额外的审核、灰度或人工接入流程。
|
||||
|
||||
## 基础协议
|
||||
## 基础流程
|
||||
|
||||
1. 外部服务生成 `lime://connect` 链接
|
||||
2. 用户点击链接后,Lime 解析参数
|
||||
3. Lime 按 `relay` 查询本地已加载的中转商注册表
|
||||
4. 用户确认后,API Key 被保存到 Lime 的当前 Provider 入口
|
||||
5. 若该中转商配置了 webhook,Lime 会异步发送结果回调
|
||||
|
||||
## Deep Link 协议
|
||||
|
||||
```text
|
||||
lime://connect?relay={relay_id}&key={api_key}&name={key_name}&ref={ref_code}
|
||||
@@ -34,12 +39,26 @@ lime://connect?relay={relay_id}&key={api_key}&name={key_name}&ref={ref_code}
|
||||
|
||||
| 参数 | 必填 | 说明 |
|
||||
|------|------|------|
|
||||
| `relay` | ✅ | 服务方唯一标识 |
|
||||
| `key` | ✅ | API Key |
|
||||
| `name` | ❌ | 显示名称 |
|
||||
| `ref` | ❌ | 推广或渠道标记 |
|
||||
| `relay` | ✅ | 中转商唯一标识 |
|
||||
| `key` | ✅ | 下发给用户的 API Key |
|
||||
| `name` | ❌ | 在 Lime 中展示的 Key 名称 |
|
||||
| `ref` | ❌ | 渠道或推广标记,运行时会映射为 `ref_code` |
|
||||
|
||||
## 下一步
|
||||
## 运行时行为
|
||||
|
||||
- `relay` 与 `key` 缺失时,Lime 会拒绝该链接
|
||||
- 中转商已在注册表中时,Lime 会展示品牌、链接和协议等信息
|
||||
- 中转商不在注册表中时,仍会给出未验证提示,但不会自动拥有注册表元数据
|
||||
- 如果该中转商配置了 webhook,用户确认、取消或失败时会触发异步回调
|
||||
|
||||
## 回调与统计
|
||||
|
||||
Connect 回调是可选能力:
|
||||
|
||||
- 未注册的中转商不会发送回调
|
||||
- 注册表中未配置 `webhook.callback_url` 的中转商不会发送回调
|
||||
- 回调地址必须使用 `https://`
|
||||
|
||||
详细字段见:
|
||||
|
||||
- [Connect 接入指南](/open-platform/connect-integration)
|
||||
- [统计回调(Webhook)](/open-platform/connect-webhook)
|
||||
|
||||
@@ -1,45 +0,0 @@
|
||||
---
|
||||
title: 开放平台 - Connect 接入指南
|
||||
description: 外部服务接入 Connect 的实施步骤与字段规范
|
||||
navigation:
|
||||
icon: i-heroicons-wrench-screwdriver
|
||||
---
|
||||
|
||||
# 开放平台 - Connect 接入指南
|
||||
|
||||
::alert{type="info"}
|
||||
本页面向生态合作方技术团队。
|
||||
::
|
||||
|
||||
本文档说明如何把你的服务接入 Connect,并完成一键配置联动。
|
||||
|
||||
## 接入步骤
|
||||
|
||||
1. 准备服务方元数据
|
||||
2. 按规范生成配置文件
|
||||
3. 提交审核或接入申请
|
||||
4. 联调 Deep Link
|
||||
5. 灰度发布并观察回调数据
|
||||
|
||||
## 配置文件建议
|
||||
|
||||
建议包含:
|
||||
|
||||
- 唯一标识与展示信息
|
||||
- 官网与文档链接
|
||||
- API 基础信息
|
||||
- 回调地址(可选)
|
||||
|
||||
## 联调重点
|
||||
|
||||
1. Deep Link 参数完整性
|
||||
2. 用户确认流程体验
|
||||
3. 异常输入的兜底处理
|
||||
4. 回调状态与业务统计一致性
|
||||
|
||||
## 上线前检查
|
||||
|
||||
1. 参数合法性校验
|
||||
2. 失效 Key 的处理策略
|
||||
3. 安全与速率限制策略
|
||||
4. 版本兼容说明
|
||||
@@ -1,58 +1,110 @@
|
||||
---
|
||||
title: 开放平台 - 统计回调(Webhook)
|
||||
description: Connect 回调事件格式与接入建议
|
||||
title: Connect 统计回调(Webhook)
|
||||
description: Connect 回调事件字段与发送行为
|
||||
navigation:
|
||||
icon: i-heroicons-arrow-path-rounded-square
|
||||
---
|
||||
|
||||
# 开放平台 - 统计回调(Webhook)
|
||||
# Connect 统计回调(Webhook)
|
||||
|
||||
::alert{type="info"}
|
||||
本页面向生态合作方技术团队。
|
||||
本页面向已经在 Connect 注册表中配置 webhook 的服务提供方。
|
||||
::
|
||||
|
||||
Webhook 用于回传配置行为结果,帮助你统计接入效果。
|
||||
Connect webhook 用于回传用户在 Lime 中处理 Deep Link 的结果。
|
||||
|
||||
## 回调时机
|
||||
## 什么时候会发送
|
||||
|
||||
常见状态:
|
||||
只有同时满足以下条件时,Lime 才会发送回调:
|
||||
|
||||
- `success`:用户确认并配置成功
|
||||
- `cancelled`:用户取消
|
||||
- `error`:执行失败
|
||||
1. `relay` 能在注册表中找到
|
||||
2. 该中转商配置了 `webhook.callback_url`
|
||||
3. `callback_url` 为 `https://`
|
||||
|
||||
## 请求示例
|
||||
如果任一条件不满足,Lime 会直接跳过,不会阻塞主流程。
|
||||
|
||||
```http
|
||||
POST https://your-domain.com/lime/callback
|
||||
Content-Type: application/json
|
||||
## 状态类型
|
||||
|
||||
- `success`
|
||||
用户确认并成功保存 API Key
|
||||
- `cancelled`
|
||||
用户取消添加
|
||||
- `error`
|
||||
保存流程失败
|
||||
|
||||
## Payload 字段
|
||||
|
||||
成功或取消时,Lime 会发送如下 JSON:
|
||||
|
||||
```json
|
||||
{
|
||||
"event": "connect",
|
||||
"status": "success",
|
||||
"relay_id": "your-relay",
|
||||
"ref": "campaign-2026",
|
||||
"timestamp": "2026-02-16T10:00:00Z"
|
||||
"ref_code": "campaign-2026",
|
||||
"key_prefix": "sk-abc12",
|
||||
"timestamp": "2026-04-19T10:00:00Z",
|
||||
"client": {
|
||||
"version": "x.y.z",
|
||||
"platform": "macos"
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
## 字段建议
|
||||
错误时会额外包含:
|
||||
|
||||
- `event`:事件类型
|
||||
- `status`:状态值
|
||||
- `relay_id`:服务方标识
|
||||
- `ref`:渠道标记
|
||||
- `timestamp`:事件时间
|
||||
```json
|
||||
{
|
||||
"event": "connect",
|
||||
"status": "error",
|
||||
"relay_id": "your-relay",
|
||||
"key_prefix": "sk-abc12",
|
||||
"timestamp": "2026-04-19T10:00:00Z",
|
||||
"client": {
|
||||
"version": "x.y.z",
|
||||
"platform": "windows"
|
||||
},
|
||||
"error_code": "SAVE_FAILED",
|
||||
"error_message": "failed to persist api key"
|
||||
}
|
||||
```
|
||||
|
||||
## 安全建议
|
||||
字段说明:
|
||||
|
||||
1. 仅接受 HTTPS 回调
|
||||
2. 校验来源与参数完整性
|
||||
3. 对回调做幂等处理
|
||||
4. 记录失败重试日志
|
||||
- `event`
|
||||
固定为 `connect`
|
||||
- `status`
|
||||
`success` / `cancelled` / `error`
|
||||
- `relay_id`
|
||||
中转商标识
|
||||
- `ref_code`
|
||||
可选渠道标记,对应 Deep Link 中的 `ref`
|
||||
- `key_prefix`
|
||||
仅保留前 7 位的脱敏 Key 前缀
|
||||
- `timestamp`
|
||||
UTC 时间
|
||||
- `client.version`
|
||||
Lime 当前版本
|
||||
- `client.platform`
|
||||
`macos` / `windows` / `linux`
|
||||
- `error_code`
|
||||
仅 `error` 时返回
|
||||
- `error_message`
|
||||
仅 `error` 时返回
|
||||
|
||||
## 监控建议
|
||||
## 安全边界
|
||||
|
||||
1. 统计成功率与取消率
|
||||
2. 跟踪错误类型占比
|
||||
3. 区分渠道来源效果
|
||||
- Lime 不为该回调增加额外签名
|
||||
- 接收方应自行校验 `https://` 来源、参数完整性与幂等
|
||||
- 若需要确认请求是否属于自己下发的 Key,可校验 `key_prefix`
|
||||
|
||||
## 重试行为
|
||||
|
||||
回调发送为异步行为,默认会按以下节奏重试:
|
||||
|
||||
1. 立即发送
|
||||
2. 60 秒后重试
|
||||
3. 300 秒后重试
|
||||
4. 1800 秒后最后一次重试
|
||||
|
||||
发送失败不会阻塞用户在 Lime 中的主操作。
|
||||
|
||||
+21
-38
@@ -1,53 +1,36 @@
|
||||
---
|
||||
title: Lime 文档中心
|
||||
description: 创作类 AI Agent 平台文档,从灵感到发布的一站式指南
|
||||
title: Lime 文档站
|
||||
description: LimeNext V2 对外文档正在重建,当前只保留少量进阶页与法律说明
|
||||
navigation: false
|
||||
---
|
||||
|
||||
# Lime 文档中心
|
||||
# Lime 文档站重建中
|
||||
|
||||
Lime 是创作类 AI Agent 平台。
|
||||
你可以在同一个工作台里完成对话、创作、Claw 素材与图片任务、项目沉淀和资源复用。
|
||||
`content/` 已进入 LimeNext V2 重建阶段。
|
||||
旧版围绕 `AI Agent / 工作台 / 项目 / 资源库 / Claw` 的入门与导航文档已下线,避免继续传播过时的产品结构与命名。
|
||||
|
||||
## 从这里开始
|
||||
## 当前口径
|
||||
|
||||
1. [概述](/introduction/overview):先了解平台能帮你完成什么
|
||||
2. [安装指南](/introduction/installation):安装到本地桌面
|
||||
3. [快速开始](/introduction/quickstart):3 步走完首次创作
|
||||
当前对外文档默认采用以下口径:
|
||||
|
||||
## 九类工作区主题
|
||||
1. Lime 是“本地优先的内容闭环 Agent 系统”
|
||||
2. 前台主词固定为 `技能 / 灵感库 / 生成`
|
||||
3. `生成` 是唯一主执行面
|
||||
4. 先讲任务闭环与结果推进,再讲连接、协议和扩展能力
|
||||
|
||||
| 主题 | 常见产出 |
|
||||
|------|----------|
|
||||
| 通用对话 | 灵感梳理、问题分析、方案草稿 |
|
||||
| 社媒内容 | 选题、标题、多平台文案 |
|
||||
| 图文海报 | 主视觉文案、配图方向、活动海报内容 |
|
||||
| 歌词曲谱 | 主题歌词、段落续写、风格改编 |
|
||||
| 知识探索 | 知识卡片、结构化总结、学习资料 |
|
||||
| 计划规划 | 周计划、项目拆解、执行清单 |
|
||||
| 办公文档 | 报告、方案、邮件、纪要 |
|
||||
| 短视频 | 脚本、分镜、口播稿 |
|
||||
| 小说创作 | 设定、章节、人物对白 |
|
||||
## 当前保留内容
|
||||
|
||||
## 常用功能入口
|
||||
当前仅保留仍与实现锚点对齐、且不会直接误导前台叙事的少量页面:
|
||||
|
||||
- [首页与工作台](/user-guide/dashboard)
|
||||
- [资源库](/user-guide/resources)
|
||||
- [运行时 AGENTS 规则](/user-guide/runtime-agents)
|
||||
- [图片生成与素材链路](/user-guide/image-generation)
|
||||
- [设置](/user-guide/settings)
|
||||
- [MCP 工具扩展](/user-guide/mcp)
|
||||
- [插件中心](/user-guide/plugins)
|
||||
- [Gateway 公共隧道与飞书 Webhook](/user-guide/gateway-tunnel-webhook)
|
||||
- [模型连接概览](/providers/overview)
|
||||
- [API 概览](/api-reference/overview)
|
||||
- [扩展接入概览](/open-platform/overview)
|
||||
- [免责声明](/legal/disclaimer)
|
||||
|
||||
## 进阶能力(可选)
|
||||
## 后续说明
|
||||
|
||||
当你需要更深度的模型接入或工程能力时,可继续阅读:
|
||||
|
||||
- [Provider 概述](/providers/overview)
|
||||
- [API 参考](/api-reference/overview)
|
||||
- [开放平台](/open-platform/overview)
|
||||
- [故障排查](/troubleshooting/common-issues)
|
||||
|
||||
## 免责声明
|
||||
|
||||
请在合法合规前提下使用本产品。
|
||||
完整说明见 [免责声明](/legal/disclaimer)。
|
||||
后续若继续恢复普通创作者向的对外文档,应直接按 LimeNext V2 当前路线重写,不再回收旧版 `content/` 页面。
|
||||
|
||||
Reference in New Issue
Block a user