mirror of
https://github.com/lobehub/lobe-chat.git
synced 2026-06-14 11:40:07 +00:00
Compare commits
3 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| eb2caee5ff | |||
| a528470542 | |||
| e2f221adcf |
@@ -1,6 +1,6 @@
|
||||
---
|
||||
description: 包含添加 console.log 日志请求时
|
||||
globs:
|
||||
description: 包含添加 debug 日志请求时
|
||||
globs:
|
||||
alwaysApply: false
|
||||
---
|
||||
# Debug 包使用指南
|
||||
|
||||
@@ -1,35 +0,0 @@
|
||||
---
|
||||
description: Explain how group chat works in LobeHub (Multi-agent orchestratoin)
|
||||
globs:
|
||||
alwaysApply: false
|
||||
---
|
||||
|
||||
This rule explains how group chat (multi-agent orchestration) works. Not confused with session group, which is a organization method to manage session.
|
||||
|
||||
## Key points
|
||||
|
||||
- A supervisor will devide who and how will speak next
|
||||
- Each agent will speak just like in single chat (if was asked to speak)
|
||||
- Not coufused with session group
|
||||
|
||||
## Related Files
|
||||
|
||||
- src/store/chat/slices/message/supervisor.ts
|
||||
- src/store/chat/slices/aiChat/actions/generateAIGroupChat.ts
|
||||
- src/prompts/groupChat/index.ts (All prompts here)
|
||||
|
||||
## Snippets
|
||||
|
||||
```tsx
|
||||
// Detect whether in group chat
|
||||
const isGroupSession = useSessionStore(sessionSelectors.isCurrentSessionGroupSession);
|
||||
|
||||
// Member actions
|
||||
const addAgentsToGroup = useChatGroupStore((s) => s.addAgentsToGroup);
|
||||
const removeAgentFromGroup = useChatGroupStore((s) => s.removeAgentFromGroup);
|
||||
const persistReorder = useChatGroupStore((s) => s.reorderGroupMembers);
|
||||
|
||||
// Get group info
|
||||
const groupConfig = useChatGroupStore(chatGroupSelectors.currentGroupConfig);
|
||||
const currentGroupMemebers = useSessionStore(sessionSelectors.currentGroupAgents);
|
||||
```
|
||||
+93
-95
@@ -2,115 +2,117 @@
|
||||
globs: *.tsx
|
||||
alwaysApply: false
|
||||
---
|
||||
# LobeChat Internationalization Guide
|
||||
# LobeChat 国际化指南
|
||||
|
||||
## Key Points
|
||||
## 架构概览
|
||||
|
||||
- Default language: Chinese (zh-CN) as the source language
|
||||
- Supported languages: 18 languages including English, Japanese, Korean, Arabic, etc.
|
||||
- Framework: react-i18next with Next.js app router
|
||||
- Translation automation: @lobehub/i18n-cli for automatic translation, config file: .i18nrc.js
|
||||
- Never manually modify any json file. You can only modify files in `default` folder
|
||||
LobeChat 使用 react-i18next 进行国际化,采用良好的命名空间架构:
|
||||
|
||||
## Directory Structure
|
||||
- 默认语言:中文(zh-CN),作为源语言
|
||||
- 支持语言:18 种语言,包括英语、日语、韩语、阿拉伯语等
|
||||
- 框架:react-i18next 配合 Next.js app router
|
||||
- 翻译自动化:@lobehub/i18n-cli 用于自动翻译,配置文件:.i18nrc.js
|
||||
|
||||
## 目录结构
|
||||
|
||||
```
|
||||
src/locales/
|
||||
├── default/ # Source language files (zh-CN)
|
||||
│ ├── index.ts # Namespace exports
|
||||
│ ├── common.ts # Common translations
|
||||
│ ├── chat.ts # Chat-related translations
|
||||
│ ├── setting.ts # Settings translations
|
||||
│ └── ... # Other namespace files
|
||||
└── resources.ts # Type definitions and language configuration
|
||||
├── default/ # 源语言文件(zh-CN)
|
||||
│ ├── index.ts # 命名空间导出
|
||||
│ ├── common.ts # 通用翻译
|
||||
│ ├── chat.ts # 聊天相关翻译
|
||||
│ ├── setting.ts # 设置翻译
|
||||
│ └── ... # 其他命名空间文件
|
||||
└── resources.ts # 类型定义和语言配置
|
||||
|
||||
locales/ # Translation files
|
||||
├── en-US/ # English translations
|
||||
│ ├── common.json # Common translations
|
||||
│ ├── chat.json # Chat translations
|
||||
│ ├── setting.json # Settings translations
|
||||
│ └── ... # Other namespace JSON files
|
||||
├── ja-JP/ # Japanese translations
|
||||
locales/ # 翻译文件
|
||||
├── en-US/ # 英语翻译
|
||||
│ ├── common.json # 通用翻译
|
||||
│ ├── chat.json # 聊天翻译
|
||||
│ ├── setting.json # 设置翻译
|
||||
│ └── ... # 其他命名空间 JSON 文件
|
||||
├── ja-JP/ # 日语翻译
|
||||
│ ├── common.json
|
||||
│ ├── chat.json
|
||||
│ └── ...
|
||||
└── ... # Other language folders
|
||||
└── ... # 其他语言文件夹
|
||||
```
|
||||
|
||||
## Workflow for Adding New Translations
|
||||
## 添加新翻译的工作流程
|
||||
|
||||
### 1. Adding New Translation Keys
|
||||
### 1. 添加新的翻译键
|
||||
|
||||
Step 1: Add translation keys in the corresponding namespace files under src/locales/default directory
|
||||
第一步:在 src/locales/default 目录下的相应命名空间文件中添加翻译键
|
||||
|
||||
```typescript
|
||||
// Example: src/locales/default/common.ts
|
||||
// 示例:src/locales/default/common.ts
|
||||
export default {
|
||||
// ... existing keys
|
||||
newFeature: {
|
||||
title: '新功能标题',
|
||||
description: '功能描述文案',
|
||||
button: '操作按钮',
|
||||
},
|
||||
// ... 现有键
|
||||
newFeature: {
|
||||
title: "新功能标题",
|
||||
description: "功能描述文案",
|
||||
button: "操作按钮",
|
||||
},
|
||||
};
|
||||
```
|
||||
|
||||
Step 2: If creating a new namespace, export it in src/locales/default/index.ts
|
||||
第二步:如果创建新命名空间,需要在 src/locales/default/index.ts 中导出
|
||||
|
||||
```typescript
|
||||
import newNamespace from './newNamespace';
|
||||
import newNamespace from "./newNamespace";
|
||||
|
||||
const resources = {
|
||||
// ... existing namespaces
|
||||
newNamespace,
|
||||
// ... 现有命名空间
|
||||
newNamespace,
|
||||
} as const;
|
||||
```
|
||||
|
||||
### 2. Translation Process
|
||||
### 2. 翻译过程
|
||||
|
||||
Development mode:
|
||||
开发模式:
|
||||
|
||||
Generally, you don't need to help me run the automatic translation tool as it takes a long time. I'll run it myself when needed. However, to see immediate results, you still need to translate `locales/zh-CN/namespace.json` first, no need to translate other languages.
|
||||
一般情况下不需要你帮我跑自动翻译工具,跑一次很久,需要的时候我会自己跑。
|
||||
但是为了立马能看到效果,还是需要先翻译 `locales/zh-CN/namespace.json`,不需要翻译其它语言。
|
||||
|
||||
Production mode:
|
||||
生产模式:
|
||||
|
||||
```bash
|
||||
# Generate translations for all languages
|
||||
# 为所有语言生成翻译
|
||||
npm run i18n
|
||||
```
|
||||
|
||||
## Usage in Components
|
||||
## 在组件中使用
|
||||
|
||||
### Basic Usage
|
||||
### 基本用法
|
||||
|
||||
```tsx
|
||||
import { useTranslation } from 'react-i18next';
|
||||
import { useTranslation } from "react-i18next";
|
||||
|
||||
const MyComponent = () => {
|
||||
const { t } = useTranslation('common');
|
||||
const { t } = useTranslation("common");
|
||||
|
||||
return (
|
||||
<div>
|
||||
<h1>{t('newFeature.title')}</h1>
|
||||
<p>{t('newFeature.description')}</p>
|
||||
<button>{t('newFeature.button')}</button>
|
||||
</div>
|
||||
);
|
||||
return (
|
||||
<div>
|
||||
<h1>{t("newFeature.title")}</h1>
|
||||
<p>{t("newFeature.description")}</p>
|
||||
<button>{t("newFeature.button")}</button>
|
||||
</div>
|
||||
);
|
||||
};
|
||||
```
|
||||
|
||||
### Usage with Parameters
|
||||
### 带参数的用法
|
||||
|
||||
```tsx
|
||||
const { t } = useTranslation('common');
|
||||
const { t } = useTranslation("common");
|
||||
|
||||
<p>{t('welcome.message', { name: 'John' })}</p>;
|
||||
<p>{t("welcome.message", { name: "John" })}</p>;
|
||||
|
||||
// Corresponding language file:
|
||||
// welcome: { message: 'Welcome {{name}}!' }
|
||||
// 对应的语言文件:
|
||||
// welcome: { message: '欢迎 {{name}} 使用!' }
|
||||
```
|
||||
|
||||
### Multiple Namespaces
|
||||
### 多个命名空间
|
||||
|
||||
```tsx
|
||||
const { t } = useTranslation(['common', 'chat']);
|
||||
@@ -119,63 +121,59 @@ const { t } = useTranslation(['common', 'chat']);
|
||||
<span>{t('chat:typing')}</span>
|
||||
```
|
||||
|
||||
## Type Safety
|
||||
## 类型安全
|
||||
|
||||
The project uses TypeScript to implement type-safe translations, with types automatically generated from src/locales/resources.ts:
|
||||
项目使用 TypeScript 实现类型安全的翻译,类型从 src/locales/resources.ts 自动生成:
|
||||
|
||||
```typescript
|
||||
import type { DefaultResources, Locales, NS } from '@/locales/resources';
|
||||
import type { DefaultResources, NS, Locales } from "@/locales/resources";
|
||||
|
||||
// Available types:
|
||||
// - NS: Available namespace keys ('common' | 'chat' | 'setting' | ...)
|
||||
// - Locales: Supported language codes ('en-US' | 'zh-CN' | 'ja-JP' | ...)
|
||||
// 可用类型:
|
||||
// - NS: 可用命名空间键 ('common' | 'chat' | 'setting' | ...)
|
||||
// - Locales: 支持的语言代码 ('en-US' | 'zh-CN' | 'ja-JP' | ...)
|
||||
|
||||
const namespace: NS = 'common';
|
||||
const locale: Locales = 'en-US';
|
||||
const namespace: NS = "common";
|
||||
const locale: Locales = "en-US";
|
||||
```
|
||||
|
||||
## Best Practices
|
||||
## 最佳实践
|
||||
|
||||
### 1. Namespace Organization
|
||||
### 1. 命名空间组织
|
||||
|
||||
- common: Shared UI elements (buttons, labels, actions)
|
||||
- chat: Chat-specific functionality
|
||||
- setting: Configuration and settings
|
||||
- error: Error messages and handling
|
||||
- [feature]: Feature-specific or page-specific namespaces
|
||||
- components: Reusable component text
|
||||
- common: 共享 UI 元素(按钮、标签、操作)
|
||||
- chat: 聊天特定功能
|
||||
- setting: 配置和设置
|
||||
- error: 错误消息和处理
|
||||
- [feature]: 功能特定或页面特定的命名空间
|
||||
- components: 可复用组件文案
|
||||
|
||||
### 2. Key Naming Conventions
|
||||
### 2. 键命名约定
|
||||
|
||||
```typescript
|
||||
// ✅ Good: Hierarchical structure
|
||||
// ✅ 好:层次结构
|
||||
export default {
|
||||
modal: {
|
||||
confirm: {
|
||||
title: '确认操作',
|
||||
message: '确定要执行此操作吗?',
|
||||
actions: {
|
||||
confirm: '确认',
|
||||
cancel: '取消',
|
||||
},
|
||||
modal: {
|
||||
confirm: {
|
||||
title: "确认操作",
|
||||
message: "确定要执行此操作吗?",
|
||||
actions: {
|
||||
confirm: "确认",
|
||||
cancel: "取消",
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
};
|
||||
|
||||
// ❌ Avoid: Flat structure
|
||||
// ❌ 避免:扁平结构
|
||||
export default {
|
||||
modalConfirmTitle: '确认操作',
|
||||
modalConfirmMessage: '确定要执行此操作吗?',
|
||||
modalConfirmTitle: "确认操作",
|
||||
modalConfirmMessage: "确定要执行此操作吗?",
|
||||
};
|
||||
```
|
||||
|
||||
## Troubleshooting
|
||||
## 故障排除
|
||||
|
||||
### Missing Translation Keys
|
||||
|
||||
- Check if the key exists in src/locales/default/namespace.ts
|
||||
- Ensure the namespace is correctly imported in the component
|
||||
- Ensure new namespaces are exported in src/locales/default/index.ts
|
||||
### 缺少翻译键
|
||||
|
||||
- 检查键是否存在于 src/locales/default/namespace.ts 中
|
||||
- 确保在组件中正确导入命名空间
|
||||
|
||||
@@ -18,13 +18,13 @@ The project uses the following technologies:
|
||||
- Next.js 15 for frontend and backend, using app router instead of pages router
|
||||
- react 19, using hooks, functional components, react server components
|
||||
- TypeScript programming language
|
||||
- antd, `@lobehub/ui` for component framework
|
||||
- antd, @lobehub/ui for component framework
|
||||
- antd-style for css-in-js framework
|
||||
- react-layout-kit for flex layout
|
||||
- react-i18next for i18n
|
||||
- lucide-react, `@ant-design/icons` for icons
|
||||
- `@lobehub/icons` for AI provider/model logo icon
|
||||
- `@formkit/auto-animate` for react list animation
|
||||
- lucide-react, @ant-design/icons for icons
|
||||
- @lobehub/icons for AI provider/model logo icon
|
||||
- @formkit/auto-animate for react list animation
|
||||
- zustand for global state management
|
||||
- nuqs for type-safe search params state manager
|
||||
- SWR for react data fetch
|
||||
|
||||
@@ -19,15 +19,12 @@ lobe-chat/
|
||||
│ ├── development/ # Development docs
|
||||
│ ├── self-hosting/ # Self-hosting docs
|
||||
│ └── usage/ # Usage guides
|
||||
├── locales/ # Internationalization files (multiple locales)
|
||||
│ ├── en-US/ # English (example)
|
||||
│ └── zh-CN/ # Simplified Chinese (example)
|
||||
├── locales/ # Internationalization files
|
||||
│ ├── en-US/ # English
|
||||
│ └── zh-CN/ # Simplified Chinese
|
||||
├── packages/ # Monorepo packages directory
|
||||
│ ├── const/ # Constants definition package
|
||||
│ ├── database/ # Database related package
|
||||
│ ├── electron-client-ipc/ # Electron renderer ↔ main IPC client
|
||||
│ ├── electron-server-ipc/ # Electron main process IPC server
|
||||
│ ├── model-bank/ # Built-in model presets/catalog exports
|
||||
│ ├── model-runtime/ # AI model runtime package
|
||||
│ ├── types/ # TypeScript type definitions
|
||||
│ ├── utils/ # Utility functions package
|
||||
@@ -40,6 +37,7 @@ lobe-chat/
|
||||
│ └── screenshots/ # Application screenshots
|
||||
├── scripts/ # Build and tool scripts
|
||||
├── src/ # Main application source code (see below)
|
||||
├── tests/ # Test configuration
|
||||
├── .cursor/ # Cursor AI configuration
|
||||
├── docker-compose/ # Docker configuration
|
||||
├── package.json # Project dependencies
|
||||
@@ -62,7 +60,6 @@ src/
|
||||
│ │ ├── oidc/ # OpenID Connect endpoints
|
||||
│ │ ├── trpc/ # tRPC API routes
|
||||
│ │ │ ├── async/ # Async tRPC endpoints
|
||||
│ │ │ ├── desktop/ # Desktop runtime endpoints
|
||||
│ │ │ ├── edge/ # Edge runtime endpoints
|
||||
│ │ │ ├── lambda/ # Lambda runtime endpoints
|
||||
│ │ │ └── tools/ # Tools-specific endpoints
|
||||
@@ -89,7 +86,7 @@ src/
|
||||
│ ├── Error/ # Error handling components
|
||||
│ └── Loading/ # Loading state components
|
||||
├── config/ # Application configuration
|
||||
│ ├── featureFlags/ # Feature flags & experiments
|
||||
│ ├── aiModels/ # AI model configurations
|
||||
│ └── modelProviders/ # Model provider configurations
|
||||
├── features/ # Feature components (UI Layer)
|
||||
│ ├── AgentSetting/ # Agent configuration and management
|
||||
@@ -112,10 +109,7 @@ src/
|
||||
│ ├── modules/ # Server modules
|
||||
│ ├── routers/ # tRPC routers
|
||||
│ └── services/ # Server services
|
||||
├── services/ # Service layer (per-domain, client/server split)
|
||||
│ ├── user/ # User services
|
||||
│ │ ├── client.ts # Client DB (PGLite) implementation
|
||||
│ │ └── server.ts # Server DB implementation (via tRPC)
|
||||
├── services/ # Client service layer
|
||||
│ ├── aiModel/ # AI model services
|
||||
│ ├── session/ # Session services
|
||||
│ └── message/ # Message services
|
||||
@@ -168,15 +162,43 @@ packages/
|
||||
└── web-crawler/ # Web crawling functionality
|
||||
```
|
||||
|
||||
## Architecture Map
|
||||
## Architecture Layers
|
||||
|
||||
- Presentation: `src/features`, `src/components`, `src/layout` — UI composition, global providers
|
||||
- State: `src/store` — Zustand slices, selectors, middleware
|
||||
- Client Services: `src/services/<domain>/{client|server}.ts` — client: PGLite; server: tRPC bridge
|
||||
- API Routers: `src/app/(backend)/webapi` (REST), `src/app/(backend)/trpc/{edge|lambda|async|desktop|tools}`; Lambda router triggers Async router for long-running tasks (e.g., image)
|
||||
- Server Services: `src/server/services` (business logic), `src/server/modules` (infra adapters)
|
||||
- Data Access: `packages/database/src/{schemas,models,repositories}` — Schema (Drizzle), Model (CRUD), Repository (complex queries)
|
||||
- Integrations: `src/libs` — analytics, auth, trpc, logging, runtime helpers
|
||||
### 1. **Presentation Layer**
|
||||
|
||||
- Business-specific feature components and reusable UI components
|
||||
- Global layout providers and responsive design wrappers
|
||||
|
||||
### 2. **State Management Layer**
|
||||
|
||||
- Zustand-based client state with domain-specific slices
|
||||
- Actions and selectors for predictable state updates
|
||||
|
||||
### 3. **Client Service Layer**
|
||||
|
||||
- Environment-adaptive services (local Model vs remote tRPC)
|
||||
- Dual implementation pattern for multi-runtime compatibility
|
||||
|
||||
### 4. **API Interface Layer**
|
||||
|
||||
- Type-safe tRPC routers organized by runtime environment
|
||||
- Request routing and validation
|
||||
|
||||
### 5. **Server Service Layer**
|
||||
|
||||
- Platform-agnostic business logic with implementation abstractions
|
||||
- Reusable, testable service composition
|
||||
|
||||
### 6. **Data Access Layer**
|
||||
|
||||
- **Repository**: Complex queries, joins, and transaction management
|
||||
- **Model**: Basic CRUD operations and single-table queries
|
||||
- **Schema**: Drizzle ORM definitions and migration management
|
||||
|
||||
### 7. **Integration & Extensions**
|
||||
|
||||
- **External**: Third-party service integrations and library wrappers
|
||||
- **Built-in**: AI runtime, tool system, file processing, and web crawling
|
||||
|
||||
## Data Flow Architecture
|
||||
|
||||
@@ -203,37 +225,3 @@ _\*Depends on cloud sync configuration_
|
||||
|
||||
- **Type Safety**: End-to-end type safety via tRPC and Drizzle ORM
|
||||
- **Local/Remote Dual Mode**: PGLite enables user data ownership and local control
|
||||
|
||||
## Quick Map
|
||||
|
||||
- App Routes: `src/app` — UI routes (App Router) and backend routes under `(backend)`
|
||||
- Web API: `src/app/(backend)/webapi` — REST-like endpoints
|
||||
- tRPC Routers: `src/server/routers` — typed RPC endpoints by runtime
|
||||
- Client Services: `src/services` — environment-adaptive client-side business logic
|
||||
- Server Services: `src/server/services` — platform-agnostic business logic
|
||||
- Database: `packages/database` — schemas/models/repositories/migrations
|
||||
- State: `src/store` — Zustand stores and slices
|
||||
- Integrations: `src/libs` — analytics/auth/trpc/logging/runtime helpers
|
||||
- Tools: `src/tools` — built-in tool system
|
||||
|
||||
## Common Tasks
|
||||
|
||||
- Add Web API route: `src/app/(backend)/webapi/<module>/route.ts`
|
||||
- Add tRPC endpoint: `src/server/routers/{edge|lambda|desktop}/...`
|
||||
- Add client/server service: `src/services/<domain>/{client|server}.ts` (client: PGLite; server: tRPC)
|
||||
- Add server service: `src/server/services/<domain>`
|
||||
- Add a new model/provider: `src/config/modelProviders/<provider>.ts` + `packages/model-bank/src/aiModels/<provider>.ts` + `packages/model-runtime/src/<provider>/index.ts`
|
||||
- Add DB schema/model/repository: `packages/database/src/{schemas|models|repositories}`
|
||||
- Add Zustand slice: `src/store/<domain>/slices`
|
||||
|
||||
## Env Modes
|
||||
|
||||
- `NEXT_PUBLIC_CLIENT_DB`: selects client DB mode (e.g., `pglite`) vs server-backed
|
||||
- `NEXT_PUBLIC_IS_DESKTOP_APP`: enables desktop-specific routes and behavior
|
||||
- `NEXT_PUBLIC_SERVICE_MODE`: controls service routing preference (client/server)
|
||||
|
||||
## Boundaries
|
||||
|
||||
- Keep client logic in `src/services`; server-only logic stays in `src/server/services`
|
||||
- Don’t mix Web API (`webapi/`) with tRPC (`src/server/routers/`)
|
||||
- Place business UI under `src/features`, global reusable UI under `src/components`
|
||||
|
||||
@@ -9,7 +9,6 @@ alwaysApply: false
|
||||
- 如果要写复杂样式的话用 antd-style ,简单的话可以用 style 属性直接写内联样式
|
||||
- 如果需要 flex 布局或者居中布局应该使用 react-layout-kit 的 Flexbox 和 Center 组件
|
||||
- 选择组件时优先顺序应该是 src/components > 安装的组件 package > lobe-ui > antd
|
||||
- 使用 selector 访问 zustand store 的数据,而不是直接从 store 获取
|
||||
|
||||
## antd-style token system
|
||||
|
||||
@@ -86,9 +85,9 @@ const Card: FC<CardProps> = ({ title, content }) => {
|
||||
|
||||
## Lobe UI 包含的组件
|
||||
|
||||
- 不知道 `@lobehub/ui` 的组件怎么用,有哪些属性,就自己搜下这个项目其它地方怎么用的,不要瞎猜,大部分组件都是在 antd 的基础上扩展了属性
|
||||
- 不知道 @lobehub/ui 的组件怎么用,有哪些属性,就自己搜下这个项目其它地方怎么用的,不要瞎猜,大部分组件都是在 antd 的基础上扩展了属性
|
||||
- 具体用法不懂可以联网搜索,例如 ActionIcon 就爬取 https://ui.lobehub.com/components/action-icon
|
||||
- 可以阅读 `node_modules/@lobehub/ui/es/index.js` 了解有哪些组件,每个组件的属性是什么
|
||||
- 可以阅读 node_modules/@lobehub/ui/es/index.js 了解有哪些组件,每个组件的属性是什么
|
||||
|
||||
- General
|
||||
- ActionIcon
|
||||
|
||||
@@ -67,19 +67,10 @@ vitest test-file.test.ts
|
||||
|
||||
### 核心原则
|
||||
|
||||
1. **收集足够的上下文**
|
||||
在修复测试之前,务必做到:
|
||||
- 完整理解测试的意图和实现
|
||||
- 强烈建议阅读当前的 git diff 和 PR diff
|
||||
|
||||
2. **测试优先修复**
|
||||
如果是测试本身写错了,应优先修改测试,而不是实现代码。
|
||||
|
||||
3. **专注单一问题**
|
||||
只修复指定的测试,不要顺带添加额外测试。
|
||||
|
||||
4. **不自作主张**
|
||||
发现其他问题时,不要直接修改,需先提出并讨论。
|
||||
1. **充分阅读测试代码**: 在修复测试之前,必须完整理解测试的意图和实现
|
||||
2. **测试优先修复**: 如果是测试本身写错了,修改测试而不是实现代码
|
||||
3. **专注单一问题**: 只修复指定的测试,不要添加额外测试或功能
|
||||
4. **不自作主张**: 不要因为发现其他问题就直接修改,先提出再讨论
|
||||
|
||||
### 测试协作最佳实践
|
||||
|
||||
@@ -300,7 +291,7 @@ beforeEach(() => {
|
||||
naturalWidth: 800,
|
||||
}));
|
||||
vi.stubGlobal('Image', mockImage);
|
||||
|
||||
|
||||
// 现代方法2:使用vi.spyOn保留原功能,只mock特定方法
|
||||
vi.spyOn(URL, 'createObjectURL').mockReturnValue('blob:mock-url');
|
||||
vi.spyOn(URL, 'revokeObjectURL').mockImplementation(() => {});
|
||||
@@ -321,8 +312,8 @@ global.Image = mockImage;
|
||||
global.URL = { ...global.URL, createObjectURL: mockFn };
|
||||
|
||||
// ✅ 现代方法:类型安全的vi API
|
||||
vi.stubGlobal('Image', mockImage); // 完全替换全局对象
|
||||
vi.spyOn(URL, 'createObjectURL'); // 部分mock,保留其他功能
|
||||
vi.stubGlobal('Image', mockImage); // 完全替换全局对象
|
||||
vi.spyOn(URL, 'createObjectURL'); // 部分mock,保留其他功能
|
||||
```
|
||||
|
||||
### 测试覆盖率原则:代码分支优于用例数量
|
||||
@@ -333,16 +324,16 @@ vi.spyOn(URL, 'createObjectURL'); // 部分mock,保留其他功能
|
||||
// ❌ 过度测试:29个测试用例都验证相同分支
|
||||
describe('getImageDimensions', () => {
|
||||
it('should reject .txt files');
|
||||
it('should reject .pdf files');
|
||||
it('should reject .pdf files');
|
||||
// ... 25个类似测试,都走相同的验证分支
|
||||
});
|
||||
|
||||
// ✅ 精简测试:4个核心用例覆盖所有分支
|
||||
describe('getImageDimensions', () => {
|
||||
it('should return dimensions for valid File object'); // 成功路径 - File
|
||||
it('should return dimensions for valid data URI'); // 成功路径 - String
|
||||
it('should return undefined for invalid inputs'); // 输入验证分支
|
||||
it('should return undefined when image fails to load'); // 错误处理分支
|
||||
it('should return dimensions for valid File object'); // 成功路径 - File
|
||||
it('should return dimensions for valid data URI'); // 成功路径 - String
|
||||
it('should return undefined for invalid inputs'); // 输入验证分支
|
||||
it('should return undefined when image fails to load'); // 错误处理分支
|
||||
});
|
||||
```
|
||||
|
||||
@@ -354,7 +345,6 @@ describe('getImageDimensions', () => {
|
||||
4. **业务逻辑** - 覆盖所有if/else分支
|
||||
|
||||
**合理测试数量**
|
||||
|
||||
- 简单工具函数:2-5个测试
|
||||
- 复杂业务逻辑:5-10个测试
|
||||
- 核心安全功能:适当增加,但避免重复路径
|
||||
@@ -368,12 +358,10 @@ describe('getImageDimensions', () => {
|
||||
```typescript
|
||||
// ✅ 测试错误类型和属性
|
||||
expect(() => validateUser({})).toThrow(ValidationError);
|
||||
expect(() => processPayment({})).toThrow(
|
||||
expect.objectContaining({
|
||||
code: 'INVALID_PAYMENT_DATA',
|
||||
statusCode: 400,
|
||||
}),
|
||||
);
|
||||
expect(() => processPayment({})).toThrow(expect.objectContaining({
|
||||
code: 'INVALID_PAYMENT_DATA',
|
||||
statusCode: 400,
|
||||
}));
|
||||
|
||||
// ❌ 避免测试具体错误文本
|
||||
expect(() => processUser({})).toThrow('用户数据不能为空,请检查输入参数');
|
||||
@@ -473,6 +461,7 @@ await (instance as any).getFromCache('key'); // 避免as any
|
||||
- **文档说明**: 对于使用 `any` 的复杂场景,添加注释说明原因
|
||||
- **测试覆盖**: 确保即使使用了 `any`,测试仍能有效验证功能正确性
|
||||
|
||||
|
||||
### 检查最近修改记录
|
||||
|
||||
**核心原则**:测试突然失败时,优先检查最近的代码修改。
|
||||
|
||||
@@ -8,63 +8,11 @@ alwaysApply: false
|
||||
|
||||
## Types and Type Safety
|
||||
|
||||
- avoid explicit type annotations when TypeScript can infer types.
|
||||
- avoid implicitly `any` variables; explicitly type when necessary (e.g., `let a: number` instead of `let a`).
|
||||
- use the most accurate type possible (e.g., prefer `Record<PropertyKey, unknown>` over `object`).
|
||||
- prefer `interface` over `type` for object shapes (e.g., React component props). Keep `type` for unions, intersections, and utility types.
|
||||
- prefer `as const satisfies XyzInterface` over plain `as const` when suitable.
|
||||
- prefer `@ts-expect-error` over `@ts-ignore`
|
||||
- prefer `Record<string, any>` over `any`
|
||||
|
||||
- **Avoid unnecessary null checks**: Before adding `xxx !== null`, `?.`, `??`, or `!.`, read the type definition to confirm the necessary. **Example:**
|
||||
|
||||
```typescript
|
||||
// ❌ Wrong: budget.spend and budget.maxBudget is number, not number | null
|
||||
if (budget.spend !== null && budget.maxBudget !== null && budget.spend >= budget.maxBudget) {
|
||||
// ...
|
||||
}
|
||||
|
||||
// ✅ Right
|
||||
if (budget.spend >= budget.maxBudget) {
|
||||
// ...
|
||||
}
|
||||
```
|
||||
|
||||
- **Avoid redundant runtime checks**: Don't add runtime validation for conditions already guaranteed by types or previous checks. Trust the type system and calling contract. **Example:**
|
||||
|
||||
```typescript
|
||||
// ❌ Wrong: Adding impossible-to-fail checks
|
||||
const due = await db.query.budgets.findMany({
|
||||
where: and(isNotNull(budgets.budgetDuration)), // Already filtered non-null
|
||||
});
|
||||
const result = due.map(b => {
|
||||
const nextReset = computeNextResetAt(b.budgetResetAt!, b.budgetDuration!);
|
||||
if (!nextReset) { // This check is impossible to fail
|
||||
throw new Error(`Unexpected null nextResetAt`);
|
||||
}
|
||||
return nextReset;
|
||||
});
|
||||
|
||||
// ✅ Right: Trust the contract
|
||||
const due = await db.query.budgets.findMany({
|
||||
where: and(isNotNull(budgets.budgetDuration)),
|
||||
});
|
||||
const result = due.map(b => computeNextResetAt(b.budgetResetAt!, b.budgetDuration!));
|
||||
```
|
||||
|
||||
- **Avoid meaningless null/undefined parameters**: Don't accept null/undefined for parameters that have no business meaning when null. Design strict function contracts. **Example:**
|
||||
|
||||
```typescript
|
||||
// ❌ Wrong: Function accepts meaningless null input
|
||||
function computeNextResetAt(currentResetAt: Date, durationStr: string | null): Date | null {
|
||||
if (!durationStr) return null; // Why accept null if it just returns null?
|
||||
}
|
||||
|
||||
// ✅ Right: Strict contract, clear responsibility
|
||||
function computeNextResetAt(currentResetAt: Date, durationStr: string): Date {
|
||||
// Function has single clear purpose, caller ensures valid input
|
||||
}
|
||||
```
|
||||
- Avoid explicit type annotations when TypeScript can infer types.
|
||||
- Avoid implicitly `any` variables; explicitly type when necessary (e.g., `let a: number` instead of `let a`).
|
||||
- Use the most accurate type possible (e.g., prefer `Record<PropertyKey, unknown>` over `object`).
|
||||
- Prefer `interface` over `type` for object shapes (e.g., React component props). Keep `type` for unions, intersections, and utility types.
|
||||
- Prefer `as const satisfies XyzInterface` over plain `as const` when suitable.
|
||||
|
||||
## Imports and Modules
|
||||
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
{
|
||||
"image": "mcr.microsoft.com/devcontainers/typescript-node",
|
||||
"features": {
|
||||
"ghcr.io/devcontainer-community/devcontainer-features/bun.sh:1": {},
|
||||
"ghcr.io/devcontainers/features/docker-outside-of-docker:1": {}
|
||||
},
|
||||
"image": "mcr.microsoft.com/devcontainers/typescript-node"
|
||||
"ghcr.io/devcontainer-community/devcontainer-features/bun.sh:1": {}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -4,14 +4,6 @@
|
||||
# Specify your API Key selection method, currently supporting `random` and `turn`.
|
||||
# API_KEY_SELECT_MODE=random
|
||||
|
||||
########################################
|
||||
########### Security Settings ###########
|
||||
########################################
|
||||
|
||||
# Control Content Security Policy headers
|
||||
# Set to '1' to enable X-Frame-Options and Content-Security-Policy headers
|
||||
# Default is '0' (enabled)
|
||||
# ENABLED_CSP=1
|
||||
|
||||
########################################
|
||||
########## AI Provider Service #########
|
||||
@@ -169,19 +161,6 @@ OPENAI_API_KEY=sk-xxxxxxxxx
|
||||
|
||||
# FAL_API_KEY=fal-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
|
||||
|
||||
### Nebius ###
|
||||
|
||||
# NEBIUS_API_KEY=sk-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
|
||||
|
||||
### NewAPI Service ###
|
||||
|
||||
# NEWAPI_API_KEY=sk-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
|
||||
# NEWAPI_PROXY_URL=https://your-newapi-server.com
|
||||
|
||||
### Vercel AI Gateway ###
|
||||
|
||||
# VERCELAIGATEWAY_API_KEY=your_vercel_ai_gateway_api_key
|
||||
|
||||
|
||||
########################################
|
||||
############ Market Service ############
|
||||
|
||||
@@ -1,122 +0,0 @@
|
||||
# LobeChat Development Server Configuration
|
||||
# This file contains environment variables for both LobeChat server mode and Docker compose setup
|
||||
|
||||
COMPOSE_FILE="docker-compose.development.yml"
|
||||
|
||||
# ⚠️⚠️⚠️ DO NOT USE THE SECRETS BELOW IN PRODUCTION!
|
||||
UNSAFE_SECRET="ww+0igxjGRAAR/eTNFQ55VmhQB5KE5trFZseuntThJs="
|
||||
UNSAFE_PASSWORD="CHANGE_THIS_PASSWORD_IN_PRODUCTION"
|
||||
|
||||
# Core Server Configuration
|
||||
# Service mode - set to 'server' for server-side deployment
|
||||
NEXT_PUBLIC_SERVICE_MODE=server
|
||||
|
||||
# Service Ports Configuration
|
||||
LOBE_PORT=3010
|
||||
|
||||
# Application URL - the base URL where LobeChat will be accessible
|
||||
APP_URL=http://localhost:${LOBE_PORT}
|
||||
|
||||
# Secret key for encrypting vault data (generate with: openssl rand -base64 32)
|
||||
KEY_VAULTS_SECRET=${UNSAFE_SECRET}
|
||||
|
||||
# Database Configuration
|
||||
# Database name for LobeChat
|
||||
LOBE_DB_NAME=lobechat
|
||||
|
||||
# PostgreSQL password
|
||||
POSTGRES_PASSWORD=${UNSAFE_PASSWORD}
|
||||
|
||||
# PostgreSQL database connection URL
|
||||
DATABASE_URL=postgresql://postgres:${POSTGRES_PASSWORD}@localhost:5432/${LOBE_DB_NAME}
|
||||
|
||||
# Database driver type
|
||||
DATABASE_DRIVER=node
|
||||
|
||||
# Authentication Configuration
|
||||
# Enable NextAuth authentication
|
||||
NEXT_PUBLIC_ENABLE_NEXT_AUTH=1
|
||||
|
||||
# NextAuth secret for JWT signing (generate with: openssl rand -base64 32)
|
||||
NEXT_AUTH_SECRET=${UNSAFE_SECRET}
|
||||
|
||||
NEXTAUTH_URL=${APP_URL}
|
||||
|
||||
# Authentication URL
|
||||
AUTH_URL=${APP_URL}/api/auth
|
||||
|
||||
# SSO providers configuration - using Casdoor for development
|
||||
NEXT_AUTH_SSO_PROVIDERS=casdoor
|
||||
|
||||
# Casdoor Configuration
|
||||
# Casdoor service port
|
||||
CASDOOR_PORT=8000
|
||||
|
||||
# Casdoor OIDC issuer URL
|
||||
AUTH_CASDOOR_ISSUER=http://localhost:${CASDOOR_PORT}
|
||||
|
||||
# Casdoor application client ID
|
||||
AUTH_CASDOOR_ID=a387a4892ee19b1a2249 # DO NOT USE IN PROD
|
||||
|
||||
# Casdoor application client secret
|
||||
AUTH_CASDOOR_SECRET=dbf205949d704de81b0b5b3603174e23fbecc354 # DO NOT USE IN PROD
|
||||
|
||||
# Origin URL for Casdoor internal configuration
|
||||
origin=http://localhost:${CASDOOR_PORT}
|
||||
|
||||
# MinIO Storage Configuration
|
||||
# MinIO service port
|
||||
MINIO_PORT=9000
|
||||
|
||||
# MinIO root user (admin username)
|
||||
MINIO_ROOT_USER=admin
|
||||
|
||||
# MinIO root password
|
||||
MINIO_ROOT_PASSWORD=${UNSAFE_PASSWORD}
|
||||
|
||||
# MinIO bucket for LobeChat files
|
||||
MINIO_LOBE_BUCKET=lobe
|
||||
|
||||
# S3/MinIO Configuration for LobeChat
|
||||
# S3/MinIO access key ID
|
||||
S3_ACCESS_KEY_ID=${MINIO_ROOT_USER}
|
||||
|
||||
# S3/MinIO secret access key
|
||||
S3_SECRET_ACCESS_KEY=${MINIO_ROOT_PASSWORD}
|
||||
|
||||
# S3/MinIO endpoint URL
|
||||
S3_ENDPOINT=http://localhost:${MINIO_PORT}
|
||||
|
||||
# S3 bucket name for storing files
|
||||
S3_BUCKET=${MINIO_LOBE_BUCKET}
|
||||
|
||||
# Public domain for S3 file access
|
||||
S3_PUBLIC_DOMAIN=http://localhost:${MINIO_PORT}
|
||||
|
||||
# Enable path-style S3 requests (required for MinIO)
|
||||
S3_ENABLE_PATH_STYLE=1
|
||||
|
||||
# Disable S3 ACL setting (for MinIO compatibility)
|
||||
S3_SET_ACL=0
|
||||
|
||||
# Use base64 encoding for LLM vision images
|
||||
LLM_VISION_IMAGE_USE_BASE64=1
|
||||
|
||||
# Search Service Configuration
|
||||
# SearXNG search engine URL
|
||||
SEARXNG_URL=http://searxng:8080
|
||||
|
||||
# Development Options
|
||||
# Uncomment to skip authentication during development
|
||||
|
||||
# Proxy Configuration (Optional)
|
||||
# Uncomment if you need proxy support (e.g., for GitHub auth or API access)
|
||||
# HTTP_PROXY=http://localhost:7890
|
||||
# HTTPS_PROXY=http://localhost:7890
|
||||
|
||||
# AI Model Configuration (Optional)
|
||||
# Add your AI model API keys and configurations here
|
||||
# ⚠️ WARNING: Never commit real API keys to version control!
|
||||
# OPENAI_API_KEY=sk-NEVER_USE_REAL_API_KEYS_IN_CONFIG_FILES
|
||||
# OPENAI_PROXY_URL=https://api.openai.com/v1
|
||||
# OPENAI_MODEL_LIST=...
|
||||
@@ -8,7 +8,6 @@
|
||||
- [ ] 💄 style
|
||||
- [ ] 👷 build
|
||||
- [ ] ⚡️ perf
|
||||
- [ ] ✅ test
|
||||
- [ ] 📝 docs
|
||||
- [ ] 🔨 chore
|
||||
|
||||
|
||||
@@ -36,19 +36,10 @@ module.exports = async ({ github, context, releaseUrl, version, tag }) => {
|
||||
// Generate combined download table
|
||||
let assetTable = '| Platform | File | Size |\n| --- | --- | --- |\n';
|
||||
|
||||
// Add macOS assets with architecture detection
|
||||
// Add macOS assets
|
||||
macAssets.forEach((asset) => {
|
||||
const sizeInMB = (asset.size / (1024 * 1024)).toFixed(2);
|
||||
|
||||
// Detect architecture from filename
|
||||
let architecture = '';
|
||||
if (asset.name.includes('arm64')) {
|
||||
architecture = ' (Apple Silicon)';
|
||||
} else if (asset.name.includes('x64') || asset.name.includes('-mac.')) {
|
||||
architecture = ' (Intel)';
|
||||
}
|
||||
|
||||
assetTable += `| macOS${architecture} | [${asset.name}](${asset.browser_download_url}) | ${sizeInMB} MB |\n`;
|
||||
assetTable += `| macOS | [${asset.name}](${asset.browser_download_url}) | ${sizeInMB} MB |\n`;
|
||||
});
|
||||
|
||||
// Add Windows assets
|
||||
|
||||
@@ -26,7 +26,7 @@ jobs:
|
||||
ref: ${{ github.event.pull_request.head.ref }}
|
||||
|
||||
- name: Install bun
|
||||
uses: oven-sh/setup-bun@v2
|
||||
uses: oven-sh/setup-bun@v1
|
||||
with:
|
||||
bun-version: ${{ secrets.BUN_VERSION }}
|
||||
|
||||
|
||||
@@ -28,23 +28,22 @@ jobs:
|
||||
fetch-depth: 0
|
||||
|
||||
- name: Setup Node.js
|
||||
uses: actions/setup-node@v5
|
||||
uses: actions/setup-node@v4
|
||||
with:
|
||||
node-version: 22
|
||||
package-manager-cache: false
|
||||
|
||||
- name: Install bun
|
||||
uses: oven-sh/setup-bun@v2
|
||||
- name: Setup pnpm
|
||||
uses: pnpm/action-setup@v2
|
||||
with:
|
||||
bun-version: ${{ secrets.BUN_VERSION }}
|
||||
version: 10
|
||||
|
||||
- name: Install deps
|
||||
run: bun i
|
||||
run: pnpm install
|
||||
env:
|
||||
NODE_OPTIONS: --max-old-space-size=6144
|
||||
|
||||
- name: Lint
|
||||
run: bun run lint
|
||||
run: pnpm run lint
|
||||
env:
|
||||
NODE_OPTIONS: --max-old-space-size=6144
|
||||
|
||||
@@ -62,10 +61,9 @@ jobs:
|
||||
fetch-depth: 0
|
||||
|
||||
- name: Setup Node.js
|
||||
uses: actions/setup-node@v5
|
||||
uses: actions/setup-node@v4
|
||||
with:
|
||||
node-version: 22
|
||||
package-manager-cache: false
|
||||
|
||||
# 主要逻辑:确定构建版本号
|
||||
- name: Set version
|
||||
@@ -95,25 +93,24 @@ jobs:
|
||||
runs-on: ${{ matrix.os }}
|
||||
strategy:
|
||||
matrix:
|
||||
os: [macos-latest, macos-13, windows-2025, ubuntu-latest]
|
||||
os: [macos-latest, windows-2025, ubuntu-latest]
|
||||
steps:
|
||||
- uses: actions/checkout@v5
|
||||
with:
|
||||
fetch-depth: 0
|
||||
|
||||
- name: Install pnpm
|
||||
uses: pnpm/action-setup@v4
|
||||
with:
|
||||
run_install: false
|
||||
|
||||
- name: Setup Node.js
|
||||
uses: actions/setup-node@v5
|
||||
uses: actions/setup-node@v4
|
||||
with:
|
||||
node-version: 22
|
||||
package-manager-cache: false
|
||||
|
||||
- name: Setup pnpm
|
||||
uses: pnpm/action-setup@v2
|
||||
with:
|
||||
version: 10
|
||||
|
||||
# node-linker=hoisted 模式将可以确保 asar 压缩可用
|
||||
- name: Install dependencies
|
||||
- name: Install deps
|
||||
run: pnpm install --node-linker=hoisted
|
||||
|
||||
- name: Install deps on Desktop
|
||||
@@ -175,28 +172,6 @@ jobs:
|
||||
NEXT_PUBLIC_DESKTOP_PROJECT_ID: ${{ secrets.UMAMI_NIGHTLY_DESKTOP_PROJECT_ID }}
|
||||
NEXT_PUBLIC_DESKTOP_UMAMI_BASE_URL: ${{ secrets.UMAMI_NIGHTLY_DESKTOP_BASE_URL }}
|
||||
|
||||
# 处理 macOS latest-mac.yml 重命名 (避免多架构覆盖)
|
||||
- name: Rename macOS latest-mac.yml for multi-architecture support
|
||||
if: runner.os == 'macOS'
|
||||
run: |
|
||||
cd apps/desktop/release
|
||||
if [ -f "latest-mac.yml" ]; then
|
||||
# 使用系统架构检测,与 electron-builder 输出保持一致
|
||||
SYSTEM_ARCH=$(uname -m)
|
||||
if [[ "$SYSTEM_ARCH" == "arm64" ]]; then
|
||||
ARCH_SUFFIX="arm64"
|
||||
else
|
||||
ARCH_SUFFIX="x64"
|
||||
fi
|
||||
|
||||
mv latest-mac.yml "latest-mac-${ARCH_SUFFIX}.yml"
|
||||
echo "✅ Renamed latest-mac.yml to latest-mac-${ARCH_SUFFIX}.yml (detected: $SYSTEM_ARCH)"
|
||||
ls -la latest-mac-*.yml
|
||||
else
|
||||
echo "⚠️ latest-mac.yml not found, skipping rename"
|
||||
ls -la latest*.yml || echo "No latest*.yml files found"
|
||||
fi
|
||||
|
||||
# 上传构建产物
|
||||
- name: Upload artifact
|
||||
uses: actions/upload-artifact@v4
|
||||
@@ -214,64 +189,8 @@ jobs:
|
||||
apps/desktop/release/*.tar.gz*
|
||||
retention-days: 5
|
||||
|
||||
# 合并 macOS 多架构 latest-mac.yml 文件
|
||||
merge-mac-files:
|
||||
needs: [build, version]
|
||||
name: Merge macOS Release Files for PR
|
||||
runs-on: ubuntu-latest
|
||||
permissions:
|
||||
contents: write
|
||||
steps:
|
||||
- name: Checkout repository
|
||||
uses: actions/checkout@v5
|
||||
|
||||
- name: Setup Node.js
|
||||
uses: actions/setup-node@v5
|
||||
with:
|
||||
node-version: 22
|
||||
package-manager-cache: false
|
||||
|
||||
- name: Install bun
|
||||
uses: oven-sh/setup-bun@v2
|
||||
with:
|
||||
bun-version: ${{ secrets.BUN_VERSION }}
|
||||
|
||||
# 下载所有平台的构建产物
|
||||
- name: Download artifacts
|
||||
uses: actions/download-artifact@v4
|
||||
with:
|
||||
path: release
|
||||
pattern: release-*
|
||||
merge-multiple: true
|
||||
|
||||
# 列出下载的构建产物
|
||||
- name: List downloaded artifacts
|
||||
run: ls -R release
|
||||
|
||||
# 仅为该步骤在脚本目录安装 yaml 单包,避免安装整个 monorepo 依赖
|
||||
- name: Install yaml only for merge step
|
||||
run: |
|
||||
cd scripts/electronWorkflow
|
||||
# 在脚本目录创建最小 package.json,防止 bun 向上寻找根 package.json
|
||||
if [ ! -f package.json ]; then
|
||||
echo '{"name":"merge-mac-release","private":true}' > package.json
|
||||
fi
|
||||
bun add --no-save yaml@2.8.1
|
||||
|
||||
# 合并 macOS YAML 文件 (使用 bun 运行 JavaScript)
|
||||
- name: Merge latest-mac.yml files
|
||||
run: bun run scripts/electronWorkflow/mergeMacReleaseFiles.js
|
||||
|
||||
# 上传合并后的构建产物
|
||||
- name: Upload artifacts with merged macOS files
|
||||
uses: actions/upload-artifact@v4
|
||||
with:
|
||||
name: merged-release-pr
|
||||
path: release/
|
||||
retention-days: 1
|
||||
|
||||
publish-pr:
|
||||
needs: [merge-mac-files, version]
|
||||
needs: [build, version]
|
||||
name: Publish PR Build
|
||||
runs-on: ubuntu-latest
|
||||
# Grant write permissions for creating release and commenting on PR
|
||||
@@ -285,21 +204,22 @@ jobs:
|
||||
with:
|
||||
fetch-depth: 0
|
||||
|
||||
# 下载合并后的构建产物
|
||||
- name: Download merged artifacts
|
||||
# 下载所有平台的构建产物
|
||||
- name: Download artifacts
|
||||
uses: actions/download-artifact@v4
|
||||
with:
|
||||
name: merged-release-pr
|
||||
path: release
|
||||
pattern: release-*
|
||||
merge-multiple: true
|
||||
|
||||
# 列出所有构建产物
|
||||
- name: List final artifacts
|
||||
- name: List artifacts
|
||||
run: ls -R release
|
||||
|
||||
# 生成PR发布描述
|
||||
- name: Generate PR Release Body
|
||||
id: pr_release_body
|
||||
uses: actions/github-script@v8
|
||||
uses: actions/github-script@v7
|
||||
with:
|
||||
result-encoding: string
|
||||
script: |
|
||||
@@ -338,7 +258,7 @@ jobs:
|
||||
|
||||
# 在 PR 上添加评论,包含构建信息和下载链接
|
||||
- name: Comment on PR
|
||||
uses: actions/github-script@v8
|
||||
uses: actions/github-script@v7
|
||||
with:
|
||||
github-token: ${{ secrets.GITHUB_TOKEN }}
|
||||
script: |
|
||||
|
||||
@@ -160,9 +160,10 @@ jobs:
|
||||
run: |
|
||||
docker buildx imagetools inspect ${{ env.REGISTRY_IMAGE }}:${{ steps.meta.outputs.version }}
|
||||
|
||||
|
||||
- name: Comment on PR with Docker build info
|
||||
if: github.event_name == 'pull_request'
|
||||
uses: actions/github-script@v8
|
||||
uses: actions/github-script@v7
|
||||
with:
|
||||
github-token: ${{ secrets.GITHUB_TOKEN }}
|
||||
script: |
|
||||
@@ -177,3 +178,5 @@ jobs:
|
||||
platforms: "linux/amd64, linux/arm64",
|
||||
});
|
||||
core.info(`Status: ${result.updated ? 'Updated' : 'Created'}, ID: ${result.id}`);
|
||||
|
||||
|
||||
|
||||
@@ -24,21 +24,20 @@ jobs:
|
||||
fetch-depth: 0
|
||||
|
||||
- name: Setup Node.js
|
||||
uses: actions/setup-node@v5
|
||||
uses: actions/setup-node@v4
|
||||
with:
|
||||
node-version: 22
|
||||
package-manager-cache: false
|
||||
|
||||
- name: Install bun
|
||||
uses: oven-sh/setup-bun@v2
|
||||
- name: Setup pnpm
|
||||
uses: pnpm/action-setup@v2
|
||||
with:
|
||||
bun-version: ${{ secrets.BUN_VERSION }}
|
||||
version: 10
|
||||
|
||||
- name: Install deps
|
||||
run: bun i
|
||||
run: pnpm install
|
||||
|
||||
- name: Lint
|
||||
run: bun run lint
|
||||
run: pnpm run lint
|
||||
|
||||
version:
|
||||
name: Determine version
|
||||
@@ -53,10 +52,9 @@ jobs:
|
||||
fetch-depth: 0
|
||||
|
||||
- name: Setup Node.js
|
||||
uses: actions/setup-node@v5
|
||||
uses: actions/setup-node@v4
|
||||
with:
|
||||
node-version: 22
|
||||
package-manager-cache: false
|
||||
|
||||
# 主要逻辑:确定构建版本号
|
||||
- name: Set version
|
||||
@@ -82,25 +80,24 @@ jobs:
|
||||
runs-on: ${{ matrix.os }}
|
||||
strategy:
|
||||
matrix:
|
||||
os: [macos-latest, macos-13, windows-2025, ubuntu-latest]
|
||||
os: [macos-latest, windows-2025, ubuntu-latest]
|
||||
steps:
|
||||
- uses: actions/checkout@v5
|
||||
with:
|
||||
fetch-depth: 0
|
||||
|
||||
- name: Install pnpm
|
||||
uses: pnpm/action-setup@v4
|
||||
with:
|
||||
run_install: false
|
||||
|
||||
- name: Setup Node.js
|
||||
uses: actions/setup-node@v5
|
||||
uses: actions/setup-node@v4
|
||||
with:
|
||||
node-version: 22
|
||||
package-manager-cache: false
|
||||
|
||||
- name: Setup pnpm
|
||||
uses: pnpm/action-setup@v2
|
||||
with:
|
||||
version: 10
|
||||
|
||||
# node-linker=hoisted 模式将可以确保 asar 压缩可用
|
||||
- name: Install dependencies
|
||||
- name: Install deps
|
||||
run: pnpm install --node-linker=hoisted
|
||||
|
||||
- name: Install deps on Desktop
|
||||
@@ -157,29 +154,7 @@ jobs:
|
||||
NEXT_PUBLIC_DESKTOP_PROJECT_ID: ${{ secrets.UMAMI_BETA_DESKTOP_PROJECT_ID }}
|
||||
NEXT_PUBLIC_DESKTOP_UMAMI_BASE_URL: ${{ secrets.UMAMI_BETA_DESKTOP_BASE_URL }}
|
||||
|
||||
# 处理 macOS latest-mac.yml 重命名 (避免多架构覆盖)
|
||||
- name: Rename macOS latest-mac.yml for multi-architecture support
|
||||
if: runner.os == 'macOS'
|
||||
run: |
|
||||
cd apps/desktop/release
|
||||
if [ -f "latest-mac.yml" ]; then
|
||||
# 使用系统架构检测,与 electron-builder 输出保持一致
|
||||
SYSTEM_ARCH=$(uname -m)
|
||||
if [[ "$SYSTEM_ARCH" == "arm64" ]]; then
|
||||
ARCH_SUFFIX="arm64"
|
||||
else
|
||||
ARCH_SUFFIX="x64"
|
||||
fi
|
||||
|
||||
mv latest-mac.yml "latest-mac-${ARCH_SUFFIX}.yml"
|
||||
echo "✅ Renamed latest-mac.yml to latest-mac-${ARCH_SUFFIX}.yml (detected: $SYSTEM_ARCH)"
|
||||
ls -la latest-mac-*.yml
|
||||
else
|
||||
echo "⚠️ latest-mac.yml not found, skipping rename"
|
||||
ls -la latest*.yml || echo "No latest*.yml files found"
|
||||
fi
|
||||
|
||||
# 上传构建产物 (工作流处理重命名,不依赖 electron-builder 钩子)
|
||||
# 上传构建产物,移除了 zip 相关部分
|
||||
- name: Upload artifact
|
||||
uses: actions/upload-artifact@v4
|
||||
with:
|
||||
@@ -196,28 +171,17 @@ jobs:
|
||||
apps/desktop/release/*.tar.gz*
|
||||
retention-days: 5
|
||||
|
||||
# 合并 macOS 多架构 latest-mac.yml 文件
|
||||
merge-mac-files:
|
||||
# 正式版发布 job
|
||||
publish-release:
|
||||
needs: [build, version]
|
||||
name: Merge macOS Release Files
|
||||
name: Publish Beta Release
|
||||
runs-on: ubuntu-latest
|
||||
# Grant write permission to contents for uploading release assets
|
||||
permissions:
|
||||
contents: write
|
||||
outputs:
|
||||
artifact_path: ${{ steps.set_path.outputs.path }}
|
||||
steps:
|
||||
- name: Checkout repository
|
||||
uses: actions/checkout@v5
|
||||
|
||||
- name: Setup Node.js
|
||||
uses: actions/setup-node@v5
|
||||
with:
|
||||
node-version: 22
|
||||
package-manager-cache: false
|
||||
|
||||
- name: Install bun
|
||||
uses: oven-sh/setup-bun@v2
|
||||
with:
|
||||
bun-version: ${{ secrets.BUN_VERSION }}
|
||||
|
||||
# 下载所有平台的构建产物
|
||||
- name: Download artifacts
|
||||
uses: actions/download-artifact@v4
|
||||
@@ -226,52 +190,11 @@ jobs:
|
||||
pattern: release-*
|
||||
merge-multiple: true
|
||||
|
||||
# 列出下载的构建产物
|
||||
- name: List downloaded artifacts
|
||||
run: ls -R release
|
||||
|
||||
# 仅为该步骤在脚本目录安装 yaml 单包,避免安装整个 monorepo 依赖
|
||||
- name: Install yaml only for merge step
|
||||
run: |
|
||||
cd scripts/electronWorkflow
|
||||
# 在脚本目录创建最小 package.json,防止 bun 向上寻找根 package.json
|
||||
if [ ! -f package.json ]; then
|
||||
echo '{"name":"merge-mac-release","private":true}' > package.json
|
||||
fi
|
||||
bun add --no-save yaml@2.8.1
|
||||
|
||||
# 合并 macOS YAML 文件 (使用 bun 运行 JavaScript)
|
||||
- name: Merge latest-mac.yml files
|
||||
run: bun run scripts/electronWorkflow/mergeMacReleaseFiles.js
|
||||
|
||||
# 上传合并后的构建产物
|
||||
- name: Upload artifacts with merged macOS files
|
||||
uses: actions/upload-artifact@v4
|
||||
with:
|
||||
name: merged-release
|
||||
path: release/
|
||||
retention-days: 1
|
||||
|
||||
# 发布所有平台构建产物
|
||||
publish-release:
|
||||
needs: [merge-mac-files]
|
||||
name: Publish Beta Release
|
||||
runs-on: ubuntu-latest
|
||||
permissions:
|
||||
contents: write
|
||||
steps:
|
||||
# 下载合并后的构建产物
|
||||
- name: Download merged artifacts
|
||||
uses: actions/download-artifact@v4
|
||||
with:
|
||||
name: merged-release
|
||||
path: release
|
||||
|
||||
# 列出所有构建产物
|
||||
- name: List final artifacts
|
||||
- name: List artifacts
|
||||
run: ls -R release
|
||||
|
||||
# 将构建产物上传到现有 release (现在包含合并后的 latest-mac.yml)
|
||||
# 将构建产物上传到现有 release
|
||||
- name: Upload to Release
|
||||
uses: softprops/action-gh-release@v1
|
||||
with:
|
||||
|
||||
@@ -23,17 +23,14 @@ jobs:
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v5
|
||||
with:
|
||||
token: ${{ secrets.GH_TOKEN }}
|
||||
|
||||
- name: Setup Node.js
|
||||
uses: actions/setup-node@v5
|
||||
uses: actions/setup-node@v4
|
||||
with:
|
||||
node-version: 22
|
||||
package-manager-cache: false
|
||||
|
||||
- name: Install bun
|
||||
uses: oven-sh/setup-bun@v2
|
||||
uses: oven-sh/setup-bun@v1
|
||||
with:
|
||||
bun-version: ${{ secrets.BUN_VERSION }}
|
||||
|
||||
|
||||
@@ -13,13 +13,11 @@ jobs:
|
||||
steps:
|
||||
- uses: actions/checkout@v5
|
||||
|
||||
- name: Install bun
|
||||
uses: oven-sh/setup-bun@v2
|
||||
with:
|
||||
bun-version: ${{ secrets.BUN_VERSION }}
|
||||
- name: Install dbdocs
|
||||
run: sudo npm install -g dbdocs
|
||||
|
||||
- name: Install deps
|
||||
run: bun i
|
||||
- name: Check dbdocs
|
||||
run: dbdocs
|
||||
|
||||
- name: sync database schema to dbdocs
|
||||
env:
|
||||
|
||||
@@ -7,19 +7,11 @@ permissions:
|
||||
|
||||
jobs:
|
||||
# Package tests - using each package's own test script
|
||||
test-intenral-packages:
|
||||
test-packages:
|
||||
runs-on: ubuntu-latest
|
||||
strategy:
|
||||
matrix:
|
||||
package:
|
||||
- file-loaders
|
||||
- prompts
|
||||
- model-runtime
|
||||
- web-crawler
|
||||
- electron-server-ipc
|
||||
- utils
|
||||
- context-engine
|
||||
- agent-runtime
|
||||
package: [file-loaders, prompts, model-runtime, web-crawler, electron-server-ipc, utils]
|
||||
|
||||
name: Test package ${{ matrix.package }}
|
||||
|
||||
@@ -27,13 +19,12 @@ jobs:
|
||||
- uses: actions/checkout@v5
|
||||
|
||||
- name: Setup Node.js
|
||||
uses: actions/setup-node@v5
|
||||
uses: actions/setup-node@v4
|
||||
with:
|
||||
node-version: 22
|
||||
package-manager-cache: false
|
||||
|
||||
- name: Install bun
|
||||
uses: oven-sh/setup-bun@v2
|
||||
uses: oven-sh/setup-bun@v1
|
||||
with:
|
||||
bun-version: ${{ secrets.BUN_VERSION }}
|
||||
|
||||
@@ -50,41 +41,6 @@ jobs:
|
||||
files: ./packages/${{ matrix.package }}/coverage/lcov.info
|
||||
flags: packages/${{ matrix.package }}
|
||||
|
||||
test-packages:
|
||||
runs-on: ubuntu-latest
|
||||
strategy:
|
||||
matrix:
|
||||
package: [model-bank]
|
||||
|
||||
name: Test package ${{ matrix.package }}
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v5
|
||||
|
||||
- name: Setup Node.js
|
||||
uses: actions/setup-node@v5
|
||||
with:
|
||||
node-version: 22
|
||||
package-manager-cache: false
|
||||
|
||||
- name: Install bun
|
||||
uses: oven-sh/setup-bun@v2
|
||||
with:
|
||||
bun-version: ${{ secrets.BUN_VERSION }}
|
||||
|
||||
- name: Install deps
|
||||
run: bun i
|
||||
|
||||
- name: Test ${{ matrix.package }} package with coverage
|
||||
run: bun run --filter ${{ matrix.package }} test:coverage
|
||||
|
||||
- name: Upload ${{ matrix.package }} coverage to Codecov
|
||||
uses: codecov/codecov-action@v4
|
||||
with:
|
||||
token: ${{ secrets.CODECOV_TOKEN }}
|
||||
files: ./packages/${{ matrix.package }}/coverage/lcov.info
|
||||
flags: packages/${{ matrix.package }}
|
||||
|
||||
# App tests
|
||||
test-website:
|
||||
name: Test Website
|
||||
@@ -95,13 +51,12 @@ jobs:
|
||||
- uses: actions/checkout@v5
|
||||
|
||||
- name: Setup Node.js
|
||||
uses: actions/setup-node@v5
|
||||
uses: actions/setup-node@v4
|
||||
with:
|
||||
node-version: 22
|
||||
package-manager-cache: false
|
||||
|
||||
- name: Install bun
|
||||
uses: oven-sh/setup-bun@v2
|
||||
uses: oven-sh/setup-bun@v1
|
||||
with:
|
||||
bun-version: ${{ secrets.BUN_VERSION }}
|
||||
|
||||
@@ -139,13 +94,12 @@ jobs:
|
||||
- uses: actions/checkout@v5
|
||||
|
||||
- name: Setup Node.js
|
||||
uses: actions/setup-node@v5
|
||||
uses: actions/setup-node@v4
|
||||
with:
|
||||
node-version: 22
|
||||
package-manager-cache: false
|
||||
|
||||
- name: Install bun
|
||||
uses: oven-sh/setup-bun@v2
|
||||
uses: oven-sh/setup-bun@v1
|
||||
with:
|
||||
bun-version: ${{ secrets.BUN_VERSION }}
|
||||
|
||||
|
||||
@@ -23,7 +23,6 @@ Desktop.ini
|
||||
.history/
|
||||
.windsurfrules
|
||||
*.code-workspace
|
||||
.vscode/sessions.json
|
||||
|
||||
# Temporary files
|
||||
.temp/
|
||||
@@ -39,7 +38,6 @@ tmp/
|
||||
.env
|
||||
.env.local
|
||||
.env*.local
|
||||
.env.development
|
||||
venv/
|
||||
.venv/
|
||||
|
||||
@@ -106,14 +104,8 @@ vertex-ai-key.json
|
||||
|
||||
CLAUDE.local.md
|
||||
|
||||
# MCP tools
|
||||
.serena/**
|
||||
|
||||
# Misc
|
||||
./packages/lobe-ui
|
||||
*.ppt*
|
||||
*.doc*
|
||||
*.xls*
|
||||
|
||||
prd
|
||||
GEMINI.md
|
||||
|
||||
+1
-1
@@ -25,7 +25,7 @@ module.exports = defineConfig({
|
||||
],
|
||||
temperature: 0,
|
||||
saveImmediately: true,
|
||||
modelName: 'gpt-4.1-mini',
|
||||
modelName: 'gpt-5-mini',
|
||||
experimental: {
|
||||
jsonMode: true,
|
||||
},
|
||||
|
||||
@@ -4,9 +4,6 @@ resolution-mode=highest
|
||||
ignore-workspace-root-check=true
|
||||
enable-pre-post-scripts=true
|
||||
|
||||
# Load dotenv files for all the npm scripts
|
||||
node-options="--require dotenv-expand/config"
|
||||
|
||||
public-hoist-pattern[]=*@umijs/lint*
|
||||
public-hoist-pattern[]=*changelog*
|
||||
public-hoist-pattern[]=*commitlint*
|
||||
|
||||
Vendored
+8
-8
@@ -18,6 +18,7 @@
|
||||
"javascriptreact",
|
||||
"typescript",
|
||||
"typescriptreact",
|
||||
"markdown",
|
||||
// support mdx
|
||||
"mdx"
|
||||
],
|
||||
@@ -33,7 +34,7 @@
|
||||
// make stylelint work with tsx antd-style css template string
|
||||
"typescriptreact"
|
||||
],
|
||||
"vitest.maximumConfigs": 20,
|
||||
"vitest.maximumConfigs": 10,
|
||||
"workbench.editor.customLabels.patterns": {
|
||||
"**/app/**/[[]*[]]/[[]*[]]/page.tsx": "${dirname(2)}/${dirname(1)}/${dirname} • page component",
|
||||
"**/app/**/[[]*[]]/page.tsx": "${dirname(1)}/${dirname} • page component",
|
||||
@@ -58,9 +59,9 @@
|
||||
"**/src/**/route.ts": "${dirname(1)}/${dirname} • route",
|
||||
"**/src/**/index.tsx": "${dirname} • component",
|
||||
|
||||
"**/packages/database/src/repositories/*/index.ts": "${dirname} • db repository",
|
||||
"**/packages/database/src/models/*.ts": "${filename} • db model",
|
||||
"**/packages/database/src/schemas/*.ts": "${filename} • db schema",
|
||||
"**/src/database/repositories/*/index.ts": "${dirname} • db repository",
|
||||
"**/src/database/models/*.ts": "${filename} • db model",
|
||||
"**/src/database/schemas/*.ts": "${filename} • db schema",
|
||||
|
||||
"**/src/services/*.ts": "${filename} • service",
|
||||
"**/src/services/*/client.ts": "${dirname} • client service",
|
||||
@@ -80,7 +81,8 @@
|
||||
"**/src/store/*/slices/*/reducer.ts": "${dirname(2)}/${dirname} • reducer",
|
||||
|
||||
"**/src/config/modelProviders/*.ts": "${filename} • provider",
|
||||
"**/packages/model-bank/src/aiModels/*.ts": "${filename} • model",
|
||||
"**/src/config/aiModels/*.ts": "${filename} • model",
|
||||
"**/src/config/paramsSchemas/*/*.json": "${dirname(1)}/${filename} • params",
|
||||
"**/packages/model-runtime/src/*/index.ts": "${dirname} • runtime",
|
||||
|
||||
"**/src/server/services/*/index.ts": "${dirname} • server/service",
|
||||
@@ -88,8 +90,6 @@
|
||||
"**/src/server/routers/async/*.ts": "${filename} • async",
|
||||
"**/src/server/routers/edge/*.ts": "${filename} • edge",
|
||||
|
||||
"**/src/locales/default/*.ts": "${filename} • locale",
|
||||
|
||||
"**/index.*": "${dirname}/${filename}.${extname}"
|
||||
"**/src/locales/default/*.ts": "${filename} • locale"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,130 +0,0 @@
|
||||
# LobeChat Development Guidelines
|
||||
|
||||
This document serves as a comprehensive guide for all team members when developing LobeChat.
|
||||
|
||||
## Tech Stack
|
||||
|
||||
Built with modern technologies:
|
||||
|
||||
- **Frontend**: Next.js 15, React 19, TypeScript
|
||||
- **UI Components**: Ant Design, @lobehub/ui, antd-style
|
||||
- **State Management**: Zustand, SWR
|
||||
- **Database**: PostgreSQL, PGLite, Drizzle ORM
|
||||
- **Testing**: Vitest, Testing Library
|
||||
- **Package Manager**: pnpm (monorepo structure)
|
||||
- **Build Tools**: Next.js (Turbopack in dev, Webpack in prod)
|
||||
|
||||
## Directory Structure
|
||||
|
||||
The project follows a well-organized monorepo structure:
|
||||
|
||||
- `apps/` - Main applications
|
||||
- `packages/` - Shared packages and libraries
|
||||
- `src/` - Main source code
|
||||
- `docs/` - Documentation
|
||||
- `.cursor/rules/` - Development rules and guidelines
|
||||
|
||||
## Development Workflow
|
||||
|
||||
### Git Workflow
|
||||
|
||||
- Use rebase for git pull
|
||||
- Git commit messages should prefix with gitmoji
|
||||
- Git branch name format: `username/feat/feature-name`
|
||||
- Use `.github/PULL_REQUEST_TEMPLATE.md` for PR descriptions
|
||||
|
||||
### Package Management
|
||||
|
||||
- Use `pnpm` as the primary package manager
|
||||
- Use `bun` to run npm scripts
|
||||
- Use `bunx` to run executable npm packages
|
||||
- Navigate to specific packages using `cd packages/<package-name>`
|
||||
|
||||
### Code Style Guidelines
|
||||
|
||||
#### TypeScript
|
||||
|
||||
- Follow strict TypeScript practices for type safety and code quality
|
||||
- Use proper type annotations
|
||||
- Prefer interfaces over types for object shapes
|
||||
- Use generics for reusable components
|
||||
|
||||
#### React Components
|
||||
|
||||
- Use functional components with hooks
|
||||
|
||||
#### Database Schema
|
||||
|
||||
- Follow Drizzle ORM naming conventions
|
||||
- Use plural snake_case for table names
|
||||
- Implement proper foreign key relationships
|
||||
- Follow the schema style guide
|
||||
|
||||
### Testing Strategy
|
||||
|
||||
**Required Rule**: `testing-guide/testing-guide.mdc`
|
||||
|
||||
**Commands**:
|
||||
|
||||
- Web: `bunx vitest run --silent='passed-only' '[file-path-pattern]'`
|
||||
- Packages: `cd packages/[package-name] && bunx vitest run --silent='passed-only' '[file-path-pattern]'`
|
||||
|
||||
**Important Notes**:
|
||||
|
||||
- Wrap file paths in single quotes to avoid shell expansion
|
||||
- Never run `bun run test` - this runs all tests and takes ~10 minutes
|
||||
- If a test fails twice, stop and ask for help
|
||||
- Always add tests for new code
|
||||
|
||||
### Type Checking
|
||||
|
||||
- Use `bun run type-check` to check for type errors
|
||||
- Ensure all TypeScript errors are resolved before committing
|
||||
|
||||
### Internationalization
|
||||
|
||||
- Add new keys to `src/locales/default/namespace.ts`
|
||||
- Translate at least `zh-CN` files for development preview
|
||||
- Use hierarchical nested objects, not flat keys
|
||||
- Don't run `pnpm i18n` manually (handled by CI)
|
||||
|
||||
## Available Development Rules
|
||||
|
||||
The project provides comprehensive rules in `.cursor/rules/` directory:
|
||||
|
||||
### Core Development
|
||||
|
||||
- `backend-architecture.mdc` - Three-layer architecture and data flow
|
||||
- `react-component.mdc` - Component patterns and UI library usage
|
||||
- `drizzle-schema-style-guide.mdc` - Database schema conventions
|
||||
- `define-database-model.mdc` - Model templates and CRUD patterns
|
||||
- `i18n.mdc` - Internationalization workflow
|
||||
|
||||
### State Management & UI
|
||||
|
||||
- `zustand-slice-organization.mdc` - Store organization patterns
|
||||
- `zustand-action-patterns.mdc` - Action implementation patterns
|
||||
- `packages/react-layout-kit.mdc` - Flex layout component usage
|
||||
|
||||
### Testing & Quality
|
||||
|
||||
- `testing-guide/testing-guide.mdc` - Comprehensive testing strategy
|
||||
- `code-review.mdc` - Code review process and standards
|
||||
|
||||
### Desktop (Electron)
|
||||
|
||||
- `desktop-feature-implementation.mdc` - Main/renderer process patterns
|
||||
- `desktop-local-tools-implement.mdc` - Tool integration workflow
|
||||
- `desktop-menu-configuration.mdc` - Menu system configuration
|
||||
- `desktop-window-management.mdc` - Window management patterns
|
||||
- `desktop-controller-tests.mdc` - Controller testing guide
|
||||
|
||||
## Best Practices
|
||||
|
||||
- **Conservative for existing code, modern approaches for new features**
|
||||
- **Code Language**: Use Chinese for files with existing Chinese comments, American English for new files
|
||||
- Always add tests for new functionality
|
||||
- Follow the established patterns in the codebase
|
||||
- Use proper error handling and logging
|
||||
- Implement proper accessibility features
|
||||
- Consider internationalization from the start
|
||||
-2442
File diff suppressed because it is too large
Load Diff
@@ -58,11 +58,12 @@ Testing work follows the Rule-Aware Task Execution system above.
|
||||
|
||||
- use `bun run type-check` to check type errors.
|
||||
|
||||
### i18n
|
||||
### Internationalization
|
||||
|
||||
- **Keys**: Add to `src/locales/default/namespace.ts`
|
||||
- **Dev**: Translate `locales/zh-CN/namespace.json` locale file only for preview
|
||||
- DON'T run `pnpm i18n`, let CI auto handle it
|
||||
- **Dev**: Translate at least `zh-CN` files for preview
|
||||
- **Structure**: Hierarchical nested objects, not flat keys
|
||||
- **Script**: DON'T run `pnpm i18n` (user/CI handles it)
|
||||
|
||||
## Rules Index
|
||||
|
||||
|
||||
+4
-10
@@ -1,5 +1,5 @@
|
||||
## Set global build ENV
|
||||
ARG NODEJS_VERSION="24"
|
||||
ARG NODEJS_VERSION="22"
|
||||
|
||||
## Base image for all building stages
|
||||
FROM node:${NODEJS_VERSION}-slim AS base
|
||||
@@ -66,7 +66,7 @@ ENV NEXT_PUBLIC_ANALYTICS_UMAMI="${NEXT_PUBLIC_ANALYTICS_UMAMI}" \
|
||||
NEXT_PUBLIC_UMAMI_WEBSITE_ID="${NEXT_PUBLIC_UMAMI_WEBSITE_ID}"
|
||||
|
||||
# Node
|
||||
ENV NODE_OPTIONS="--max-old-space-size=6144"
|
||||
ENV NODE_OPTIONS="--max-old-space-size=8192"
|
||||
|
||||
WORKDIR /app
|
||||
|
||||
@@ -126,7 +126,7 @@ ENV NODE_ENV="production" \
|
||||
NODE_OPTIONS="--dns-result-order=ipv4first --use-openssl-ca" \
|
||||
NODE_EXTRA_CA_CERTS="" \
|
||||
NODE_TLS_REJECT_UNAUTHORIZED="" \
|
||||
SSL_CERT_FILE="/etc/ssl/certs/ca-certificates.crt"
|
||||
SSL_CERT_DIR="/etc/ssl/certs/ca-certificates.crt"
|
||||
|
||||
# Make the middleware rewrite through local as default
|
||||
# refs: https://github.com/lobehub/lobe-chat/issues/5876
|
||||
@@ -194,10 +194,6 @@ ENV \
|
||||
MODELSCOPE_API_KEY="" MODELSCOPE_MODEL_LIST="" MODELSCOPE_PROXY_URL="" \
|
||||
# Moonshot
|
||||
MOONSHOT_API_KEY="" MOONSHOT_MODEL_LIST="" MOONSHOT_PROXY_URL="" \
|
||||
# Nebius
|
||||
NEBIUS_API_KEY="" NEBIUS_MODEL_LIST="" NEBIUS_PROXY_URL="" \
|
||||
# NewAPI
|
||||
NEWAPI_API_KEY="" NEWAPI_PROXY_URL="" \
|
||||
# Novita
|
||||
NOVITA_API_KEY="" NOVITA_MODEL_LIST="" \
|
||||
# Nvidia NIM
|
||||
@@ -257,9 +253,7 @@ ENV \
|
||||
# FAL
|
||||
FAL_API_KEY="" FAL_MODEL_LIST="" \
|
||||
# BFL
|
||||
BFL_API_KEY="" BFL_MODEL_LIST="" \
|
||||
# Vercel AI Gateway
|
||||
VERCELAIGATEWAY_API_KEY="" VERCELAIGATEWAY_MODEL_LIST=""
|
||||
BFL_API_KEY="" BFL_MODEL_LIST=""
|
||||
|
||||
USER nextjs
|
||||
|
||||
|
||||
+4
-10
@@ -1,5 +1,5 @@
|
||||
## Set global build ENV
|
||||
ARG NODEJS_VERSION="24"
|
||||
ARG NODEJS_VERSION="22"
|
||||
|
||||
## Base image for all building stages
|
||||
FROM node:${NODEJS_VERSION}-slim AS base
|
||||
@@ -74,7 +74,7 @@ ENV NEXT_PUBLIC_ANALYTICS_UMAMI="${NEXT_PUBLIC_ANALYTICS_UMAMI}" \
|
||||
NEXT_PUBLIC_UMAMI_WEBSITE_ID="${NEXT_PUBLIC_UMAMI_WEBSITE_ID}"
|
||||
|
||||
# Node
|
||||
ENV NODE_OPTIONS="--max-old-space-size=6144"
|
||||
ENV NODE_OPTIONS="--max-old-space-size=8192"
|
||||
|
||||
WORKDIR /app
|
||||
|
||||
@@ -149,7 +149,7 @@ ENV NODE_ENV="production" \
|
||||
NODE_OPTIONS="--dns-result-order=ipv4first --use-openssl-ca" \
|
||||
NODE_EXTRA_CA_CERTS="" \
|
||||
NODE_TLS_REJECT_UNAUTHORIZED="" \
|
||||
SSL_CERT_FILE="/etc/ssl/certs/ca-certificates.crt"
|
||||
SSL_CERT_DIR="/etc/ssl/certs/ca-certificates.crt"
|
||||
|
||||
# Make the middleware rewrite through local as default
|
||||
# refs: https://github.com/lobehub/lobe-chat/issues/5876
|
||||
@@ -236,10 +236,6 @@ ENV \
|
||||
MODELSCOPE_API_KEY="" MODELSCOPE_MODEL_LIST="" MODELSCOPE_PROXY_URL="" \
|
||||
# Moonshot
|
||||
MOONSHOT_API_KEY="" MOONSHOT_MODEL_LIST="" MOONSHOT_PROXY_URL="" \
|
||||
# Nebius
|
||||
NEBIUS_API_KEY="" NEBIUS_MODEL_LIST="" NEBIUS_PROXY_URL="" \
|
||||
# NewAPI
|
||||
NEWAPI_API_KEY="" NEWAPI_PROXY_URL="" \
|
||||
# Novita
|
||||
NOVITA_API_KEY="" NOVITA_MODEL_LIST="" \
|
||||
# Nvidia NIM
|
||||
@@ -299,9 +295,7 @@ ENV \
|
||||
# FAL
|
||||
FAL_API_KEY="" FAL_MODEL_LIST="" \
|
||||
# BFL
|
||||
BFL_API_KEY="" BFL_MODEL_LIST="" \
|
||||
# Vercel AI Gateway
|
||||
VERCELAIGATEWAY_API_KEY="" VERCELAIGATEWAY_MODEL_LIST=""
|
||||
BFL_API_KEY="" BFL_MODEL_LIST=""
|
||||
|
||||
USER nextjs
|
||||
|
||||
|
||||
+4
-10
@@ -1,5 +1,5 @@
|
||||
## Set global build ENV
|
||||
ARG NODEJS_VERSION="24"
|
||||
ARG NODEJS_VERSION="22"
|
||||
|
||||
## Base image for all building stages
|
||||
FROM node:${NODEJS_VERSION}-slim AS base
|
||||
@@ -68,7 +68,7 @@ ENV NEXT_PUBLIC_ANALYTICS_UMAMI="${NEXT_PUBLIC_ANALYTICS_UMAMI}" \
|
||||
NEXT_PUBLIC_UMAMI_WEBSITE_ID="${NEXT_PUBLIC_UMAMI_WEBSITE_ID}"
|
||||
|
||||
# Node
|
||||
ENV NODE_OPTIONS="--max-old-space-size=6144"
|
||||
ENV NODE_OPTIONS="--max-old-space-size=8192"
|
||||
|
||||
WORKDIR /app
|
||||
|
||||
@@ -128,7 +128,7 @@ ENV NODE_ENV="production" \
|
||||
NODE_OPTIONS="--dns-result-order=ipv4first --use-openssl-ca" \
|
||||
NODE_EXTRA_CA_CERTS="" \
|
||||
NODE_TLS_REJECT_UNAUTHORIZED="" \
|
||||
SSL_CERT_FILE="/etc/ssl/certs/ca-certificates.crt"
|
||||
SSL_CERT_DIR="/etc/ssl/certs/ca-certificates.crt"
|
||||
|
||||
# Make the middleware rewrite through local as default
|
||||
# refs: https://github.com/lobehub/lobe-chat/issues/5876
|
||||
@@ -196,10 +196,6 @@ ENV \
|
||||
MODELSCOPE_API_KEY="" MODELSCOPE_MODEL_LIST="" MODELSCOPE_PROXY_URL="" \
|
||||
# Moonshot
|
||||
MOONSHOT_API_KEY="" MOONSHOT_MODEL_LIST="" MOONSHOT_PROXY_URL="" \
|
||||
# Nebius
|
||||
NEBIUS_API_KEY="" NEBIUS_MODEL_LIST="" NEBIUS_PROXY_URL="" \
|
||||
# NewAPI
|
||||
NEWAPI_API_KEY="" NEWAPI_PROXY_URL="" \
|
||||
# Novita
|
||||
NOVITA_API_KEY="" NOVITA_MODEL_LIST="" \
|
||||
# Nvidia NIM
|
||||
@@ -255,9 +251,7 @@ ENV \
|
||||
# FAL
|
||||
FAL_API_KEY="" FAL_MODEL_LIST="" \
|
||||
# BFL
|
||||
BFL_API_KEY="" BFL_MODEL_LIST="" \
|
||||
# Vercel AI Gateway
|
||||
VERCELAIGATEWAY_API_KEY="" VERCELAIGATEWAY_MODEL_LIST=""
|
||||
BFL_API_KEY="" BFL_MODEL_LIST=""
|
||||
|
||||
USER nextjs
|
||||
|
||||
|
||||
@@ -1,10 +1,10 @@
|
||||
LobeHub Community License
|
||||
Apache License Version 2.0
|
||||
|
||||
Copyright (c) 2024/06/17 - current LobeHub LLC. All rights reserved.
|
||||
|
||||
----------
|
||||
|
||||
From 1.0, LobeChat is licensed under the LobeHub Community License, based on Apache License 2.0 with the following additional conditions:
|
||||
From 1.0, LobeChat is licensed under the Apache License 2.0, with the following additional conditions:
|
||||
|
||||
1. The commercial usage of LobeChat:
|
||||
|
||||
@@ -22,3 +22,17 @@ Please contact hello@lobehub.com by email to inquire about licensing matters.
|
||||
b. Your contributed code may be used for commercial purposes, including but not limited to its cloud edition.
|
||||
|
||||
Apart from the specific conditions mentioned above, all other rights and restrictions follow the Apache License 2.0. Detailed information about the Apache License 2.0 can be found at http://www.apache.org/licenses/LICENSE-2.0.
|
||||
|
||||
----------
|
||||
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
|
||||
@@ -150,7 +150,7 @@ From productivity tools to development environments, discover new ways to extend
|
||||
|
||||
**Peak Performance, Zero Distractions**
|
||||
|
||||
Get the full LobeChat experience without browser limitations—comprehensive, focused, and always ready to go. Our desktop application provides a dedicated environment for your AI interactions, ensuring optimal performance and minimal distractions.
|
||||
Get the full LobeChat experience without browser limitations—lightweight, focused, and always ready to go. Our desktop application provides a dedicated environment for your AI interactions, ensuring optimal performance and minimal distractions.
|
||||
|
||||
Experience faster response times, better resource management, and a more stable connection to your AI assistant. The desktop app is designed for users who demand the best performance from their AI tools.
|
||||
|
||||
@@ -382,14 +382,14 @@ In addition, these plugins are not limited to news aggregation, but can also ext
|
||||
|
||||
<!-- PLUGIN LIST -->
|
||||
|
||||
| Recent Submits | Description |
|
||||
| ----------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------- |
|
||||
| [Web](https://lobechat.com/discover/plugin/web)<br/><sup>By **Proghit** on **2025-01-24**</sup> | Smart web search that reads and analyzes pages to deliver comprehensive answers from Google results.<br/>`web` `search` |
|
||||
| [Bing_websearch](https://lobechat.com/discover/plugin/Bingsearch-identifier)<br/><sup>By **FineHow** on **2024-12-22**</sup> | Search for information from the internet base BingApi<br/>`bingsearch` |
|
||||
| [Google CSE](https://lobechat.com/discover/plugin/google-cse)<br/><sup>By **vsnthdev** on **2024-12-02**</sup> | Searches Google through their official CSE API.<br/>`web` `search` |
|
||||
| [Tongyi wanxiang Image Generator](https://lobechat.com/discover/plugin/alps-tongyi-image)<br/><sup>By **YoungTx** on **2024-08-09**</sup> | This plugin uses Alibaba's Tongyi Wanxiang model to generate images based on text prompts.<br/>`image` `tongyi` `wanxiang` |
|
||||
| Recent Submits | Description |
|
||||
| ---------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------- |
|
||||
| [PortfolioMeta](https://lobechat.com/discover/plugin/StockData)<br/><sup>By **portfoliometa** on **2025-07-21**</sup> | Analyze stocks and get comprehensive real-time investment data and analytics.<br/>`stock` |
|
||||
| [Web](https://lobechat.com/discover/plugin/web)<br/><sup>By **Proghit** on **2025-01-24**</sup> | Smart web search that reads and analyzes pages to deliver comprehensive answers from Google results.<br/>`web` `search` |
|
||||
| [Bing_websearch](https://lobechat.com/discover/plugin/Bingsearch-identifier)<br/><sup>By **FineHow** on **2024-12-22**</sup> | Search for information from the internet base BingApi<br/>`bingsearch` |
|
||||
| [Google CSE](https://lobechat.com/discover/plugin/google-cse)<br/><sup>By **vsnthdev** on **2024-12-02**</sup> | Searches Google through their official CSE API.<br/>`web` `search` |
|
||||
|
||||
> 📊 Total plugins: [<kbd>**41**</kbd>](https://lobechat.com/discover/plugins)
|
||||
> 📊 Total plugins: [<kbd>**42**</kbd>](https://lobechat.com/discover/plugins)
|
||||
|
||||
<!-- PLUGIN LIST -->
|
||||
|
||||
@@ -481,7 +481,7 @@ We deeply understand the importance of providing a seamless experience for users
|
||||
Therefore, we have adopted Progressive Web Application ([PWA](https://support.google.com/chrome/answer/9658361)) technology,
|
||||
a modern web technology that elevates web applications to an experience close to that of native apps.
|
||||
|
||||
Through PWA, LobeChat can offer a highly optimized user experience on both desktop and mobile devices while maintaining high-performance characteristics.
|
||||
Through PWA, LobeChat can offer a highly optimized user experience on both desktop and mobile devices while maintaining its lightweight and high-performance characteristics.
|
||||
Visually and in terms of feel, we have also meticulously designed the interface to ensure it is indistinguishable from native apps,
|
||||
providing smooth animations, responsive layouts, and adapting to different device screen resolutions.
|
||||
|
||||
@@ -819,7 +819,7 @@ Every bit counts and your one-time donation sparkles in our galaxy of support! Y
|
||||
</details>
|
||||
|
||||
Copyright © 2025 [LobeHub][profile-link]. <br />
|
||||
This project is [LobeHub Community License](./LICENSE) licensed.
|
||||
This project is [Apache 2.0](./LICENSE) licensed.
|
||||
|
||||
<!-- LINK GROUP -->
|
||||
|
||||
|
||||
+8
-8
@@ -375,14 +375,14 @@ LobeChat 的插件生态系统是其核心功能的重要扩展,它极大地
|
||||
|
||||
<!-- PLUGIN LIST -->
|
||||
|
||||
| 最近新增 | 描述 |
|
||||
| ---------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------- |
|
||||
| [网页](https://lobechat.com/discover/plugin/web)<br/><sup>By **Proghit** on **2025-01-24**</sup> | 智能网页搜索,读取和分析页面,以提供来自 Google 结果的全面答案。<br/>`网页` `搜索` |
|
||||
| [必应网页搜索](https://lobechat.com/discover/plugin/Bingsearch-identifier)<br/><sup>By **FineHow** on **2024-12-22**</sup> | 通过 BingApi 搜索互联网上的信息<br/>`bingsearch` |
|
||||
| [谷歌自定义搜索引擎](https://lobechat.com/discover/plugin/google-cse)<br/><sup>By **vsnthdev** on **2024-12-02**</sup> | 通过他们的官方自定义搜索引擎 API 搜索谷歌。<br/>`网络` `搜索` |
|
||||
| [通义万象图像生成器](https://lobechat.com/discover/plugin/alps-tongyi-image)<br/><sup>By **YoungTx** on **2024-08-09**</sup> | 此插件使用阿里巴巴的通义万象模型根据文本提示生成图像。<br/>`图像` `通义` `万象` |
|
||||
| 最近新增 | 描述 |
|
||||
| -------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------- |
|
||||
| [PortfolioMeta](https://lobechat.com/discover/plugin/StockData)<br/><sup>By **portfoliometa** on **2025-07-21**</sup> | 分析股票并获取全面的实时投资数据和分析。<br/>`股票` |
|
||||
| [网页](https://lobechat.com/discover/plugin/web)<br/><sup>By **Proghit** on **2025-01-24**</sup> | 智能网页搜索,读取和分析页面,以提供来自 Google 结果的全面答案。<br/>`网页` `搜索` |
|
||||
| [必应网页搜索](https://lobechat.com/discover/plugin/Bingsearch-identifier)<br/><sup>By **FineHow** on **2024-12-22**</sup> | 通过 BingApi 搜索互联网上的信息<br/>`bingsearch` |
|
||||
| [谷歌自定义搜索引擎](https://lobechat.com/discover/plugin/google-cse)<br/><sup>By **vsnthdev** on **2024-12-02**</sup> | 通过他们的官方自定义搜索引擎 API 搜索谷歌。<br/>`网络` `搜索` |
|
||||
|
||||
> 📊 Total plugins: [<kbd>**41**</kbd>](https://lobechat.com/discover/plugins)
|
||||
> 📊 Total plugins: [<kbd>**42**</kbd>](https://lobechat.com/discover/plugins)
|
||||
|
||||
<!-- PLUGIN LIST -->
|
||||
|
||||
@@ -840,7 +840,7 @@ $ pnpm run dev
|
||||
</details>
|
||||
|
||||
Copyright © 2025 [LobeHub][profile-link]. <br />
|
||||
This project is [LobeHub Community License](./LICENSE) licensed.
|
||||
This project is [Apache 2.0](./LICENSE) licensed.
|
||||
|
||||
<!-- LINK GROUP -->
|
||||
|
||||
|
||||
@@ -1,27 +1,16 @@
|
||||
const dotenv = require('dotenv');
|
||||
const os = require('node:os');
|
||||
|
||||
dotenv.config();
|
||||
|
||||
const packageJSON = require('./package.json');
|
||||
|
||||
const channel = process.env.UPDATE_CHANNEL;
|
||||
const arch = os.arch();
|
||||
const hasAppleCertificate = Boolean(process.env.CSC_LINK);
|
||||
|
||||
console.log(`🚄 Build Version ${packageJSON.version}, Channel: ${channel}`);
|
||||
console.log(`🏗️ Building for architecture: ${arch}`);
|
||||
|
||||
const isNightly = channel === 'nightly';
|
||||
const isBeta = packageJSON.name.includes('beta');
|
||||
|
||||
// https://www.electron.build/code-signing-mac#how-to-disable-code-signing-during-the-build-process-on-macos
|
||||
if (!hasAppleCertificate) {
|
||||
// Disable auto discovery to keep electron-builder from searching unavailable signing identities
|
||||
process.env.CSC_IDENTITY_AUTO_DISCOVERY = 'false';
|
||||
console.log('⚠️ Apple certificate link not found, macOS artifacts will be unsigned.');
|
||||
}
|
||||
|
||||
// 根据版本类型确定协议 scheme
|
||||
const getProtocolScheme = () => {
|
||||
if (isNightly) return 'lobehub-nightly';
|
||||
@@ -95,17 +84,15 @@ const config = {
|
||||
NSMicrophoneUsageDescription: "Application requests access to the device's microphone.",
|
||||
},
|
||||
gatekeeperAssess: false,
|
||||
hardenedRuntime: hasAppleCertificate,
|
||||
notarize: hasAppleCertificate,
|
||||
...(hasAppleCertificate ? {} : { identity: null }),
|
||||
hardenedRuntime: true,
|
||||
notarize: true,
|
||||
target:
|
||||
// 降低构建时间,nightly 只打 dmg
|
||||
// 根据当前机器架构只构建对应架构的包
|
||||
// 降低构建时间,nightly 只打 arm64
|
||||
isNightly
|
||||
? [{ arch: [arch === 'arm64' ? 'arm64' : 'x64'], target: 'dmg' }]
|
||||
? [{ arch: ['arm64'], target: 'dmg' }]
|
||||
: [
|
||||
{ arch: [arch === 'arm64' ? 'arm64' : 'x64'], target: 'dmg' },
|
||||
{ arch: [arch === 'arm64' ? 'arm64' : 'x64'], target: 'zip' },
|
||||
{ arch: ['x64', 'arm64'], target: 'dmg' },
|
||||
{ arch: ['x64', 'arm64'], target: 'zip' },
|
||||
],
|
||||
},
|
||||
npmRebuild: true,
|
||||
|
||||
@@ -31,7 +31,6 @@
|
||||
"dependencies": {
|
||||
"electron-updater": "^6.6.2",
|
||||
"electron-window-state": "^5.0.3",
|
||||
"fetch-socks": "^1.3.2",
|
||||
"get-port-please": "^3.1.2",
|
||||
"pdfjs-dist": "4.10.38"
|
||||
},
|
||||
@@ -52,14 +51,14 @@
|
||||
"@typescript/native-preview": "7.0.0-dev.20250711.1",
|
||||
"consola": "^3.1.0",
|
||||
"cookie": "^1.0.2",
|
||||
"electron": "^38.0.0",
|
||||
"electron": "^37.2.0",
|
||||
"electron-builder": "^26.0.12",
|
||||
"electron-is": "^3.0.0",
|
||||
"electron-log": "^5.3.3",
|
||||
"electron-store": "^8.2.0",
|
||||
"electron-vite": "^3.0.0",
|
||||
"execa": "^9.5.2",
|
||||
"fix-path": "^5.0.0",
|
||||
"fix-path": "^4.0.0",
|
||||
"http-proxy-agent": "^7.0.2",
|
||||
"https-proxy-agent": "^7.0.6",
|
||||
"just-diff": "^6.0.2",
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
import { beforeEach, describe, expect, it, vi, Mock } from 'vitest';
|
||||
import { InterceptRouteParams } from '@lobechat/electron-client-ipc';
|
||||
import { Mock, beforeEach, describe, expect, it, vi } from 'vitest';
|
||||
|
||||
import { AppBrowsersIdentifiers, BrowsersIdentifiers } from '@/appBrowsers';
|
||||
import type { App } from '@/core/App';
|
||||
import type { IpcClientEventSender } from '@/types/ipcClientEvent';
|
||||
import { BrowsersIdentifiers, AppBrowsersIdentifiers } from '@/appBrowsers';
|
||||
|
||||
import BrowserWindowsCtr from '../BrowserWindowsCtr';
|
||||
|
||||
@@ -33,14 +33,12 @@ const mockApp = {
|
||||
closeWindow: mockCloseWindow,
|
||||
minimizeWindow: mockMinimizeWindow,
|
||||
maximizeWindow: mockMaximizeWindow,
|
||||
retrieveByIdentifier: mockRetrieveByIdentifier.mockImplementation(
|
||||
(identifier: AppBrowsersIdentifiers | string) => {
|
||||
if (identifier === BrowsersIdentifiers.settings || identifier === 'some-other-window') {
|
||||
return { show: mockShow };
|
||||
}
|
||||
return { show: mockShow }; // Default mock for other identifiers
|
||||
},
|
||||
),
|
||||
retrieveByIdentifier: mockRetrieveByIdentifier.mockImplementation((identifier: AppBrowsersIdentifiers | string) => {
|
||||
if (identifier === BrowsersIdentifiers.settings || identifier === 'some-other-window') {
|
||||
return { show: mockShow };
|
||||
}
|
||||
return { show: mockShow }; // Default mock for other identifiers
|
||||
}),
|
||||
},
|
||||
} as unknown as App;
|
||||
|
||||
@@ -106,11 +104,7 @@ describe('BrowserWindowsCtr', () => {
|
||||
const baseParams = { source: 'link-click' as const };
|
||||
|
||||
it('should not intercept if no matching route is found', async () => {
|
||||
const params: InterceptRouteParams = {
|
||||
...baseParams,
|
||||
path: '/unknown/route',
|
||||
url: 'app://host/unknown/route',
|
||||
};
|
||||
const params: InterceptRouteParams = { ...baseParams, path: '/unknown/route', url: 'app://host/unknown/route' };
|
||||
(findMatchingRoute as Mock).mockReturnValue(undefined);
|
||||
const result = await browserWindowsCtr.interceptRoute(params);
|
||||
expect(findMatchingRoute).toHaveBeenCalledWith(params.path);
|
||||
@@ -118,11 +112,7 @@ describe('BrowserWindowsCtr', () => {
|
||||
});
|
||||
|
||||
it('should show settings window if matched route target is settings', async () => {
|
||||
const params: InterceptRouteParams = {
|
||||
...baseParams,
|
||||
path: '/settings?active=common',
|
||||
url: 'app://host/settings?active=common',
|
||||
};
|
||||
const params: InterceptRouteParams = { ...baseParams, path: '/settings/common', url: 'app://host/settings/common' };
|
||||
const matchedRoute = { targetWindow: BrowsersIdentifiers.settings, pathPrefix: '/settings' };
|
||||
const subPath = 'common';
|
||||
(findMatchingRoute as Mock).mockReturnValue(matchedRoute);
|
||||
@@ -144,11 +134,7 @@ describe('BrowserWindowsCtr', () => {
|
||||
});
|
||||
|
||||
it('should open target window if matched route target is not settings', async () => {
|
||||
const params: InterceptRouteParams = {
|
||||
...baseParams,
|
||||
path: '/other/page',
|
||||
url: 'app://host/other/page',
|
||||
};
|
||||
const params: InterceptRouteParams = { ...baseParams, path: '/other/page', url: 'app://host/other/page' };
|
||||
const targetWindowIdentifier = 'some-other-window' as AppBrowsersIdentifiers;
|
||||
const matchedRoute = { targetWindow: targetWindowIdentifier, pathPrefix: '/other' };
|
||||
(findMatchingRoute as Mock).mockReturnValue(matchedRoute);
|
||||
@@ -168,11 +154,7 @@ describe('BrowserWindowsCtr', () => {
|
||||
});
|
||||
|
||||
it('should return error if processing route interception fails for settings', async () => {
|
||||
const params: InterceptRouteParams = {
|
||||
...baseParams,
|
||||
path: '/settings?active=general',
|
||||
url: 'app://host/settings?active=general',
|
||||
};
|
||||
const params: InterceptRouteParams = { ...baseParams, path: '/settings/general', url: 'app://host/settings/general' };
|
||||
const matchedRoute = { targetWindow: BrowsersIdentifiers.settings, pathPrefix: '/settings' };
|
||||
const subPath = 'general';
|
||||
const errorMessage = 'Processing error for settings';
|
||||
@@ -191,11 +173,7 @@ describe('BrowserWindowsCtr', () => {
|
||||
});
|
||||
|
||||
it('should return error if processing route interception fails for other window', async () => {
|
||||
const params: InterceptRouteParams = {
|
||||
...baseParams,
|
||||
path: '/another/custom',
|
||||
url: 'app://host/another/custom',
|
||||
};
|
||||
const params: InterceptRouteParams = { ...baseParams, path: '/another/custom', url: 'app://host/another/custom' };
|
||||
const targetWindowIdentifier = 'another-custom-window' as AppBrowsersIdentifiers;
|
||||
const matchedRoute = { targetWindow: targetWindowIdentifier, pathPrefix: '/another' };
|
||||
const errorMessage = 'Processing error for other window';
|
||||
@@ -214,4 +192,4 @@ describe('BrowserWindowsCtr', () => {
|
||||
});
|
||||
});
|
||||
});
|
||||
});
|
||||
});
|
||||
@@ -1,5 +1,4 @@
|
||||
import { NetworkProxySettings } from '@lobechat/electron-client-ipc';
|
||||
import { SocksProxies, socksDispatcher } from 'fetch-socks';
|
||||
import { Agent, ProxyAgent, getGlobalDispatcher, setGlobalDispatcher } from 'undici';
|
||||
|
||||
import { createLogger } from '@/utils/logger';
|
||||
@@ -92,29 +91,8 @@ export class ProxyDispatcherManager {
|
||||
*/
|
||||
static createProxyAgent(proxyType: string, proxyUrl: string) {
|
||||
try {
|
||||
if (proxyType === 'socks5') {
|
||||
// 解析 SOCKS5 代理 URL
|
||||
const url = new URL(proxyUrl);
|
||||
const socksProxies: SocksProxies = [
|
||||
{
|
||||
host: url.hostname,
|
||||
port: parseInt(url.port, 10),
|
||||
type: 5,
|
||||
...(url.username && url.password
|
||||
? {
|
||||
password: url.password,
|
||||
userId: url.username,
|
||||
}
|
||||
: {}),
|
||||
},
|
||||
];
|
||||
|
||||
// 使用 fetch-socks 处理 SOCKS5 代理
|
||||
return socksDispatcher(socksProxies);
|
||||
} else {
|
||||
// undici 的 ProxyAgent 支持 http, https
|
||||
return new ProxyAgent({ uri: proxyUrl });
|
||||
}
|
||||
// undici 的 ProxyAgent 支持 http, https 和 socks5
|
||||
return new ProxyAgent({ uri: proxyUrl });
|
||||
} catch (error) {
|
||||
logger.error(`Failed to create proxy agent for ${proxyType}:`, error);
|
||||
throw new Error(
|
||||
|
||||
@@ -1,654 +1,4 @@
|
||||
[
|
||||
{
|
||||
"children": {
|
||||
"fixes": ["Add proxyUrl configuration for NEW API provider."]
|
||||
},
|
||||
"date": "2025-09-25",
|
||||
"version": "1.132.15"
|
||||
},
|
||||
{
|
||||
"children": {
|
||||
"improvements": ["Update i18n."]
|
||||
},
|
||||
"date": "2025-09-25",
|
||||
"version": "1.132.14"
|
||||
},
|
||||
{
|
||||
"children": {},
|
||||
"date": "2025-09-25",
|
||||
"version": "1.132.13"
|
||||
},
|
||||
{
|
||||
"children": {
|
||||
"fixes": ["Slove setting proxy page with style error."]
|
||||
},
|
||||
"date": "2025-09-25",
|
||||
"version": "1.132.12"
|
||||
},
|
||||
{
|
||||
"children": {
|
||||
"improvements": [
|
||||
"Enhanced Nvidia NIM chat experience, OpenAI models in AiHubMix use Responses API."
|
||||
]
|
||||
},
|
||||
"date": "2025-09-24",
|
||||
"version": "1.132.11"
|
||||
},
|
||||
{
|
||||
"children": {
|
||||
"fixes": ["Macos desktop sign."]
|
||||
},
|
||||
"date": "2025-09-24",
|
||||
"version": "1.132.10"
|
||||
},
|
||||
{
|
||||
"children": {},
|
||||
"date": "2025-09-23",
|
||||
"version": "1.132.9"
|
||||
},
|
||||
{
|
||||
"children": {
|
||||
"improvements": ["Refactor all @/types in model runtime to @lobechat/types."]
|
||||
},
|
||||
"date": "2025-09-23",
|
||||
"version": "1.132.8"
|
||||
},
|
||||
{
|
||||
"children": {},
|
||||
"date": "2025-09-23",
|
||||
"version": "1.132.7"
|
||||
},
|
||||
{
|
||||
"children": {},
|
||||
"date": "2025-09-23",
|
||||
"version": "1.132.6"
|
||||
},
|
||||
{
|
||||
"children": {
|
||||
"improvements": ["Move the ModelProvider to model-bank."]
|
||||
},
|
||||
"date": "2025-09-22",
|
||||
"version": "1.132.5"
|
||||
},
|
||||
{
|
||||
"children": {
|
||||
"improvements": ["Enable thinkingBudget control for Vertex Gemini 2.5 models, update i18n."]
|
||||
},
|
||||
"date": "2025-09-22",
|
||||
"version": "1.132.4"
|
||||
},
|
||||
{
|
||||
"children": {
|
||||
"improvements": ["Added AUTH_MICROSOFT_ENTRA_ID_BASE_URL routing."]
|
||||
},
|
||||
"date": "2025-09-21",
|
||||
"version": "1.132.3"
|
||||
},
|
||||
{
|
||||
"children": {
|
||||
"fixes": ["Fix non stream mode in OpenAI Response API."]
|
||||
},
|
||||
"date": "2025-09-21",
|
||||
"version": "1.132.2"
|
||||
},
|
||||
{
|
||||
"children": {
|
||||
"fixes": ["Fix missing provider in server message."]
|
||||
},
|
||||
"date": "2025-09-21",
|
||||
"version": "1.132.1"
|
||||
},
|
||||
{
|
||||
"children": {
|
||||
"features": ["Support google video understanding."]
|
||||
},
|
||||
"date": "2025-09-21",
|
||||
"version": "1.132.0"
|
||||
},
|
||||
{
|
||||
"children": {
|
||||
"improvements": ["Enhanced AkashChat experience."]
|
||||
},
|
||||
"date": "2025-09-21",
|
||||
"version": "1.131.4"
|
||||
},
|
||||
{
|
||||
"children": {
|
||||
"fixes": ["Update Responses search tool to web_search."]
|
||||
},
|
||||
"date": "2025-09-21",
|
||||
"version": "1.131.3"
|
||||
},
|
||||
{
|
||||
"children": {
|
||||
"improvements": ["Use ID as name if provider name is empty."]
|
||||
},
|
||||
"date": "2025-09-21",
|
||||
"version": "1.131.2"
|
||||
},
|
||||
{
|
||||
"children": {
|
||||
"improvements": [
|
||||
"Extend custom provider runtime options, Optimized modelFetch for Vercel AI Gateway, update i18n."
|
||||
]
|
||||
},
|
||||
"date": "2025-09-21",
|
||||
"version": "1.131.1"
|
||||
},
|
||||
{
|
||||
"children": {
|
||||
"features": ["Qwen provider add qwen-image-edit model support."]
|
||||
},
|
||||
"date": "2025-09-19",
|
||||
"version": "1.131.0"
|
||||
},
|
||||
{
|
||||
"children": {
|
||||
"fixes": ["Fix oidc open direct issue."]
|
||||
},
|
||||
"date": "2025-09-18",
|
||||
"version": "1.130.1"
|
||||
},
|
||||
{
|
||||
"children": {
|
||||
"features": ["Add scroll support for pinned assistants using ScrollShadow."]
|
||||
},
|
||||
"date": "2025-09-18",
|
||||
"version": "1.130.0"
|
||||
},
|
||||
{
|
||||
"children": {
|
||||
"fixes": ["Fix svg xss issue."]
|
||||
},
|
||||
"date": "2025-09-18",
|
||||
"version": "1.129.4"
|
||||
},
|
||||
{
|
||||
"children": {
|
||||
"fixes": ["Add qwen provider support for image-edit model."]
|
||||
},
|
||||
"date": "2025-09-17",
|
||||
"version": "1.129.3"
|
||||
},
|
||||
{
|
||||
"children": {
|
||||
"fixes": ["Improve db migrations sql."],
|
||||
"improvements": ["Update i18n."]
|
||||
},
|
||||
"date": "2025-09-17",
|
||||
"version": "1.129.2"
|
||||
},
|
||||
{
|
||||
"children": {
|
||||
"improvements": ["Update SiliconCloud reasoning models."]
|
||||
},
|
||||
"date": "2025-09-16",
|
||||
"version": "1.129.1"
|
||||
},
|
||||
{
|
||||
"children": {
|
||||
"features": ["Support Vercel AI Gateway provider."]
|
||||
},
|
||||
"date": "2025-09-16",
|
||||
"version": "1.129.0"
|
||||
},
|
||||
{
|
||||
"children": {
|
||||
"fixes": ["Fix azure ai runtime error."]
|
||||
},
|
||||
"date": "2025-09-16",
|
||||
"version": "1.128.10"
|
||||
},
|
||||
{
|
||||
"children": {
|
||||
"improvements": ["Improve error handle with agent config, support .doc file parse."]
|
||||
},
|
||||
"date": "2025-09-15",
|
||||
"version": "1.128.9"
|
||||
},
|
||||
{
|
||||
"children": {
|
||||
"improvements": [
|
||||
"Enable toggling search on/off via search button click & historyCount button."
|
||||
]
|
||||
},
|
||||
"date": "2025-09-15",
|
||||
"version": "1.128.8"
|
||||
},
|
||||
{
|
||||
"children": {},
|
||||
"date": "2025-09-14",
|
||||
"version": "1.128.7"
|
||||
},
|
||||
{
|
||||
"children": {
|
||||
"improvements": ["Update i18n."]
|
||||
},
|
||||
"date": "2025-09-14",
|
||||
"version": "1.128.6"
|
||||
},
|
||||
{
|
||||
"children": {
|
||||
"fixes": ["Google stream error unable to abort request."]
|
||||
},
|
||||
"date": "2025-09-13",
|
||||
"version": "1.128.5"
|
||||
},
|
||||
{
|
||||
"children": {
|
||||
"improvements": ["Fix discover plugin link."]
|
||||
},
|
||||
"date": "2025-09-13",
|
||||
"version": "1.128.4"
|
||||
},
|
||||
{
|
||||
"children": {
|
||||
"fixes": ["Fix open chat page with float link modal."]
|
||||
},
|
||||
"date": "2025-09-13",
|
||||
"version": "1.128.3"
|
||||
},
|
||||
{
|
||||
"children": {
|
||||
"improvements": ["Update i18n, Update model configs."]
|
||||
},
|
||||
"date": "2025-09-13",
|
||||
"version": "1.128.2"
|
||||
},
|
||||
{
|
||||
"children": {
|
||||
"improvements": ["Refactor message proccesser to the context engine."]
|
||||
},
|
||||
"date": "2025-09-12",
|
||||
"version": "1.128.1"
|
||||
},
|
||||
{
|
||||
"children": {
|
||||
"features": ["ChatInput support resize."]
|
||||
},
|
||||
"date": "2025-09-12",
|
||||
"version": "1.128.0"
|
||||
},
|
||||
{
|
||||
"children": {
|
||||
"fixes": ["Improve OpenAIStream processing to emit usage data for chunks lacking choices."]
|
||||
},
|
||||
"date": "2025-09-11",
|
||||
"version": "1.127.4"
|
||||
},
|
||||
{
|
||||
"children": {
|
||||
"improvements": ["Refactor model runtime folder structure and add more tests."]
|
||||
},
|
||||
"date": "2025-09-11",
|
||||
"version": "1.127.3"
|
||||
},
|
||||
{
|
||||
"children": {
|
||||
"fixes": ["Delete files should delete chunks、embedings、fileChunk."]
|
||||
},
|
||||
"date": "2025-09-11",
|
||||
"version": "1.127.2"
|
||||
},
|
||||
{
|
||||
"children": {
|
||||
"fixes": ["Fix not remove message with server mode."],
|
||||
"improvements": ["Update i18n."]
|
||||
},
|
||||
"date": "2025-09-11",
|
||||
"version": "1.127.1"
|
||||
},
|
||||
{
|
||||
"children": {
|
||||
"features": ["Seedream 4.0."],
|
||||
"improvements": ["Add hotkey tooltip to typobar actions."]
|
||||
},
|
||||
"date": "2025-09-10",
|
||||
"version": "1.127.0"
|
||||
},
|
||||
{
|
||||
"children": {
|
||||
"improvements": ["Add CometAPI model provider and chat models, update i18n."]
|
||||
},
|
||||
"date": "2025-09-10",
|
||||
"version": "1.126.3"
|
||||
},
|
||||
{
|
||||
"children": {
|
||||
"fixes": ["Fix editor key handling."]
|
||||
},
|
||||
"date": "2025-09-09",
|
||||
"version": "1.126.2"
|
||||
},
|
||||
{
|
||||
"children": {
|
||||
"fixes": ["Fix Assistant List error message."]
|
||||
},
|
||||
"date": "2025-09-09",
|
||||
"version": "1.126.1"
|
||||
},
|
||||
{
|
||||
"children": {},
|
||||
"date": "2025-09-08",
|
||||
"version": "1.126.0"
|
||||
},
|
||||
{
|
||||
"children": {
|
||||
"features": ["Add Math and TaskList to Editor."]
|
||||
},
|
||||
"date": "2025-09-08",
|
||||
"version": "1.125.0"
|
||||
},
|
||||
{
|
||||
"children": {
|
||||
"fixes": ["Revert V1 Mobile."]
|
||||
},
|
||||
"date": "2025-09-06",
|
||||
"version": "1.124.4"
|
||||
},
|
||||
{
|
||||
"children": {
|
||||
"improvements": ["Refactor to remove edge runtime and add more tests."]
|
||||
},
|
||||
"date": "2025-09-06",
|
||||
"version": "1.124.3"
|
||||
},
|
||||
{
|
||||
"children": {
|
||||
"fixes": ["Fix ChatInput send command switch."]
|
||||
},
|
||||
"date": "2025-09-06",
|
||||
"version": "1.124.2"
|
||||
},
|
||||
{
|
||||
"children": {
|
||||
"fixes": ["Enhance NewAPI with environment variables and fix routers compatibility."],
|
||||
"improvements": ["Update doubao-seed-1.6-vision models."]
|
||||
},
|
||||
"date": "2025-09-06",
|
||||
"version": "1.124.1"
|
||||
},
|
||||
{
|
||||
"children": {
|
||||
"features": ["ChatInput support rich text and support parallel send."]
|
||||
},
|
||||
"date": "2025-09-06",
|
||||
"version": "1.124.0"
|
||||
},
|
||||
{
|
||||
"children": {
|
||||
"improvements": ["Remove edge runtime."]
|
||||
},
|
||||
"date": "2025-09-05",
|
||||
"version": "1.123.4"
|
||||
},
|
||||
{
|
||||
"children": {
|
||||
"fixes": ["Fix mobile header title to loog not ellipsis."]
|
||||
},
|
||||
"date": "2025-09-05",
|
||||
"version": "1.123.3"
|
||||
},
|
||||
{
|
||||
"children": {
|
||||
"fixes": ["Not use branch topic when this topic is not save."]
|
||||
},
|
||||
"date": "2025-09-05",
|
||||
"version": "1.123.2"
|
||||
},
|
||||
{
|
||||
"children": {
|
||||
"improvements": ["Update i18n."]
|
||||
},
|
||||
"date": "2025-09-05",
|
||||
"version": "1.123.1"
|
||||
},
|
||||
{
|
||||
"children": {
|
||||
"features": ["Add NewAPI as a router provider for multi-model aggregation."]
|
||||
},
|
||||
"date": "2025-09-04",
|
||||
"version": "1.123.0"
|
||||
},
|
||||
{
|
||||
"children": {
|
||||
"improvements": ["Make LobeNextAuthDBAdapter Edge Compatible."]
|
||||
},
|
||||
"date": "2025-09-04",
|
||||
"version": "1.122.7"
|
||||
},
|
||||
{
|
||||
"children": {},
|
||||
"date": "2025-09-04",
|
||||
"version": "1.122.6"
|
||||
},
|
||||
{
|
||||
"children": {
|
||||
"improvements": ["Make LobeNextAuthDBAdapter Edge Compatible."]
|
||||
},
|
||||
"date": "2025-09-04",
|
||||
"version": "1.122.5"
|
||||
},
|
||||
{
|
||||
"children": {
|
||||
"improvements": ["Update i18n."]
|
||||
},
|
||||
"date": "2025-09-04",
|
||||
"version": "1.122.4"
|
||||
},
|
||||
{
|
||||
"children": {
|
||||
"fixes": ["Support base64 image from markdown image syntax."],
|
||||
"improvements": ["Update the price of the o3 model in OpenRouter."]
|
||||
},
|
||||
"date": "2025-09-04",
|
||||
"version": "1.122.3"
|
||||
},
|
||||
{
|
||||
"children": {},
|
||||
"date": "2025-09-04",
|
||||
"version": "1.122.2"
|
||||
},
|
||||
{
|
||||
"children": {},
|
||||
"date": "2025-09-04",
|
||||
"version": "1.122.1"
|
||||
},
|
||||
{
|
||||
"children": {
|
||||
"features": ["Refactor to speed up send message in server mode."]
|
||||
},
|
||||
"date": "2025-09-04",
|
||||
"version": "1.122.0"
|
||||
},
|
||||
{
|
||||
"children": {
|
||||
"fixes": ["Fix socks5 proxy not work problem, fix virtuaso minheight was null."]
|
||||
},
|
||||
"date": "2025-09-03",
|
||||
"version": "1.121.1"
|
||||
},
|
||||
{
|
||||
"children": {
|
||||
"features": ["Add nano banana Chinese prompt notify."]
|
||||
},
|
||||
"date": "2025-09-03",
|
||||
"version": "1.121.0"
|
||||
},
|
||||
{
|
||||
"children": {
|
||||
"improvements": ["Update i18n."]
|
||||
},
|
||||
"date": "2025-09-02",
|
||||
"version": "1.120.7"
|
||||
},
|
||||
{
|
||||
"children": {
|
||||
"improvements": ["Add upload hint for non-visual model."]
|
||||
},
|
||||
"date": "2025-09-01",
|
||||
"version": "1.120.6"
|
||||
},
|
||||
{
|
||||
"children": {},
|
||||
"date": "2025-09-01",
|
||||
"version": "1.120.5"
|
||||
},
|
||||
{
|
||||
"children": {
|
||||
"improvements": ["Adjust ControlsForm component to adapt to mobile phone display."]
|
||||
},
|
||||
"date": "2025-09-01",
|
||||
"version": "1.120.4"
|
||||
},
|
||||
{
|
||||
"children": {
|
||||
"improvements": ["Support new provider Nebius."]
|
||||
},
|
||||
"date": "2025-09-01",
|
||||
"version": "1.120.3"
|
||||
},
|
||||
{
|
||||
"children": {
|
||||
"improvements": ["Remove base path."]
|
||||
},
|
||||
"date": "2025-08-31",
|
||||
"version": "1.120.2"
|
||||
},
|
||||
{
|
||||
"children": {
|
||||
"improvements": ["Update i18n."]
|
||||
},
|
||||
"date": "2025-08-31",
|
||||
"version": "1.120.1"
|
||||
},
|
||||
{
|
||||
"children": {
|
||||
"improvements": ["Remove webrtc sync feature flag."],
|
||||
"features": ["Rename Gemini 2.5 flash image to Nano Banana."]
|
||||
},
|
||||
"date": "2025-08-30",
|
||||
"version": "1.120.0"
|
||||
},
|
||||
{
|
||||
"children": {},
|
||||
"date": "2025-08-30",
|
||||
"version": "1.119.2"
|
||||
},
|
||||
{
|
||||
"children": {
|
||||
"fixes": ["Update enableStreaming name."]
|
||||
},
|
||||
"date": "2025-08-30",
|
||||
"version": "1.119.1"
|
||||
},
|
||||
{
|
||||
"children": {
|
||||
"features": ["Added support for Azure OpenAI Image Generation."]
|
||||
},
|
||||
"date": "2025-08-30",
|
||||
"version": "1.119.0"
|
||||
},
|
||||
{
|
||||
"children": {
|
||||
"improvements": ["Update DeepSeek V3.1 & Gemini 2.5 Flash Image Preview models."]
|
||||
},
|
||||
"date": "2025-08-30",
|
||||
"version": "1.118.8"
|
||||
},
|
||||
{
|
||||
"children": {
|
||||
"improvements": ["Update i18n."]
|
||||
},
|
||||
"date": "2025-08-30",
|
||||
"version": "1.118.7"
|
||||
},
|
||||
{
|
||||
"children": {
|
||||
"improvements": ["Support non-stream mode."]
|
||||
},
|
||||
"date": "2025-08-29",
|
||||
"version": "1.118.6"
|
||||
},
|
||||
{
|
||||
"children": {
|
||||
"improvements": ["Fix clerk scrollBox style, ModelFetcher support getting prices."]
|
||||
},
|
||||
"date": "2025-08-29",
|
||||
"version": "1.118.5"
|
||||
},
|
||||
{
|
||||
"children": {
|
||||
"improvements": ["Fix chat session part switch theme issue."]
|
||||
},
|
||||
"date": "2025-08-29",
|
||||
"version": "1.118.4"
|
||||
},
|
||||
{
|
||||
"children": {
|
||||
"fixes": ["Correct totalOutputTokens calculation for XAI provider."]
|
||||
},
|
||||
"date": "2025-08-29",
|
||||
"version": "1.118.3"
|
||||
},
|
||||
{
|
||||
"children": {
|
||||
"improvements": ["Add Grok Code Fast 1 model."]
|
||||
},
|
||||
"date": "2025-08-29",
|
||||
"version": "1.118.2"
|
||||
},
|
||||
{
|
||||
"children": {
|
||||
"fixes": ["Add Content-Security-Policy env."],
|
||||
"improvements": ["Support Gemini URL context tool."]
|
||||
},
|
||||
"date": "2025-08-29",
|
||||
"version": "1.118.1"
|
||||
},
|
||||
{
|
||||
"children": {
|
||||
"features": ["Add new provider AkashChat."]
|
||||
},
|
||||
"date": "2025-08-29",
|
||||
"version": "1.118.0"
|
||||
},
|
||||
{
|
||||
"children": {
|
||||
"improvements": ["Move chat item into chat."]
|
||||
},
|
||||
"date": "2025-08-29",
|
||||
"version": "1.117.1"
|
||||
},
|
||||
{
|
||||
"children": {
|
||||
"features": [
|
||||
"Ai image support Gemini 2.5 Flash Image, Support Gemini 2.5 Flash Image Preview in OpenRouter."
|
||||
],
|
||||
"improvements": ["Update i18n."]
|
||||
},
|
||||
"date": "2025-08-29",
|
||||
"version": "1.117.0"
|
||||
},
|
||||
{
|
||||
"children": {
|
||||
"improvements": ["Support html preview."]
|
||||
},
|
||||
"date": "2025-08-28",
|
||||
"version": "1.116.4"
|
||||
},
|
||||
{
|
||||
"children": {
|
||||
"fixes": ["Fix desktop route error."]
|
||||
},
|
||||
"date": "2025-08-28",
|
||||
"version": "1.116.3"
|
||||
},
|
||||
{
|
||||
"children": {},
|
||||
"date": "2025-08-28",
|
||||
"version": "1.116.2"
|
||||
},
|
||||
{
|
||||
"children": {},
|
||||
"date": "2025-08-27",
|
||||
|
||||
@@ -1,84 +0,0 @@
|
||||
name: lobe-chat-development
|
||||
services:
|
||||
network-service:
|
||||
image: alpine
|
||||
container_name: lobe-network
|
||||
restart: always
|
||||
ports:
|
||||
- '${MINIO_PORT}:${MINIO_PORT}' # MinIO API
|
||||
- '9001:9001' # MinIO Console
|
||||
- '${CASDOOR_PORT}:${CASDOOR_PORT}' # Casdoor
|
||||
- '3000:3000' # Grafana
|
||||
- '4318:4318' # otel-collector HTTP
|
||||
- '4317:4317' # otel-collector gRPC
|
||||
command: tail -f /dev/null
|
||||
networks:
|
||||
- lobe-network
|
||||
|
||||
postgresql:
|
||||
extends:
|
||||
file: docker-compose/local/docker-compose.yml
|
||||
service: postgresql
|
||||
minio:
|
||||
extends:
|
||||
file: docker-compose/local/docker-compose.yml
|
||||
service: minio
|
||||
casdoor:
|
||||
extends:
|
||||
file: docker-compose/local/docker-compose.yml
|
||||
service: casdoor
|
||||
searxng:
|
||||
extends:
|
||||
file: docker-compose/local/docker-compose.yml
|
||||
service: searxng
|
||||
|
||||
grafana:
|
||||
profiles:
|
||||
- otel
|
||||
extends:
|
||||
file: docker-compose/local/grafana/docker-compose.yml
|
||||
service: grafana
|
||||
|
||||
tempo:
|
||||
profiles:
|
||||
- otel
|
||||
extends:
|
||||
file: docker-compose/local/grafana/docker-compose.yml
|
||||
service: tempo
|
||||
|
||||
prometheus:
|
||||
profiles:
|
||||
- otel
|
||||
extends:
|
||||
file: docker-compose/local/grafana/docker-compose.yml
|
||||
service: prometheus
|
||||
|
||||
otel-collector:
|
||||
profiles:
|
||||
- otel
|
||||
extends:
|
||||
file: docker-compose/local/grafana/docker-compose.yml
|
||||
service: otel-collector
|
||||
|
||||
otel-tracing-test:
|
||||
profiles:
|
||||
- otel-test
|
||||
extends:
|
||||
file: docker-compose/local/grafana/docker-compose.yml
|
||||
service: otel-tracing-test
|
||||
|
||||
volumes:
|
||||
data:
|
||||
driver: local
|
||||
s3_data:
|
||||
driver: local
|
||||
grafana_data:
|
||||
driver: local
|
||||
tempo_data:
|
||||
driver: local
|
||||
prometheus_data:
|
||||
driver: local
|
||||
|
||||
networks:
|
||||
lobe-network:
|
||||
driver: bridge
|
||||
@@ -1,2 +0,0 @@
|
||||
data/
|
||||
s3_data/
|
||||
@@ -9,9 +9,6 @@ services:
|
||||
- '9001:9001' # MinIO Console
|
||||
- '${CASDOOR_PORT}:${CASDOOR_PORT}' # Casdoor
|
||||
- '${LOBE_PORT}:3210' # LobeChat
|
||||
- '3000:3000' # Grafana
|
||||
- '4318:4318' # otel-collector HTTP
|
||||
- '4317:4317' # otel-collector gRPC
|
||||
command: tail -f /dev/null
|
||||
networks:
|
||||
- lobe-network
|
||||
@@ -61,7 +58,7 @@ services:
|
||||
wait \$MINIO_PID
|
||||
"
|
||||
|
||||
# version lock ref: https://github.com/lobehub/lobe-chat/pull/7331
|
||||
# version lock ref: https://github.com/lobehub/lobe-chat/pull/7331
|
||||
casdoor:
|
||||
image: casbin/casdoor:v2.13.0
|
||||
container_name: lobe-casdoor
|
||||
@@ -165,90 +162,11 @@ services:
|
||||
wait \$LOBE_PID
|
||||
"
|
||||
|
||||
grafana:
|
||||
profiles:
|
||||
- otel
|
||||
image: grafana/grafana:12.2.0-17419259409
|
||||
container_name: lobe-grafana
|
||||
network_mode: 'service:network-service'
|
||||
restart: always
|
||||
environment:
|
||||
- GF_AUTH_ANONYMOUS_ENABLED=true
|
||||
- GF_AUTH_ANONYMOUS_ORG_ROLE=Admin
|
||||
- GF_AUTH_DISABLE_LOGIN_FORM=true
|
||||
- GF_FEATURE_TOGGLES_ENABLE=traceqlEditor
|
||||
volumes:
|
||||
- grafana_data:/var/lib/grafana
|
||||
- ./grafana/dashboards:/etc/grafana/provisioning/dashboards
|
||||
- ./grafana/datasources:/etc/grafana/provisioning/datasources
|
||||
depends_on:
|
||||
- tempo
|
||||
- prometheus
|
||||
|
||||
tempo:
|
||||
profiles:
|
||||
- otel
|
||||
image: grafana/tempo:latest
|
||||
container_name: lobe-tempo
|
||||
network_mode: 'service:network-service'
|
||||
restart: always
|
||||
volumes:
|
||||
- ./tempo/tempo.yaml:/etc/tempo.yaml
|
||||
- tempo_data:/var/tempo
|
||||
command: ['-config.file=/etc/tempo.yaml']
|
||||
|
||||
prometheus:
|
||||
profiles:
|
||||
- otel
|
||||
image: prom/prometheus
|
||||
container_name: lobe-prometheus
|
||||
network_mode: 'service:network-service'
|
||||
restart: always
|
||||
volumes:
|
||||
- ./prometheus/prometheus.yml:/etc/prometheus/prometheus.yml
|
||||
- prometheus_data:/prometheus
|
||||
command:
|
||||
- '--config.file=/etc/prometheus/prometheus.yml'
|
||||
- '--web.enable-otlp-receiver'
|
||||
- '--web.enable-remote-write-receiver'
|
||||
- '--enable-feature=exemplar-storage'
|
||||
|
||||
otel-collector:
|
||||
profiles:
|
||||
- otel
|
||||
image: otel/opentelemetry-collector
|
||||
container_name: lobe-otel-collector
|
||||
network_mode: 'service:network-service'
|
||||
restart: always
|
||||
volumes:
|
||||
- ./otel-collector/collector-config.yaml:/etc/otelcol/config.yaml
|
||||
command: ['--config', '/etc/otelcol/config.yaml']
|
||||
depends_on:
|
||||
- tempo
|
||||
- prometheus
|
||||
|
||||
otel-tracing-test:
|
||||
profiles:
|
||||
- otel-test
|
||||
image: ghcr.io/grafana/xk6-client-tracing:v0.0.7
|
||||
container_name: lobe-otel-tracing-test
|
||||
network_mode: 'service:network-service'
|
||||
restart: always
|
||||
environment:
|
||||
- ENDPOINT=127.0.0.1:4317
|
||||
|
||||
volumes:
|
||||
data:
|
||||
driver: local
|
||||
s3_data:
|
||||
driver: local
|
||||
grafana_data:
|
||||
driver: local
|
||||
tempo_data:
|
||||
driver: local
|
||||
prometheus_data:
|
||||
driver: local
|
||||
|
||||
|
||||
networks:
|
||||
lobe-network:
|
||||
|
||||
@@ -1,42 +0,0 @@
|
||||
# Proxy, if you need it
|
||||
# HTTP_PROXY=http://localhost:7890
|
||||
# HTTPS_PROXY=http://localhost:7890
|
||||
|
||||
|
||||
# Other environment variables, as needed. You can refer to the environment variables configuration for the client version, making sure not to have ACCESS_CODE.
|
||||
# OPENAI_API_KEY=sk-xxxx
|
||||
# OPENAI_PROXY_URL=https://api.openai.com/v1
|
||||
# OPENAI_MODEL_LIST=...
|
||||
|
||||
|
||||
# ===========================
|
||||
# ====== Preset config ======
|
||||
# ===========================
|
||||
# if no special requirements, no need to change
|
||||
LOBE_PORT=3210
|
||||
CASDOOR_PORT=8000
|
||||
MINIO_PORT=9000
|
||||
APP_URL=http://localhost:3210
|
||||
AUTH_URL=http://localhost:3210/api/auth
|
||||
|
||||
# Postgres related, which are the necessary environment variables for DB
|
||||
LOBE_DB_NAME=lobechat
|
||||
POSTGRES_PASSWORD=uWNZugjBqixf8dxC
|
||||
|
||||
AUTH_CASDOOR_ISSUER=http://localhost:8000
|
||||
# Casdoor secret
|
||||
AUTH_CASDOOR_ID=a387a4892ee19b1a2249
|
||||
AUTH_CASDOOR_SECRET=dbf205949d704de81b0b5b3603174e23fbecc354
|
||||
CASDOOR_WEBHOOK_SECRET=casdoor-secret
|
||||
|
||||
# MinIO S3 configuration
|
||||
MINIO_ROOT_USER=admin
|
||||
MINIO_ROOT_PASSWORD=YOUR_MINIO_PASSWORD
|
||||
|
||||
# Configure the bucket information of MinIO
|
||||
S3_PUBLIC_DOMAIN=http://localhost:9000
|
||||
S3_ENDPOINT=http://localhost:9000
|
||||
MINIO_LOBE_BUCKET=lobe
|
||||
|
||||
# Configure for casdoor
|
||||
origin=http://localhost:8000
|
||||
@@ -1,42 +0,0 @@
|
||||
# Proxy,如果你需要的话(比如你使用 GitHub 作为鉴权服务提供商)
|
||||
# HTTP_PROXY=http://localhost:7890
|
||||
# HTTPS_PROXY=http://localhost:7890
|
||||
|
||||
|
||||
# 其他环境变量,视需求而定,可以参照客户端版本的环境变量配置,注意不要有 ACCESS_CODE
|
||||
# OPENAI_API_KEY=sk-xxxx
|
||||
# OPENAI_PROXY_URL=https://api.openai.com/v1
|
||||
# OPENAI_MODEL_LIST=...
|
||||
|
||||
|
||||
# ===================
|
||||
# ===== 预设配置 =====
|
||||
# ===================
|
||||
# 如没有特殊需要不用更改
|
||||
LOBE_PORT=3210
|
||||
CASDOOR_PORT=8000
|
||||
MINIO_PORT=9000
|
||||
APP_URL=http://localhost:3210
|
||||
AUTH_URL=http://localhost:3210/api/auth
|
||||
|
||||
# Postgres 相关,也即 DB 必须的环境变量
|
||||
LOBE_DB_NAME=lobechat
|
||||
POSTGRES_PASSWORD=uWNZugjBqixf8dxC
|
||||
|
||||
AUTH_CASDOOR_ISSUER=http://localhost:8000
|
||||
# Casdoor secret
|
||||
AUTH_CASDOOR_ID=a387a4892ee19b1a2249
|
||||
AUTH_CASDOOR_SECRET=dbf205949d704de81b0b5b3603174e23fbecc354
|
||||
CASDOOR_WEBHOOK_SECRET=casdoor-secret
|
||||
|
||||
# MinIO S3 配置
|
||||
MINIO_ROOT_USER=admin
|
||||
MINIO_ROOT_PASSWORD=YOUR_MINIO_PASSWORD
|
||||
|
||||
# 在下方配置 minio 中添加的桶
|
||||
S3_PUBLIC_DOMAIN=http://localhost:9000
|
||||
S3_ENDPOINT=http://localhost:9000
|
||||
MINIO_LOBE_BUCKET=lobe
|
||||
|
||||
# 为 casdoor 配置
|
||||
origin=http://localhost:8000
|
||||
@@ -1,251 +0,0 @@
|
||||
name: lobe-chat-database
|
||||
services:
|
||||
network-service:
|
||||
image: alpine
|
||||
container_name: lobe-network
|
||||
restart: always
|
||||
ports:
|
||||
- '${MINIO_PORT}:${MINIO_PORT}' # MinIO API
|
||||
- '9001:9001' # MinIO Console
|
||||
- '${CASDOOR_PORT}:${CASDOOR_PORT}' # Casdoor
|
||||
- '${LOBE_PORT}:3210' # LobeChat
|
||||
- '3000:3000' # Grafana
|
||||
- '4318:4318' # otel-collector HTTP
|
||||
- '4317:4317' # otel-collector gRPC
|
||||
command: tail -f /dev/null
|
||||
networks:
|
||||
- lobe-network
|
||||
|
||||
postgresql:
|
||||
image: pgvector/pgvector:pg17
|
||||
container_name: lobe-postgres
|
||||
ports:
|
||||
- '5432:5432'
|
||||
volumes:
|
||||
- './data:/var/lib/postgresql/data'
|
||||
environment:
|
||||
- 'POSTGRES_DB=${LOBE_DB_NAME}'
|
||||
- 'POSTGRES_PASSWORD=${POSTGRES_PASSWORD}'
|
||||
healthcheck:
|
||||
test: ['CMD-SHELL', 'pg_isready -U postgres']
|
||||
interval: 5s
|
||||
timeout: 5s
|
||||
retries: 5
|
||||
restart: always
|
||||
networks:
|
||||
- lobe-network
|
||||
|
||||
minio:
|
||||
image: minio/minio:RELEASE.2025-04-22T22-12-26Z
|
||||
container_name: lobe-minio
|
||||
network_mode: 'service:network-service'
|
||||
volumes:
|
||||
- './s3_data:/etc/minio/data'
|
||||
environment:
|
||||
- 'MINIO_API_CORS_ALLOW_ORIGIN=*'
|
||||
env_file:
|
||||
- .env
|
||||
restart: always
|
||||
entrypoint: >
|
||||
/bin/sh -c "
|
||||
minio server /etc/minio/data --address ':${MINIO_PORT}' --console-address ':9001' &
|
||||
MINIO_PID=\$!
|
||||
while ! curl -s http://localhost:${MINIO_PORT}/minio/health/live; do
|
||||
echo 'Waiting for MinIO to start...'
|
||||
sleep 1
|
||||
done
|
||||
sleep 5
|
||||
mc alias set myminio http://localhost:${MINIO_PORT} ${MINIO_ROOT_USER} ${MINIO_ROOT_PASSWORD}
|
||||
echo 'Creating bucket ${MINIO_LOBE_BUCKET}'
|
||||
mc mb myminio/${MINIO_LOBE_BUCKET}
|
||||
wait \$MINIO_PID
|
||||
"
|
||||
|
||||
# version lock ref: https://github.com/lobehub/lobe-chat/pull/7331
|
||||
casdoor:
|
||||
image: casbin/casdoor:v2.13.0
|
||||
container_name: lobe-casdoor
|
||||
entrypoint: /bin/sh -c './server --createDatabase=true'
|
||||
network_mode: 'service:network-service'
|
||||
depends_on:
|
||||
postgresql:
|
||||
condition: service_healthy
|
||||
environment:
|
||||
httpport: ${CASDOOR_PORT}
|
||||
RUNNING_IN_DOCKER: 'true'
|
||||
driverName: 'postgres'
|
||||
dataSourceName: 'user=postgres password=${POSTGRES_PASSWORD} host=postgresql port=5432 sslmode=disable dbname=casdoor'
|
||||
runmode: 'dev'
|
||||
volumes:
|
||||
- ./init_data.json:/init_data.json
|
||||
env_file:
|
||||
- .env
|
||||
|
||||
searxng:
|
||||
image: searxng/searxng
|
||||
container_name: lobe-searxng
|
||||
volumes:
|
||||
- './searxng-settings.yml:/etc/searxng/settings.yml'
|
||||
environment:
|
||||
- 'SEARXNG_SETTINGS_FILE=/etc/searxng/settings.yml'
|
||||
restart: always
|
||||
networks:
|
||||
- lobe-network
|
||||
env_file:
|
||||
- .env
|
||||
|
||||
grafana:
|
||||
image: grafana/grafana:12.2.0-17419259409
|
||||
container_name: lobe-grafana
|
||||
network_mode: 'service:network-service'
|
||||
restart: always
|
||||
environment:
|
||||
- GF_AUTH_ANONYMOUS_ENABLED=true
|
||||
- GF_AUTH_ANONYMOUS_ORG_ROLE=Admin
|
||||
- GF_AUTH_DISABLE_LOGIN_FORM=true
|
||||
- GF_FEATURE_TOGGLES_ENABLE=traceqlEditor
|
||||
volumes:
|
||||
- grafana_data:/var/lib/grafana
|
||||
- ./grafana/dashboards:/etc/grafana/provisioning/dashboards
|
||||
- ./grafana/datasources:/etc/grafana/provisioning/datasources
|
||||
depends_on:
|
||||
- tempo
|
||||
- prometheus
|
||||
|
||||
tempo:
|
||||
image: grafana/tempo:latest
|
||||
container_name: lobe-tempo
|
||||
network_mode: 'service:network-service'
|
||||
restart: always
|
||||
volumes:
|
||||
- ./tempo/tempo.yaml:/etc/tempo.yaml
|
||||
- tempo_data:/var/tempo
|
||||
command: ['-config.file=/etc/tempo.yaml']
|
||||
|
||||
prometheus:
|
||||
image: prom/prometheus
|
||||
container_name: lobe-prometheus
|
||||
network_mode: 'service:network-service'
|
||||
restart: always
|
||||
volumes:
|
||||
- ./prometheus/prometheus.yml:/etc/prometheus/prometheus.yml
|
||||
- prometheus_data:/prometheus
|
||||
command:
|
||||
- '--config.file=/etc/prometheus/prometheus.yml'
|
||||
- '--web.enable-otlp-receiver'
|
||||
- '--web.enable-remote-write-receiver'
|
||||
- '--enable-feature=exemplar-storage'
|
||||
|
||||
otel-collector:
|
||||
image: otel/opentelemetry-collector
|
||||
container_name: lobe-otel-collector
|
||||
network_mode: 'service:network-service'
|
||||
restart: always
|
||||
volumes:
|
||||
- ./otel-collector/collector-config.yaml:/etc/otelcol/config.yaml
|
||||
command: ['--config', '/etc/otelcol/config.yaml']
|
||||
depends_on:
|
||||
- tempo
|
||||
- prometheus
|
||||
|
||||
otel-tracing-test:
|
||||
profiles:
|
||||
- otel-test
|
||||
image: ghcr.io/grafana/xk6-client-tracing:v0.0.7
|
||||
container_name: lobe-otel-tracing-test
|
||||
network_mode: 'service:network-service'
|
||||
restart: always
|
||||
environment:
|
||||
- ENDPOINT=127.0.0.1:4317
|
||||
|
||||
lobe:
|
||||
image: lobehub/lobe-chat-database
|
||||
container_name: lobe-chat
|
||||
network_mode: 'service:network-service'
|
||||
depends_on:
|
||||
postgresql:
|
||||
condition: service_healthy
|
||||
network-service:
|
||||
condition: service_started
|
||||
minio:
|
||||
condition: service_started
|
||||
casdoor:
|
||||
condition: service_started
|
||||
|
||||
environment:
|
||||
- 'NEXT_AUTH_SSO_PROVIDERS=casdoor'
|
||||
- 'KEY_VAULTS_SECRET=Kix2wcUONd4CX51E/ZPAd36BqM4wzJgKjPtz2sGztqQ='
|
||||
- 'NEXT_AUTH_SECRET=NX2kaPE923dt6BL2U8e9oSre5RfoT7hg'
|
||||
- 'DATABASE_URL=postgresql://postgres:${POSTGRES_PASSWORD}@postgresql:5432/${LOBE_DB_NAME}'
|
||||
- 'S3_BUCKET=${MINIO_LOBE_BUCKET}'
|
||||
- 'S3_ENABLE_PATH_STYLE=1'
|
||||
- 'S3_ACCESS_KEY=${MINIO_ROOT_USER}'
|
||||
- 'S3_ACCESS_KEY_ID=${MINIO_ROOT_USER}'
|
||||
- 'S3_SECRET_ACCESS_KEY=${MINIO_ROOT_PASSWORD}'
|
||||
- 'LLM_VISION_IMAGE_USE_BASE64=1'
|
||||
- 'S3_SET_ACL=0'
|
||||
- 'SEARXNG_URL=http://searxng:8080'
|
||||
- 'OTEL_EXPORTER_OTLP_METRICS_PROTOCOL=http/protobuf'
|
||||
- 'OTEL_EXPORTER_OTLP_METRICS_ENDPOINT=http://localhost:4318/v1/metrics'
|
||||
- 'OTEL_EXPORTER_OTLP_TRACES_PROTOCOL=http/protobuf'
|
||||
- 'OTEL_EXPORTER_OTLP_TRACES_ENDPOINT=http://localhost:4318/v1/traces'
|
||||
env_file:
|
||||
- .env
|
||||
restart: always
|
||||
entrypoint: >
|
||||
/bin/sh -c "
|
||||
/bin/node /app/startServer.js &
|
||||
LOBE_PID=\$!
|
||||
sleep 3
|
||||
if [ $(wget --timeout=5 --spider --server-response ${AUTH_CASDOOR_ISSUER}/.well-known/openid-configuration 2>&1 | grep -c 'HTTP/1.1 200 OK') -eq 0 ]; then
|
||||
echo '⚠️Warning: Unable to fetch OIDC configuration from Casdoor'
|
||||
echo 'Request URL: ${AUTH_CASDOOR_ISSUER}/.well-known/openid-configuration'
|
||||
echo 'Read more at: https://lobehub.com/docs/self-hosting/server-database/docker-compose#necessary-configuration'
|
||||
echo ''
|
||||
echo '⚠️注意:无法从 Casdoor 获取 OIDC 配置'
|
||||
echo '请求 URL: ${AUTH_CASDOOR_ISSUER}/.well-known/openid-configuration'
|
||||
echo '了解更多:https://lobehub.com/zh/docs/self-hosting/server-database/docker-compose#necessary-configuration'
|
||||
echo ''
|
||||
else
|
||||
if ! wget -O - --timeout=5 ${AUTH_CASDOOR_ISSUER}/.well-known/openid-configuration 2>&1 | grep 'issuer' | grep ${AUTH_CASDOOR_ISSUER}; then
|
||||
printf '❌Error: The Auth issuer is conflict, Issuer in OIDC configuration is: %s' \$(wget -O - --timeout=5 ${AUTH_CASDOOR_ISSUER}/.well-known/openid-configuration 2>&1 | grep -E 'issuer.*' | awk -F '\"' '{print \$4}')
|
||||
echo ' , but the issuer in .env file is: ${AUTH_CASDOOR_ISSUER} '
|
||||
echo 'Request URL: ${AUTH_CASDOOR_ISSUER}/.well-known/openid-configuration'
|
||||
echo 'Read more at: https://lobehub.com/docs/self-hosting/server-database/docker-compose#necessary-configuration'
|
||||
echo ''
|
||||
printf '❌错误:Auth 的 issuer 冲突,OIDC 配置中的 issuer 是:%s' \$(wget -O - --timeout=5 ${AUTH_CASDOOR_ISSUER}/.well-known/openid-configuration 2>&1 | grep -E 'issuer.*' | awk -F '\"' '{print \$4}')
|
||||
echo ' , 但 .env 文件中的 issuer 是:${AUTH_CASDOOR_ISSUER} '
|
||||
echo '请求 URL: ${AUTH_CASDOOR_ISSUER}/.well-known/openid-configuration'
|
||||
echo '了解更多:https://lobehub.com/zh/docs/self-hosting/server-database/docker-compose#necessary-configuration'
|
||||
echo ''
|
||||
fi
|
||||
fi
|
||||
if [ $(wget --timeout=5 --spider --server-response ${S3_ENDPOINT}/minio/health/live 2>&1 | grep -c 'HTTP/1.1 200 OK') -eq 0 ]; then
|
||||
echo '⚠️Warning: Unable to fetch MinIO health status'
|
||||
echo 'Request URL: ${S3_ENDPOINT}/minio/health/live'
|
||||
echo 'Read more at: https://lobehub.com/docs/self-hosting/server-database/docker-compose#necessary-configuration'
|
||||
echo ''
|
||||
echo '⚠️注意:无法获取 MinIO 健康状态'
|
||||
echo '请求 URL: ${S3_ENDPOINT}/minio/health/live'
|
||||
echo '了解更多:https://lobehub.com/zh/docs/self-hosting/server-database/docker-compose#necessary-configuration'
|
||||
echo ''
|
||||
fi
|
||||
wait \$LOBE_PID
|
||||
"
|
||||
|
||||
volumes:
|
||||
data:
|
||||
driver: local
|
||||
s3_data:
|
||||
driver: local
|
||||
grafana_data:
|
||||
driver: local
|
||||
tempo_data:
|
||||
driver: local
|
||||
prometheus_data:
|
||||
driver: local
|
||||
|
||||
|
||||
networks:
|
||||
lobe-network:
|
||||
driver: bridge
|
||||
@@ -1,15 +0,0 @@
|
||||
apiVersion: 1
|
||||
|
||||
prune: true
|
||||
|
||||
datasources:
|
||||
- name: Prometheus
|
||||
type: prometheus
|
||||
uid: prometheus
|
||||
access: proxy
|
||||
orgId: 1
|
||||
url: http://127.0.0.1:9090
|
||||
basicAuth: false
|
||||
isDefault: false
|
||||
version: 1
|
||||
editable: false
|
||||
@@ -1,16 +0,0 @@
|
||||
apiVersion: 1
|
||||
|
||||
prune: true
|
||||
|
||||
datasources:
|
||||
- name: Tempo
|
||||
type: tempo
|
||||
access: proxy
|
||||
orgId: 1
|
||||
url: http://127.0.0.1:3200
|
||||
basicAuth: false
|
||||
isDefault: true
|
||||
version: 1
|
||||
editable: false
|
||||
apiVersion: 1
|
||||
uid: tempo
|
||||
@@ -1,45 +0,0 @@
|
||||
extensions:
|
||||
health_check:
|
||||
endpoint: 127.0.0.1:13133
|
||||
|
||||
receivers:
|
||||
prometheus:
|
||||
config:
|
||||
scrape_configs:
|
||||
- job_name: otel-collector-metrics
|
||||
scrape_interval: 10s
|
||||
static_configs:
|
||||
- targets: ["127.0.0.1:8888"]
|
||||
|
||||
otlp:
|
||||
protocols:
|
||||
grpc:
|
||||
endpoint: 0.0.0.0:4317
|
||||
http:
|
||||
endpoint: 0.0.0.0:4318
|
||||
|
||||
exporters:
|
||||
prometheusremotewrite:
|
||||
endpoint: http://127.0.0.1:9090/api/v1/write
|
||||
tls:
|
||||
insecure: true
|
||||
|
||||
otlp:
|
||||
endpoint: 127.0.0.1:14317
|
||||
tls:
|
||||
insecure: true
|
||||
|
||||
debug:
|
||||
verbosity: detailed
|
||||
|
||||
service:
|
||||
pipelines:
|
||||
metrics:
|
||||
receivers: [prometheus, otlp]
|
||||
exporters: [prometheusremotewrite]
|
||||
traces:
|
||||
receivers: [otlp]
|
||||
exporters: [otlp]
|
||||
logs:
|
||||
receivers: [otlp]
|
||||
exporters: [debug]
|
||||
@@ -1,11 +0,0 @@
|
||||
global:
|
||||
scrape_interval: 15s
|
||||
evaluation_interval: 15s
|
||||
|
||||
scrape_configs:
|
||||
- job_name: "prometheus"
|
||||
static_configs:
|
||||
- targets: ["127.0.0.1:9090"]
|
||||
- job_name: "tempo"
|
||||
static_configs:
|
||||
- targets: ["127.0.0.1:3200"]
|
||||
@@ -1,58 +0,0 @@
|
||||
stream_over_http_enabled: true
|
||||
server:
|
||||
http_listen_port: 3200
|
||||
log_level: info
|
||||
|
||||
query_frontend:
|
||||
search:
|
||||
duration_slo: 5s
|
||||
throughput_bytes_slo: 1.073741824e+09
|
||||
metadata_slo:
|
||||
duration_slo: 5s
|
||||
throughput_bytes_slo: 1.073741824e+09
|
||||
trace_by_id:
|
||||
duration_slo: 5s
|
||||
|
||||
distributor:
|
||||
max_attribute_bytes: 10485760
|
||||
receivers:
|
||||
otlp:
|
||||
protocols:
|
||||
grpc:
|
||||
endpoint: 127.0.0.1:14317
|
||||
http:
|
||||
endpoint: 127.0.0.1:14318
|
||||
|
||||
ingester:
|
||||
max_block_duration: 5m # cut the headblock when this much time passes. this is being set for demo purposes and should probably be left alone normally
|
||||
|
||||
compactor:
|
||||
compaction:
|
||||
block_retention: 1h # overall Tempo trace retention. set for demo purposes
|
||||
|
||||
metrics_generator:
|
||||
registry:
|
||||
external_labels:
|
||||
source: tempo
|
||||
cluster: docker-compose
|
||||
storage:
|
||||
path: /var/tempo/generator/wal
|
||||
remote_write:
|
||||
- url: http://127.0.0.1:9090/api/v1/write
|
||||
send_exemplars: true
|
||||
traces_storage:
|
||||
path: /var/tempo/generator/traces
|
||||
|
||||
storage:
|
||||
trace:
|
||||
backend: local # backend configuration to use
|
||||
wal:
|
||||
path: /var/tempo/wal # where to store the wal locally
|
||||
local:
|
||||
path: /var/tempo/blocks
|
||||
|
||||
overrides:
|
||||
defaults:
|
||||
metrics_generator:
|
||||
processors: [service-graphs, span-metrics, local-blocks] # enables metrics generator
|
||||
generate_native_histograms: both
|
||||
+854
-811
File diff suppressed because it is too large
Load Diff
@@ -1,44 +0,0 @@
|
||||
# Proxy, if you need it
|
||||
# HTTP_PROXY=http://localhost:7890
|
||||
# HTTPS_PROXY=http://localhost:7890
|
||||
|
||||
|
||||
# Other environment variables, as needed. You can refer to the environment variables configuration for the client version, making sure not to have ACCESS_CODE.
|
||||
# OPENAI_API_KEY=sk-xxxx
|
||||
# OPENAI_PROXY_URL=https://api.openai.com/v1
|
||||
# OPENAI_MODEL_LIST=...
|
||||
|
||||
|
||||
# ===========================
|
||||
# ====== Preset config ======
|
||||
# ===========================
|
||||
# if no special requirements, no need to change
|
||||
LOBE_PORT=3210
|
||||
CASDOOR_PORT=8000
|
||||
MINIO_PORT=9000
|
||||
APP_URL=http://localhost:3210
|
||||
AUTH_URL=http://localhost:3210/api/auth
|
||||
|
||||
# Postgres related, which are the necessary environment variables for DB
|
||||
LOBE_DB_NAME=lobechat
|
||||
POSTGRES_PASSWORD=uWNZugjBqixf8dxC
|
||||
|
||||
AUTH_CASDOOR_ISSUER=http://localhost:8000
|
||||
# Casdoor secret
|
||||
AUTH_CASDOOR_ID=a387a4892ee19b1a2249
|
||||
AUTH_CASDOOR_SECRET=dbf205949d704de81b0b5b3603174e23fbecc354
|
||||
CASDOOR_WEBHOOK_SECRET=casdoor-secret
|
||||
|
||||
# MinIO S3 configuration
|
||||
MINIO_ROOT_USER=admin
|
||||
MINIO_ROOT_PASSWORD=YOUR_MINIO_PASSWORD
|
||||
|
||||
# Configure the bucket information of MinIO
|
||||
S3_PUBLIC_DOMAIN=http://localhost:9000
|
||||
S3_ENDPOINT=http://localhost:9000
|
||||
MINIO_LOBE_BUCKET=lobe
|
||||
|
||||
GF_SECURITY_ADMIN_PASSWORD=YOUR_GRAFANA_PASSWORD
|
||||
|
||||
# Configure for casdoor
|
||||
origin=http://localhost:8000
|
||||
@@ -1,42 +0,0 @@
|
||||
# Proxy,如果你需要的话(比如你使用 GitHub 作为鉴权服务提供商)
|
||||
# HTTP_PROXY=http://localhost:7890
|
||||
# HTTPS_PROXY=http://localhost:7890
|
||||
|
||||
|
||||
# 其他环境变量,视需求而定,可以参照客户端版本的环境变量配置,注意不要有 ACCESS_CODE
|
||||
# OPENAI_API_KEY=sk-xxxx
|
||||
# OPENAI_PROXY_URL=https://api.openai.com/v1
|
||||
# OPENAI_MODEL_LIST=...
|
||||
|
||||
|
||||
# ===================
|
||||
# ===== 预设配置 =====
|
||||
# ===================
|
||||
# 如没有特殊需要不用更改
|
||||
LOBE_PORT=3210
|
||||
CASDOOR_PORT=8000
|
||||
MINIO_PORT=9000
|
||||
APP_URL=http://localhost:3210
|
||||
AUTH_URL=http://localhost:3210/api/auth
|
||||
|
||||
# Postgres 相关,也即 DB 必须的环境变量
|
||||
LOBE_DB_NAME=lobechat
|
||||
POSTGRES_PASSWORD=uWNZugjBqixf8dxC
|
||||
|
||||
AUTH_CASDOOR_ISSUER=http://localhost:8000
|
||||
# Casdoor secret
|
||||
AUTH_CASDOOR_ID=a387a4892ee19b1a2249
|
||||
AUTH_CASDOOR_SECRET=dbf205949d704de81b0b5b3603174e23fbecc354
|
||||
CASDOOR_WEBHOOK_SECRET=casdoor-secret
|
||||
|
||||
# MinIO S3 配置
|
||||
MINIO_ROOT_USER=admin
|
||||
MINIO_ROOT_PASSWORD=YOUR_MINIO_PASSWORD
|
||||
|
||||
# 在下方配置 minio 中添加的桶
|
||||
S3_PUBLIC_DOMAIN=http://localhost:9000
|
||||
S3_ENDPOINT=http://localhost:9000
|
||||
MINIO_LOBE_BUCKET=lobe
|
||||
|
||||
# 为 casdoor 配置
|
||||
origin=http://localhost:8000
|
||||
@@ -1,249 +0,0 @@
|
||||
name: lobe-chat-database
|
||||
services:
|
||||
network-service:
|
||||
image: alpine
|
||||
container_name: lobe-network
|
||||
restart: always
|
||||
ports:
|
||||
- '${MINIO_PORT}:${MINIO_PORT}' # MinIO API
|
||||
- '9001:9001' # MinIO Console
|
||||
- '${CASDOOR_PORT}:${CASDOOR_PORT}' # Casdoor
|
||||
- '${LOBE_PORT}:3210' # LobeChat
|
||||
- '3000:3000' # Grafana
|
||||
- '4318:4318' # otel-collector HTTP
|
||||
- '4317:4317' # otel-collector gRPC
|
||||
command: tail -f /dev/null
|
||||
networks:
|
||||
- lobe-network
|
||||
|
||||
postgresql:
|
||||
image: pgvector/pgvector:pg17
|
||||
container_name: lobe-postgres
|
||||
ports:
|
||||
- '5432:5432'
|
||||
volumes:
|
||||
- './data:/var/lib/postgresql/data'
|
||||
environment:
|
||||
- 'POSTGRES_DB=${LOBE_DB_NAME}'
|
||||
- 'POSTGRES_PASSWORD=${POSTGRES_PASSWORD}'
|
||||
healthcheck:
|
||||
test: ['CMD-SHELL', 'pg_isready -U postgres']
|
||||
interval: 5s
|
||||
timeout: 5s
|
||||
retries: 5
|
||||
restart: always
|
||||
networks:
|
||||
- lobe-network
|
||||
|
||||
minio:
|
||||
image: minio/minio:RELEASE.2025-04-22T22-12-26Z
|
||||
container_name: lobe-minio
|
||||
network_mode: 'service:network-service'
|
||||
volumes:
|
||||
- './s3_data:/etc/minio/data'
|
||||
environment:
|
||||
- 'MINIO_API_CORS_ALLOW_ORIGIN=*'
|
||||
env_file:
|
||||
- .env
|
||||
restart: always
|
||||
entrypoint: >
|
||||
/bin/sh -c "
|
||||
minio server /etc/minio/data --address ':${MINIO_PORT}' --console-address ':9001' &
|
||||
MINIO_PID=\$!
|
||||
while ! curl -s http://localhost:${MINIO_PORT}/minio/health/live; do
|
||||
echo 'Waiting for MinIO to start...'
|
||||
sleep 1
|
||||
done
|
||||
sleep 5
|
||||
mc alias set myminio http://localhost:${MINIO_PORT} ${MINIO_ROOT_USER} ${MINIO_ROOT_PASSWORD}
|
||||
echo 'Creating bucket ${MINIO_LOBE_BUCKET}'
|
||||
mc mb myminio/${MINIO_LOBE_BUCKET}
|
||||
wait \$MINIO_PID
|
||||
"
|
||||
|
||||
# version lock ref: https://github.com/lobehub/lobe-chat/pull/7331
|
||||
casdoor:
|
||||
image: casbin/casdoor:v2.13.0
|
||||
container_name: lobe-casdoor
|
||||
entrypoint: /bin/sh -c './server --createDatabase=true'
|
||||
network_mode: 'service:network-service'
|
||||
depends_on:
|
||||
postgresql:
|
||||
condition: service_healthy
|
||||
environment:
|
||||
httpport: ${CASDOOR_PORT}
|
||||
RUNNING_IN_DOCKER: 'true'
|
||||
driverName: 'postgres'
|
||||
dataSourceName: 'user=postgres password=${POSTGRES_PASSWORD} host=postgresql port=5432 sslmode=disable dbname=casdoor'
|
||||
runmode: 'dev'
|
||||
volumes:
|
||||
- ./init_data.json:/init_data.json
|
||||
env_file:
|
||||
- .env
|
||||
|
||||
searxng:
|
||||
image: searxng/searxng
|
||||
container_name: lobe-searxng
|
||||
volumes:
|
||||
- './searxng-settings.yml:/etc/searxng/settings.yml'
|
||||
environment:
|
||||
- 'SEARXNG_SETTINGS_FILE=/etc/searxng/settings.yml'
|
||||
restart: always
|
||||
networks:
|
||||
- lobe-network
|
||||
env_file:
|
||||
- .env
|
||||
|
||||
grafana:
|
||||
image: grafana/grafana:12.2.0-17419259409
|
||||
container_name: lobe-grafana
|
||||
network_mode: 'service:network-service'
|
||||
restart: always
|
||||
environment:
|
||||
- GF_SECURITY_ADMIN_PASSWORD=${GF_SECURITY_ADMIN_PASSWORD}
|
||||
- GF_FEATURE_TOGGLES_ENABLE=traceqlEditor
|
||||
volumes:
|
||||
- grafana_data:/var/lib/grafana
|
||||
- ./grafana/dashboards:/etc/grafana/provisioning/dashboards
|
||||
- ./grafana/datasources:/etc/grafana/provisioning/datasources
|
||||
depends_on:
|
||||
- tempo
|
||||
- prometheus
|
||||
|
||||
tempo:
|
||||
image: grafana/tempo:latest
|
||||
container_name: lobe-tempo
|
||||
network_mode: 'service:network-service'
|
||||
restart: always
|
||||
volumes:
|
||||
- ./tempo/tempo.yaml:/etc/tempo.yaml
|
||||
- tempo_data:/var/tempo
|
||||
command: ['-config.file=/etc/tempo.yaml']
|
||||
|
||||
prometheus:
|
||||
image: prom/prometheus
|
||||
container_name: lobe-prometheus
|
||||
network_mode: 'service:network-service'
|
||||
restart: always
|
||||
volumes:
|
||||
- ./prometheus/prometheus.yml:/etc/prometheus/prometheus.yml
|
||||
- prometheus_data:/prometheus
|
||||
command:
|
||||
- '--config.file=/etc/prometheus/prometheus.yml'
|
||||
- '--web.enable-otlp-receiver'
|
||||
- '--web.enable-remote-write-receiver'
|
||||
- '--enable-feature=exemplar-storage'
|
||||
|
||||
otel-collector:
|
||||
image: otel/opentelemetry-collector
|
||||
container_name: lobe-otel-collector
|
||||
network_mode: 'service:network-service'
|
||||
restart: always
|
||||
volumes:
|
||||
- ./otel-collector/collector-config.yaml:/etc/otelcol/config.yaml
|
||||
command: ['--config', '/etc/otelcol/config.yaml']
|
||||
depends_on:
|
||||
- tempo
|
||||
- prometheus
|
||||
|
||||
otel-tracing-test:
|
||||
profiles:
|
||||
- otel-test
|
||||
image: ghcr.io/grafana/xk6-client-tracing:v0.0.7
|
||||
container_name: lobe-otel-tracing-test
|
||||
network_mode: 'service:network-service'
|
||||
restart: always
|
||||
environment:
|
||||
- ENDPOINT=127.0.0.1:4317
|
||||
|
||||
lobe:
|
||||
image: lobehub/lobe-chat-database
|
||||
container_name: lobe-chat
|
||||
network_mode: 'service:network-service'
|
||||
depends_on:
|
||||
postgresql:
|
||||
condition: service_healthy
|
||||
network-service:
|
||||
condition: service_started
|
||||
minio:
|
||||
condition: service_started
|
||||
casdoor:
|
||||
condition: service_started
|
||||
|
||||
environment:
|
||||
- 'NEXT_AUTH_SSO_PROVIDERS=casdoor'
|
||||
- 'KEY_VAULTS_SECRET=Kix2wcUONd4CX51E/ZPAd36BqM4wzJgKjPtz2sGztqQ='
|
||||
- 'NEXT_AUTH_SECRET=NX2kaPE923dt6BL2U8e9oSre5RfoT7hg'
|
||||
- 'DATABASE_URL=postgresql://postgres:${POSTGRES_PASSWORD}@postgresql:5432/${LOBE_DB_NAME}'
|
||||
- 'S3_BUCKET=${MINIO_LOBE_BUCKET}'
|
||||
- 'S3_ENABLE_PATH_STYLE=1'
|
||||
- 'S3_ACCESS_KEY=${MINIO_ROOT_USER}'
|
||||
- 'S3_ACCESS_KEY_ID=${MINIO_ROOT_USER}'
|
||||
- 'S3_SECRET_ACCESS_KEY=${MINIO_ROOT_PASSWORD}'
|
||||
- 'LLM_VISION_IMAGE_USE_BASE64=1'
|
||||
- 'S3_SET_ACL=0'
|
||||
- 'SEARXNG_URL=http://searxng:8080'
|
||||
- 'OTEL_EXPORTER_OTLP_METRICS_PROTOCOL=http/protobuf'
|
||||
- 'OTEL_EXPORTER_OTLP_METRICS_ENDPOINT=http://localhost:4318/v1/metrics'
|
||||
- 'OTEL_EXPORTER_OTLP_TRACES_PROTOCOL=http/protobuf'
|
||||
- 'OTEL_EXPORTER_OTLP_TRACES_ENDPOINT=http://localhost:4318/v1/traces'
|
||||
env_file:
|
||||
- .env
|
||||
restart: always
|
||||
entrypoint: >
|
||||
/bin/sh -c "
|
||||
/bin/node /app/startServer.js &
|
||||
LOBE_PID=\$!
|
||||
sleep 3
|
||||
if [ $(wget --timeout=5 --spider --server-response ${AUTH_CASDOOR_ISSUER}/.well-known/openid-configuration 2>&1 | grep -c 'HTTP/1.1 200 OK') -eq 0 ]; then
|
||||
echo '⚠️Warning: Unable to fetch OIDC configuration from Casdoor'
|
||||
echo 'Request URL: ${AUTH_CASDOOR_ISSUER}/.well-known/openid-configuration'
|
||||
echo 'Read more at: https://lobehub.com/docs/self-hosting/server-database/docker-compose#necessary-configuration'
|
||||
echo ''
|
||||
echo '⚠️注意:无法从 Casdoor 获取 OIDC 配置'
|
||||
echo '请求 URL: ${AUTH_CASDOOR_ISSUER}/.well-known/openid-configuration'
|
||||
echo '了解更多:https://lobehub.com/zh/docs/self-hosting/server-database/docker-compose#necessary-configuration'
|
||||
echo ''
|
||||
else
|
||||
if ! wget -O - --timeout=5 ${AUTH_CASDOOR_ISSUER}/.well-known/openid-configuration 2>&1 | grep 'issuer' | grep ${AUTH_CASDOOR_ISSUER}; then
|
||||
printf '❌Error: The Auth issuer is conflict, Issuer in OIDC configuration is: %s' \$(wget -O - --timeout=5 ${AUTH_CASDOOR_ISSUER}/.well-known/openid-configuration 2>&1 | grep -E 'issuer.*' | awk -F '\"' '{print \$4}')
|
||||
echo ' , but the issuer in .env file is: ${AUTH_CASDOOR_ISSUER} '
|
||||
echo 'Request URL: ${AUTH_CASDOOR_ISSUER}/.well-known/openid-configuration'
|
||||
echo 'Read more at: https://lobehub.com/docs/self-hosting/server-database/docker-compose#necessary-configuration'
|
||||
echo ''
|
||||
printf '❌错误:Auth 的 issuer 冲突,OIDC 配置中的 issuer 是:%s' \$(wget -O - --timeout=5 ${AUTH_CASDOOR_ISSUER}/.well-known/openid-configuration 2>&1 | grep -E 'issuer.*' | awk -F '\"' '{print \$4}')
|
||||
echo ' , 但 .env 文件中的 issuer 是:${AUTH_CASDOOR_ISSUER} '
|
||||
echo '请求 URL: ${AUTH_CASDOOR_ISSUER}/.well-known/openid-configuration'
|
||||
echo '了解更多:https://lobehub.com/zh/docs/self-hosting/server-database/docker-compose#necessary-configuration'
|
||||
echo ''
|
||||
fi
|
||||
fi
|
||||
if [ $(wget --timeout=5 --spider --server-response ${S3_ENDPOINT}/minio/health/live 2>&1 | grep -c 'HTTP/1.1 200 OK') -eq 0 ]; then
|
||||
echo '⚠️Warning: Unable to fetch MinIO health status'
|
||||
echo 'Request URL: ${S3_ENDPOINT}/minio/health/live'
|
||||
echo 'Read more at: https://lobehub.com/docs/self-hosting/server-database/docker-compose#necessary-configuration'
|
||||
echo ''
|
||||
echo '⚠️注意:无法获取 MinIO 健康状态'
|
||||
echo '请求 URL: ${S3_ENDPOINT}/minio/health/live'
|
||||
echo '了解更多:https://lobehub.com/zh/docs/self-hosting/server-database/docker-compose#necessary-configuration'
|
||||
echo ''
|
||||
fi
|
||||
wait \$LOBE_PID
|
||||
"
|
||||
|
||||
volumes:
|
||||
data:
|
||||
driver: local
|
||||
s3_data:
|
||||
driver: local
|
||||
grafana_data:
|
||||
driver: local
|
||||
tempo_data:
|
||||
driver: local
|
||||
prometheus_data:
|
||||
driver: local
|
||||
|
||||
|
||||
networks:
|
||||
lobe-network:
|
||||
driver: bridge
|
||||
@@ -1,15 +0,0 @@
|
||||
apiVersion: 1
|
||||
|
||||
datasources:
|
||||
- name: Prometheus
|
||||
type: prometheus
|
||||
uid: prometheus
|
||||
access: proxy
|
||||
orgId: 1
|
||||
url: http://127.0.0.1:9090
|
||||
basicAuth: false
|
||||
isDefault: false
|
||||
version: 1
|
||||
editable: false
|
||||
jsonData:
|
||||
httpMethod: GET
|
||||
@@ -1,20 +0,0 @@
|
||||
apiVersion: 1
|
||||
|
||||
datasources:
|
||||
- name: Tempo
|
||||
type: tempo
|
||||
access: proxy
|
||||
orgId: 1
|
||||
url: http://127.0.0.1:3200
|
||||
basicAuth: false
|
||||
isDefault: true
|
||||
version: 1
|
||||
editable: false
|
||||
apiVersion: 1
|
||||
uid: tempo
|
||||
jsonData:
|
||||
httpMethod: GET
|
||||
serviceMap:
|
||||
datasourceUid: prometheus
|
||||
streamingEnabled:
|
||||
search: true
|
||||
@@ -1,45 +0,0 @@
|
||||
extensions:
|
||||
health_check:
|
||||
endpoint: 127.0.0.1:13133
|
||||
|
||||
receivers:
|
||||
prometheus:
|
||||
config:
|
||||
scrape_configs:
|
||||
- job_name: otel-collector-metrics
|
||||
scrape_interval: 10s
|
||||
static_configs:
|
||||
- targets: ["127.0.0.1:8888"]
|
||||
|
||||
otlp:
|
||||
protocols:
|
||||
grpc:
|
||||
endpoint: 0.0.0.0:4317
|
||||
http:
|
||||
endpoint: 0.0.0.0:4318
|
||||
|
||||
exporters:
|
||||
prometheusremotewrite:
|
||||
endpoint: http://127.0.0.1:9090/api/v1/write
|
||||
tls:
|
||||
insecure: true
|
||||
|
||||
otlp:
|
||||
endpoint: 127.0.0.1:14317
|
||||
tls:
|
||||
insecure: true
|
||||
|
||||
debug:
|
||||
verbosity: detailed
|
||||
|
||||
service:
|
||||
pipelines:
|
||||
metrics:
|
||||
receivers: [prometheus]
|
||||
exporters: [prometheusremotewrite]
|
||||
traces:
|
||||
receivers: [otlp]
|
||||
exporters: [otlp]
|
||||
logs:
|
||||
receivers: [otlp]
|
||||
exporters: [debug]
|
||||
@@ -1,11 +0,0 @@
|
||||
global:
|
||||
scrape_interval: 15s
|
||||
evaluation_interval: 15s
|
||||
|
||||
scrape_configs:
|
||||
- job_name: "prometheus"
|
||||
static_configs:
|
||||
- targets: ["127.0.0.1:9090"]
|
||||
- job_name: "tempo"
|
||||
static_configs:
|
||||
- targets: ["127.0.0.1:3200"]
|
||||
@@ -1,58 +0,0 @@
|
||||
stream_over_http_enabled: true
|
||||
server:
|
||||
http_listen_port: 3200
|
||||
log_level: info
|
||||
|
||||
query_frontend:
|
||||
search:
|
||||
duration_slo: 5s
|
||||
throughput_bytes_slo: 1.073741824e+09
|
||||
metadata_slo:
|
||||
duration_slo: 5s
|
||||
throughput_bytes_slo: 1.073741824e+09
|
||||
trace_by_id:
|
||||
duration_slo: 5s
|
||||
|
||||
distributor:
|
||||
max_attribute_bytes: 10485760
|
||||
receivers:
|
||||
otlp:
|
||||
protocols:
|
||||
grpc:
|
||||
endpoint: 127.0.0.1:14317
|
||||
http:
|
||||
endpoint: 127.0.0.1:14318
|
||||
|
||||
ingester:
|
||||
max_block_duration: 5m # cut the headblock when this much time passes. this is being set for demo purposes and should probably be left alone normally
|
||||
|
||||
compactor:
|
||||
compaction:
|
||||
block_retention: 1h # overall Tempo trace retention. set for demo purposes
|
||||
|
||||
metrics_generator:
|
||||
registry:
|
||||
external_labels:
|
||||
source: tempo
|
||||
cluster: docker-compose
|
||||
storage:
|
||||
path: /var/tempo/generator/wal
|
||||
remote_write:
|
||||
- url: http://127.0.0.1:9090/api/v1/write
|
||||
send_exemplars: true
|
||||
traces_storage:
|
||||
path: /var/tempo/generator/traces
|
||||
|
||||
storage:
|
||||
trace:
|
||||
backend: local # backend configuration to use
|
||||
wal:
|
||||
path: /var/tempo/wal # where to store the wal locally
|
||||
local:
|
||||
path: /var/tempo/blocks
|
||||
|
||||
overrides:
|
||||
defaults:
|
||||
metrics_generator:
|
||||
processors: [service-graphs, span-metrics, local-blocks] # enables metrics generator
|
||||
generate_native_histograms: both
|
||||
@@ -0,0 +1,190 @@
|
||||
---
|
||||
title: Image Generation Development Setup
|
||||
description: Configure local environment for developing text-to-image and image-to-image features
|
||||
---
|
||||
|
||||
# Image Generation Development Setup
|
||||
|
||||
This guide helps developers set up the local environment for developing image generation features (text-to-image, image-to-image) with file storage capabilities.
|
||||
|
||||
## Prerequisites
|
||||
|
||||
- Docker installed and running
|
||||
- Node.js and pnpm installed
|
||||
- PostgreSQL client tools (optional, for debugging)
|
||||
|
||||
<Callout type="warning">
|
||||
**Security Notice**: This setup is designed for local development only. It uses default credentials and open permissions that are NOT suitable for production environments.
|
||||
</Callout>
|
||||
|
||||
## Quick Setup
|
||||
|
||||
Run the provided script to automatically set up all required services:
|
||||
|
||||
```bash
|
||||
# Set up PostgreSQL and MinIO for image storage
|
||||
./scripts/setup-image-generation-dev.sh
|
||||
|
||||
# Start the development server
|
||||
pnpm dev:desktop
|
||||
```
|
||||
|
||||
This script will:
|
||||
|
||||
1. Start PostgreSQL (no authentication for local development)
|
||||
2. Run database migrations to initialize schema
|
||||
3. Start MinIO (S3-compatible storage)
|
||||
4. Create and configure the storage bucket
|
||||
5. Add necessary S3 environment variables to `.env.desktop`
|
||||
|
||||
## Architecture Overview
|
||||
|
||||
The image generation feature requires:
|
||||
|
||||
- **PostgreSQL**: Stores metadata about generated images
|
||||
- **MinIO/S3**: Stores the actual image files
|
||||
- **Server Mode**: Required for file handling (`NEXT_PUBLIC_SERVICE_MODE=server`)
|
||||
|
||||
## Environment Configuration
|
||||
|
||||
The following environment variables are automatically configured by the setup script:
|
||||
|
||||
```bash
|
||||
# S3 Storage Configuration (MinIO for local development)
|
||||
S3_ACCESS_KEY_ID=minioadmin
|
||||
S3_SECRET_ACCESS_KEY=minioadmin
|
||||
S3_ENDPOINT=http://localhost:9000
|
||||
S3_BUCKET=lobe-chat
|
||||
S3_REGION=us-east-1
|
||||
S3_PUBLIC_DOMAIN=http://localhost:9000/lobe-chat
|
||||
S3_ENABLE_PATH_STYLE=1 # Required for MinIO
|
||||
```
|
||||
|
||||
## Development Workflow
|
||||
|
||||
### 1. Image Generation API
|
||||
|
||||
When developing image generation features, generated images will be:
|
||||
|
||||
1. Created by the AI model
|
||||
2. Uploaded to S3/MinIO via presigned URLs
|
||||
3. Metadata stored in PostgreSQL
|
||||
4. Served via the public S3 URL
|
||||
|
||||
### 2. File Storage Structure
|
||||
|
||||
```
|
||||
lobe-chat/ # S3 Bucket
|
||||
├── generated/ # Generated images
|
||||
│ └── {userId}/
|
||||
│ └── {sessionId}/
|
||||
│ └── {imageId}.png
|
||||
└── uploads/ # User uploads for image-to-image
|
||||
└── {userId}/
|
||||
└── {fileId}.{ext}
|
||||
```
|
||||
|
||||
### 3. Testing Your Implementation
|
||||
|
||||
After setting up the environment, you can test:
|
||||
|
||||
```typescript
|
||||
// Example: Upload generated image
|
||||
const uploadUrl = await trpc.upload.createPresignedUrl.mutate({
|
||||
filename: 'generated-image.png',
|
||||
contentType: 'image/png',
|
||||
});
|
||||
|
||||
// Upload to S3
|
||||
await fetch(uploadUrl, {
|
||||
method: 'PUT',
|
||||
body: imageBlob,
|
||||
headers: { 'Content-Type': 'image/png' },
|
||||
});
|
||||
```
|
||||
|
||||
## Manual Setup
|
||||
|
||||
If you prefer to set up services manually:
|
||||
|
||||
### PostgreSQL
|
||||
|
||||
```bash
|
||||
docker run -d --name lobe-postgres \
|
||||
-p 5432:5432 \
|
||||
-e POSTGRES_HOST_AUTH_METHOD=trust \
|
||||
-e POSTGRES_DB=postgres \
|
||||
postgres:15
|
||||
```
|
||||
|
||||
### MinIO
|
||||
|
||||
```bash
|
||||
# Start MinIO
|
||||
docker run -d --name lobe-minio \
|
||||
-p 9000:9000 -p 9001:9001 \
|
||||
-e MINIO_ROOT_USER=minioadmin \
|
||||
-e MINIO_ROOT_PASSWORD=minioadmin \
|
||||
quay.io/minio/minio:RELEASE.2025-04-22T22-12-26Z \
|
||||
server /data --console-address ":9001"
|
||||
|
||||
# Create bucket
|
||||
docker run --rm \
|
||||
--link lobe-minio:minio \
|
||||
--entrypoint bash \
|
||||
quay.io/minio/mc:RELEASE.2025-04-18T16-45-00Z \
|
||||
-c "
|
||||
mc config host add minio http://minio:9000 minioadmin minioadmin &&
|
||||
mc mb minio/lobe-chat &&
|
||||
mc anonymous set public minio/lobe-chat
|
||||
"
|
||||
```
|
||||
|
||||
## Service URLs
|
||||
|
||||
- **PostgreSQL**: `postgres://postgres@localhost:5432/postgres`
|
||||
- **MinIO API**: `http://localhost:9000`
|
||||
- **MinIO Console**: `http://localhost:9001` (minioadmin/minioadmin)
|
||||
- **Application**: `http://localhost:3015`
|
||||
|
||||
## Troubleshooting
|
||||
|
||||
### Port Conflicts
|
||||
|
||||
If ports are already in use:
|
||||
|
||||
```bash
|
||||
# Check what's using the ports
|
||||
lsof -i :5432 # PostgreSQL
|
||||
lsof -i :9000 # MinIO API
|
||||
lsof -i :9001 # MinIO Console
|
||||
```
|
||||
|
||||
### Reset Environment
|
||||
|
||||
To completely reset your development environment:
|
||||
|
||||
```bash
|
||||
# Stop and remove containers
|
||||
docker stop lobe-postgres lobe-minio
|
||||
docker rm lobe-postgres lobe-minio
|
||||
|
||||
# Re-run setup
|
||||
./scripts/setup-image-generation-dev.sh
|
||||
```
|
||||
|
||||
### Database Migrations
|
||||
|
||||
The setup script runs migrations automatically. If you need to run them manually:
|
||||
|
||||
```bash
|
||||
pnpm db:migrate
|
||||
```
|
||||
|
||||
Note: In development mode with `pnpm dev:desktop`, migrations also run automatically on startup.
|
||||
|
||||
## Related Documentation
|
||||
|
||||
- [Server Database Setup](/docs/self-hosting/server-database)
|
||||
- [S3 Storage Configuration](/docs/self-hosting/advanced/s3)
|
||||
- [Environment Variables](/docs/self-hosting/environment-variables)
|
||||
@@ -0,0 +1,190 @@
|
||||
---
|
||||
title: 图像生成开发环境配置
|
||||
description: 配置本地环境以开发文本生图和图像处理功能
|
||||
---
|
||||
|
||||
# 图像生成开发环境配置
|
||||
|
||||
本指南帮助开发者配置本地环境,用于开发图像生成功能(文生图、图生图)等和文件存储能力。
|
||||
|
||||
## 前置条件
|
||||
|
||||
- 已安装并运行 Docker
|
||||
- 已安装 Node.js 和 pnpm
|
||||
- PostgreSQL 客户端工具(可选,用于调试)
|
||||
|
||||
<Callout type="warning">
|
||||
**安全提醒**:此配置仅适用于本地开发。使用的默认凭据和开放权限不适合生产环境。
|
||||
</Callout>
|
||||
|
||||
## 快速配置
|
||||
|
||||
运行提供的脚本来自动配置所有必需的服务:
|
||||
|
||||
```bash
|
||||
# 配置 PostgreSQL 和 MinIO 用于图像存储
|
||||
./scripts/setup-image-generation-dev.sh
|
||||
|
||||
# 启动开发服务器
|
||||
pnpm dev:desktop
|
||||
```
|
||||
|
||||
此脚本将执行:
|
||||
|
||||
1. 启动 PostgreSQL(本地开发无需身份验证)
|
||||
2. 运行数据库迁移以初始化模式
|
||||
3. 启动 MinIO(S3 兼容存储)
|
||||
4. 创建并配置存储桶
|
||||
5. 在 `.env.desktop` 中添加必要的 S3 环境变量
|
||||
|
||||
## 架构概览
|
||||
|
||||
图像生成功能需要:
|
||||
|
||||
- **PostgreSQL**:存储生成图像的元数据
|
||||
- **MinIO/S3**:存储实际的图像文件
|
||||
- **服务器模式**:文件处理所需(`NEXT_PUBLIC_SERVICE_MODE=server`)
|
||||
|
||||
## 环境配置
|
||||
|
||||
以下环境变量会被配置脚本自动设置:
|
||||
|
||||
```bash
|
||||
# S3 存储配置(本地开发使用 MinIO)
|
||||
S3_ACCESS_KEY_ID=minioadmin
|
||||
S3_SECRET_ACCESS_KEY=minioadmin
|
||||
S3_ENDPOINT=http://localhost:9000
|
||||
S3_BUCKET=lobe-chat
|
||||
S3_REGION=us-east-1
|
||||
S3_PUBLIC_DOMAIN=http://localhost:9000/lobe-chat
|
||||
S3_ENABLE_PATH_STYLE=1 # MinIO 必需
|
||||
```
|
||||
|
||||
## 开发工作流
|
||||
|
||||
### 1. 图像生成 API
|
||||
|
||||
在开发图像生成功能时,生成的图像将:
|
||||
|
||||
1. 由 AI 模型创建
|
||||
2. 通过预签名 URL 上传到 S3/MinIO
|
||||
3. 元数据存储在 PostgreSQL 中
|
||||
4. 通过公共 S3 URL 提供服务
|
||||
|
||||
### 2. 文件存储结构
|
||||
|
||||
```
|
||||
lobe-chat/ # S3 存储桶
|
||||
├── generated/ # 生成的图像
|
||||
│ └── {userId}/
|
||||
│ └── {sessionId}/
|
||||
│ └── {imageId}.png
|
||||
└── uploads/ # 用户上传的图像处理文件
|
||||
└── {userId}/
|
||||
└── {fileId}.{ext}
|
||||
```
|
||||
|
||||
### 3. 测试您的实现
|
||||
|
||||
配置环境后,您可以测试:
|
||||
|
||||
```typescript
|
||||
// 示例:上传生成的图像
|
||||
const uploadUrl = await trpc.upload.createPresignedUrl.mutate({
|
||||
filename: 'generated-image.png',
|
||||
contentType: 'image/png',
|
||||
});
|
||||
|
||||
// 上传到 S3
|
||||
await fetch(uploadUrl, {
|
||||
method: 'PUT',
|
||||
body: imageBlob,
|
||||
headers: { 'Content-Type': 'image/png' },
|
||||
});
|
||||
```
|
||||
|
||||
## 手动配置
|
||||
|
||||
如果您希望手动配置服务:
|
||||
|
||||
### PostgreSQL
|
||||
|
||||
```bash
|
||||
docker run -d --name lobe-postgres \
|
||||
-p 5432:5432 \
|
||||
-e POSTGRES_HOST_AUTH_METHOD=trust \
|
||||
-e POSTGRES_DB=postgres \
|
||||
postgres:15
|
||||
```
|
||||
|
||||
### MinIO
|
||||
|
||||
```bash
|
||||
# 启动 MinIO
|
||||
docker run -d --name lobe-minio \
|
||||
-p 9000:9000 -p 9001:9001 \
|
||||
-e MINIO_ROOT_USER=minioadmin \
|
||||
-e MINIO_ROOT_PASSWORD=minioadmin \
|
||||
quay.io/minio/minio:RELEASE.2025-04-22T22-12-26Z \
|
||||
server /data --console-address ":9001"
|
||||
|
||||
# 创建存储桶
|
||||
docker run --rm \
|
||||
--link lobe-minio:minio \
|
||||
--entrypoint bash \
|
||||
quay.io/minio/mc:RELEASE.2025-04-18T16-45-00Z \
|
||||
-c "
|
||||
mc config host add minio http://minio:9000 minioadmin minioadmin &&
|
||||
mc mb minio/lobe-chat &&
|
||||
mc anonymous set public minio/lobe-chat
|
||||
"
|
||||
```
|
||||
|
||||
## 服务地址
|
||||
|
||||
- **PostgreSQL**:`postgres://postgres@localhost:5432/postgres`
|
||||
- **MinIO API**:`http://localhost:9000`
|
||||
- **MinIO 控制台**:`http://localhost:9001` (minioadmin/minioadmin)
|
||||
- **应用程序**:`http://localhost:3015`
|
||||
|
||||
## 故障排除
|
||||
|
||||
### 端口冲突
|
||||
|
||||
如果端口已被占用:
|
||||
|
||||
```bash
|
||||
# 检查端口使用情况
|
||||
lsof -i :5432 # PostgreSQL
|
||||
lsof -i :9000 # MinIO API
|
||||
lsof -i :9001 # MinIO 控制台
|
||||
```
|
||||
|
||||
### 重置环境
|
||||
|
||||
要完全重置开发环境:
|
||||
|
||||
```bash
|
||||
# 停止并删除容器
|
||||
docker stop lobe-postgres lobe-minio
|
||||
docker rm lobe-postgres lobe-minio
|
||||
|
||||
# 重新运行配置
|
||||
./scripts/setup-image-generation-dev.sh
|
||||
```
|
||||
|
||||
### 数据库迁移
|
||||
|
||||
配置脚本会自动运行迁移。如需手动运行:
|
||||
|
||||
```bash
|
||||
pnpm db:migrate
|
||||
```
|
||||
|
||||
注意:在使用 `pnpm dev:desktop` 的开发模式下,迁移也会在启动时自动运行。
|
||||
|
||||
## 相关文档
|
||||
|
||||
- [服务器数据库配置](/docs/self-hosting/server-database)
|
||||
- [S3 存储配置](/docs/self-hosting/advanced/s3)
|
||||
- [环境变量](/docs/self-hosting/environment-variables)
|
||||
@@ -53,18 +53,6 @@ Now, you can open `http://localhost:3010` in your browser, and you should see th
|
||||
|
||||

|
||||
|
||||
## Working with Server-Side Features
|
||||
|
||||
The basic setup above uses LobeChat's client-side database mode. If you need to work with server-side features such as:
|
||||
|
||||
- Database persistence
|
||||
- File uploads and storage
|
||||
- Image generation
|
||||
- Multi-user authentication
|
||||
- Advanced server-side integrations
|
||||
|
||||
Please refer to the [Work with Server-Side Database](/docs/development/basic/work-with-server-side-database) guide for complete setup instructions.
|
||||
|
||||
During the development process, if you encounter any issues with environment setup or have any questions about LobeChat development, feel free to ask us at any time. We look forward to seeing your contributions!
|
||||
|
||||
[codespaces-link]: https://codespaces.new/lobehub/lobe-chat
|
||||
|
||||
@@ -53,18 +53,6 @@ bun run dev
|
||||
|
||||

|
||||
|
||||
## 使用服务端功能
|
||||
|
||||
上述基础设置使用 LobeChat 的客户端数据库模式。如果你需要开发服务端功能,如:
|
||||
|
||||
- 数据库持久化
|
||||
- 文件上传和存储
|
||||
- 图像生成
|
||||
- 多用户身份验证
|
||||
- 高级服务端集成
|
||||
|
||||
请参考[使用服务端数据库](/docs/development/basic/work-with-server-side-database)指南获得完整的设置说明。
|
||||
|
||||
在开发过程中,如果你在环境设置上遇到任何问题,或者有任何关于 LobeChat 开发的问题,欢迎随时向我们提问。我们期待看到你的贡献!
|
||||
|
||||
[codespaces-link]: https://codespaces.new/lobehub/lobe-chat
|
||||
|
||||
@@ -1,189 +0,0 @@
|
||||
# Work with Server-Side Database
|
||||
|
||||
LobeChat provides a battery-included experience with its client-side database.
|
||||
While some features you really care about is only available at a server-side development.
|
||||
|
||||
In order to work with the aspect of server-side database,
|
||||
you can setup all the prerequisites by following the [Deploying Server-Side Database](https://lobehub.com/docs/self-hosting/server-database) story.
|
||||
But here is the easier approach that can reduce your pain.
|
||||
|
||||
## Quick Setup
|
||||
|
||||
### Environment Configuration
|
||||
|
||||
First, copy the example environment file to create your development configuration:
|
||||
|
||||
```bash
|
||||
cp .env.example.development .env.development
|
||||
```
|
||||
|
||||
This file contains all necessary environment variables for server-side database mode and configures:
|
||||
|
||||
- **Service Mode**: `NEXT_PUBLIC_SERVICE_MODE=server`
|
||||
- **Database**: PostgreSQL with connection string
|
||||
- **Authentication**: NextAuth with Casdoor SSO
|
||||
- **Storage**: MinIO S3-compatible storage
|
||||
- **Search**: SearXNG search engine
|
||||
|
||||
### Start Docker Services
|
||||
|
||||
Start all required services using Docker Compose:
|
||||
|
||||
```bash
|
||||
docker-compose -f docker-compose.development.yml up -d
|
||||
```
|
||||
|
||||
This will start the following services:
|
||||
|
||||
- PostgreSQL database (port 5432)
|
||||
- MinIO storage (port 9000)
|
||||
- Casdoor authentication (port 8000)
|
||||
- SearXNG search (port 8080)
|
||||
|
||||
### Run Database Migrations
|
||||
|
||||
Execute the database migration script to create all necessary tables:
|
||||
|
||||
```bash
|
||||
pnpm db:migrate
|
||||
```
|
||||
|
||||
You should see: `✅ database migration pass.`
|
||||
|
||||
### Start Development Server
|
||||
|
||||
Launch the LobeChat development server:
|
||||
|
||||
```bash
|
||||
pnpm dev
|
||||
```
|
||||
|
||||
The server will start on `http://localhost:3010`
|
||||
|
||||
And you can check all Docker services are running by running:
|
||||
|
||||
```bash
|
||||
docker-compose -f docker-compose.development.yml ps
|
||||
```
|
||||
|
||||
## Image Generation Development
|
||||
|
||||
When working with image generation features (text-to-image, image-to-image), the Docker Compose setup already includes all necessary storage services for handling generated images and user uploads.
|
||||
|
||||
### Image Generation Configuration
|
||||
|
||||
The existing Docker Compose configuration already includes MinIO storage service and all necessary environment variables in `.env.example.development`. No additional setup is required.
|
||||
|
||||
### Image Generation Architecture
|
||||
|
||||
The image generation feature requires:
|
||||
|
||||
- **PostgreSQL**: Stores metadata about generated images
|
||||
- **MinIO/S3**: Stores the actual image files
|
||||
- **Server Mode**: Required for file handling (`NEXT_PUBLIC_SERVICE_MODE=server`)
|
||||
|
||||
### Storage Configuration
|
||||
|
||||
The `.env.example.development` file includes all necessary S3 environment variables:
|
||||
|
||||
```bash
|
||||
# S3 Storage Configuration (MinIO for local development)
|
||||
S3_ACCESS_KEY_ID=${MINIO_ROOT_USER}
|
||||
S3_SECRET_ACCESS_KEY=${MINIO_ROOT_PASSWORD}
|
||||
S3_ENDPOINT=http://localhost:${MINIO_PORT}
|
||||
S3_BUCKET=${MINIO_LOBE_BUCKET}
|
||||
S3_PUBLIC_DOMAIN=http://localhost:${MINIO_PORT}
|
||||
S3_ENABLE_PATH_STYLE=1 # Required for MinIO
|
||||
S3_SET_ACL=0 # MinIO compatibility
|
||||
```
|
||||
|
||||
### File Storage Structure
|
||||
|
||||
Generated images and user uploads are organized in the MinIO bucket:
|
||||
|
||||
```
|
||||
lobe/ # S3 Bucket (MINIO_LOBE_BUCKET)
|
||||
├── generated/ # Generated images
|
||||
│ └── {userId}/
|
||||
│ └── {sessionId}/
|
||||
│ └── {imageId}.png
|
||||
└── uploads/ # User uploads for image-to-image
|
||||
└── {userId}/
|
||||
└── {fileId}.{ext}
|
||||
```
|
||||
|
||||
### Development Workflow for Images
|
||||
|
||||
When developing image generation features, generated images will be:
|
||||
|
||||
1. Created by the AI model
|
||||
2. Uploaded to S3/MinIO via presigned URLs
|
||||
3. Metadata stored in PostgreSQL
|
||||
4. Served via the public S3 URL
|
||||
|
||||
Example code for testing image upload:
|
||||
|
||||
```typescript
|
||||
// Example: Upload generated image
|
||||
const uploadUrl = await trpc.upload.createPresignedUrl.mutate({
|
||||
filename: 'generated-image.png',
|
||||
contentType: 'image/png',
|
||||
});
|
||||
|
||||
// Upload to S3
|
||||
await fetch(uploadUrl, {
|
||||
method: 'PUT',
|
||||
body: imageBlob,
|
||||
headers: { 'Content-Type': 'image/png' },
|
||||
});
|
||||
```
|
||||
|
||||
|
||||
### Service URLs
|
||||
|
||||
When running with Docker Compose development setup:
|
||||
|
||||
- **PostgreSQL**: `postgres://postgres@localhost:5432/lobechat`
|
||||
- **MinIO API**: `http://localhost:9000`
|
||||
- **MinIO Console**: `http://localhost:9001` (admin/CHANGE_THIS_PASSWORD_IN_PRODUCTION)
|
||||
- **Application**: `http://localhost:3010`
|
||||
|
||||
### Reset Services
|
||||
|
||||
If you encounter issues, you can reset the entire stack:
|
||||
|
||||
```bash
|
||||
# Stop and remove all containers
|
||||
docker-compose -f docker-compose.development.yml down
|
||||
|
||||
# Remove volumes (this will delete all data)
|
||||
docker-compose -f docker-compose.development.yml down -v
|
||||
|
||||
# Start fresh
|
||||
docker-compose -f docker-compose.development.yml up -d
|
||||
pnpm db:migrate
|
||||
```
|
||||
|
||||
|
||||
### Troubleshooting
|
||||
|
||||
#### Port Conflicts
|
||||
|
||||
If ports are already in use:
|
||||
|
||||
```bash
|
||||
# Check what's using the ports
|
||||
lsof -i :5432 # PostgreSQL
|
||||
lsof -i :9000 # MinIO API
|
||||
lsof -i :9001 # MinIO Console
|
||||
```
|
||||
|
||||
#### Database Migrations
|
||||
|
||||
The setup script runs migrations automatically. If you need to run them manually:
|
||||
|
||||
```bash
|
||||
pnpm db:migrate
|
||||
```
|
||||
|
||||
Note: In development mode with `pnpm dev:desktop`, migrations also run automatically on startup.
|
||||
@@ -1,189 +0,0 @@
|
||||
# 使用服务端数据库
|
||||
|
||||
LobeChat 提供了内置的客户端数据库体验。
|
||||
但某些重要功能仅在服务端开发中可用。
|
||||
|
||||
为了使用服务端数据库功能,
|
||||
需要参考 [部署服务端数据库](https://lobehub.com/docs/self-hosting/server-database) 的说明来配置所有前置条件。
|
||||
本文档提供了一个更简化的配置方法,能够在本地开发时快速启动简化的服务端环境。
|
||||
|
||||
## 快速设置
|
||||
|
||||
### 环境配置
|
||||
|
||||
首先,复制示例环境文件来创建你的开发配置:
|
||||
|
||||
```bash
|
||||
cp .env.example.development .env.development
|
||||
```
|
||||
|
||||
此文件包含服务端数据库模式所需的所有环境变量,配置了:
|
||||
|
||||
- **服务模式**: `NEXT_PUBLIC_SERVICE_MODE=server`
|
||||
- **数据库**: 带连接字符串的 PostgreSQL
|
||||
- **身份验证**: 带 Casdoor SSO 的 NextAuth
|
||||
- **存储**: MinIO S3 兼容存储
|
||||
- **搜索**: SearXNG 搜索引擎
|
||||
|
||||
### 启动 Docker 服务
|
||||
|
||||
使用 Docker Compose 启动所有必需的服务:
|
||||
|
||||
```bash
|
||||
docker-compose -f docker-compose.development.yml up -d
|
||||
```
|
||||
|
||||
这将启动以下服务:
|
||||
|
||||
- PostgreSQL 数据库(端口 5432)
|
||||
- MinIO 存储(端口 9000)
|
||||
- Casdoor 身份验证(端口 8000)
|
||||
- SearXNG 搜索(端口 8080)
|
||||
|
||||
### 运行数据库迁移
|
||||
|
||||
执行数据库迁移脚本以创建所有必要的表:
|
||||
|
||||
```bash
|
||||
pnpm db:migrate
|
||||
```
|
||||
|
||||
预期输出:`✅ database migration pass.`
|
||||
|
||||
### 启动开发服务器
|
||||
|
||||
启动 LobeChat 开发服务器:
|
||||
|
||||
```bash
|
||||
pnpm dev
|
||||
```
|
||||
|
||||
服务器将在 `http://localhost:3010` 上启动
|
||||
|
||||
可以通过运行以下命令检查所有 Docker 服务运行状态:
|
||||
|
||||
```bash
|
||||
docker-compose -f docker-compose.development.yml ps
|
||||
```
|
||||
|
||||
## 图像生成开发
|
||||
|
||||
在开发图像生成功能(文生图、图生图)时,Docker Compose 配置已经包含了处理生成图像和用户上传所需的所有存储服务。
|
||||
|
||||
### 图像生成配置
|
||||
|
||||
现有的 Docker Compose 配置已经包含了 MinIO 存储服务以及 `.env.example.development` 中的所有必要环境变量。无需额外配置。
|
||||
|
||||
### 图像生成架构
|
||||
|
||||
图像生成功能需要:
|
||||
|
||||
- **PostgreSQL**:存储生成图像的元数据
|
||||
- **MinIO/S3**:存储实际的图像文件
|
||||
- **服务器模式**:文件处理所需(`NEXT_PUBLIC_SERVICE_MODE=server`)
|
||||
|
||||
### 存储配置
|
||||
|
||||
`.env.example.development` 文件包含所有必要的 S3 环境变量:
|
||||
|
||||
```bash
|
||||
# S3 存储配置(本地开发使用 MinIO)
|
||||
S3_ACCESS_KEY_ID=${MINIO_ROOT_USER}
|
||||
S3_SECRET_ACCESS_KEY=${MINIO_ROOT_PASSWORD}
|
||||
S3_ENDPOINT=http://localhost:${MINIO_PORT}
|
||||
S3_BUCKET=${MINIO_LOBE_BUCKET}
|
||||
S3_PUBLIC_DOMAIN=http://localhost:${MINIO_PORT}
|
||||
S3_ENABLE_PATH_STYLE=1 # MinIO 必需
|
||||
S3_SET_ACL=0 # MinIO 兼容性
|
||||
```
|
||||
|
||||
### 文件存储结构
|
||||
|
||||
生成的图像和用户上传在 MinIO 存储桶中按以下方式组织:
|
||||
|
||||
```
|
||||
lobe/ # S3 存储桶 (MINIO_LOBE_BUCKET)
|
||||
├── generated/ # 生成的图像
|
||||
│ └── {userId}/
|
||||
│ └── {sessionId}/
|
||||
│ └── {imageId}.png
|
||||
└── uploads/ # 用户上传的图像处理文件
|
||||
└── {userId}/
|
||||
└── {fileId}.{ext}
|
||||
```
|
||||
|
||||
### 图像开发工作流
|
||||
|
||||
在开发图像生成功能时,生成的图像将:
|
||||
|
||||
1. 由 AI 模型创建
|
||||
2. 通过预签名 URL 上传到 S3/MinIO
|
||||
3. 元数据存储在 PostgreSQL 中
|
||||
4. 通过公共 S3 URL 提供服务
|
||||
|
||||
测试图像上传的示例代码:
|
||||
|
||||
```typescript
|
||||
// 示例:上传生成的图像
|
||||
const uploadUrl = await trpc.upload.createPresignedUrl.mutate({
|
||||
filename: 'generated-image.png',
|
||||
contentType: 'image/png',
|
||||
});
|
||||
|
||||
// 上传到 S3
|
||||
await fetch(uploadUrl, {
|
||||
method: 'PUT',
|
||||
body: imageBlob,
|
||||
headers: { 'Content-Type': 'image/png' },
|
||||
});
|
||||
```
|
||||
|
||||
|
||||
### 服务地址
|
||||
|
||||
运行 Docker Compose 开发环境时:
|
||||
|
||||
- **PostgreSQL**:`postgres://postgres@localhost:5432/lobechat`
|
||||
- **MinIO API**:`http://localhost:9000`
|
||||
- **MinIO 控制台**:`http://localhost:9001` (admin/CHANGE_THIS_PASSWORD_IN_PRODUCTION)
|
||||
- **应用程序**:`http://localhost:3010`
|
||||
|
||||
### 重置服务
|
||||
|
||||
如遇到问题,可以重置整个服务堆栈:
|
||||
|
||||
```bash
|
||||
# 停止并删除所有容器
|
||||
docker-compose -f docker-compose.development.yml down
|
||||
|
||||
# 删除卷(这将删除所有数据)
|
||||
docker-compose -f docker-compose.development.yml down -v
|
||||
|
||||
# 重新启动
|
||||
docker-compose -f docker-compose.development.yml up -d
|
||||
pnpm db:migrate
|
||||
```
|
||||
|
||||
|
||||
### 故障排除
|
||||
|
||||
#### 端口冲突
|
||||
|
||||
如果端口已被占用:
|
||||
|
||||
```bash
|
||||
# 检查端口使用情况
|
||||
lsof -i :5432 # PostgreSQL
|
||||
lsof -i :9000 # MinIO API
|
||||
lsof -i :9001 # MinIO 控制台
|
||||
```
|
||||
|
||||
#### 数据库迁移
|
||||
|
||||
配置脚本会自动运行迁移。如需手动运行:
|
||||
|
||||
```bash
|
||||
pnpm db:migrate
|
||||
```
|
||||
|
||||
注意:在使用 `pnpm dev:desktop` 的开发模式下,迁移也会在启动时自动运行。
|
||||
@@ -1,8 +1,8 @@
|
||||
table agents {
|
||||
id text [pk, not null]
|
||||
slug varchar(100) [unique]
|
||||
title varchar(255)
|
||||
description varchar(1000)
|
||||
title text
|
||||
description text
|
||||
tags jsonb [default: `[]`]
|
||||
avatar text
|
||||
background_color text
|
||||
@@ -24,8 +24,6 @@ table agents {
|
||||
|
||||
indexes {
|
||||
(client_id, user_id) [name: 'client_id_user_id_unique', unique]
|
||||
title [name: 'agents_title_idx']
|
||||
description [name: 'agents_description_idx']
|
||||
}
|
||||
}
|
||||
|
||||
@@ -138,7 +136,6 @@ table chat_groups {
|
||||
config jsonb
|
||||
client_id text
|
||||
user_id text [not null]
|
||||
group_id text
|
||||
pinned boolean [default: false]
|
||||
accessed_at "timestamp with time zone" [not null, default: `now()`]
|
||||
created_at "timestamp with time zone" [not null, default: `now()`]
|
||||
@@ -388,7 +385,7 @@ table message_translates {
|
||||
|
||||
table messages {
|
||||
id text [pk, not null]
|
||||
role varchar(255) [not null]
|
||||
role text [not null]
|
||||
content text
|
||||
reasoning jsonb
|
||||
search jsonb
|
||||
@@ -420,9 +417,6 @@ table messages {
|
||||
topic_id [name: 'messages_topic_id_idx']
|
||||
parent_id [name: 'messages_parent_id_idx']
|
||||
quota_id [name: 'messages_quota_id_idx']
|
||||
user_id [name: 'messages_user_id_idx']
|
||||
session_id [name: 'messages_session_id_idx']
|
||||
thread_id [name: 'messages_thread_id_idx']
|
||||
}
|
||||
}
|
||||
|
||||
@@ -628,7 +622,6 @@ table chunks {
|
||||
|
||||
indexes {
|
||||
(client_id, user_id) [name: 'chunks_client_id_user_id_unique', unique]
|
||||
user_id [name: 'chunks_user_id_idx']
|
||||
}
|
||||
}
|
||||
|
||||
@@ -642,7 +635,6 @@ table embeddings {
|
||||
|
||||
indexes {
|
||||
(client_id, user_id) [name: 'embeddings_client_id_user_id_unique', unique]
|
||||
chunk_id [name: 'embeddings_chunk_id_idx']
|
||||
}
|
||||
}
|
||||
|
||||
@@ -842,8 +834,6 @@ table sessions {
|
||||
indexes {
|
||||
(slug, user_id) [name: 'slug_user_id_unique', unique]
|
||||
(client_id, user_id) [name: 'sessions_client_id_user_id_unique', unique]
|
||||
user_id [name: 'sessions_user_id_idx']
|
||||
(id, user_id) [name: 'sessions_id_user_id_idx']
|
||||
}
|
||||
}
|
||||
|
||||
@@ -894,8 +884,6 @@ table topics {
|
||||
|
||||
indexes {
|
||||
(client_id, user_id) [name: 'topics_client_id_user_id_unique', unique]
|
||||
user_id [name: 'topics_user_id_idx']
|
||||
(id, user_id) [name: 'topics_id_user_id_idx']
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -1,71 +0,0 @@
|
||||
---
|
||||
title: Observability with Grafana, Prometheus, and Tempo
|
||||
description: >-
|
||||
Monitor and analyze your LobeChat instance using Grafana dashboards, Prometheus metrics, and Tempo traces. This guide covers setup, configuration for self-hosted deployments.
|
||||
tags:
|
||||
- Observability
|
||||
- Grafana
|
||||
- Prometheus
|
||||
- Tempo
|
||||
---
|
||||
|
||||
# Observability with [Grafana](https://grafana.com/), [Prometheus](https://prometheus.io/), and [Tempo](https://grafana.com/docs/tempo/latest/)
|
||||
|
||||
LobeChat supports advanced observability for self-hosted deployments using open-source tools:
|
||||
|
||||
- **Grafana** for dashboards and visualization
|
||||
- **Prometheus** for metrics collection
|
||||
- **Tempo** for distributed tracing
|
||||
- **otel-collector** ingesting other OpenTelemetry supported data
|
||||
|
||||
We provided Docker Compose (`docker-compose`) file presets to bootstrap the observability stack with advanced self-hosting features.
|
||||
This guide will help you set up and use these tools to monitor your LobeChat instance.
|
||||
|
||||
## Prerequisites
|
||||
|
||||
- `docker` CLI
|
||||
- OrbStack (macOS), or Docker Desktop Windows
|
||||
- `docker-compose` plugin enabled (check through `docker compose version`)
|
||||
|
||||
## 1. Deploy
|
||||
|
||||
```bash
|
||||
curl -O https://raw.githubusercontent.com/lobehub/lobe-chat/HEAD/docker-compose/production/grafana/docker-compose.yml
|
||||
curl -O https://raw.githubusercontent.com/lobehub/lobe-chat/HEAD/docker-compose/production/grafana/.env.example
|
||||
mv .env.example .env
|
||||
```
|
||||
|
||||
1. Update the password & secrets in the `.env` file as needed.
|
||||
2. Start the stack with the correct profile:
|
||||
|
||||
```sh
|
||||
docker compose up -d
|
||||
```
|
||||
|
||||
This will launch Grafana, Prometheus, Tempo, and the otel-collector alongside LobeChat with Casdoor, Minio, and other advanced services.
|
||||
|
||||
## 2. Access Grafana Dashboards
|
||||
|
||||
- Open Grafana in your browser at [http://localhost:3000](http://localhost:3000) (or your server's IP).
|
||||
- Default login (if required):
|
||||
- **Username:** admin
|
||||
- **Password:** (see your environment or Docker Compose file)
|
||||
|
||||
## 3. Explore traces & metrics
|
||||
|
||||
Click on "Explore" in the left sidebar to access the query editor to run ad-hoc queries against your Prometheus and Tempo data sources.
|
||||
|
||||
## 4. Troubleshooting
|
||||
|
||||
- Ensure all containers are running: `docker compose ps`
|
||||
- Check logs for any service: `docker compose logs <service-name>`
|
||||
- Verify Prometheus and Tempo are scraping and receiving data from LobeChat and otel-collector.
|
||||
|
||||
## See Also
|
||||
|
||||
- [Langfuse Observability](https://lobehub.com/docs/self-hosting/advanced/observability/langfuse)
|
||||
- [Self-Hosting Overview](https://lobehub.com/docs/self-hosting/start)
|
||||
|
||||
---
|
||||
|
||||
For questions or feedback, open an issue on GitHub or join our community discussions.
|
||||
@@ -1,70 +0,0 @@
|
||||
---
|
||||
title: 使用 Grafana、Prometheus 和 Tempo 进行可观测性监控
|
||||
description: >-
|
||||
使用 Grafana、Prometheus 指标和 Tempo 链路追踪,监控和分析你的 LobeChat 实例。本指南涵盖自托管部署的搭建、配置和示例仪表盘。
|
||||
tags:
|
||||
- 可观测性
|
||||
- Grafana
|
||||
- Prometheus
|
||||
- Tempo
|
||||
---
|
||||
|
||||
# 使用 [Grafana](https://grafana.com/)、[Prometheus](https://prometheus.io/) 和 [Tempo](https://grafana.com/docs/tempo/latest/) 进行可观测性监控
|
||||
|
||||
LobeChat 支持通过开源工具实现自托管部署的高级可观测性:
|
||||
|
||||
- **Grafana**:仪表盘与可视化
|
||||
- **Prometheus**:指标采集
|
||||
- **Tempo**:分布式链路追踪
|
||||
- **otel-collector**:采集 OpenTelemetry 支持的数据
|
||||
|
||||
我们提供了 Docker Compose (`docker-compose`) 预设文件,帮助你一键启动包含高级可观测性功能的自托管栈。
|
||||
|
||||
## 前置条件
|
||||
|
||||
- 已安装 `docker` 命令行工具
|
||||
- OrbStack(macOS)或 Docker Desktop(Windows)
|
||||
- 启用 `docker-compose` 插件(可通过 `docker compose version` 检查)
|
||||
|
||||
## 1. 部署
|
||||
|
||||
```bash
|
||||
curl -O https://raw.githubusercontent.com/lobehub/lobe-chat/HEAD/docker-compose/production/grafana/docker-compose.yml
|
||||
curl -O https://raw.githubusercontent.com/lobehub/lobe-chat/HEAD/docker-compose/production/grafana/.env.example
|
||||
mv .env.example .env
|
||||
```
|
||||
|
||||
1. 根据需要修改 `.env` 文件中的密码和密钥。
|
||||
2. 使用如下命令启动服务:
|
||||
|
||||
```sh
|
||||
docker compose up -d
|
||||
```
|
||||
|
||||
这将会启动 Grafana、Prometheus、Tempo、otel-collector 以及 LobeChat、Casdoor、Minio 等高级服务。
|
||||
|
||||
## 2. 访问 Grafana 仪表盘
|
||||
|
||||
- 在浏览器中打开 [http://localhost:3000](http://localhost:3000)(或你的服务器 IP)。
|
||||
- 默认登录信息(如需):
|
||||
- **用户名:** admin
|
||||
- **密码:** 见你的环境变量或 Docker Compose 文件
|
||||
|
||||
## 3. 探索链路追踪与指标
|
||||
|
||||
点击左侧边栏的 “Explore” 进入查询编辑器,可对 Prometheus 和 Tempo 数据源进行即席查询。
|
||||
|
||||
## 4. 故障排查
|
||||
|
||||
- 确认所有容器已运行:`docker compose ps`
|
||||
- 查看服务日志:`docker compose logs <服务名>`
|
||||
- 检查 Prometheus 和 Tempo 是否正常采集 LobeChat 及 otel-collector 的数据。
|
||||
|
||||
## 相关链接
|
||||
|
||||
- [Langfuse 可观测性](https://lobehub.com/zh/docs/self-hosting/advanced/observability/langfuse)
|
||||
- [自托管总览](https://lobehub.com/zh/docs/self-hosting/start)
|
||||
|
||||
---
|
||||
|
||||
如有问题或建议,欢迎在 GitHub 提 Issue 或加入社区讨论。
|
||||
@@ -34,15 +34,15 @@ CRAWLER_IMPLS="native,search1api"
|
||||
|
||||
Supported crawler types are listed below:
|
||||
|
||||
| Value | Description | Environment Variable |
|
||||
| ------------- | ------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------- |
|
||||
| `browserless` | Headless browser crawler based on [Browserless](https://www.browserless.io/), suitable for rendering complex pages. | `BROWSERLESS_TOKEN` |
|
||||
| `exa` | Crawler capabilities provided by [Exa](https://exa.ai/), API required. | `EXA_API_KEY` |
|
||||
| `firecrawl` | [Firecrawl](https://firecrawl.dev/) headless browser API, ideal for modern websites. | `FIRECRAWL_API_KEY` |
|
||||
| `jina` | Crawler service from [Jina AI](https://jina.ai/), supports fast content summarization. | `JINA_READER_API_KEY` |
|
||||
| `native` | Built-in general-purpose crawler for standard web structures. | |
|
||||
| `search1api` | Page crawling capabilities from [Search1API](https://www.search1api.com), great for structured content extraction. | `SEARCH1API_API_KEY` `SEARCH1API_CRAWL_API_KEY` `SEARCH1API_SEARCH_API_KEY` |
|
||||
| `tavily` | Web scraping and summarization API from [Tavily](https://www.tavily.com/). | `TAVILY_API_KEY` |
|
||||
| Value | Description | Environment Variable |
|
||||
| ------------- | ------------------------------------------------------------------------------------------------------------------- | -------------------------- |
|
||||
| `browserless` | Headless browser crawler based on [Browserless](https://www.browserless.io/), suitable for rendering complex pages. | `BROWSERLESS_TOKEN` |
|
||||
| `exa` | Crawler capabilities provided by [Exa](https://exa.ai/), API required. | `EXA_API_KEY` |
|
||||
| `firecrawl` | [Firecrawl](https://firecrawl.dev/) headless browser API, ideal for modern websites. | `FIRECRAWL_API_KEY` |
|
||||
| `jina` | Crawler service from [Jina AI](https://jina.ai/), supports fast content summarization. | `JINA_READER_API_KEY` |
|
||||
| `native` | Built-in general-purpose crawler for standard web structures. | |
|
||||
| `search1api` | Page crawling capabilities from [Search1API](https://www.search1api.com), great for structured content extraction. | `SEARCH1API_CRAWL_API_KEY` |
|
||||
| `tavily` | Web scraping and summarization API from [Tavily](https://www.tavily.com/). | `TAVILY_API_KEY` |
|
||||
|
||||
> 💡 Setting multiple crawlers increases success rate; the system will try different ones based on priority.
|
||||
|
||||
@@ -58,19 +58,19 @@ SEARCH_PROVIDERS="searxng"
|
||||
|
||||
Supported search engines include:
|
||||
|
||||
| Value | Description | Environment Variable |
|
||||
| ------------ | --------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------- |
|
||||
| `anspire` | Search service provided by [Anspire](https://anspire.ai/). | `ANSPIRE_API_KEY` |
|
||||
| `bocha` | Search service from [Bocha](https://open.bochaai.com/). | `BOCHA_API_KEY` |
|
||||
| `brave` | [Brave](https://search.brave.com/help/api), a privacy-friendly search source. | `BRAVE_API_KEY` |
|
||||
| `exa` | [Exa](https://exa.ai/), a search API designed for AI. | `EXA_API_KEY` |
|
||||
| `firecrawl` | Search capabilities via [Firecrawl](https://firecrawl.dev/). | `FIRECRAWL_API_KEY` |
|
||||
| `google` | Uses [Google Programmable Search Engine](https://programmablesearchengine.google.com/). | `GOOGLE_PSE_API_KEY` `GOOGLE_PSE_ENGINE_ID` |
|
||||
| `jina` | Semantic search provided by [Jina AI](https://jina.ai/). | `JINA_READER_API_KEY` |
|
||||
| `kagi` | Premium search API by [Kagi](https://kagi.com/), requires a subscription key. | `KAGI_API_KEY` |
|
||||
| `search1api` | Aggregated search capabilities from [Search1API](https://www.search1api.com). | `SEARCH1API_API_KEY` `SEARCH1API_CRAWL_API_KEY` `SEARCH1API_SEARCH_API_KEY` |
|
||||
| `searxng` | Use a self-hosted or public [SearXNG](https://searx.space/) instance. | `SEARXNG_URL` |
|
||||
| `tavily` | [Tavily](https://www.tavily.com/), offers fast web summaries and answers. | `TAVILY_API_KEY` |
|
||||
| Value | Description | Environment Variable |
|
||||
| ------------ | --------------------------------------------------------------------------------------- | ------------------------------------------- |
|
||||
| `anspire` | Search service provided by [Anspire](https://anspire.ai/). | `ANSPIRE_API_KEY` |
|
||||
| `bocha` | Search service from [Bocha](https://open.bochaai.com/). | `BOCHA_API_KEY` |
|
||||
| `brave` | [Brave](https://search.brave.com/help/api), a privacy-friendly search source. | `BRAVE_API_KEY` |
|
||||
| `exa` | [Exa](https://exa.ai/), a search API designed for AI. | `EXA_API_KEY` |
|
||||
| `firecrawl` | Search capabilities via [Firecrawl](https://firecrawl.dev/). | `FIRECRAWL_API_KEY` |
|
||||
| `google` | Uses [Google Programmable Search Engine](https://programmablesearchengine.google.com/). | `GOOGLE_PSE_API_KEY` `GOOGLE_PSE_ENGINE_ID` |
|
||||
| `jina` | Semantic search provided by [Jina AI](https://jina.ai/). | `JINA_READER_API_KEY` |
|
||||
| `kagi` | Premium search API by [Kagi](https://kagi.com/), requires a subscription key. | `KAGI_API_KEY` |
|
||||
| `search1api` | Aggregated search capabilities from [Search1API](https://www.search1api.com). | `SEARCH1API_CRAWL_API_KEY` |
|
||||
| `searxng` | Use a self-hosted or public [SearXNG](https://searx.space/) instance. | `SEARXNG_URL` |
|
||||
| `tavily` | [Tavily](https://www.tavily.com/), offers fast web summaries and answers. | `TAVILY_API_KEY` |
|
||||
|
||||
> ⚠️ Some search providers require you to apply for an API Key and configure it in your `.env` file.
|
||||
|
||||
|
||||
@@ -37,7 +37,7 @@ CRAWLER_IMPLS="native,search1api"
|
||||
| `firecrawl` | [Firecrawl](https://firecrawl.dev/) 无头浏览器 API,适合现代网站抓取。 | `FIRECRAWL_API_KEY` |
|
||||
| `jina` | 使用 [Jina AI](https://jina.ai/) 的爬虫服务,支持快速提取摘要信息。 | `JINA_READER_API_KEY` |
|
||||
| `native` | 内置通用爬虫,适用于标准网页结构。 | |
|
||||
| `search1api` | 利用 [Search1API](https://www.search1api.com) 提供的页面抓取能力,适合结构化内容提取。 | `SEARCH1API_API_KEY` `SEARCH1API_CRAWL_API_KEY` `SEARCH1API_SEARCH_API_KEY` |
|
||||
| `search1api` | 利用 [Search1API](https://www.search1api.com) 提供的页面抓取能力,适合结构化内容提取。 | `SEARCH1API_CRAWL_API_KEY` |
|
||||
| `tavily` | 使用 [Tavily](https://www.tavily.com/) 的网页抓取与摘要 API。 | `TAVILY_API_KEY` |
|
||||
|
||||
> 💡 设置多个爬虫可提升成功率,系统将根据优先级尝试不同爬虫。
|
||||
@@ -64,7 +64,7 @@ SEARCH_PROVIDERS="searxng"
|
||||
| `google` | 使用 [Google Programmable Search Engine](https://programmablesearchengine.google.com/)。 | `GOOGLE_PSE_API_KEY` `GOOGLE_PSE_ENGINE_ID` |
|
||||
| `jina` | 使用 [Jina AI](https://jina.ai/) 提供的语义搜索服务。 | `JINA_READER_API_KEY` |
|
||||
| `kagi` | [Kagi](https://kagi.com/) 提供的高级搜索 API,需订阅 Key。 | `KAGI_API_KEY` |
|
||||
| `search1api` | 使用 [Search1API](https://www.search1api.com) 聚合搜索能力。 | `SEARCH1API_API_KEY` `SEARCH1API_CRAWL_API_KEY` `SEARCH1API_SEARCH_API_KEY` |
|
||||
| `search1api` | 使用 [Search1API](https://www.search1api.com) 聚合搜索能力。 | `SEARCH1API_CRAWL_API_KEY` |
|
||||
| `searxng` | 使用自托管或公共 [SearXNG](https://searx.space/) 实例。 | `SEARXNG_URL` |
|
||||
| `tavily` | [Tavily](https://www.tavily.com/),快速网页摘要与答案返回。 | `TAVILY_API_KEY` |
|
||||
|
||||
|
||||
@@ -85,7 +85,7 @@ We need to configure an S3 storage service in the server-side database to store
|
||||
<Image alt={'Configure allowed site domain'} src={'https://github.com/lobehub/lobe-chat/assets/28616219/dfcc2cb3-2958-4498-a8a4-51bec584fe7d'} />
|
||||
|
||||
<Callout type={'info'}>
|
||||
If you also plan to use the desktop client, add <code>[http://localhost:3015](http://localhost:3015)</code> to <code>AllowedOrigins</code> so the desktop client (running locally) can access R2.
|
||||
If you also plan to use the desktop client, add <code>http://localhost:3015</code> to <code>AllowedOrigins</code> so the desktop client (running locally) can access R2.
|
||||
</Callout>
|
||||
|
||||
Example configuration is as follows:
|
||||
|
||||
@@ -82,11 +82,11 @@ tags:
|
||||
添加跨域规则,允许你的域名(在上文是 `https://your-project.vercel.app`)来源的请求:
|
||||
|
||||
<Image alt={'配置允许你的站点域名'} src={'https://github.com/lobehub/lobe-chat/assets/28616219/dfcc2cb3-2958-4498-a8a4-51bec584fe7d'} />
|
||||
|
||||
<Callout type={'info'}>
|
||||
如果你还需要在桌面端使用,请在 <code>AllowedOrigins</code> 中额外添加 <code>[http://localhost:3015](http://localhost:3015)</code>,以便桌面端(本地运行)能够访问 R2。
|
||||
如果你还需要在桌面端使用,请在 <code>AllowedOrigins</code> 中额外添加 <code>http://localhost:3015</code>,以便桌面端(本地运行)能够访问 R2。
|
||||
</Callout>
|
||||
|
||||
|
||||
示例配置如下:
|
||||
|
||||
```json
|
||||
|
||||
@@ -0,0 +1,86 @@
|
||||
---
|
||||
title: LobeChat WebRTC Sync - Real-Time Data Sharing
|
||||
description: >-
|
||||
Explore LobeChat's WebRTC sync for real-time data sharing and privacy without servers.
|
||||
|
||||
tags:
|
||||
- WebRTC
|
||||
- LobeChat
|
||||
- Data Synchronization
|
||||
- Real-Time Communication
|
||||
- Peer-to-Peer
|
||||
---
|
||||
|
||||
# LobeChat WebRTC Sync
|
||||
|
||||
## Introduction to WebRTC
|
||||
|
||||
WebRTC (Web Real-Time Communication) is a technology that enables peer-to-peer communication between browsers. In LobeChat, we experimentally implemented real-time data synchronization between devices based on WebRTC and YJS, without relying on traditional server databases. This solution offers high privacy, zero conflicts, and provides a real-time session synchronization experience.
|
||||
|
||||
## Configuring WebRTC for Synchronization
|
||||
|
||||
To use the WebRTC synchronization feature in LobeChat, you need to complete the following steps:
|
||||
|
||||
<Steps>
|
||||
### Deploy Signaling Server
|
||||
|
||||
Deploy a WebRTC signaling server with one click using the Zeabur platform:
|
||||
|
||||
[](https://zeabur.com/templates/MY0JZG?referralCode=arvinxx)
|
||||
|
||||
Alternatively, you can view the [source code](https://github.com/lobehub/y-webrtc-signaling) and deploy it on your own.
|
||||
|
||||
After deployment, you will receive a URL, for example: `https://my-signaling-server.zeabur.app`.
|
||||
|
||||
### Enable WebRTC Sync in the Deployment Instance
|
||||
|
||||
The WebRTC sync feature in LobeChat is hidden by default and needs to be enabled by adding the environment variable `FEATURE_FLAGS=+webrtc_sync`.
|
||||
|
||||
### Configure WebRTC Sync Settings in LobeChat
|
||||
|
||||
1. Open LobeChat settings -> Data Sync
|
||||
2. Enter the signaling server address in the WebRTC sync section;
|
||||
3. Set the sync channel name and password
|
||||
|
||||
<Image alt={'LobeChat Data Sync Settings Page'} height={356} inStep src={'https://github.com/lobehub/lobe-chat/assets/28616219/bf86bf1e-87fb-4015-8587-15ff28bb9c24'} />
|
||||
|
||||
### Repeat the Above Configuration on Devices that Need to Sync
|
||||
|
||||
Ensure all devices use the same signaling server, channel name, and password. Once configured, the devices should automatically start syncing data.
|
||||
</Steps>
|
||||
|
||||
## Limitations and Known Issues
|
||||
|
||||
Although WebRTC has the advantages of no database and flexibility, after extensive community testing, the following limitations and known issues have been identified:
|
||||
|
||||
### Requirement for Devices to be Online Simultaneously
|
||||
|
||||
WebRTC requires devices to be online simultaneously to synchronize, meaning changes cannot be made on one device while offline and then synced later on another device.
|
||||
|
||||
This limitation is due to the communication nature of WebRTC. In a pure frontend, serverless scenario, data synchronization between two devices can only be achieved through peer-to-peer communication. When one device is online and the other is offline, it is impossible to determine where the data should come from. Only when both devices are online can data communication occur. This mode is more like an online chat room where everyone needs to be online to see each other's data and achieve synchronization.
|
||||
|
||||
Therefore, in certain situations, WebRTC's pure peer-to-peer approach may not fully meet users' needs (e.g., one device is a work computer, and the other is a home computer), and there are also some issues with data synchronization.
|
||||
|
||||
### Network Issues Leading to Sync Failures
|
||||
|
||||
Due to the implementation mechanism of WebRTC, its peer-to-peer communication has strict network requirements. Many of our users have reported:
|
||||
|
||||
- Syncing between PCs is possible, but syncing between a mobile device with a SIM card and a PC is not, although syncing is possible when using the same WIFI as the PC;
|
||||
- Syncing fails when switching networks.
|
||||
|
||||
### Stability and Performance Issues
|
||||
|
||||
- Some users have reported ICE connection failures on the Firefox browser: [WebRTC Data Sync Feedback](https://github.com/lobehub/lobe-chat/issues/1683#issuecomment-2094745907)
|
||||
- For extremely long text or large amounts of conversation records, the synchronization process may slow down or become unstable: [When the model outputs a very long conversation, the end of the conversation will contain synchronization-related content tags, leading to sync failures](https://github.com/lobehub/lobe-chat/issues/1962)
|
||||
|
||||
## Our Recommendations
|
||||
|
||||
Considering the above reasons, we recommend users treat the WebRTC sync feature as experimental and regularly back up important data.
|
||||
|
||||
We have already released a more stable and user-friendly server database synchronization solution ([deployment guide](/docs/self-hosting/advanced/server-database)). We recommend users prioritize using the server database synchronization solution.
|
||||
|
||||
<Callout type={'warning'}>
|
||||
Please note that we have officially announced the archiving of this sync feature in [PR
|
||||
3182](https://github.com/lobehub/lobe-chat/pull/3182), and the above issues will no longer be
|
||||
considered for fixes.
|
||||
</Callout>
|
||||
@@ -0,0 +1,80 @@
|
||||
---
|
||||
title: LobeChat WebRTC 同步配置指南
|
||||
description: 在 LobeChat 中实现基于 WebRTC 和 YJS 的设备间实时数据同步。了解如何配置 WebRTC 并开启同步功能,以及使用局限性和已知问题。
|
||||
tags:
|
||||
- YJS
|
||||
- 信令服务器
|
||||
---
|
||||
|
||||
# LobeChat WebRTC 同步
|
||||
|
||||
## WebRTC 简介
|
||||
|
||||
WebRTC (Web Real-Time Communication) 是一项实现浏览器之间点对点通信的技术。在 LobeChat 中,我们实验性地基于 WebRTC 和 YJS 实现了设备间的实时数据同步,无需依赖传统的服务器数据库。这种方案具有高度隐私性、零冲突性,并能提供实时会话同步体验。
|
||||
|
||||
## 配置 WebRTC 并实现同步
|
||||
|
||||
要使用 LobeChat 的 WebRTC 同步功能,需要完成以下步骤:
|
||||
|
||||
<Steps>
|
||||
### 部署信令服务器
|
||||
|
||||
使用 Zeabur 平台一键部署 WebRTC 信令服务器:
|
||||
|
||||
[](https://zeabur.com/templates/MY0JZG?referralCode=arvinxx)
|
||||
|
||||
或者查看 [源码](https://github.com/lobehub/y-webrtc-signaling) 自行部署。
|
||||
|
||||
部署完成后,可以得到一个 URL,例如:`https://my-signaling-server.zeabur.app`。
|
||||
|
||||
### 在部署实例中开启 WebRTC 同步
|
||||
|
||||
LobeChat 默认隐藏了 WebRTC 同步功能,需要通过添加环境变量 `FEATURE_FLAGS=+webrtc_sync` 来开启 WebRTC 同步特性。
|
||||
|
||||
### 配置 LobeChat 的 WebRTC 同步设置
|
||||
|
||||
1. 打开 LobeChat 设置 -> 数据同步
|
||||
2. 在 WebRTC 同步中填写信令服务器地址;
|
||||
3. 设置同步频道名称和密码
|
||||
|
||||
<Image alt={'LobeChat 数据同步设置页'} height={356} inStep src={'https://github.com/lobehub/lobe-chat/assets/28616219/bf86bf1e-87fb-4015-8587-15ff28bb9c24'} />
|
||||
|
||||
### 在需要同步的设备上重复以上配置
|
||||
|
||||
确保所有设备使用相同的信令服务器、频道名称和密码,完成配置后,设备间应该可以开始自动同步数据。
|
||||
</Steps>
|
||||
|
||||
## 使用局限性和已知问题
|
||||
|
||||
虽然 WebRTC 具有无数据库、比较灵活的特性,但目前该功能经过大范围社区测试,存在以下局限性和已知问题:
|
||||
|
||||
### 设备同时在线要求
|
||||
|
||||
WebRTC 要求设备同时在线才能进行同步,这意味着无法在一台设备离线时在另一台设备上进行更改并稍后同步。
|
||||
|
||||
这是 WebRTC 本身的通信特性有关系,由于在纯前端、无服务端的情况下,两个设备的数据同步只能通过点对点通信的形式达成。当一个设备在线,一个设备离线的情况下,我们无从感知数据到底应该从哪来,只有当两台设备都在线的时候,双发数据才能通信。其实这种模式更像是一个在线聊天室,大家都在线时才能看到对方的数据,然后达成同步。
|
||||
|
||||
因此 WebRTC 这种纯点对点的方式在某些情况下并无法完全满足用户的诉求(例如一个是公司电脑,一个是家里电脑),同时也存在一些数据同步层面的问题。
|
||||
|
||||
### 网络问题可能导致同步失败
|
||||
|
||||
由于 WebRTC 的实现机制,其点对点通信对于网络要求非常苛刻,我们的很多用户反馈:
|
||||
|
||||
- 在 PC 上可以互相同步、 手机 sim 卡无法和 PC 同步、但是换成和 PC 一样的 WIFI 可以和 PC 同步;
|
||||
- 任何切换网络都无法同步;
|
||||
|
||||
### 稳定性与性能问题
|
||||
|
||||
- 部分用户报告在 Firefox 浏览器上遇到 ICE 连接失败的问题:[WebRTC Data Sync Feedback](https://github.com/lobehub/lobe-chat/issues/1683#issuecomment-2094745907)
|
||||
- 对于超长文本或大量对话记录,同步过程可能变慢或不稳定:[当模型输出超长对话时,对话末尾会出现同步相关的内容标签,导致同步失败](https://github.com/lobehub/lobe-chat/issues/1962)
|
||||
|
||||
## 我们的建议
|
||||
|
||||
鉴于以上原因,我们建议用户将 WebRTC 同步功能视为实验性功能,并定期备份重要数据。
|
||||
|
||||
目前我们已经发布了更稳定、更用户友好的服务端数据库同步方案([部署指南](/zh/docs/self-hosting/advanced/server-database)),我们建议用户优先考虑使用服务端数据库同步方案。
|
||||
|
||||
<Callout type={'warning'}>
|
||||
请注意,我们已经在 [PR 3182](https://github.com/lobehub/lobe-chat/pull/3182)
|
||||
中正式宣布归档该同步特性,上述问题将不再考虑进行修复。
|
||||
</Callout>
|
||||
@@ -205,13 +205,6 @@ LobeChat provides a complete authentication service capability when deployed. Th
|
||||
|
||||
### Microsoft Entra ID
|
||||
|
||||
#### `AUTH_MICROSOFT_ENTRA_ID_BASE_URL`
|
||||
|
||||
- Type: Required
|
||||
- Description: - Description: Base URL for Azure login. Use when authenticating against other Microsoft sovereignty clouds like Azure US Government.
|
||||
- Default: `https://login.microsoftonline.com`
|
||||
- Example: `https://login.microsoftonline.us`
|
||||
|
||||
#### `AUTH_AZURE_AD_ID`
|
||||
|
||||
- Type: Required
|
||||
|
||||
@@ -37,6 +37,13 @@ When using the `random` mode, a random API Key will be selected from the availab
|
||||
|
||||
When using the `turn` mode, the API Keys will be retrieved in a polling manner according to the specified order.
|
||||
|
||||
### `NEXT_PUBLIC_BASE_PATH`
|
||||
|
||||
- Type: Optional
|
||||
- Description: Add a `basePath` for LobeChat.
|
||||
- Default: -
|
||||
- Example: `/test`
|
||||
|
||||
### `DEFAULT_AGENT_CONFIG`
|
||||
|
||||
- Type: Optional
|
||||
@@ -145,13 +152,6 @@ For specific content, please refer to the [Feature Flags](/docs/self-hosting/adv
|
||||
- Default: `0`
|
||||
- Example: `1` or `0`
|
||||
|
||||
### `NEXT_PUBLIC_ASSET_PREFIX`
|
||||
|
||||
- Type: Optional
|
||||
- Description: The path access prefix for static resources can be set to the URL for CDN access. For more details, please refer to: [assetPrefix](https://nextjs.org/docs/app/api-reference/config/next-config-js/assetPrefix)
|
||||
- Default: -
|
||||
- Example: `https://cdn.example.com`
|
||||
|
||||
## Plugin Service
|
||||
|
||||
### `PLUGINS_INDEX_URL`
|
||||
|
||||
@@ -34,6 +34,13 @@ LobeChat 在部署时提供了一些额外的配置项,你可以使用环境
|
||||
|
||||
使用 `turn` 模式下,将按照填写的顺序,轮询获取得到 API Key。
|
||||
|
||||
### `NEXT_PUBLIC_BASE_PATH`
|
||||
|
||||
- 类型:可选
|
||||
- 描述:为 LobeChat 添加 `basePath`
|
||||
- 默认值: `-`
|
||||
- 示例: `/test`
|
||||
|
||||
### `DEFAULT_AGENT_CONFIG`
|
||||
|
||||
- 类型:可选
|
||||
@@ -141,13 +148,6 @@ LobeChat 在部署时提供了一些额外的配置项,你可以使用环境
|
||||
- 默认值:`0`
|
||||
- 示例:`1` 或 `0`
|
||||
|
||||
### `NEXT_PUBLIC_ASSET_PREFIX`
|
||||
|
||||
- 类型:可选
|
||||
- 描述:静态资源的路径访问前缀,你可以设置为 CDN 访问的 URL,具体可参考: [assetPrefix](https://nextjs.org/docs/app/api-reference/config/next-config-js/assetPrefix)
|
||||
- 默认值:-
|
||||
- 示例:`https://cdn.example.com`
|
||||
|
||||
## 插件服务
|
||||
|
||||
### `PLUGINS_INDEX_URL`
|
||||
|
||||
@@ -3,7 +3,6 @@ title: LobeChat Model Service Providers - Environment Variables and Configuratio
|
||||
description: >-
|
||||
Learn about the environment variables and configuration settings for various model service providers like OpenAI, Google AI, AWS Bedrock, Ollama, Perplexity AI, Anthropic AI, Mistral AI, Groq AI, OpenRouter AI, and 01.AI.
|
||||
|
||||
|
||||
tags:
|
||||
- Model Service Providers
|
||||
- Environment Variables
|
||||
@@ -647,9 +646,9 @@ If you need to use Azure OpenAI to provide model services, you can refer to the
|
||||
- Type: Optional
|
||||
- Description: Used to control the FAL model list. Use `+` to add a model, `-` to hide a model, and `model_name=display_name` to customize the display name of a model. Separate multiple entries with commas. The definition syntax follows the same rules as other providers' model lists.
|
||||
- Default: `-`
|
||||
- Example: `-all,+fal-ai/flux/schnell,+fal-ai/flux-pro/kontext=FLUX.1 Kontext [pro]`
|
||||
- Example: `-all,+flux/schnell,+flux-pro/kontext=FLUX.1 Kontext [pro]`
|
||||
|
||||
The above example disables all models first, then enables `fal-ai/flux/schnell` and `fal-ai/flux-pro/kontext` (displayed as `FLUX.1 Kontext [pro]`).
|
||||
The above example disables all models first, then enables `flux/schnell` and `flux-pro/kontext` (displayed as `FLUX.1 Kontext [pro]`).
|
||||
|
||||
## BFL
|
||||
|
||||
@@ -676,45 +675,4 @@ The above example disables all models first, then enables `fal-ai/flux/schnell`
|
||||
|
||||
The above example disables all models first, then enables `flux-pro-1.1` and `flux-kontext-pro` (displayed as `FLUX.1 Kontext [pro]`).
|
||||
|
||||
## NewAPI
|
||||
|
||||
### `NEWAPI_API_KEY`
|
||||
|
||||
- Type: Optional
|
||||
- Description: This is the API key for your NewAPI service instance. NewAPI is a multi-provider model aggregation service that provides unified access to various AI model APIs.
|
||||
- Default: -
|
||||
- Example: `sk-xxxxxx...xxxxxx`
|
||||
|
||||
### `NEWAPI_PROXY_URL`
|
||||
|
||||
- Type: Optional
|
||||
- Description: The base URL for your NewAPI server instance. This should point to your deployed NewAPI service endpoint.
|
||||
- Default: -
|
||||
- Example: `https://your-newapi-server.com/`
|
||||
|
||||
NewAPI is a multi-provider model aggregation service that supports automatic model routing based on provider detection. It offers cost management features and provides a single endpoint for accessing models from multiple providers including OpenAI, Anthropic, Google, and more. Learn more about NewAPI at [https://github.com/Calcium-Ion/new-api](https://github.com/Calcium-Ion/new-api).
|
||||
|
||||
## Vercel AI Gateway
|
||||
|
||||
### `ENABLED_VERCELAIGATEWAY`
|
||||
|
||||
- Type: Optional
|
||||
- Description: Enables Vercel AI Gateway as a model provider by default. Set to `0` to disable the Vercel AI Gateway service.
|
||||
- Default: `1`
|
||||
- Example: `0`
|
||||
|
||||
### `VERCELAIGATEWAY_API_KEY`
|
||||
|
||||
- Type: Required
|
||||
- Description: This is the API key you applied for in the Vercel AI Gateway service.
|
||||
- Default: -
|
||||
- Example: `vck_xxxxxx...xxxxxx`
|
||||
|
||||
### `VERCELAIGATEWAY_MODEL_LIST`
|
||||
|
||||
- Type: Optional
|
||||
- Description: Used to control the Vercel AI Gateway model list. Use `+` to add a model, `-` to hide a model, and `model_name=display_name` to customize the display name of a model. Separate multiple entries with commas. The definition syntax follows the same rules as other providers' model lists.
|
||||
- Default: `-`
|
||||
- Example: `-all,+vercel-model-1,+vercel-model-2=vercel-special`
|
||||
|
||||
[model-list]: /docs/self-hosting/advanced/model-list
|
||||
|
||||
@@ -645,9 +645,9 @@ LobeChat 在部署时提供了丰富的模型服务商相关的环境变量,
|
||||
- 类型:可选
|
||||
- 描述:用来控制 FAL 模型列表,使用 `+` 增加一个模型,使用 `-` 来隐藏一个模型,使用 `模型名=展示名` 来自定义模型的展示名,用英文逗号隔开。模型定义语法规则与其他 provider 保持一致。
|
||||
- 默认值:`-`
|
||||
- 示例:`-all,+fal-ai/flux/schnell,+fal-ai/flux-pro/kontext=FLUX.1 Kontext [pro]`
|
||||
- 示例:`-all,+flux/schnell,+flux-pro/kontext=FLUX.1 Kontext [pro]`
|
||||
|
||||
上述示例表示先禁用所有模型,再启用 `fal-ai/flux/schnell` 和 `fal-ai/flux-pro/kontext`(显示名为 `FLUX.1 Kontext [pro]`)。
|
||||
上述示例表示先禁用所有模型,再启用 `flux/schnell` 和 `flux-pro/kontext`(显示名为 `FLUX.1 Kontext [pro]`)。
|
||||
|
||||
## BFL
|
||||
|
||||
@@ -674,50 +674,4 @@ LobeChat 在部署时提供了丰富的模型服务商相关的环境变量,
|
||||
|
||||
上述示例表示先禁用所有模型,再启用 `flux-pro-1.1` 和 `flux-kontext-pro`(显示名为 `FLUX.1 Kontext [pro]`)。
|
||||
|
||||
## NewAPI
|
||||
|
||||
### `NEWAPI_API_KEY`
|
||||
|
||||
- 类型:可选
|
||||
- 描述:这是你的 NewAPI 服务实例的 API 密钥。NewAPI 是一个多供应商模型聚合服务,提供对各种 AI 模型 API 的统一访问。
|
||||
- 默认值:-
|
||||
- 示例:`sk-xxxxxx...xxxxxx`
|
||||
|
||||
### `NEWAPI_PROXY_URL`
|
||||
|
||||
- 类型:可选
|
||||
- 描述:你的 NewAPI 服务器实例的基础 URL。这应该指向你部署的 NewAPI 服务端点。
|
||||
- 默认值:-
|
||||
- 示例:`https://your-newapi-server.com`
|
||||
|
||||
<Callout type={'info'}>
|
||||
NewAPI
|
||||
是一个多供应商模型聚合服务,支持基于供应商检测的自动模型路由。它提供成本管理功能,并为访问包括
|
||||
OpenAI、Anthropic、Google 等多个供应商的模型提供单一端点。了解更多关于 NewAPI 的信息请访问
|
||||
[https://github.com/Calcium-Ion/new-api](https://github.com/Calcium-Ion/new-api)。
|
||||
</Callout>
|
||||
|
||||
## Vercel AI Gateway
|
||||
|
||||
### `ENABLED_VERCELAIGATEWAY`
|
||||
|
||||
- 类型:可选
|
||||
- 描述:默认启用 Vercel AI Gateway 作为模型供应商,当设为 0 时关闭 Vercel AI Gateway 服务
|
||||
- 默认值:`1`
|
||||
- 示例:`0`
|
||||
|
||||
### `VERCELAIGATEWAY_API_KEY`
|
||||
|
||||
- 类型:必选
|
||||
- 描述:这是你在 Vercel AI Gateway 服务中申请的 API 密钥
|
||||
- 默认值:-
|
||||
- 示例:`vck_xxxxxx...xxxxxx`
|
||||
|
||||
### `VERCELAIGATEWAY_MODEL_LIST`
|
||||
|
||||
- 类型:可选
|
||||
- 描述:用来控制 Vercel AI Gateway 模型列表,使用 `+` 增加一个模型,使用 `-` 来隐藏一个模型,使用 `模型名=展示名` 来自定义模型的展示名,用英文逗号隔开。模型定义语法规则与其他 provider 保持一致。
|
||||
- 默认值:`-`
|
||||
- 示例:`-all,+vercel-model-1,+vercel-model-2=vercel-special`
|
||||
|
||||
[model-list]: /zh/docs/self-hosting/advanced/model-list
|
||||
|
||||
@@ -1,62 +0,0 @@
|
||||
---
|
||||
title: Using Vercel AI Gateway in LobeChat
|
||||
description: >-
|
||||
Learn how to integrate and utilize Vercel AI Gateway's unified API in LobeChat.
|
||||
|
||||
tags:
|
||||
- LobeChat
|
||||
- Vercel AI Gateway
|
||||
- API Key
|
||||
- Web UI
|
||||
---
|
||||
|
||||
# Using Vercel AI Gateway in LobeChat
|
||||
|
||||
[Vercel AI Gateway](https://vercel.com/ai-gateway) is a unified API that provides access to 100+ AI models through a single endpoint. It offers features like budget management, usage monitoring, load balancing, and fallback handling.
|
||||
|
||||
This article will guide you on how to use Vercel AI Gateway in LobeChat.
|
||||
|
||||
<Steps>
|
||||
### Step 1: Create an API Key in Vercel AI Gateway
|
||||
|
||||
- Go to [Vercel Dashboard](https://vercel.com/dashboard)
|
||||
- Click on the **AI Gateway** tab on the left side
|
||||
- Click on **API keys** in the left sidebar
|
||||
- Click **Create key** and then **Create key** in the dialog to complete
|
||||
|
||||
### Step 2: Configure Vercel AI Gateway in LobeChat
|
||||
|
||||
- Go to the `Settings` page in LobeChat
|
||||
- Under `AI Service Provider`, find the setting for `Vercel AI Gateway`
|
||||
- Enter the API Key you obtained
|
||||
- Choose a model from Vercel AI Gateway for your AI assistant to start the conversation
|
||||
|
||||
<Callout type={'warning'}>
|
||||
During usage, you may need to pay the API service provider, so please refer to Vercel AI Gateway's
|
||||
[pricing policy](https://vercel.com/docs/ai-gateway/models).
|
||||
</Callout>
|
||||
</Steps>
|
||||
|
||||
At this point, you can start chatting using the models provided by Vercel AI Gateway in LobeChat.
|
||||
|
||||
## Model Selection
|
||||
|
||||
Vercel AI Gateway supports various model providers including:
|
||||
|
||||
- **OpenAI**: `openai/gpt-4o`, `openai/gpt-4o-mini`, `openai/o1`, etc.
|
||||
- **Anthropic**: `anthropic/claude-3-5-sonnet`, `anthropic/claude-3-opus`, etc.
|
||||
- **Google**: `google/gemini-2.5-pro`, `google/gemini-2.0-flash`, etc.
|
||||
- **DeepSeek**: `deepseek/deepseek-chat`, `deepseek/deepseek-reasoner`, etc.
|
||||
- And many more...
|
||||
|
||||
For a complete list of supported models, visit [Vercel AI Gateway Models](https://vercel.com/ai-gateway/models).
|
||||
|
||||
## API Configuration
|
||||
|
||||
Vercel AI Gateway uses OpenAI-compatible API format. The base URL is:
|
||||
|
||||
```
|
||||
https://ai-gateway.vercel.sh/v1
|
||||
```
|
||||
|
||||
You can use any OpenAI-compatible client with this endpoint and your API key.
|
||||
@@ -1,61 +0,0 @@
|
||||
---
|
||||
title: 在 LobeChat 中使用 Vercel AI Gateway
|
||||
description: 了解如何在 LobeChat 中集成和使用 Vercel AI Gateway 的统一 API
|
||||
|
||||
tags:
|
||||
- LobeChat
|
||||
- Vercel AI Gateway
|
||||
- API 密钥
|
||||
- Web 界面
|
||||
---
|
||||
|
||||
# 在 LobeChat 中使用 Vercel AI Gateway
|
||||
|
||||
[Vercel AI Gateway](https://vercel.com/ai-gateway) 是一个统一的 API,通过单一端点提供对 100+ AI 模型的访问。它提供预算管理、使用监控、负载均衡和回退处理等功能。
|
||||
|
||||
本文将指导您如何在 LobeChat 中使用 Vercel AI Gateway。
|
||||
|
||||
<Steps>
|
||||
### 第一步:在 Vercel AI Gateway 中创建 API 密钥
|
||||
|
||||
- 访问 [Vercel 控制台](https://vercel.com/dashboard)
|
||||
- 点击左侧的 **AI Gateway** 标签
|
||||
- 点击左侧边栏的 **API 密钥**
|
||||
- 点击 **创建密钥**,然后在对话框中点击 **创建密钥** 完成创建
|
||||
|
||||
### 第二步:在 LobeChat 中配置 Vercel AI Gateway
|
||||
|
||||
- 进入 LobeChat 的 `设置` 页面
|
||||
- 在 `AI 服务提供商` 下,找到 `Vercel AI Gateway` 设置
|
||||
- 输入您获得的 API 密钥
|
||||
- 选择 Vercel AI Gateway 的模型,开始与 AI 助手对话
|
||||
|
||||
<Callout type={'warning'}>
|
||||
使用过程中可能需要向 API 服务提供商付费,请参考 Vercel AI Gateway 的
|
||||
[定价政策](https://vercel.com/docs/ai-gateway/models)。
|
||||
</Callout>
|
||||
</Steps>
|
||||
|
||||
至此,您可以在 LobeChat 中使用 Vercel AI Gateway 提供的模型开始聊天了。
|
||||
|
||||
## 模型选择
|
||||
|
||||
Vercel AI Gateway 支持多种模型提供商,包括:
|
||||
|
||||
- **OpenAI**: `openai/gpt-4o`、`openai/gpt-4o-mini`、`openai/o1` 等
|
||||
- **Anthropic**: `anthropic/claude-3-5-sonnet`、`anthropic/claude-3-opus` 等
|
||||
- **Google**: `google/gemini-2.5-pro`、`google/gemini-2.0-flash` 等
|
||||
- **DeepSeek**: `deepseek/deepseek-chat`、`deepseek/deepseek-reasoner` 等
|
||||
- 以及更多...
|
||||
|
||||
如需查看完整的支持模型列表,请访问 [Vercel AI Gateway 模型](https://vercel.com/ai-gateway/models)。
|
||||
|
||||
## API 配置
|
||||
|
||||
Vercel AI Gateway 使用 OpenAI 兼容的 API 格式。基础 URL 为:
|
||||
|
||||
```
|
||||
https://ai-gateway.vercel.sh/v1
|
||||
```
|
||||
|
||||
您可以使用任何 OpenAI 兼容的客户端与此端点和您的 API 密钥一起使用。
|
||||
+5
-22
@@ -52,11 +52,7 @@
|
||||
"thinking": {
|
||||
"title": "مفتاح التفكير العميق"
|
||||
},
|
||||
"title": "وظائف توسيع النموذج",
|
||||
"urlContext": {
|
||||
"desc": "عند التفعيل، سيتم تحليل روابط الويب تلقائيًا للحصول على محتوى السياق الفعلي للصفحة",
|
||||
"title": "استخراج محتوى رابط الويب"
|
||||
}
|
||||
"title": "وظائف توسيع النموذج"
|
||||
},
|
||||
"history": {
|
||||
"title": "سيتذكر المساعد آخر {{count}} رسالة فقط"
|
||||
@@ -70,15 +66,12 @@
|
||||
"input": {
|
||||
"addAi": "إضافة رسالة AI",
|
||||
"addUser": "إضافة رسالة مستخدم",
|
||||
"disclaimer": "قد يرتكب الذكاء الاصطناعي أخطاءً أيضًا، يرجى التحقق من المعلومات الهامة",
|
||||
"errorMsg": "فشل إرسال الرسالة، يرجى التحقق من الشبكة والمحاولة مرة أخرى: {{errorMsg}}",
|
||||
"more": "المزيد",
|
||||
"send": "إرسال",
|
||||
"sendWithCmdEnter": "اضغط <key/> للإرسال",
|
||||
"sendWithEnter": "اضغط <key/> للإرسال",
|
||||
"sendWithCmdEnter": "اضغط {{meta}} + Enter للإرسال",
|
||||
"sendWithEnter": "اضغط Enter للإرسال",
|
||||
"stop": "توقف",
|
||||
"warp": "تغيير السطر",
|
||||
"warpWithKey": "اضغط على مفتاح <key/> للانتقال إلى السطر"
|
||||
"warp": "تغيير السطر"
|
||||
},
|
||||
"intentUnderstanding": {
|
||||
"title": "جارٍ فهم وتحليل نواياك..."
|
||||
@@ -132,7 +125,6 @@
|
||||
"inputWriteCached": "تخزين إدخال الكتابة",
|
||||
"output": "مخرجات",
|
||||
"outputAudio": "مخرجات صوتية",
|
||||
"outputImage": "إخراج الصورة",
|
||||
"outputText": "مخرجات نصية",
|
||||
"outputTitle": "تفاصيل المخرجات",
|
||||
"reasoning": "تفكير عميق",
|
||||
@@ -235,10 +227,6 @@
|
||||
"threadMessageCount": "{{messageCount}} رسالة",
|
||||
"title": "موضوع فرعي"
|
||||
},
|
||||
"toggleWideScreen": {
|
||||
"off": "إيقاف وضع الشاشة العريضة",
|
||||
"on": "تشغيل وضع الشاشة العريضة"
|
||||
},
|
||||
"tokenDetails": {
|
||||
"chats": "رسائل المحادثة",
|
||||
"historySummary": "ملخص التاريخ",
|
||||
@@ -280,9 +268,7 @@
|
||||
"clientMode": {
|
||||
"actionFiletip": "رفع ملف",
|
||||
"actionTooltip": "رفع",
|
||||
"disabled": "النموذج الحالي لا يدعم التعرف على الصور وتحليل الملفات، يرجى تغيير النموذج لاستخدامه",
|
||||
"fileNotSupported": "وضع المتصفح لا يدعم تحميل الملفات حاليًا، يدعم الصور فقط",
|
||||
"visionNotSupported": "النموذج الحالي لا يدعم التعرف البصري، يرجى تبديل النموذج لاستخدام هذه الميزة"
|
||||
"disabled": "النموذج الحالي لا يدعم التعرف على الصور وتحليل الملفات، يرجى تغيير النموذج لاستخدامه"
|
||||
},
|
||||
"preview": {
|
||||
"prepareTasks": "تحضير الأجزاء...",
|
||||
@@ -290,9 +276,6 @@
|
||||
"pending": "يتم التحضير للتحميل...",
|
||||
"processing": "يتم معالجة الملف..."
|
||||
}
|
||||
},
|
||||
"validation": {
|
||||
"videoSizeExceeded": "لا يمكن أن يتجاوز حجم ملف الفيديو 20 ميغابايت، حجم الملف الحالي هو {{actualSize}}"
|
||||
}
|
||||
},
|
||||
"zenMode": "وضع التركيز"
|
||||
|
||||
@@ -32,7 +32,6 @@
|
||||
"blog": "مدونة المنتجات",
|
||||
"branching": "إنشاء موضوع فرعي",
|
||||
"branchingDisable": "ميزة \"الموضوع الفرعي\" متاحة فقط في إصدار الخادم. إذا كنت بحاجة إلى هذه الميزة، يرجى التبديل إلى وضع نشر الخادم أو استخدام LobeChat Cloud",
|
||||
"branchingRequiresSavedTopic": "الموضوع الحالي غير محفوظ، يجب الحفظ قبل استخدام ميزة الموضوع الفرعي",
|
||||
"cancel": "إلغاء",
|
||||
"changelog": "سجل التغييرات",
|
||||
"clientDB": {
|
||||
@@ -183,13 +182,6 @@
|
||||
"title": "هل تحب منتجنا؟"
|
||||
},
|
||||
"fullscreen": "وضع كامل الشاشة",
|
||||
"geminiImageChineseWarning": {
|
||||
"content": "قد يفشل Nano Banana أحيانًا في إنشاء الصور عند استخدام اللغة الصينية. يُنصح باستخدام اللغة الإنجليزية للحصول على نتائج أفضل.",
|
||||
"continueGenerate": "متابعة الإنشاء",
|
||||
"continueSend": "متابعة الإرسال",
|
||||
"doNotShowAgain": "عدم الإظهار مرة أخرى",
|
||||
"title": "تنبيه إدخال اللغة الصينية"
|
||||
},
|
||||
"historyRange": "نطاق التاريخ",
|
||||
"import": "استيراد",
|
||||
"importData": "استيراد البيانات",
|
||||
|
||||
@@ -73,18 +73,6 @@
|
||||
"GoBack": {
|
||||
"back": "عودة"
|
||||
},
|
||||
"HtmlPreview": {
|
||||
"actions": {
|
||||
"download": "تنزيل",
|
||||
"preview": "معاينة"
|
||||
},
|
||||
"iframeTitle": "معاينة HTML",
|
||||
"mode": {
|
||||
"code": "رمز",
|
||||
"preview": "معاينة"
|
||||
},
|
||||
"title": "معاينة HTML"
|
||||
},
|
||||
"ImageUpload": {
|
||||
"actions": {
|
||||
"changeImage": "انقر لتغيير الصورة",
|
||||
@@ -114,7 +102,6 @@
|
||||
"reasoning": "يدعم هذا النموذج التفكير العميق",
|
||||
"search": "يدعم هذا النموذج البحث عبر الإنترنت",
|
||||
"tokens": "يدعم هذا النموذج حتى {{tokens}} رمزًا في جلسة واحدة",
|
||||
"video": "هذا النموذج يدعم التعرف على الفيديو",
|
||||
"vision": "يدعم هذا النموذج التعرف البصري"
|
||||
},
|
||||
"removed": "هذا النموذج لم يعد متوفر في القائمة، سيتم إزالته تلقائيًا إذا تم إلغاء تحديده"
|
||||
|
||||
@@ -1,62 +0,0 @@
|
||||
{
|
||||
"actions": {
|
||||
"expand": {
|
||||
"off": "طي",
|
||||
"on": "توسيع"
|
||||
},
|
||||
"typobar": {
|
||||
"off": "إخفاء شريط أدوات التنسيق",
|
||||
"on": "إظهار شريط أدوات التنسيق"
|
||||
}
|
||||
},
|
||||
"cancel": "إلغاء",
|
||||
"confirm": "تأكيد",
|
||||
"file": {
|
||||
"error": "خطأ: {{message}}",
|
||||
"uploading": "جاري رفع الملف..."
|
||||
},
|
||||
"image": {
|
||||
"broken": "الصورة تالفة"
|
||||
},
|
||||
"link": {
|
||||
"edit": "تعديل الرابط",
|
||||
"open": "فتح الرابط",
|
||||
"placeholder": "أدخل عنوان URL للرابط",
|
||||
"unlink": "إزالة الرابط"
|
||||
},
|
||||
"math": {
|
||||
"placeholder": "يرجى إدخال معادلة TeX"
|
||||
},
|
||||
"slash": {
|
||||
"h1": "عنوان رئيسي من المستوى الأول",
|
||||
"h2": "عنوان فرعي من المستوى الثاني",
|
||||
"h3": "عنوان فرعي من المستوى الثالث",
|
||||
"hr": "خط فاصل",
|
||||
"table": "جدول",
|
||||
"tex": "معادلة TeX"
|
||||
},
|
||||
"table": {
|
||||
"delete": "حذف الجدول",
|
||||
"deleteColumn": "حذف العمود",
|
||||
"deleteRow": "حذف الصف",
|
||||
"insertColumnLeft": "إدراج {{count}} عمودًا إلى اليسار",
|
||||
"insertColumnRight": "إدراج {{count}} عمودًا إلى اليمين",
|
||||
"insertRowAbove": "إدراج {{count}} صفًا في الأعلى",
|
||||
"insertRowBelow": "إدراج {{count}} صفًا في الأسفل"
|
||||
},
|
||||
"typobar": {
|
||||
"blockquote": "اقتباس",
|
||||
"bold": "غامق",
|
||||
"bulletList": "قائمة نقطية",
|
||||
"code": "كود مضمن",
|
||||
"codeblock": "كتلة كود",
|
||||
"italic": "مائل",
|
||||
"link": "رابط",
|
||||
"numberList": "قائمة مرقمة",
|
||||
"strikethrough": "شطب",
|
||||
"table": "جدول",
|
||||
"taskList": "قائمة المهام",
|
||||
"tex": "معادلة TeX",
|
||||
"underline": "تسطير"
|
||||
}
|
||||
}
|
||||
@@ -86,15 +86,15 @@
|
||||
"ExceededContextWindow": "المحتوى المطلوب الحالي يتجاوز الطول الذي يمكن للنموذج معالجته، يرجى تقليل كمية المحتوى ثم إعادة المحاولة",
|
||||
"FreePlanLimit": "أنت حاليًا مستخدم مجاني، لا يمكنك استخدام هذه الوظيفة، يرجى الترقية إلى خطة مدفوعة للمتابعة",
|
||||
"GoogleAIBlockReason": {
|
||||
"BLOCKLIST": "يحتوي المحتوى الذي أرسلته على كلمات محظورة. يرجى مراجعته وتعديل مدخلاتك ثم المحاولة مرة أخرى.",
|
||||
"IMAGE_SAFETY": "تم حظر المحتوى الصوري الناتج لأسباب تتعلق بالأمان. يرجى محاولة تعديل طلب توليد الصورة.",
|
||||
"LANGUAGE": "اللغة التي تستخدمها غير مدعومة مؤقتًا. يرجى المحاولة باللغة الإنجليزية أو بلغة أخرى مدعومة.",
|
||||
"BLOCKLIST": "يحتوي محتواك على كلمات محظورة. الرجاء التحقق من مدخلاتك وتعديلها ثم المحاولة مرة أخرى.",
|
||||
"IMAGE_SAFETY": "تم حظر المحتوى الصوري لأسباب تتعلق بالسلامة. يرجى محاولة تعديل طلب إنشاء الصورة.",
|
||||
"LANGUAGE": "اللغة التي استخدمتها غير مدعومة حالياً. يرجى المحاولة مرة أخرى باستخدام الإنجليزية أو إحدى اللغات المدعومة.",
|
||||
"OTHER": "تم حظر المحتوى لسبب غير معروف. يرجى محاولة إعادة صياغة طلبك.",
|
||||
"PROHIBITED_CONTENT": "قد يحتوي طلبك على محتوى محظور. يرجى تعديل طلبك لضمان توافقه مع سياسات الاستخدام.",
|
||||
"RECITATION": "تم حظر محتواك لكونه قد ينتهك حقوق النشر. يرجى محاولة استخدام محتوى أصلي أو إعادة صياغة طلبك.",
|
||||
"SAFETY": "تم حظر المحتوى بسبب سياسات السلامة. يرجى تعديل طلبك لتجنب أي محتوى ضار أو غير مناسب.",
|
||||
"SPII": "قد يحتوي المحتوى على معلومات شخصية حساسة. لحماية الخصوصية، يرجى إزالة المعلومات الحساسة ثم المحاولة مرة أخرى.",
|
||||
"default": "تم حظر المحتوى: {{blockReason}}. يرجى تعديل طلبك ثم المحاولة مرة أخرى."
|
||||
"PROHIBITED_CONTENT": "قد يحتوي طلبك على محتوى محظور. يرجى تعديل طلبك والتأكد من أن المحتوى يلتزم بسياسات الاستخدام.",
|
||||
"RECITATION": "تم حظر المحتوى لأنه قد ينطوي على مسائل حقوق نشر. يرجى محاولة استخدام محتوى أصلي أو إعادة صياغة طلبك.",
|
||||
"SAFETY": "تم حظر المحتوى بسبب سياسات الأمان. يرجى محاولة تعديل طلبك وتجنب تضمين محتوى قد يكون ضاراً أو غير مناسب.",
|
||||
"SPII": "قد يحتوي محتواك على معلومات شخصية حساسة. لحماية الخصوصية، يرجى إزالة المعلومات الحساسة ثم المحاولة مرة أخرى.",
|
||||
"default": "تم حظر المحتوى: {{blockReason}}。请调整您的请求内容后重试。"
|
||||
},
|
||||
"InsufficientQuota": "عذرًا، لقد reached الحد الأقصى للحصة (quota) لهذه المفتاح، يرجى التحقق من رصيد الحساب الخاص بك أو زيادة حصة المفتاح ثم المحاولة مرة أخرى",
|
||||
"InvalidAccessCode": "كلمة المرور غير صحيحة أو فارغة، يرجى إدخال كلمة مرور الوصول الصحيحة أو إضافة مفتاح API مخصص",
|
||||
|
||||
@@ -5,9 +5,6 @@
|
||||
"lock": "قفل نسبة العرض إلى الارتفاع",
|
||||
"unlock": "إلغاء قفل نسبة العرض إلى الارتفاع"
|
||||
},
|
||||
"cfg": {
|
||||
"label": "شدة التوجيه"
|
||||
},
|
||||
"header": {
|
||||
"desc": "وصف بسيط، ابتكر فورًا",
|
||||
"title": "الرسم"
|
||||
|
||||
@@ -153,28 +153,6 @@
|
||||
"searchProviders": "البحث عن مزودين...",
|
||||
"sort": "ترتيب مخصص"
|
||||
},
|
||||
"newapi": {
|
||||
"apiKey": {
|
||||
"desc": "مفتاح API المقدم من منصة New API",
|
||||
"placeholder": "مفتاح API الخاص بـ New API",
|
||||
"required": "مفتاح API مطلوب",
|
||||
"title": "مفتاح API"
|
||||
},
|
||||
"apiUrl": {
|
||||
"desc": "عنوان API لخدمة New API، غالبًا ما يحتاج إلى /v1",
|
||||
"title": "عنوان API"
|
||||
},
|
||||
"enabled": {
|
||||
"title": "تمكين New API"
|
||||
},
|
||||
"models": {
|
||||
"batchSelect": "تحديد نماذج متعددة ({{count}})",
|
||||
"fetch": "جلب قائمة النماذج",
|
||||
"selected": "النماذج المختارة",
|
||||
"title": "النماذج المتاحة"
|
||||
},
|
||||
"title": "New API"
|
||||
},
|
||||
"ollama": {
|
||||
"checker": {
|
||||
"desc": "اختبر ما إذا تم إدخال عنوان الوكيل بشكل صحيح",
|
||||
@@ -207,10 +185,6 @@
|
||||
}
|
||||
},
|
||||
"providerModels": {
|
||||
"batchSelect": {
|
||||
"selected": "تم اختيار {{count}} نموذج",
|
||||
"title": "تحديد متعدد"
|
||||
},
|
||||
"config": {
|
||||
"aesGcm": "سيتم استخدام خوارزمية التشفير <1>AES-GCM</1> لتشفير مفتاحك وعنوان الوكيل وما إلى ذلك",
|
||||
"apiKey": {
|
||||
|
||||
+71
-443
@@ -53,9 +53,6 @@
|
||||
"Baichuan4-Turbo": {
|
||||
"description": "النموذج الأول محليًا، يتفوق على النماذج الرئيسية الأجنبية في المهام الصينية مثل المعرفة الموسوعية، النصوص الطويلة، والإبداع. كما يتمتع بقدرات متعددة الوسائط الرائدة في الصناعة، ويظهر أداءً ممتازًا في العديد من معايير التقييم الموثوقة."
|
||||
},
|
||||
"ByteDance-Seed/Seed-OSS-36B-Instruct": {
|
||||
"description": "Seed-OSS هي سلسلة من نماذج اللغة الكبيرة مفتوحة المصدر التي طورتها فريق Seed في شركة ByteDance، مصممة خصيصًا لمعالجة السياقات الطويلة القوية، والاستدلال، والوكيل الذكي (agent)، والقدرات العامة. النموذج Seed-OSS-36B-Instruct في هذه السلسلة هو نموذج ضبط دقيق للتعليمات يحتوي على 36 مليار معلمة، ويدعم بطبيعته سياقات فائقة الطول، مما يمكنه من معالجة كميات هائلة من الوثائق أو قواعد الشيفرة المعقدة دفعة واحدة. تم تحسين هذا النموذج بشكل خاص لمهام الاستدلال، وتوليد الشيفرة، ومهام الوكيل (مثل استخدام الأدوات)، مع الحفاظ على توازن وقدرات عامة ممتازة. من الميزات البارزة لهذا النموذج وظيفة \"ميزانية التفكير\" التي تسمح للمستخدمين بضبط طول الاستدلال بمرونة حسب الحاجة، مما يعزز كفاءة الاستدلال في التطبيقات العملية."
|
||||
},
|
||||
"DeepSeek-R1": {
|
||||
"description": "نموذج LLM المتقدم والفعال، بارع في الاستدلال والرياضيات والبرمجة."
|
||||
},
|
||||
@@ -77,21 +74,9 @@
|
||||
"DeepSeek-V3": {
|
||||
"description": "DeepSeek-V3 هو نموذج MoE تم تطويره ذاتيًا بواسطة شركة DeepSeek. حقق DeepSeek-V3 نتائج تقييم تفوقت على نماذج مفتوحة المصدر الأخرى مثل Qwen2.5-72B و Llama-3.1-405B، وفي الأداء ينافس النماذج المغلقة الرائدة عالميًا مثل GPT-4o و Claude-3.5-Sonnet."
|
||||
},
|
||||
"DeepSeek-V3-1": {
|
||||
"description": "DeepSeek V3.1: نموذج الاستدلال من الجيل التالي، يعزز القدرات على الاستدلال المعقد والتفكير التسلسلي، مناسب للمهام التي تتطلب تحليلاً عميقاً."
|
||||
},
|
||||
"DeepSeek-V3-Fast": {
|
||||
"description": "مزود النموذج: منصة sophnet. DeepSeek V3 Fast هو النسخة السريعة عالية TPS من إصدار DeepSeek V3 0324، غير مكوّن بالكامل، يتمتع بقدرات برمجية ورياضية أقوى واستجابة أسرع!"
|
||||
},
|
||||
"DeepSeek-V3.1": {
|
||||
"description": "DeepSeek-V3.1 - وضع عدم التفكير؛ DeepSeek-V3.1 هو نموذج استدلال هجين جديد من DeepSeek يدعم وضعين للاستدلال: التفكير وعدم التفكير، مع كفاءة تفكير أعلى مقارنة بـ DeepSeek-R1-0528. بعد تحسين ما بعد التدريب، تحسنت بشكل كبير أداء استخدام أدوات الوكيل ومهام الوكيل الذكي."
|
||||
},
|
||||
"DeepSeek-V3.1-Fast": {
|
||||
"description": "DeepSeek V3.1 Fast هو النسخة عالية الأداء من DeepSeek V3.1 مع معدل معاملات في الثانية (TPS) مرتفع. وضع التفكير الهجين: من خلال تغيير قالب المحادثة، يمكن لنموذج واحد دعم وضعي التفكير وعدم التفكير في نفس الوقت. استدعاء أدوات أكثر ذكاءً: بفضل تحسين ما بعد التدريب، تحسن أداء النموذج بشكل ملحوظ في استخدام الأدوات ومهام الوكيل."
|
||||
},
|
||||
"DeepSeek-V3.1-Think": {
|
||||
"description": "DeepSeek-V3.1 - وضع التفكير؛ DeepSeek-V3.1 هو نموذج استدلال هجين جديد من DeepSeek يدعم وضعين للاستدلال: التفكير وعدم التفكير، مع كفاءة تفكير أعلى مقارنة بـ DeepSeek-R1-0528. بعد تحسين ما بعد التدريب، تحسنت بشكل كبير أداء استخدام أدوات الوكيل ومهام الوكيل الذكي."
|
||||
},
|
||||
"Doubao-lite-128k": {
|
||||
"description": "Doubao-lite يتميز بسرعة استجابة فائقة وقيمة أفضل مقابل المال، ويوفر خيارات أكثر مرونة للعملاء في سيناريوهات مختلفة. يدعم الاستدلال والتخصيص مع نافذة سياق 128k."
|
||||
},
|
||||
@@ -146,15 +131,9 @@
|
||||
"ERNIE-Speed-Pro-128K": {
|
||||
"description": "نموذج اللغة الكبير عالي الأداء الذي طورته بايدو، والذي تم إصداره في عام 2024، يتمتع بقدرات عامة ممتازة، ويتميز بأداء أفضل من ERNIE Speed، مناسب كنموذج أساسي للتعديل الدقيق، مما يساعد على معالجة مشكلات السيناريوهات المحددة بشكل أفضل، مع أداء استدلال ممتاز."
|
||||
},
|
||||
"FLUX-1.1-pro": {
|
||||
"description": "FLUX.1.1 Pro"
|
||||
},
|
||||
"FLUX.1-Kontext-dev": {
|
||||
"description": "FLUX.1-Kontext-dev هو نموذج متعدد الوسائط لتوليد وتحرير الصور طورته Black Forest Labs، يعتمد على بنية Rectified Flow Transformer ويحتوي على 12 مليار معلمة، يركز على توليد وإعادة بناء وتعزيز أو تحرير الصور بناءً على شروط سياقية محددة. يجمع النموذج بين مزايا التوليد القابل للتحكم في نماذج الانتشار وقدرات نمذجة السياق في Transformer، ويدعم إخراج صور عالية الجودة، ويستخدم على نطاق واسع في إصلاح الصور، إكمال الصور، وإعادة بناء المشاهد البصرية."
|
||||
},
|
||||
"FLUX.1-Kontext-pro": {
|
||||
"description": "FLUX.1 Kontext [pro]"
|
||||
},
|
||||
"FLUX.1-dev": {
|
||||
"description": "FLUX.1-dev هو نموذج لغة متعدد الوسائط مفتوح المصدر طورته Black Forest Labs، مُحسّن لمهام النص والصورة، يدمج قدرات فهم وتوليد الصور والنصوص. يعتمد على نماذج اللغة الكبيرة المتقدمة مثل Mistral-7B، ويحقق معالجة متزامنة للنص والصورة واستدلالًا معقدًا من خلال مشفر بصري مصمم بعناية وضبط دقيق متعدد المراحل."
|
||||
},
|
||||
@@ -191,9 +170,6 @@
|
||||
"Llama-3.2-90B-Vision-Instruct\t": {
|
||||
"description": "قدرات استدلال الصور المتقدمة المناسبة لتطبيقات الوكلاء في الفهم البصري."
|
||||
},
|
||||
"Meta-Llama-3-3-70B-Instruct": {
|
||||
"description": "Llama 3.3 70B: نموذج Transformer متعدد الاستخدامات، مناسب للحوار ومهام التوليد."
|
||||
},
|
||||
"Meta-Llama-3.1-405B-Instruct": {
|
||||
"description": "نموذج نصي تم تعديله تحت الإشراف من Llama 3.1، تم تحسينه لحالات الحوار متعددة اللغات، حيث يتفوق في العديد من نماذج الدردشة مفتوحة ومغلقة المصدر المتاحة في المعايير الصناعية الشائعة."
|
||||
},
|
||||
@@ -212,9 +188,6 @@
|
||||
"Meta-Llama-3.3-70B-Instruct": {
|
||||
"description": "Llama 3.3 هو النموذج اللغوي مفتوح المصدر متعدد اللغات الأكثر تقدمًا في سلسلة Llama، حيث يقدم تجربة تنافس أداء نموذج 405B بتكلفة منخفضة للغاية. يعتمد على هيكل Transformer، وتم تحسين فائدته وأمانه من خلال التعديل الدقيق تحت الإشراف (SFT) والتعلم المعزز من خلال ردود الفعل البشرية (RLHF). تم تحسين إصدار التعديل الخاص به ليكون مثاليًا للحوار متعدد اللغات، حيث يتفوق في العديد من المعايير الصناعية على العديد من نماذج الدردشة مفتوحة ومغلقة المصدر. تاريخ انتهاء المعرفة هو ديسمبر 2023."
|
||||
},
|
||||
"Meta-Llama-4-Maverick-17B-128E-Instruct-FP8": {
|
||||
"description": "Llama 4 Maverick: نموذج واسع النطاق قائم على مزيج من الخبراء، يوفر استراتيجية تفعيل خبراء فعالة لتحقيق أداء متميز في الاستدلال."
|
||||
},
|
||||
"MiniMax-M1": {
|
||||
"description": "نموذج استدلال جديد مطور ذاتيًا. رائد عالميًا: 80 ألف سلسلة تفكير × 1 مليون إدخال، أداء يضاهي أفضل النماذج العالمية."
|
||||
},
|
||||
@@ -284,11 +257,8 @@
|
||||
"Pro/deepseek-ai/DeepSeek-V3": {
|
||||
"description": "DeepSeek-V3 هو نموذج لغوي مختلط الخبراء (MoE) يحتوي على 6710 مليار معلمة، يستخدم الانتباه المتعدد الرؤوس (MLA) وهيكل DeepSeekMoE، ويجمع بين استراتيجيات توازن الحمل بدون خسائر مساعدة، مما يحسن كفاءة الاستدلال والتدريب. تم تدريبه مسبقًا على 14.8 تريليون توكن عالية الجودة، وتم إجراء تعديل دقيق تحت الإشراف والتعلم المعزز، مما يجعل DeepSeek-V3 يتفوق على نماذج مفتوحة المصدر الأخرى، ويقترب من النماذج المغلقة الرائدة."
|
||||
},
|
||||
"Pro/deepseek-ai/DeepSeek-V3.1": {
|
||||
"description": "DeepSeek-V3.1 هو نموذج لغة كبير بنمط هجين أصدرته DeepSeek AI، وقد شهد ترقيات مهمة متعددة مقارنة بالإصدارات السابقة. من الابتكارات الرئيسية في هذا النموذج دمج \"وضع التفكير\" و\"وضع عدم التفكير\" في نموذج واحد، حيث يمكن للمستخدمين التبديل بينهما بسهولة عبر تعديل قالب المحادثة لتلبية متطلبات المهام المختلفة. من خلال تحسينات ما بعد التدريب المخصصة، تم تعزيز أداء V3.1 في استدعاء الأدوات ومهام الوكيل بشكل ملحوظ، مما يمكنه من دعم أدوات البحث الخارجية وتنفيذ مهام معقدة متعددة الخطوات بشكل أفضل. يعتمد النموذج على DeepSeek-V3.1-Base مع تدريب إضافي، حيث تم توسيع حجم بيانات التدريب بشكل كبير عبر طريقة التوسيع النصي الطويل على مرحلتين، مما يحسن أدائه في معالجة المستندات الطويلة والرموز البرمجية الطويلة. كنموذج مفتوح المصدر، يظهر DeepSeek-V3.1 قدرة تنافسية مع أفضل النماذج المغلقة في مجالات الترميز والرياضيات والاستدلال، وبفضل هيكله المختلط للخبراء (MoE)، يحافظ على سعة نموذج ضخمة مع تقليل تكلفة الاستدلال بفعالية."
|
||||
},
|
||||
"Pro/moonshotai/Kimi-K2-Instruct-0905": {
|
||||
"description": "Kimi K2-Instruct-0905 هو أحدث وأقوى إصدار من Kimi K2. إنه نموذج لغوي من نوع الخبراء المختلطين (MoE) من الطراز الأول، يحتوي على تريليون معلمة إجمالية و32 مليار معلمة مفعلة. تشمل الميزات الرئيسية للنموذج: تعزيز ذكاء التكويد للوكيل، مع تحسينات ملحوظة في الأداء في اختبارات المعيار المفتوحة ومهام التكويد الواقعية للوكيل؛ تحسين تجربة التكويد في الواجهة الأمامية، مع تقدم في الجمالية والعملية في برمجة الواجهة الأمامية."
|
||||
"Pro/moonshotai/Kimi-K2-Instruct": {
|
||||
"description": "Kimi K2 هو نموذج أساسي يعتمد على بنية MoE مع قدرات قوية في البرمجة والوكيل، يحتوي على 1 تريليون معلمة و32 مليار معلمة مفعلة. يتفوق نموذج K2 في اختبارات الأداء الأساسية في مجالات المعرفة العامة، البرمجة، الرياضيات والوكيل مقارنة بالنماذج المفتوحة المصدر الأخرى."
|
||||
},
|
||||
"QwQ-32B-Preview": {
|
||||
"description": "QwQ-32B-Preview هو نموذج معالجة اللغة الطبيعية المبتكر، قادر على معالجة مهام توليد الحوار وفهم السياق بشكل فعال."
|
||||
@@ -377,12 +347,6 @@
|
||||
"Qwen/Qwen3-Coder-480B-A35B-Instruct": {
|
||||
"description": "Qwen3-Coder-480B-A35B-Instruct هو نموذج برمجي أطلقته شركة علي بابا، ويعد حتى الآن الأكثر قدرةً على العمل كوكيل (Agentic). إنه نموذج مختلط الخبراء (Mixture-of-Experts, MoE) يضم 480 مليار معامل إجماليًا و35 مليار معامل نشط، محققًا توازنًا بين الكفاءة والأداء. يدعم النموذج بشكل أصلي طول سياق يصل إلى 256K (حوالي 260 ألف) توكن، ويمكن توسيعه عبر طرق استطراد مثل YaRN إلى مليون توكن، ممّا يمكّنه من التعامل مع مستودعات شفرة ضخمة ومهام برمجية معقّدة. صُمم Qwen3-Coder لسير عمل ترميز يعتمد على الوكلاء؛ فهو لا يولّد الشفرة فحسب، بل يتفاعل بشكلٍ مستقل مع أدوات وبيئات التطوير لحل مشكلات برمجية معقّدة. في اختبارات معيارية متعددة لمهام التكويد والوكالة، حقق النموذج مستوى متقدمًا بين النماذج مفتوحة المصدر، ويمكن أن ينافس نماذج رائدة مثل Claude Sonnet 4."
|
||||
},
|
||||
"Qwen/Qwen3-Next-80B-A3B-Instruct": {
|
||||
"description": "Qwen3-Next-80B-A3B-Instruct هو نموذج أساسي من الجيل التالي أصدره فريق Tongyi Qianwen في علي بابا. يعتمد على بنية Qwen3-Next الجديدة كليًا، ويهدف إلى تحقيق أقصى كفاءة في التدريب والاستدلال. يستخدم النموذج آلية انتباه هجينة مبتكرة (Gated DeltaNet و Gated Attention)، وهيكل خبراء مختلط عالي التشتت (MoE)، بالإضافة إلى تحسينات متعددة لاستقرار التدريب. كنموذج متناثر يحتوي على 80 مليار معلمة إجمالية، فإنه ينشط حوالي 3 مليارات معلمة فقط أثناء الاستدلال، مما يقلل بشكل كبير من تكلفة الحوسبة، وعند معالجة مهام سياق طويل تتجاوز 32 ألف رمز، فإن معدل الاستدلال يتفوق على نموذج Qwen3-32B بأكثر من 10 أضعاف. هذا النموذج هو نسخة موجهة للتعليمات، مصمم للمهام العامة، ولا يدعم وضع سلسلة التفكير (Thinking). من حيث الأداء، فإنه يعادل نموذج Tongyi Qianwen الرائد Qwen3-235B في بعض الاختبارات المعيارية، مع تفوق واضح في مهام السياق الطويل جدًا."
|
||||
},
|
||||
"Qwen/Qwen3-Next-80B-A3B-Thinking": {
|
||||
"description": "Qwen3-Next-80B-A3B-Thinking هو نموذج أساسي من الجيل التالي أصدره فريق Tongyi Qianwen في علي بابا، مصمم خصيصًا لمهام الاستدلال المعقدة. يعتمد على بنية Qwen3-Next المبتكرة التي تدمج آلية انتباه هجينة (Gated DeltaNet و Gated Attention) وهيكل خبراء مختلط عالي التشتت (MoE)، بهدف تحقيق أقصى كفاءة في التدريب والاستدلال. كنموذج متناثر يحتوي على 80 مليار معلمة إجمالية، فإنه ينشط حوالي 3 مليارات معلمة فقط أثناء الاستدلال، مما يقلل بشكل كبير من تكلفة الحوسبة، وعند معالجة مهام سياق طويل تتجاوز 32 ألف رمز، فإن معدل الاستدلال يتفوق على نموذج Qwen3-32B بأكثر من 10 أضعاف. نسخة \"Thinking\" هذه مخصصة لتنفيذ مهام متعددة الخطوات عالية الصعوبة مثل الإثباتات الرياضية، توليف الشيفرة، التحليل المنطقي والتخطيط، وتخرج عملية الاستدلال بشكل افتراضي في شكل \"سلسلة تفكير\" منظمة. من حيث الأداء، يتفوق هذا النموذج ليس فقط على نماذج ذات تكلفة أعلى مثل Qwen3-32B-Thinking، بل يتفوق أيضًا في عدة اختبارات معيارية على Gemini-2.5-Flash-Thinking."
|
||||
},
|
||||
"Qwen2-72B-Instruct": {
|
||||
"description": "Qwen2 هو أحدث سلسلة من نموذج Qwen، ويدعم سياقًا يصل إلى 128 ألف، مقارنةً بأفضل النماذج مفتوحة المصدر الحالية، يتفوق Qwen2-72B بشكل ملحوظ في فهم اللغة الطبيعية والمعرفة والترميز والرياضيات والقدرات متعددة اللغات."
|
||||
},
|
||||
@@ -413,9 +377,6 @@
|
||||
"Qwen3-235B": {
|
||||
"description": "Qwen3-235B-A22B هو نموذج MoE (نموذج خبير مختلط) يقدم \"وضع الاستدلال المختلط\"، ويدعم المستخدمين في التبديل السلس بين \"وضع التفكير\" و\"وضع عدم التفكير\". يدعم فهم واستدلال 119 لغة ولهجة، ويتميز بقدرات قوية على استدعاء الأدوات. في اختبارات الأداء الشاملة، والبرمجة والرياضيات، واللغات المتعددة، والمعرفة والاستدلال، ينافس هذا النموذج النماذج الرائدة في السوق مثل DeepSeek R1، OpenAI o1، o3-mini، Grok 3، وGoogle Gemini 2.5 Pro."
|
||||
},
|
||||
"Qwen3-235B-A22B-Instruct-2507-FP8": {
|
||||
"description": "Qwen3 235B A22B Instruct 2507: نموذج موجه للاستدلال المتقدم وتحسين أوامر الحوار، يعتمد على بنية خبراء مختلطة للحفاظ على كفاءة الاستدلال مع عدد كبير من المعاملات."
|
||||
},
|
||||
"Qwen3-32B": {
|
||||
"description": "Qwen3-32B هو نموذج كثيف (Dense Model) يقدم \"وضع الاستدلال المختلط\"، ويدعم التبديل السلس بين \"وضع التفكير\" و\"وضع عدم التفكير\". بفضل تحسينات في بنية النموذج، وزيادة بيانات التدريب، وأساليب تدريب أكثر فعالية، يقدم أداءً يعادل تقريبًا Qwen2.5-72B."
|
||||
},
|
||||
@@ -605,33 +566,6 @@
|
||||
"ai21-labs/AI21-Jamba-1.5-Mini": {
|
||||
"description": "نموذج متعدد اللغات يحتوي على 52 مليار معلمة (12 مليار نشطة)، يوفر نافذة سياق طويلة تصل إلى 256 ألف كلمة، استدعاء دوال، إخراج منظم وتوليد قائم على الحقائق."
|
||||
},
|
||||
"alibaba/qwen-3-14b": {
|
||||
"description": "Qwen3 هو الجيل الأحدث من سلسلة Qwen لنماذج اللغة الكبيرة، ويقدم مجموعة شاملة من النماذج الكثيفة ونماذج الخبراء المختلطة (MoE). مبني على تدريب واسع النطاق، يحقق Qwen3 تقدمًا ثوريًا في الاستدلال، والامتثال للتعليمات، وقدرات الوكيل، ودعم اللغات المتعددة."
|
||||
},
|
||||
"alibaba/qwen-3-235b": {
|
||||
"description": "Qwen3 هو الجيل الأحدث من سلسلة Qwen لنماذج اللغة الكبيرة، ويقدم مجموعة شاملة من النماذج الكثيفة ونماذج الخبراء المختلطة (MoE). مبني على تدريب واسع النطاق، يحقق Qwen3 تقدمًا ثوريًا في الاستدلال، والامتثال للتعليمات، وقدرات الوكيل، ودعم اللغات المتعددة."
|
||||
},
|
||||
"alibaba/qwen-3-30b": {
|
||||
"description": "Qwen3 هو الجيل الأحدث من سلسلة Qwen لنماذج اللغة الكبيرة، ويقدم مجموعة شاملة من النماذج الكثيفة ونماذج الخبراء المختلطة (MoE). مبني على تدريب واسع النطاق، يحقق Qwen3 تقدمًا ثوريًا في الاستدلال، والامتثال للتعليمات، وقدرات الوكيل، ودعم اللغات المتعددة."
|
||||
},
|
||||
"alibaba/qwen-3-32b": {
|
||||
"description": "Qwen3 هو الجيل الأحدث من سلسلة Qwen لنماذج اللغة الكبيرة، ويقدم مجموعة شاملة من النماذج الكثيفة ونماذج الخبراء المختلطة (MoE). مبني على تدريب واسع النطاق، يحقق Qwen3 تقدمًا ثوريًا في الاستدلال، والامتثال للتعليمات، وقدرات الوكيل، ودعم اللغات المتعددة."
|
||||
},
|
||||
"alibaba/qwen3-coder": {
|
||||
"description": "Qwen3-Coder-480B-A35B-Instruct هو نموذج الكود الأكثر قدرة على الوكيل في Qwen، يتميز بأداء بارز في ترميز الوكيل، واستخدام متصفح الوكيل، ومهام الترميز الأساسية الأخرى، محققًا نتائج مماثلة لـ Claude Sonnet."
|
||||
},
|
||||
"amazon/nova-lite": {
|
||||
"description": "نموذج متعدد الوسائط منخفض التكلفة للغاية، يعالج الصور والفيديو والنصوص بسرعة فائقة."
|
||||
},
|
||||
"amazon/nova-micro": {
|
||||
"description": "نموذج نصي فقط يقدم استجابات بأدنى تأخير وبتكلفة منخفضة جدًا."
|
||||
},
|
||||
"amazon/nova-pro": {
|
||||
"description": "نموذج متعدد الوسائط عالي الكفاءة يجمع بين الدقة والسرعة والتكلفة المثلى، مناسب لمجموعة واسعة من المهام."
|
||||
},
|
||||
"amazon/titan-embed-text-v2": {
|
||||
"description": "Amazon Titan Text Embeddings V2 هو نموذج تضمين متعدد اللغات خفيف الوزن وفعال، يدعم أبعاد 1024 و512 و256."
|
||||
},
|
||||
"anthropic.claude-3-5-sonnet-20240620-v1:0": {
|
||||
"description": "Claude 3.5 Sonnet يرفع المعايير في الصناعة، حيث يتفوق على نماذج المنافسين وClaude 3 Opus، ويظهر أداءً ممتازًا في تقييمات واسعة، مع سرعة وتكلفة تتناسب مع نماذجنا المتوسطة."
|
||||
},
|
||||
@@ -657,28 +591,25 @@
|
||||
"description": "الإصدار المحدث من Claude 2، مع نافذة سياقية مضاعفة، وتحسينات في الاعتمادية ومعدل الهلوسة والدقة المستندة إلى الأدلة في الوثائق الطويلة وسياقات RAG."
|
||||
},
|
||||
"anthropic/claude-3-haiku": {
|
||||
"description": "Claude 3 Haiku هو أسرع نموذج حتى الآن من Anthropic، مصمم خصيصًا لأعباء العمل المؤسسية التي تتطلب عادةً مطالبات طويلة. يمكن لـ Haiku تحليل كميات كبيرة من الوثائق بسرعة، مثل التقارير الفصلية والعقود والقضايا القانونية، بتكلفة نصف تكلفة النماذج الأخرى في فئته."
|
||||
"description": "Claude 3 Haiku هو أسرع وأصغر نموذج من Anthropic، مصمم لتحقيق استجابة شبه فورية. يتمتع بأداء توجيهي سريع ودقيق."
|
||||
},
|
||||
"anthropic/claude-3-opus": {
|
||||
"description": "Claude 3 Opus هو أذكى نموذج من Anthropic، يقدم أداءً رائدًا في السوق للمهام المعقدة للغاية. يتميز بسلاسة استثنائية وفهم شبيه بالبشر للتعامل مع المطالبات المفتوحة والسيناريوهات غير المسبوقة."
|
||||
"description": "Claude 3 Opus هو أقوى نموذج من Anthropic لمعالجة المهام المعقدة للغاية. يتميز بأداء ممتاز وذكاء وسلاسة وفهم."
|
||||
},
|
||||
"anthropic/claude-3.5-haiku": {
|
||||
"description": "Claude 3.5 Haiku هو الجيل التالي من أسرع نماذجنا. يتمتع بسرعة مماثلة لـ Claude 3 Haiku، مع تحسينات في كل مجموعة مهارات، وتفوق في العديد من اختبارات الذكاء على أكبر نموذج لدينا من الجيل السابق Claude 3 Opus."
|
||||
"description": "Claude 3.5 Haiku هو أسرع نموذج من الجيل التالي من Anthropic. مقارنةً بـ Claude 3 Haiku، تم تحسين Claude 3.5 Haiku في جميع المهارات، وتفوق في العديد من اختبارات الذكاء على النموذج الأكبر من الجيل السابق Claude 3 Opus."
|
||||
},
|
||||
"anthropic/claude-3.5-sonnet": {
|
||||
"description": "Claude 3.5 Sonnet يحقق توازنًا مثاليًا بين الذكاء والسرعة، خاصة لأعباء العمل المؤسسية. يقدم أداءً قويًا بتكلفة أقل مقارنة بالمنافسين، ومصمم لتحمل عالي في نشرات الذكاء الاصطناعي على نطاق واسع."
|
||||
"description": "Claude 3.5 Sonnet يقدم قدرات تتجاوز Opus وسرعة أكبر من Sonnet، مع الحفاظ على نفس السعر. يتميز Sonnet بمهارات خاصة في البرمجة وعلوم البيانات ومعالجة الصور والمهام الوكيلة."
|
||||
},
|
||||
"anthropic/claude-3.7-sonnet": {
|
||||
"description": "Claude 3.7 Sonnet هو أول نموذج استدلال مختلط، وأذكى نموذج حتى الآن من Anthropic. يقدم أداءً متقدمًا في الترميز، وتوليد المحتوى، وتحليل البيانات، ومهام التخطيط، مبنيًا على قدرات الهندسة البرمجية واستخدام الحاسوب في سلفه Claude 3.5 Sonnet."
|
||||
"description": "Claude 3.7 Sonnet هو أكثر النماذج ذكاءً من Anthropic حتى الآن، وهو أيضًا أول نموذج مختلط للتفكير في السوق. يمكن لـ Claude 3.7 Sonnet إنتاج استجابات شبه فورية أو تفكير تدريجي ممتد، حيث يمكن للمستخدمين رؤية هذه العمليات بوضوح. يتميز Sonnet بشكل خاص في البرمجة، وعلوم البيانات، ومعالجة الصور، والمهام الوكيلة."
|
||||
},
|
||||
"anthropic/claude-opus-4": {
|
||||
"description": "Claude Opus 4 هو أقوى نموذج حتى الآن من Anthropic، وأفضل نموذج ترميز في العالم، متصدرًا في اختبارات SWE-bench (72.5%) وTerminal-bench (43.2%). يوفر أداءً مستمرًا للمهام الطويلة التي تتطلب تركيزًا وجهدًا وآلاف الخطوات، قادرًا على العمل لساعات متواصلة، مما يوسع بشكل كبير قدرات وكلاء الذكاء الاصطناعي."
|
||||
},
|
||||
"anthropic/claude-opus-4.1": {
|
||||
"description": "Claude Opus 4.1 هو بديل جاهز للاستخدام لـ Opus 4، يقدم أداءً ودقة ممتازة في مهام الترميز والوكالة العملية. يرفع أداء الترميز المتقدم إلى 74.5% في SWE-bench Verified، ويتعامل مع المشكلات المعقدة متعددة الخطوات بدقة واهتمام أكبر بالتفاصيل."
|
||||
"description": "كلود أوبوس 4 هو أقوى نموذج من أنثروبيك لمعالجة المهام المعقدة للغاية. يتميز بأداء ممتاز وذكاء وسلاسة وفهم عميق."
|
||||
},
|
||||
"anthropic/claude-sonnet-4": {
|
||||
"description": "Claude Sonnet 4 يحسن بشكل كبير على قدرات Sonnet 3.7 الرائدة في الصناعة، ويظهر أداءً ممتازًا في الترميز، محققًا 72.7% في SWE-bench. يوازن النموذج بين الأداء والكفاءة، مناسب للحالات الداخلية والخارجية، ويحقق تحكمًا أكبر في التنفيذ من خلال قابلية تحكم محسنة."
|
||||
"description": "كلود سونيت 4 يمكنه إنتاج استجابات شبه فورية أو تفكير تدريجي مطول، حيث يمكن للمستخدمين رؤية هذه العمليات بوضوح. كما يمكن لمستخدمي API التحكم بدقة في مدة تفكير النموذج."
|
||||
},
|
||||
"ascend-tribe/pangu-pro-moe": {
|
||||
"description": "Pangu-Pro-MoE 72B-A16B هو نموذج لغة ضخم نادر التنشيط يحتوي على 72 مليار معلمة و16 مليار معلمة نشطة، يعتمد على بنية الخبراء المختلطين المجمعة (MoGE). في مرحلة اختيار الخبراء، يتم تجميع الخبراء وتقيد تنشيط عدد متساوٍ من الخبراء داخل كل مجموعة لكل رمز، مما يحقق توازنًا في تحميل الخبراء ويعزز بشكل كبير كفاءة نشر النموذج على منصة Ascend."
|
||||
@@ -734,9 +665,6 @@
|
||||
"claude-3-5-haiku-20241022": {
|
||||
"description": "Claude 3.5 Haiku هو أسرع نموذج من الجيل التالي من Anthropic. مقارنةً بـ Claude 3 Haiku، فإن Claude 3.5 Haiku قد حقق تحسينات في جميع المهارات، وتفوق في العديد من اختبارات الذكاء على أكبر نموذج من الجيل السابق، Claude 3 Opus."
|
||||
},
|
||||
"claude-3-5-haiku-latest": {
|
||||
"description": "كلود 3.5 هايكو يوفر استجابة سريعة، مناسب للمهام الخفيفة."
|
||||
},
|
||||
"claude-3-5-sonnet-20240620": {
|
||||
"description": "Claude 3.5 Sonnet يوفر قدرات تتجاوز Opus وسرعة أكبر من Sonnet، مع الحفاظ على نفس السعر. Sonnet بارع بشكل خاص في البرمجة، وعلوم البيانات، ومعالجة الصور، ومهام الوكالة."
|
||||
},
|
||||
@@ -746,9 +674,6 @@
|
||||
"claude-3-7-sonnet-20250219": {
|
||||
"description": "Claude 3.7 Sonnet هو أحدث نموذج من Anthropic، يتميز بأداء ممتاز في تقييمات واسعة، ويتفوق على نماذج المنافسين ونموذج Claude 3.5 Sonnet، مع الحفاظ على سرعة وتكلفة نماذجنا المتوسطة."
|
||||
},
|
||||
"claude-3-7-sonnet-latest": {
|
||||
"description": "كلود 3.7 سونيت هو أحدث وأقوى نموذج من أنثروبيك لمعالجة المهام المعقدة للغاية. يتميز بأداء ممتاز، ذكاء، سلاسة وفهم عميق."
|
||||
},
|
||||
"claude-3-haiku-20240307": {
|
||||
"description": "Claude 3 Haiku هو أسرع وأصغر نموذج من Anthropic، مصمم لتحقيق استجابة شبه فورية. يتمتع بأداء توجيهي سريع ودقيق."
|
||||
},
|
||||
@@ -761,17 +686,11 @@
|
||||
"claude-opus-4-1-20250805": {
|
||||
"description": "Claude Opus 4.1 هو أحدث وأقوى نموذج من Anthropic لمعالجة المهام المعقدة للغاية. يتميز بأداء ذكي وسلس وفهم عميق."
|
||||
},
|
||||
"claude-opus-4-1-20250805-thinking": {
|
||||
"description": "كلود أوبوس 4.1 نموذج تفكيري يمكنه عرض عملية الاستدلال الخاصة به بإصدار متقدم."
|
||||
},
|
||||
"claude-opus-4-20250514": {
|
||||
"description": "Claude Opus 4 هو أقوى نموذج من Anthropic لمعالجة المهام المعقدة للغاية. إنه يتفوق في الأداء والذكاء والسلاسة والفهم."
|
||||
},
|
||||
"claude-sonnet-4-20250514": {
|
||||
"description": "كلود سونيت 4 يمكنه إنتاج استجابات شبه فورية أو تفكير تدريجي مطول، حيث يمكن للمستخدم رؤية هذه العمليات بوضوح."
|
||||
},
|
||||
"claude-sonnet-4-20250514-thinking": {
|
||||
"description": "كلود سونيت 4 نموذج تفكيري يمكنه إنتاج استجابات شبه فورية أو تفكير تدريجي مطول، حيث يمكن للمستخدم رؤية هذه العمليات بوضوح."
|
||||
"description": "يمكن لClaude 4 Sonnet أن ينتج استجابات شبه فورية أو تفكير تدريجي ممتد، حيث يمكن للمستخدمين رؤية هذه العمليات بوضوح. يمكن لمستخدمي API أيضًا التحكم بدقة في وقت تفكير النموذج."
|
||||
},
|
||||
"codegeex-4": {
|
||||
"description": "CodeGeeX-4 هو مساعد برمجي قوي، يدعم مجموعة متنوعة من لغات البرمجة في الإجابة الذكية وإكمال الشيفرة، مما يعزز من كفاءة التطوير."
|
||||
@@ -812,6 +731,9 @@
|
||||
"codex-mini-latest": {
|
||||
"description": "codex-mini-latest هو نسخة محسنة من o4-mini، مخصصة لـ Codex CLI. بالنسبة للاستخدام المباشر عبر API، نوصي بالبدء من gpt-4.1."
|
||||
},
|
||||
"cognitivecomputations/dolphin-mixtral-8x22b": {
|
||||
"description": "Dolphin Mixtral 8x22B هو نموذج مصمم للامتثال للتعليمات، والحوار، والبرمجة."
|
||||
},
|
||||
"cogview-4": {
|
||||
"description": "CogView-4 هو أول نموذج مفتوح المصدر من Zhipu يدعم توليد الحروف الصينية، مع تحسينات شاملة في فهم المعاني، وجودة توليد الصور، وقدرات توليد النصوص باللغتين الصينية والإنجليزية، ويدعم إدخال ثنائي اللغة بأي طول، وقادر على توليد صور بأي دقة ضمن النطاق المحدد."
|
||||
},
|
||||
@@ -827,18 +749,6 @@
|
||||
"cohere/Cohere-command-r-plus": {
|
||||
"description": "Command R+ هو نموذج متقدم محسّن لـ RAG، مصمم للتعامل مع أعباء العمل على مستوى المؤسسات."
|
||||
},
|
||||
"cohere/command-a": {
|
||||
"description": "Command A هو أقوى نموذج أداءً حتى الآن من Cohere، يتفوق في استخدام الأدوات، والوكالة، والتوليد المعزز بالاسترجاع (RAG)، وحالات الاستخدام متعددة اللغات. طول السياق يصل إلى 256K، ويعمل على اثنين من وحدات معالجة الرسومات فقط، مع زيادة في الإنتاجية بنسبة 150% مقارنة بـ Command R+ 08-2024."
|
||||
},
|
||||
"cohere/command-r": {
|
||||
"description": "Command R هو نموذج لغة كبير مُحسّن للتفاعل الحواري والمهام ذات السياق الطويل. يصنف ضمن فئة \"القابل للتوسع\"، ويوازن بين الأداء العالي والدقة القوية، مما يمكّن الشركات من تجاوز إثبات المفهوم والدخول في الإنتاج."
|
||||
},
|
||||
"cohere/command-r-plus": {
|
||||
"description": "Command R+ هو أحدث نموذج لغة كبير من Cohere، مُحسّن للتفاعل الحواري والمهام ذات السياق الطويل. يهدف إلى تقديم أداء استثنائي يمكّن الشركات من تجاوز إثبات المفهوم والدخول في الإنتاج."
|
||||
},
|
||||
"cohere/embed-v4.0": {
|
||||
"description": "نموذج يسمح بتصنيف النصوص أو الصور أو المحتوى المختلط أو تحويلها إلى تمثيلات مضمنة."
|
||||
},
|
||||
"command": {
|
||||
"description": "نموذج حواري يتبع التعليمات، يظهر جودة عالية وموثوقية أكبر في المهام اللغوية، ويتميز بطول سياق أطول مقارنة بنموذجنا الأساسي للتوليد."
|
||||
},
|
||||
@@ -875,6 +785,12 @@
|
||||
"command-r7b-12-2024": {
|
||||
"description": "الأمر-r7b-12-2024 هو إصدار صغير وفعال تم إصداره في ديسمبر 2024. يظهر أداءً ممتازًا في المهام التي تتطلب استدلالًا معقدًا ومعالجة متعددة الخطوات مثل RAG، واستخدام الأدوات، والوكالات."
|
||||
},
|
||||
"compound-beta": {
|
||||
"description": "Compound-beta هو نظام ذكاء اصطناعي مركب، مدعوم بعدة نماذج مفتوحة متاحة في GroqCloud، يمكنه استخدام الأدوات بشكل ذكي وانتقائي للإجابة على استفسارات المستخدمين."
|
||||
},
|
||||
"compound-beta-mini": {
|
||||
"description": "Compound-beta-mini هو نظام ذكاء اصطناعي مركب، مدعوم بنماذج مفتوحة متاحة في GroqCloud، يمكنه استخدام الأدوات بشكل ذكي وانتقائي للإجابة على استفسارات المستخدمين."
|
||||
},
|
||||
"computer-use-preview": {
|
||||
"description": "نموذج computer-use-preview هو نموذج مخصص لأدوات \"استخدام الحاسوب\"، تم تدريبه لفهم وتنفيذ المهام المتعلقة بالحاسوب."
|
||||
},
|
||||
@@ -917,18 +833,12 @@
|
||||
"deepseek-ai/DeepSeek-V3": {
|
||||
"description": "DeepSeek-V3 هو نموذج لغوي مختلط الخبراء (MoE) يحتوي على 6710 مليار معلمة، يستخدم انتباه متعدد الرؤوس (MLA) وبنية DeepSeekMoE، ويجمع بين استراتيجية توازن الحمل بدون خسارة مساعدة، مما يحسن كفاءة الاستدلال والتدريب. من خلال التدريب المسبق على 14.8 تريليون توكن عالي الجودة، وإجراء تعديلات إشرافية وتعلم معزز، يتفوق DeepSeek-V3 في الأداء على نماذج المصدر المفتوح الأخرى، ويقترب من النماذج المغلقة الرائدة."
|
||||
},
|
||||
"deepseek-ai/DeepSeek-V3.1": {
|
||||
"description": "DeepSeek-V3.1 هو نموذج لغة كبير بنمط هجين أصدرته DeepSeek AI، وقد شهد ترقيات مهمة متعددة مقارنة بالإصدارات السابقة. من الابتكارات الرئيسية في هذا النموذج دمج \"وضع التفكير\" و\"وضع عدم التفكير\" في نموذج واحد، حيث يمكن للمستخدمين التبديل بينهما بسهولة عبر تعديل قالب المحادثة لتلبية متطلبات المهام المختلفة. من خلال تحسينات ما بعد التدريب المخصصة، تم تعزيز أداء V3.1 في استدعاء الأدوات ومهام الوكيل بشكل ملحوظ، مما يمكنه من دعم أدوات البحث الخارجية وتنفيذ مهام معقدة متعددة الخطوات بشكل أفضل. يعتمد النموذج على DeepSeek-V3.1-Base مع تدريب إضافي، حيث تم توسيع حجم بيانات التدريب بشكل كبير عبر طريقة التوسيع النصي الطويل على مرحلتين، مما يحسن أدائه في معالجة المستندات الطويلة والرموز البرمجية الطويلة. كنموذج مفتوح المصدر، يظهر DeepSeek-V3.1 قدرة تنافسية مع أفضل النماذج المغلقة في مجالات الترميز والرياضيات والاستدلال، وبفضل هيكله المختلط للخبراء (MoE)، يحافظ على سعة نموذج ضخمة مع تقليل تكلفة الاستدلال بفعالية."
|
||||
},
|
||||
"deepseek-ai/deepseek-llm-67b-chat": {
|
||||
"description": "DeepSeek 67B هو نموذج متقدم تم تدريبه للحوار المعقد."
|
||||
},
|
||||
"deepseek-ai/deepseek-r1": {
|
||||
"description": "نموذج لغوي متقدم وفعال، بارع في الاستدلال، والرياضيات، والبرمجة."
|
||||
},
|
||||
"deepseek-ai/deepseek-v3.1": {
|
||||
"description": "DeepSeek V3.1: نموذج استدلال من الجيل التالي يعزز القدرات على الاستدلال المعقد والتفكير التسلسلي، مناسب للمهام التي تتطلب تحليلاً عميقًا."
|
||||
},
|
||||
"deepseek-ai/deepseek-vl2": {
|
||||
"description": "DeepSeek-VL2 هو نموذج لغوي بصري مختلط الخبراء (MoE) تم تطويره بناءً على DeepSeekMoE-27B، يستخدم بنية MoE ذات تفعيل نادر، محققًا أداءً ممتازًا مع تفعيل 4.5 مليار معلمة فقط. يقدم هذا النموذج أداءً ممتازًا في مهام مثل الأسئلة البصرية، التعرف الضوئي على الأحرف، فهم الوثائق/الجداول/الرسوم البيانية، وتحديد المواقع البصرية."
|
||||
},
|
||||
@@ -993,7 +903,7 @@
|
||||
"description": "DeepSeek R1 النسخة الكاملة، تحتوي على 671 مليار معلمة، تدعم البحث المتصل في الوقت الحقيقي، وتتمتع بقدرات فهم وتوليد أقوى."
|
||||
},
|
||||
"deepseek-reasoner": {
|
||||
"description": "وضع التفكير في DeepSeek V3.1. قبل إخراج الإجابة النهائية، يقوم النموذج أولاً بإخراج سلسلة من التفكير لتحسين دقة الإجابة النهائية."
|
||||
"description": "نموذج الاستدلال الذي أطلقته DeepSeek. قبل تقديم الإجابة النهائية، يقوم النموذج أولاً بإخراج سلسلة من المحتوى الفكري لتحسين دقة الإجابة النهائية."
|
||||
},
|
||||
"deepseek-v2": {
|
||||
"description": "DeepSeek V2 هو نموذج لغوي فعال من نوع Mixture-of-Experts، مناسب لاحتياجات المعالجة الاقتصادية."
|
||||
@@ -1007,23 +917,14 @@
|
||||
"deepseek-v3-0324": {
|
||||
"description": "DeepSeek-V3-0324 هو نموذج MoE يحتوي على 671 مليار معلمة، ويتميز بقدرات بارزة في البرمجة والتقنية، وفهم السياق ومعالجة النصوص الطويلة."
|
||||
},
|
||||
"deepseek-v3.1": {
|
||||
"description": "DeepSeek-V3.1 هو نموذج استدلال هجين جديد أطلقته DeepSeek، يدعم وضعين للاستدلال: التفكير وعدم التفكير، مع كفاءة تفكير أعلى مقارنة بـ DeepSeek-R1-0528. بعد تحسين ما بعد التدريب، تم تعزيز استخدام أدوات الوكيل وأداء مهام الوكيل بشكل كبير. يدعم نافذة سياق تصل إلى 128 ألف، وطول إخراج يصل إلى 64 ألف رمز."
|
||||
},
|
||||
"deepseek-v3.1:671b": {
|
||||
"description": "DeepSeek V3.1: نموذج استدلال من الجيل التالي يعزز القدرات على الاستدلال المعقد والتفكير التسلسلي، مناسب للمهام التي تتطلب تحليلاً عميقًا."
|
||||
},
|
||||
"deepseek/deepseek-chat-v3-0324": {
|
||||
"description": "DeepSeek V3 هو نموذج مختلط خبير يحتوي على 685B من المعلمات، وهو أحدث إصدار من سلسلة نماذج الدردشة الرائدة لفريق DeepSeek.\n\nيستفيد من نموذج [DeepSeek V3](/deepseek/deepseek-chat-v3) ويظهر أداءً ممتازًا في مجموعة متنوعة من المهام."
|
||||
},
|
||||
"deepseek/deepseek-chat-v3-0324:free": {
|
||||
"description": "DeepSeek V3 هو نموذج مختلط خبير يحتوي على 685B من المعلمات، وهو أحدث إصدار من سلسلة نماذج الدردشة الرائدة لفريق DeepSeek.\n\nيستفيد من نموذج [DeepSeek V3](/deepseek/deepseek-chat-v3) ويظهر أداءً ممتازًا في مجموعة متنوعة من المهام."
|
||||
},
|
||||
"deepseek/deepseek-chat-v3.1": {
|
||||
"description": "DeepSeek-V3.1 هو نموذج استدلال هجين كبير يدعم سياق طويل يصل إلى 128K وتبديل أوضاع فعال، ويحقق أداءً وسرعة ممتازة في استدعاء الأدوات، وتوليد الأكواد، والمهام الاستدلالية المعقدة."
|
||||
},
|
||||
"deepseek/deepseek-r1": {
|
||||
"description": "تم ترقية نموذج DeepSeek R1 إلى إصدار صغير جديد، الإصدار الحالي هو DeepSeek-R1-0528. في التحديث الأخير، حسّن DeepSeek R1 عمق الاستدلال وقدرته بشكل ملحوظ من خلال استغلال موارد حسابية متزايدة وإدخال آليات تحسين خوارزمية بعد التدريب. النموذج يحقق أداءً ممتازًا في تقييمات معيارية متعددة مثل الرياضيات، والبرمجة، والمنطق العام، وأداؤه العام يقترب الآن من النماذج الرائدة مثل O3 وGemini 2.5 Pro."
|
||||
"description": "DeepSeek-R1 يعزز بشكل كبير من قدرة النموذج على الاستدلال في ظل وجود بيانات محدودة جدًا. قبل تقديم الإجابة النهائية، يقوم النموذج أولاً بإخراج سلسلة من التفكير لتحسين دقة الإجابة النهائية."
|
||||
},
|
||||
"deepseek/deepseek-r1-0528": {
|
||||
"description": "DeepSeek-R1 يعزز بشكل كبير قدرة الاستدلال للنموذج حتى مع وجود بيانات تعليمية قليلة جدًا. قبل إخراج الإجابة النهائية، يقوم النموذج أولاً بإخراج سلسلة من التفكير لتحسين دقة الإجابة النهائية."
|
||||
@@ -1032,7 +933,7 @@
|
||||
"description": "DeepSeek-R1 يعزز بشكل كبير قدرة الاستدلال للنموذج حتى مع وجود بيانات تعليمية قليلة جدًا. قبل إخراج الإجابة النهائية، يقوم النموذج أولاً بإخراج سلسلة من التفكير لتحسين دقة الإجابة النهائية."
|
||||
},
|
||||
"deepseek/deepseek-r1-distill-llama-70b": {
|
||||
"description": "DeepSeek-R1-Distill-Llama-70B هو نسخة مكثفة وأكثر كفاءة من نموذج Llama 70B. يحافظ على أداء قوي في مهام توليد النصوص مع تقليل استهلاك الحوسبة لتسهيل النشر والبحث. يتم تشغيله بواسطة Groq باستخدام وحدة معالجة اللغة المخصصة (LPU) لتوفير استدلال سريع وفعال."
|
||||
"description": "DeepSeek R1 Distill Llama 70B هو نموذج لغوي كبير يعتمد على Llama3.3 70B، حيث يحقق أداءً تنافسيًا مماثلاً للنماذج الرائدة الكبيرة من خلال استخدام التعديلات المستندة إلى مخرجات DeepSeek R1."
|
||||
},
|
||||
"deepseek/deepseek-r1-distill-llama-8b": {
|
||||
"description": "DeepSeek R1 Distill Llama 8B هو نموذج لغوي كبير مكرر يعتمد على Llama-3.1-8B-Instruct، تم تدريبه باستخدام مخرجات DeepSeek R1."
|
||||
@@ -1050,10 +951,7 @@
|
||||
"description": "DeepSeek-R1 يعزز بشكل كبير من قدرة النموذج على الاستدلال في ظل وجود بيانات محدودة جدًا. قبل تقديم الإجابة النهائية، يقوم النموذج أولاً بإخراج سلسلة من التفكير لتحسين دقة الإجابة النهائية."
|
||||
},
|
||||
"deepseek/deepseek-v3": {
|
||||
"description": "نموذج لغة كبير عام سريع مع قدرات استدلال محسنة."
|
||||
},
|
||||
"deepseek/deepseek-v3.1-base": {
|
||||
"description": "DeepSeek V3.1 Base هو نسخة محسنة من نموذج DeepSeek V3."
|
||||
"description": "حقق DeepSeek-V3 تقدمًا كبيرًا في سرعة الاستدلال مقارنة بالنماذج السابقة. يحتل المرتبة الأولى بين النماذج المفتوحة المصدر، ويمكن مقارنته بأحدث النماذج المغلقة على مستوى العالم. يعتمد DeepSeek-V3 على بنية الانتباه المتعدد الرؤوس (MLA) وبنية DeepSeekMoE، والتي تم التحقق منها بشكل شامل في DeepSeek-V2. بالإضافة إلى ذلك، قدم DeepSeek-V3 استراتيجية مساعدة غير مدمرة للتوازن في الحمل، وحدد أهداف تدريب متعددة التسمية لتحقيق أداء أقوى."
|
||||
},
|
||||
"deepseek/deepseek-v3/community": {
|
||||
"description": "حقق DeepSeek-V3 تقدمًا كبيرًا في سرعة الاستدلال مقارنة بالنماذج السابقة. يحتل المرتبة الأولى بين النماذج المفتوحة المصدر، ويمكن مقارنته بأحدث النماذج المغلقة على مستوى العالم. يعتمد DeepSeek-V3 على بنية الانتباه المتعدد الرؤوس (MLA) وبنية DeepSeekMoE، والتي تم التحقق منها بشكل شامل في DeepSeek-V2. بالإضافة إلى ذلك، قدم DeepSeek-V3 استراتيجية مساعدة غير مدمرة للتوازن في الحمل، وحدد أهداف تدريب متعددة التسمية لتحقيق أداء أقوى."
|
||||
@@ -1124,17 +1022,8 @@
|
||||
"doubao-seed-1.6-thinking": {
|
||||
"description": "نموذج Doubao-Seed-1.6-thinking يعزز قدرات التفكير بشكل كبير، مقارنة بـ Doubao-1.5-thinking-pro، مع تحسينات إضافية في القدرات الأساسية مثل البرمجة والرياضيات والاستدلال المنطقي، ويدعم الفهم البصري. يدعم نافذة سياق بحجم 256k وطول إخراج يصل إلى 16k رمز."
|
||||
},
|
||||
"doubao-seed-1.6-vision": {
|
||||
"description": "نموذج التفكير العميق البصري Doubao-Seed-1.6-vision، يظهر قدرة فهم واستدلال متعددة الوسائط عامة أقوى في سيناريوهات التعليم، مراجعة الصور، التفتيش والأمن، والبحث والإجابة بالذكاء الاصطناعي. يدعم نافذة سياق بحجم 256k وطول إخراج يصل إلى 64k رمزًا."
|
||||
},
|
||||
"doubao-seededit-3-0-i2i-250628": {
|
||||
"description": "نموذج توليد الصور Doubao من فريق Seed في ByteDance، يدعم إدخال النص والصورة، ويوفر تجربة توليد صور عالية الجودة وقابلة للتحكم بدرجة كبيرة. يدعم تحرير الصور عبر أوامر نصية، وأبعاد الصور تتراوح بين 512 إلى 1536 بكسل."
|
||||
},
|
||||
"doubao-seedream-3-0-t2i-250415": {
|
||||
"description": "نموذج توليد الصور Seedream 3.0 من فريق Seed في ByteDance، يدعم إدخال النص والصورة، ويوفر تجربة توليد صور عالية الجودة وقابلة للتحكم بدرجة كبيرة. يعتمد على أوامر نصية لتوليد الصور."
|
||||
},
|
||||
"doubao-seedream-4-0-250828": {
|
||||
"description": "نموذج توليد الصور Seedream 4.0 من فريق Seed في ByteDance، يدعم إدخال النص والصورة، ويوفر تجربة توليد صور عالية الجودة وقابلة للتحكم بدرجة كبيرة. يعتمد على أوامر نصية لتوليد الصور."
|
||||
"description": "نموذج توليد الصور Doubao طوره فريق Seed في ByteDance، يدعم إدخال النص والصورة، ويوفر تجربة توليد صور عالية الجودة وقابلة للتحكم. يولد الصور بناءً على أوامر نصية."
|
||||
},
|
||||
"doubao-vision-lite-32k": {
|
||||
"description": "نموذج Doubao-vision هو نموذج متعدد الوسائط أطلقته Doubao، يتمتع بقدرات قوية في فهم الصور والاستدلال، بالإضافة إلى دقة عالية في فهم التعليمات. أظهر النموذج أداءً قويًا في استخراج المعلومات من النصوص والصور، والمهام الاستدلالية القائمة على الصور، مما يجعله مناسبًا لمهام الأسئلة البصرية المعقدة والواسعة."
|
||||
@@ -1217,33 +1106,6 @@
|
||||
"ernie-x1-turbo-32k": {
|
||||
"description": "يتميز هذا النموذج بأداء أفضل مقارنةً بـ ERNIE-X1-32K."
|
||||
},
|
||||
"fal-ai/bytedance/seedream/v4": {
|
||||
"description": "نموذج توليد الصور Seedream 4.0 من فريق Seed في ByteDance، يدعم إدخال النص والصورة، ويوفر تجربة توليد صور عالية الجودة وقابلة للتحكم بدرجة كبيرة. يعتمد على أوامر نصية لتوليد الصور."
|
||||
},
|
||||
"fal-ai/flux-kontext/dev": {
|
||||
"description": "نموذج FLUX.1 مخصص لمهام تحرير الصور، يدعم إدخال النص والصورة."
|
||||
},
|
||||
"fal-ai/flux-pro/kontext": {
|
||||
"description": "FLUX.1 Kontext [pro] قادر على معالجة النصوص والصور المرجعية كمدخلات، لتحقيق تحرير محلي مستهدف وتحولات معقدة للمشهد الكلي بسلاسة."
|
||||
},
|
||||
"fal-ai/flux/krea": {
|
||||
"description": "Flux Krea [dev] هو نموذج توليد صور ذو تفضيلات جمالية، يهدف إلى إنتاج صور أكثر واقعية وطبيعية."
|
||||
},
|
||||
"fal-ai/flux/schnell": {
|
||||
"description": "FLUX.1 [schnell] هو نموذج توليد صور يحتوي على 12 مليار معلمة، يركز على توليد صور عالية الجودة بسرعة."
|
||||
},
|
||||
"fal-ai/imagen4/preview": {
|
||||
"description": "نموذج توليد صور عالي الجودة مقدم من جوجل."
|
||||
},
|
||||
"fal-ai/nano-banana": {
|
||||
"description": "Nano Banana هو أحدث وأسرع وأكثر نماذج جوجل الأصلية متعددة الوسائط كفاءة، يسمح لك بتوليد وتحرير الصور عبر المحادثة."
|
||||
},
|
||||
"fal-ai/qwen-image": {
|
||||
"description": "نموذج قوي لتوليد الصور من فريق Qwen، يتميز بقدرة مميزة على توليد النصوص الصينية وأنماط بصرية متنوعة للصور."
|
||||
},
|
||||
"fal-ai/qwen-image-edit": {
|
||||
"description": "نموذج تحرير الصور الاحترافي من فريق Qwen، يدعم التحرير الدلالي والتحرير الظاهري، يمكنه تحرير النصوص الصينية والإنجليزية بدقة، وتحويل الأنماط، تدوير الأجسام، وغيرها من تحرير الصور عالية الجودة."
|
||||
},
|
||||
"flux-1-schnell": {
|
||||
"description": "نموذج توليد صور نصية يحتوي على 12 مليار معلمة طورته Black Forest Labs، يستخدم تقنية تقطير الانتشار التنافسي الكامن، قادر على توليد صور عالية الجودة في 1 إلى 4 خطوات. أداء النموذج يضاهي البدائل المغلقة المصدر، ومتاح بموجب ترخيص Apache-2.0 للاستخدام الشخصي، البحثي والتجاري."
|
||||
},
|
||||
@@ -1256,6 +1118,9 @@
|
||||
"flux-kontext-pro": {
|
||||
"description": "توليد وتحرير الصور السياقية بأحدث التقنيات — يجمع بين النص والصورة للحصول على نتائج دقيقة ومتسقة."
|
||||
},
|
||||
"flux-kontext/dev": {
|
||||
"description": "نموذج FLUX.1 مخصص لمهام تحرير الصور، يدعم إدخال النصوص والصور."
|
||||
},
|
||||
"flux-merged": {
|
||||
"description": "نموذج FLUX.1-merged يجمع بين ميزات العمق التي استكشفتها نسخة \"DEV\" أثناء التطوير ومزايا التنفيذ السريع التي تمثلها نسخة \"Schnell\". من خلال هذا الدمج، يعزز FLUX.1-merged حدود أداء النموذج ويوسع نطاق تطبيقاته."
|
||||
},
|
||||
@@ -1268,12 +1133,21 @@
|
||||
"flux-pro-1.1-ultra": {
|
||||
"description": "توليد صور بالذكاء الاصطناعي بدقة فائقة — يدعم إخراج يصل إلى 4 ميجابكسل ويولد صورًا فائقة الوضوح خلال 10 ثوانٍ."
|
||||
},
|
||||
"flux-pro/kontext": {
|
||||
"description": "FLUX.1 Kontext [pro] قادر على معالجة النصوص والصور المرجعية كمدخلات، مما يتيح تحريرًا محليًا مستهدفًا وتحولات معقدة للمشهد الكلي بسلاسة."
|
||||
},
|
||||
"flux-schnell": {
|
||||
"description": "FLUX.1 [schnell] هو النموذج المفتوح المصدر الأكثر تقدمًا حاليًا في فئة النماذج قليلة الخطوات، متفوقًا على المنافسين وحتى على نماذج غير مكررة قوية مثل Midjourney v6.0 وDALL·E 3 (HD). تم ضبط النموذج خصيصًا للحفاظ على تنوع المخرجات الكامل من مرحلة ما قبل التدريب، ويحقق تحسينات ملحوظة في جودة الصورة، الالتزام بالتعليمات، التغيرات في الحجم/النسبة، معالجة الخطوط وتنوع المخرجات مقارنة بأحدث النماذج في السوق، مما يوفر تجربة توليد صور إبداعية أكثر ثراءً وتنوعًا للمستخدمين."
|
||||
},
|
||||
"flux.1-schnell": {
|
||||
"description": "محول تدفق مصحح يحتوي على 12 مليار معلمة، قادر على توليد الصور بناءً على الوصف النصي."
|
||||
},
|
||||
"flux/krea": {
|
||||
"description": "Flux Krea [dev] هو نموذج توليد صور ذو تفضيلات جمالية، يهدف إلى إنتاج صور أكثر واقعية وطبيعية."
|
||||
},
|
||||
"flux/schnell": {
|
||||
"description": "FLUX.1 [schnell] هو نموذج توليد صور يحتوي على 12 مليار معلمة، يركز على توليد صور عالية الجودة بسرعة."
|
||||
},
|
||||
"gemini-1.0-pro-001": {
|
||||
"description": "Gemini 1.0 Pro 001 (تعديل) يوفر أداءً مستقرًا وقابلًا للتعديل، وهو الخيار المثالي لحلول المهام المعقدة."
|
||||
},
|
||||
@@ -1344,10 +1218,7 @@
|
||||
"description": "Gemini 2.5 Flash هو نموذج Google الأكثر فعالية من حيث التكلفة، ويوفر وظائف شاملة."
|
||||
},
|
||||
"gemini-2.5-flash-image-preview": {
|
||||
"description": "Nano Banana هو أحدث وأسرع وأكثر نموذج متعدد الوسائط أصلي كفاءة من Google، يتيح لك إنشاء وتحرير الصور من خلال المحادثة."
|
||||
},
|
||||
"gemini-2.5-flash-image-preview:image": {
|
||||
"description": "Nano Banana هو أحدث وأسرع وأكثر نموذج متعدد الوسائط أصلي كفاءة من Google، يتيح لك إنشاء وتحرير الصور من خلال المحادثة."
|
||||
"description": "Gemini 2.5 Flash Image Preview هو أحدث وأسرع وأكثر كفاءة نموذج متعدد الوسائط أصلي من Google، ويتيح لك إنشاء الصور وتحريرها من خلال المحادثة."
|
||||
},
|
||||
"gemini-2.5-flash-lite": {
|
||||
"description": "Gemini 2.5 Flash-Lite هو أصغر وأفضل نموذج من حيث التكلفة من Google، مصمم للاستخدام على نطاق واسع."
|
||||
@@ -1481,26 +1352,14 @@
|
||||
"glm-zero-preview": {
|
||||
"description": "يمتلك GLM-Zero-Preview قدرة قوية على الاستدلال المعقد، ويظهر أداءً ممتازًا في مجالات الاستدلال المنطقي، والرياضيات، والبرمجة."
|
||||
},
|
||||
"google/gemini-2.0-flash": {
|
||||
"description": "Gemini 2.0 Flash يقدم ميزات الجيل التالي وتحسينات تشمل سرعة فائقة، استخدام أدوات مدمجة، توليد متعدد الوسائط، ونافذة سياق تصل إلى مليون رمز."
|
||||
},
|
||||
"google/gemini-2.0-flash-001": {
|
||||
"description": "Gemini 2.0 Flash يقدم ميزات وتحسينات من الجيل التالي، بما في ذلك سرعة فائقة، واستخدام أدوات أصلية، وتوليد متعدد الوسائط، ونافذة سياق تصل إلى 1M توكن."
|
||||
},
|
||||
"google/gemini-2.0-flash-exp:free": {
|
||||
"description": "Gemini 2.0 Flash Experimental هو أحدث نموذج ذكاء اصطناعي متعدد الوسائط من Google، مع تحسينات ملحوظة في الجودة مقارنة بالإصدارات السابقة، خاصة في المعرفة العالمية، الشيفرات، والسياقات الطويلة."
|
||||
},
|
||||
"google/gemini-2.0-flash-lite": {
|
||||
"description": "Gemini 2.0 Flash Lite يقدم ميزات الجيل التالي وتحسينات تشمل سرعة فائقة، استخدام أدوات مدمجة، توليد متعدد الوسائط، ونافذة سياق تصل إلى مليون رمز."
|
||||
},
|
||||
"google/gemini-2.5-flash": {
|
||||
"description": "Gemini 2.5 Flash هو نموذج تفكيري يقدم قدرات شاملة ممتازة. مصمم لتحقيق توازن بين السعر والأداء، ويدعم متعدد الوسائط ونافذة سياق تصل إلى مليون رمز."
|
||||
},
|
||||
"google/gemini-2.5-flash-image-preview": {
|
||||
"description": "نموذج تجريبي Gemini 2.5 Flash، يدعم توليد الصور."
|
||||
},
|
||||
"google/gemini-2.5-flash-lite": {
|
||||
"description": "Gemini 2.5 Flash-Lite هو نموذج متوازن ومنخفض التأخير مع ميزانية تفكير قابلة للتكوين واتصال بالأدوات (مثل البحث في Google والتنفيذ البرمجي). يدعم مدخلات متعددة الوسائط ويوفر نافذة سياق تصل إلى مليون رمز."
|
||||
"description": "Gemini 2.5 Flash هو النموذج الرئيسي الأكثر تقدمًا من Google، مصمم خصيصًا للمهام المتقدمة في الاستدلال، الترميز، الرياضيات والعلوم. يحتوي على قدرة مدمجة على \"التفكير\"، مما يمكنه من تقديم استجابات بدقة أعلى ومعالجة سياقية أكثر تفصيلاً.\n\nملاحظة: يحتوي هذا النموذج على نسختين: نسخة التفكير ونسخة غير التفكير. تختلف تكلفة الإخراج بشكل ملحوظ بناءً على تفعيل قدرة التفكير. إذا اخترت النسخة القياسية (بدون لاحقة \":thinking\"), سيتجنب النموذج بوضوح توليد رموز التفكير.\n\nلاستغلال قدرة التفكير واستلام رموز التفكير، يجب عليك اختيار النسخة \":thinking\"، والتي ستؤدي إلى تكلفة إخراج أعلى للتفكير.\n\nبالإضافة إلى ذلك، يمكن تكوين Gemini 2.5 Flash من خلال معلمة \"الحد الأقصى لعدد رموز الاستدلال\" كما هو موضح في الوثائق (https://openrouter.ai/docs/use-cases/reasoning-tokens#max-tokens-for-reasoning)."
|
||||
},
|
||||
"google/gemini-2.5-flash-preview": {
|
||||
"description": "Gemini 2.5 Flash هو النموذج الرائد الأكثر تقدمًا من Google، مصمم للاستدلال المتقدم، الترميز، المهام الرياضية والعلمية. يحتوي على قدرة \"التفكير\" المدمجة، مما يمكّنه من تقديم استجابات بدقة أعلى ومعالجة سياقات أكثر تفصيلاً.\n\nملاحظة: يحتوي هذا النموذج على نوعين: التفكير وغير التفكير. تختلف تسعير الإخراج بشكل ملحوظ بناءً على ما إذا كانت قدرة التفكير مفعلة. إذا اخترت النوع القياسي (بدون لاحقة \" :thinking \")، سيتجنب النموذج بشكل صريح توليد رموز التفكير.\n\nلاستغلال قدرة التفكير واستقبال رموز التفكير، يجب عليك اختيار النوع \" :thinking \"، مما سيؤدي إلى تسعير إخراج تفكير أعلى.\n\nبالإضافة إلى ذلك، يمكن تكوين Gemini 2.5 Flash من خلال معلمة \"الحد الأقصى لعدد رموز الاستدلال\"، كما هو موضح في الوثائق (https://openrouter.ai/docs/use-cases/reasoning-tokens#max-tokens-for-reasoning)."
|
||||
@@ -1509,14 +1368,11 @@
|
||||
"description": "Gemini 2.5 Flash هو النموذج الرائد الأكثر تقدمًا من Google، مصمم للاستدلال المتقدم، الترميز، المهام الرياضية والعلمية. يحتوي على قدرة \"التفكير\" المدمجة، مما يمكّنه من تقديم استجابات بدقة أعلى ومعالجة سياقات أكثر تفصيلاً.\n\nملاحظة: يحتوي هذا النموذج على نوعين: التفكير وغير التفكير. تختلف تسعير الإخراج بشكل ملحوظ بناءً على ما إذا كانت قدرة التفكير مفعلة. إذا اخترت النوع القياسي (بدون لاحقة \" :thinking \")، سيتجنب النموذج بشكل صريح توليد رموز التفكير.\n\nلاستغلال قدرة التفكير واستقبال رموز التفكير، يجب عليك اختيار النوع \" :thinking \"، مما سيؤدي إلى تسعير إخراج تفكير أعلى.\n\nبالإضافة إلى ذلك، يمكن تكوين Gemini 2.5 Flash من خلال معلمة \"الحد الأقصى لعدد رموز الاستدلال\"، كما هو موضح في الوثائق (https://openrouter.ai/docs/use-cases/reasoning-tokens#max-tokens-for-reasoning)."
|
||||
},
|
||||
"google/gemini-2.5-pro": {
|
||||
"description": "Gemini 2.5 Pro هو نموذج Gemini المتقدم للاستدلال، قادر على حل المشكلات المعقدة. يحتوي على نافذة سياق تصل إلى مليوني رمز، ويدعم مدخلات متعددة الوسائط تشمل النصوص، الصور، الصوت، الفيديو، ومستندات PDF."
|
||||
"description": "Gemini 2.5 Pro هو نموذج التفكير الأكثر تقدمًا من Google، قادر على الاستدلال في مسائل معقدة في البرمجة، الرياضيات ومجالات العلوم والتكنولوجيا والهندسة والرياضيات (STEM)، بالإضافة إلى استخدام السياق الطويل لتحليل مجموعات بيانات كبيرة، قواعد الشيفرة والمستندات."
|
||||
},
|
||||
"google/gemini-2.5-pro-preview": {
|
||||
"description": "معاينة Gemini 2.5 Pro هي أحدث نموذج تفكيري من Google، قادر على استنتاج المشكلات المعقدة في مجالات البرمجة والرياضيات والعلوم والتكنولوجيا والهندسة والرياضيات (STEM)، بالإضافة إلى استخدام سياق طويل لتحليل مجموعات البيانات الكبيرة، وقواعد الشيفرة، والوثائق."
|
||||
},
|
||||
"google/gemini-embedding-001": {
|
||||
"description": "نموذج تضمين متقدم يقدم أداءً ممتازًا في مهام اللغة الإنجليزية، متعددة اللغات، والبرمجة."
|
||||
},
|
||||
"google/gemini-flash-1.5": {
|
||||
"description": "يقدم Gemini 1.5 Flash قدرات معالجة متعددة الوسائط محسّنة، مناسبة لمجموعة متنوعة من سيناريوهات المهام المعقدة."
|
||||
},
|
||||
@@ -1544,21 +1400,12 @@
|
||||
"google/gemma-2b-it": {
|
||||
"description": "Gemma Instruct (2B) يوفر قدرة أساسية على معالجة التعليمات، مناسب للتطبيقات الخفيفة."
|
||||
},
|
||||
"google/gemma-3-12b-it": {
|
||||
"description": "Gemma 3 12B هو نموذج لغة مفتوح المصدر من جوجل، وضع معايير جديدة في الكفاءة والأداء."
|
||||
},
|
||||
"google/gemma-3-1b-it": {
|
||||
"description": "Gemma 3 1B هو نموذج لغة مفتوح المصدر من جوجل، وضع معايير جديدة في الكفاءة والأداء."
|
||||
},
|
||||
"google/gemma-3-27b-it": {
|
||||
"description": "جيمّا 3 27B هو نموذج لغوي مفتوح المصدر من جوجل، وقد وضع معايير جديدة من حيث الكفاءة والأداء."
|
||||
},
|
||||
"google/text-embedding-005": {
|
||||
"description": "نموذج تضمين نصي مركز على اللغة الإنجليزية ومحسن لمهام البرمجة واللغة الإنجليزية."
|
||||
},
|
||||
"google/text-multilingual-embedding-002": {
|
||||
"description": "نموذج تضمين نص متعدد اللغات محسن لمهام عبر اللغات، يدعم عدة لغات."
|
||||
},
|
||||
"gpt-3.5-turbo": {
|
||||
"description": "نموذج GPT 3.5 Turbo، مناسب لمجموعة متنوعة من مهام توليد وفهم النصوص، يشير حاليًا إلى gpt-3.5-turbo-0125."
|
||||
},
|
||||
@@ -1632,7 +1479,7 @@
|
||||
"description": "تشات جي بي تي-4o هو نموذج ديناميكي يتم تحديثه في الوقت الفعلي للحفاظ على أحدث إصدار. يجمع بين الفهم اللغوي القوي وقدرة التوليد، مما يجعله مناسبًا لتطبيقات واسعة النطاق، بما في ذلك خدمة العملاء والتعليم والدعم الفني."
|
||||
},
|
||||
"gpt-4o-audio-preview": {
|
||||
"description": "نموذج معاينة صوتية GPT-4o يدعم إدخال وإخراج الصوت."
|
||||
"description": "نموذج GPT-4o Audio، يدعم إدخال وإخراج الصوت."
|
||||
},
|
||||
"gpt-4o-mini": {
|
||||
"description": "نموذج GPT-4o mini هو أحدث نموذج أطلقته OpenAI بعد GPT-4 Omni، ويدعم إدخال الصور والنصوص وإخراج النصوص. كأحد نماذجهم المتقدمة الصغيرة، فهو أرخص بكثير من النماذج الرائدة الأخرى في الآونة الأخيرة، وأرخص بأكثر من 60% من GPT-3.5 Turbo. يحتفظ بذكاء متقدم مع قيمة ممتازة. حصل GPT-4o mini على 82% في اختبار MMLU، وهو حاليًا يتفوق على GPT-4 في تفضيلات الدردشة."
|
||||
@@ -1673,33 +1520,21 @@
|
||||
"gpt-5-chat-latest": {
|
||||
"description": "نموذج GPT-5 المستخدم في ChatGPT. يجمع بين قدرات قوية في فهم اللغة وتوليدها، مناسب لتطبيقات التفاعل الحواري."
|
||||
},
|
||||
"gpt-5-codex": {
|
||||
"description": "GPT-5 Codex هو نسخة من GPT-5 محسنة لمهام الترميز في بيئات Codex أو ما يشابهها."
|
||||
},
|
||||
"gpt-5-mini": {
|
||||
"description": "نسخة أسرع وأكثر اقتصادية من GPT-5، مناسبة للمهام المحددة بوضوح. توفر استجابة أسرع مع الحفاظ على جودة عالية."
|
||||
},
|
||||
"gpt-5-nano": {
|
||||
"description": "أسرع وأكفأ نسخة من GPT-5 من حيث التكلفة. مثالية للتطبيقات التي تتطلب استجابة سريعة وحساسة للتكلفة."
|
||||
},
|
||||
"gpt-audio": {
|
||||
"description": "GPT Audio هو نموذج دردشة عام موجه لإدخال وإخراج الصوت، ويدعم استخدام الصوت في واجهة برمجة تطبيقات Chat Completions."
|
||||
},
|
||||
"gpt-image-1": {
|
||||
"description": "نموذج توليد الصور متعدد الوسائط الأصلي من ChatGPT"
|
||||
},
|
||||
"gpt-oss-120b": {
|
||||
"description": "GPT-OSS-120B MXFP4: هيكل Transformer محسّن بالكمية، يحافظ على أداء قوي حتى في ظل محدودية الموارد."
|
||||
"gpt-oss": {
|
||||
"description": "GPT-OSS 20B هو نموذج لغة كبير مفتوح المصدر أصدرته OpenAI، يستخدم تقنية التكميم MXFP4، ومناسب للتشغيل على وحدات معالجة الرسومات الاستهلاكية المتقدمة أو أجهزة Mac بمعالج Apple Silicon. يتميز هذا النموذج بأداء ممتاز في توليد المحادثات، وكتابة الأكواد، ومهام الاستدلال، ويدعم استدعاء الدوال واستخدام الأدوات."
|
||||
},
|
||||
"gpt-oss:120b": {
|
||||
"description": "GPT-OSS 120B هو نموذج لغة كبير مفتوح المصدر أصدرته OpenAI، يستخدم تقنية التكميم MXFP4، ويعتبر نموذجًا رائدًا. يتطلب تشغيله بيئة متعددة وحدات معالجة الرسومات أو محطة عمل عالية الأداء، ويتميز بأداء متفوق في الاستدلال المعقد، وتوليد الأكواد، ومعالجة اللغات المتعددة، ويدعم استدعاء الدوال المتقدمة وتكامل الأدوات."
|
||||
},
|
||||
"gpt-oss:20b": {
|
||||
"description": "GPT-OSS 20B هو نموذج لغة كبير مفتوح المصدر أصدرته OpenAI، يستخدم تقنية التكميم MXFP4، مناسب للتشغيل على وحدات معالجة الرسومات الاستهلاكية المتقدمة أو أجهزة Apple Silicon Mac. يتميز النموذج بأداء ممتاز في توليد المحادثات، كتابة الشيفرة، ومهام الاستدلال، ويدعم استدعاء الدوال واستخدام الأدوات."
|
||||
},
|
||||
"gpt-realtime": {
|
||||
"description": "نموذج عام في الوقت الحقيقي يدعم الإدخال والإخراج النصي والصوتي، ويدعم أيضًا إدخال الصور."
|
||||
},
|
||||
"grok-2-1212": {
|
||||
"description": "لقد تم تحسين هذا النموذج في الدقة، والامتثال للتعليمات، والقدرة على التعامل مع لغات متعددة."
|
||||
},
|
||||
@@ -1724,24 +1559,6 @@
|
||||
"grok-4": {
|
||||
"description": "نموذجنا الرائد الأحدث والأقوى، يتميز بأداء ممتاز في معالجة اللغة الطبيعية، الحسابات الرياضية، والاستدلال — إنه لاعب شامل مثالي."
|
||||
},
|
||||
"grok-4-0709": {
|
||||
"description": "Grok 4 من xAI، يتمتع بقدرات استدلال قوية."
|
||||
},
|
||||
"grok-4-fast-non-reasoning": {
|
||||
"description": "نحن سعداء بإصدار Grok 4 Fast، وهو أحدث تقدم لدينا في نماذج الاستدلال ذات التكلفة الفعالة."
|
||||
},
|
||||
"grok-4-fast-reasoning": {
|
||||
"description": "نحن سعداء بإصدار Grok 4 Fast، وهو أحدث تقدم لدينا في نماذج الاستدلال ذات التكلفة الفعالة."
|
||||
},
|
||||
"grok-code-fast-1": {
|
||||
"description": "نحن سعداء بإطلاق grok-code-fast-1، وهو نموذج استدلال سريع وفعال من حيث التكلفة، يتميز بأداء ممتاز في ترميز الوكلاء."
|
||||
},
|
||||
"groq/compound": {
|
||||
"description": "Compound هو نظام ذكاء اصطناعي مركب مدعوم من عدة نماذج متاحة مفتوحة المصدر في GroqCloud، يمكنه استخدام الأدوات بذكاء وباختيار للرد على استفسارات المستخدمين."
|
||||
},
|
||||
"groq/compound-mini": {
|
||||
"description": "Compound-mini هو نظام ذكاء اصطناعي مركب مدعوم من نماذج متاحة مفتوحة المصدر في GroqCloud، يمكنه استخدام الأدوات بذكاء وباختيار للرد على استفسارات المستخدمين."
|
||||
},
|
||||
"gryphe/mythomax-l2-13b": {
|
||||
"description": "MythoMax l2 13B هو نموذج لغوي يجمع بين الإبداع والذكاء من خلال دمج عدة نماذج رائدة."
|
||||
},
|
||||
@@ -1797,7 +1614,7 @@
|
||||
"description": "تحسين كبير في القدرات الرياضية، المنطقية والبرمجية عالية الصعوبة، مع تحسين استقرار مخرجات النموذج وتعزيز قدرات النصوص الطويلة."
|
||||
},
|
||||
"hunyuan-t1-latest": {
|
||||
"description": "تحسين كبير لقدرات نموذج التفكير البطيء الرئيسي في الرياضيات الصعبة، الاستدلال المعقد، الشيفرة الصعبة، الالتزام بالتعليمات، وجودة إنشاء النصوص."
|
||||
"description": "أول نموذج استدلال هجين ضخم في الصناعة، يوسع قدرات الاستدلال، بسرعة فك تشفير فائقة، ويعزز التوافق مع تفضيلات البشر."
|
||||
},
|
||||
"hunyuan-t1-vision": {
|
||||
"description": "نموذج تفكير عميق متعدد الوسائط من Hunyuan، يدعم سلاسل التفكير الأصلية متعددة الوسائط، بارع في معالجة مختلف سيناريوهات الاستدلال على الصور، ويحقق تحسينًا شاملاً مقارنة بنموذج التفكير السريع في مسائل العلوم."
|
||||
@@ -1865,17 +1682,8 @@
|
||||
"imagen-4.0-ultra-generate-preview-06-06": {
|
||||
"description": "نسخة ألترا من سلسلة نموذج Imagen للجيل الرابع لتحويل النص إلى صورة"
|
||||
},
|
||||
"inception/mercury-coder-small": {
|
||||
"description": "Mercury Coder Small هو الخيار المثالي لمهام توليد الكود، وتصحيح الأخطاء، وإعادة الهيكلة، مع أدنى تأخير."
|
||||
},
|
||||
"inclusionAI/Ling-flash-2.0": {
|
||||
"description": "Ling-flash-2.0 هو النموذج الثالث في سلسلة بنية Ling 2.0 التي أصدرها فريق Bailing في مجموعة Ant. هو نموذج خبراء مختلط (MoE) بحجم إجمالي 100 مليار معلمة، لكنه ينشط فقط 6.1 مليار معلمة لكل رمز (غير متضمنة تمثيلات الكلمات 4.8 مليار). كنموذج خفيف الوزن، أظهر Ling-flash-2.0 أداءً يضاهي أو يتفوق على نماذج كثيفة بحجم 40 مليار معلمة ونماذج MoE أكبر في عدة تقييمات موثوقة. يهدف النموذج إلى استكشاف مسارات عالية الكفاءة من خلال تصميم معماري واستراتيجيات تدريب متقدمة، في ظل القناعة بأن \"النموذج الكبير يعني معلمات كثيرة\"."
|
||||
},
|
||||
"inclusionAI/Ling-mini-2.0": {
|
||||
"description": "Ling-mini-2.0 هو نموذج لغة كبير صغير الحجم وعالي الأداء مبني على بنية MoE. يحتوي على 16 مليار معلمة إجمالية، لكنه ينشط فقط 1.4 مليار معلمة لكل رمز (غير متضمنة التضمين 789 مليون)، مما يحقق سرعة توليد عالية جدًا. بفضل تصميم MoE الفعال وبيانات تدريب ضخمة وعالية الجودة، رغم تنشيط معلمات قليلة، يظهر Ling-mini-2.0 أداءً متقدمًا في المهام اللاحقة يضاهي نماذج LLM كثيفة أقل من 10 مليارات معلمة ونماذج MoE أكبر."
|
||||
},
|
||||
"inclusionAI/Ring-flash-2.0": {
|
||||
"description": "Ring-flash-2.0 هو نموذج تفكير عالي الأداء محسّن بعمق بناءً على Ling-flash-2.0-base. يستخدم بنية خبراء مختلط (MoE) بحجم إجمالي 100 مليار معلمة، لكنه ينشط فقط 6.1 مليار معلمة في كل استدلال. يحل النموذج من خلال خوارزمية icepop المبتكرة مشكلة عدم استقرار نماذج MoE الكبيرة في تدريب التعلم المعزز (RL)، مما يسمح بتحسين مستمر لقدرات الاستدلال المعقدة خلال التدريب طويل الأمد. حقق Ring-flash-2.0 تقدمًا ملحوظًا في مسابقات الرياضيات، توليد الشيفرة، والاستدلال المنطقي، متفوقًا على أفضل النماذج الكثيفة التي تقل عن 40 مليار معلمة، وقريبًا من نماذج MoE مفتوحة المصدر الأكبر ونماذج التفكير عالية الأداء المغلقة المصدر. رغم تركيزه على الاستدلال المعقد، يظهر أداءً ممتازًا في مهام الكتابة الإبداعية. بالإضافة إلى ذلك، وبفضل تصميمه المعماري الفعال، يوفر Ring-flash-2.0 أداءً قويًا مع استدلال عالي السرعة، مما يقلل بشكل كبير من تكلفة نشر نماذج التفكير في بيئات ذات حمل عالٍ."
|
||||
"imagen4/preview": {
|
||||
"description": "نموذج توليد صور عالي الجودة مقدم من جوجل."
|
||||
},
|
||||
"internlm/internlm2_5-7b-chat": {
|
||||
"description": "InternLM2.5 يوفر حلول حوار ذكية في عدة سيناريوهات."
|
||||
@@ -1910,9 +1718,6 @@
|
||||
"kimi-k2-0711-preview": {
|
||||
"description": "kimi-k2 هو نموذج أساسي بمعمارية MoE يتمتع بقدرات فائقة في البرمجة والوكيل، مع إجمالي 1 تريليون معلمة و32 مليار معلمة مفعلة. في اختبارات الأداء الأساسية في مجالات المعرفة العامة، البرمجة، الرياضيات، والوكيل، يتفوق نموذج K2 على النماذج المفتوحة المصدر الرئيسية الأخرى."
|
||||
},
|
||||
"kimi-k2-0905-preview": {
|
||||
"description": "نموذج kimi-k2-0905-preview يدعم طول سياق 256k، يتمتع بقدرات ترميز وكيل أقوى، وجمالية وعملية أفضل في الشيفرة الأمامية، وفهم سياق محسن."
|
||||
},
|
||||
"kimi-k2-turbo-preview": {
|
||||
"description": "kimi-k2 هو نموذج أساسي بمعمارية MoE يتمتع بقدرات قوية للغاية في البرمجة وقدرات الوكيل (Agent)، بإجمالي معلمات يبلغ 1 تريليون والمعلمات المُفعَّلة 32 مليار. في اختبارات الأداء المعيارية للفئات الرئيسية مثل الاستدلال المعرفي العام والبرمجة والرياضيات والوكلاء (Agent)، تفوق أداء نموذج K2 على النماذج المفتوحة المصدر السائدة الأخرى."
|
||||
},
|
||||
@@ -2001,10 +1806,7 @@
|
||||
"description": "LLaVA هو نموذج متعدد الوسائط يجمع بين مشفرات بصرية وVicuna، يستخدم لفهم بصري ولغوي قوي."
|
||||
},
|
||||
"magistral-medium-latest": {
|
||||
"description": "Magistral Medium 1.2 هو نموذج استدلال متقدم مع دعم بصري، أطلقته Mistral AI في سبتمبر 2025."
|
||||
},
|
||||
"magistral-small-2509": {
|
||||
"description": "Magistral Small 1.2 هو نموذج استدلال صغير مفتوح المصدر مع دعم بصري، أطلقته Mistral AI في سبتمبر 2025."
|
||||
"description": "Magistral Medium 1.1 هو نموذج استدلال رائد أطلقته Mistral AI في يوليو 2025."
|
||||
},
|
||||
"mathstral": {
|
||||
"description": "MathΣtral مصمم للبحث العلمي والاستدلال الرياضي، يوفر قدرة حسابية فعالة وتفسير النتائج."
|
||||
@@ -2153,63 +1955,30 @@
|
||||
"meta/Meta-Llama-3.1-8B-Instruct": {
|
||||
"description": "نموذج نصي معدل للتعليمات من Llama 3.1، محسن لحالات استخدام الحوار متعدد اللغات، ويحقق أداءً ممتازًا في العديد من معايير الصناعة مقارنة بالعديد من نماذج الدردشة المفتوحة والمغلقة."
|
||||
},
|
||||
"meta/llama-3-70b": {
|
||||
"description": "نموذج مفتوح المصدر مكون من 70 مليار معلمة، تم ضبطه بعناية من قبل Meta لأغراض الامتثال للتعليمات. يتم تشغيله بواسطة Groq باستخدام وحدة معالجة اللغة المخصصة (LPU) لتوفير استدلال سريع وفعال."
|
||||
},
|
||||
"meta/llama-3-8b": {
|
||||
"description": "نموذج مفتوح المصدر مكون من 8 مليارات معلمة، تم ضبطه بعناية من قبل Meta لأغراض الامتثال للتعليمات. يتم تشغيله بواسطة Groq باستخدام وحدة معالجة اللغة المخصصة (LPU) لتوفير استدلال سريع وفعال."
|
||||
},
|
||||
"meta/llama-3.1-405b-instruct": {
|
||||
"description": "نموذج لغوي متقدم، يدعم توليد البيانات الاصطناعية، وتقطير المعرفة، والاستدلال، مناسب للدردشة، والبرمجة، والمهام الخاصة."
|
||||
},
|
||||
"meta/llama-3.1-70b": {
|
||||
"description": "نسخة محدثة من Meta Llama 3 70B Instruct، تشمل طول سياق موسع 128K، ودعم متعدد اللغات، وقدرات استدلال محسنة."
|
||||
},
|
||||
"meta/llama-3.1-70b-instruct": {
|
||||
"description": "يمكنه تمكين المحادثات المعقدة، ويتميز بفهم سياقي ممتاز، وقدرات استدلال، وقدرة على توليد النصوص."
|
||||
},
|
||||
"meta/llama-3.1-8b": {
|
||||
"description": "Llama 3.1 8B يدعم نافذة سياق 128K، مما يجعله خيارًا مثاليًا لواجهات المحادثة الحية وتحليل البيانات، مع توفير توفير كبير في التكلفة مقارنة بالنماذج الأكبر. يتم تشغيله بواسطة Groq باستخدام وحدة معالجة اللغة المخصصة (LPU) لتوفير استدلال سريع وفعال."
|
||||
},
|
||||
"meta/llama-3.1-8b-instruct": {
|
||||
"description": "نموذج متقدم من الطراز الأول، يتمتع بفهم اللغة، وقدرات استدلال ممتازة، وقدرة على توليد النصوص."
|
||||
},
|
||||
"meta/llama-3.2-11b": {
|
||||
"description": "نموذج توليد استدلال الصور مضبوط بالتعليمات (نص + إدخال صورة / إخراج نص)، محسن للتعرف البصري، استدلال الصور، توليد العناوين، والإجابة على الأسئلة العامة المتعلقة بالصور."
|
||||
},
|
||||
"meta/llama-3.2-11b-vision-instruct": {
|
||||
"description": "نموذج متقدم للرؤية واللغة، بارع في إجراء استدلال عالي الجودة من الصور."
|
||||
},
|
||||
"meta/llama-3.2-1b": {
|
||||
"description": "نموذج نصي فقط، يدعم حالات الاستخدام على الجهاز مثل استرجاع المعرفة المحلية متعددة اللغات، التلخيص، وإعادة الصياغة."
|
||||
},
|
||||
"meta/llama-3.2-1b-instruct": {
|
||||
"description": "نموذج لغوي صغير متقدم، يتمتع بفهم اللغة، وقدرات استدلال ممتازة، وقدرة على توليد النصوص."
|
||||
},
|
||||
"meta/llama-3.2-3b": {
|
||||
"description": "نموذج نصي فقط، مضبوط بعناية لدعم حالات الاستخدام على الجهاز مثل استرجاع المعرفة المحلية متعددة اللغات، التلخيص، وإعادة الصياغة."
|
||||
},
|
||||
"meta/llama-3.2-3b-instruct": {
|
||||
"description": "نموذج لغوي صغير متقدم، يتمتع بفهم اللغة، وقدرات استدلال ممتازة، وقدرة على توليد النصوص."
|
||||
},
|
||||
"meta/llama-3.2-90b": {
|
||||
"description": "نموذج توليد استدلال الصور مضبوط بالتعليمات (نص + إدخال صورة / إخراج نص)، محسن للتعرف البصري، استدلال الصور، توليد العناوين، والإجابة على الأسئلة العامة المتعلقة بالصور."
|
||||
},
|
||||
"meta/llama-3.2-90b-vision-instruct": {
|
||||
"description": "نموذج متقدم للرؤية واللغة، بارع في إجراء استدلال عالي الجودة من الصور."
|
||||
},
|
||||
"meta/llama-3.3-70b": {
|
||||
"description": "مزيج مثالي من الأداء والكفاءة. يدعم النموذج ذكاءً اصطناعيًا حواريًا عالي الأداء، مصممًا لإنشاء المحتوى، التطبيقات المؤسسية، والبحث، ويقدم قدرات متقدمة في فهم اللغة تشمل التلخيص النصي، التصنيف، تحليل المشاعر، وتوليد الكود."
|
||||
},
|
||||
"meta/llama-3.3-70b-instruct": {
|
||||
"description": "نموذج لغوي متقدم، بارع في الاستدلال، والرياضيات، والمعرفة العامة، واستدعاء الدوال."
|
||||
},
|
||||
"meta/llama-4-maverick": {
|
||||
"description": "مجموعة نماذج Llama 4 هي نماذج ذكاء اصطناعي متعددة الوسائط أصلية تدعم النص والتجارب متعددة الوسائط. تستفيد هذه النماذج من بنية الخبراء المختلطة لتقديم أداء رائد في الصناعة في فهم النصوص والصور. Llama 4 Maverick، نموذج مكون من 17 مليار معلمة مع 128 خبيرًا. مقدم الخدمة DeepInfra."
|
||||
},
|
||||
"meta/llama-4-scout": {
|
||||
"description": "مجموعة نماذج Llama 4 هي نماذج ذكاء اصطناعي متعددة الوسائط أصلية تدعم النص والتجارب متعددة الوسائط. تستفيد هذه النماذج من بنية الخبراء المختلطة لتقديم أداء رائد في الصناعة في فهم النصوص والصور. Llama 4 Scout، نموذج مكون من 17 مليار معلمة مع 16 خبيرًا. مقدم الخدمة DeepInfra."
|
||||
},
|
||||
"microsoft/Phi-3-medium-128k-instruct": {
|
||||
"description": "نفس نموذج Phi-3-medium ولكن مع حجم سياق أكبر، مناسب لـ RAG أو القليل من التلميحات."
|
||||
},
|
||||
@@ -2285,45 +2054,6 @@
|
||||
"mistral-small-latest": {
|
||||
"description": "Mistral Small هو خيار فعال من حيث التكلفة وسريع وموثوق، مناسب لمهام الترجمة، والتلخيص، وتحليل المشاعر."
|
||||
},
|
||||
"mistral/codestral": {
|
||||
"description": "Mistral Codestral 25.01 هو نموذج ترميز متقدم، مُحسّن للحالات التي تتطلب تأخيرًا منخفضًا وترددًا عاليًا. يتقن أكثر من 80 لغة برمجة، ويبرع في مهام الملء الوسيط (FIM)، تصحيح الكود، وتوليد الاختبارات."
|
||||
},
|
||||
"mistral/codestral-embed": {
|
||||
"description": "نموذج تضمين الكود يمكن دمجه في قواعد بيانات ومستودعات الكود لدعم مساعدي الترميز."
|
||||
},
|
||||
"mistral/devstral-small": {
|
||||
"description": "Devstral هو نموذج لغة كبير وكيل مخصص لمهام هندسة البرمجيات، مما يجعله خيارًا ممتازًا كوكلاء هندسة البرمجيات."
|
||||
},
|
||||
"mistral/magistral-medium": {
|
||||
"description": "تفكير معقد مدعوم بفهم عميق، مع استدلال شفاف يمكنك متابعته والتحقق منه. يحافظ النموذج على استدلال عالي الدقة عبر لغات متعددة حتى عند التبديل بين اللغات أثناء المهمة."
|
||||
},
|
||||
"mistral/magistral-small": {
|
||||
"description": "تفكير معقد مدعوم بفهم عميق، مع استدلال شفاف يمكنك متابعته والتحقق منه. يحافظ النموذج على استدلال عالي الدقة عبر لغات متعددة حتى عند التبديل بين اللغات أثناء المهمة."
|
||||
},
|
||||
"mistral/ministral-3b": {
|
||||
"description": "نموذج مضغوط وفعال للمهام على الأجهزة مثل المساعدات الذكية والتحليل المحلي، يقدم أداء منخفض التأخير."
|
||||
},
|
||||
"mistral/ministral-8b": {
|
||||
"description": "نموذج أقوى مع استدلال أسرع وأكثر كفاءة في الذاكرة، مثالي لسير العمل المعقد وتطبيقات الحافة ذات المتطلبات العالية."
|
||||
},
|
||||
"mistral/mistral-embed": {
|
||||
"description": "نموذج تضمين نص عام للبحث الدلالي، التشابه، التجميع، وسير عمل RAG."
|
||||
},
|
||||
"mistral/mistral-large": {
|
||||
"description": "Mistral Large هو الخيار المثالي للمهام المعقدة التي تتطلب قدرات استدلال كبيرة أو تخصص عالي مثل توليد النصوص المركبة، توليد الكود، RAG أو الوكالة."
|
||||
},
|
||||
"mistral/mistral-small": {
|
||||
"description": "Mistral Small هو الخيار المثالي للمهام البسيطة التي يمكن تنفيذها دفعة واحدة مثل التصنيف، دعم العملاء، أو توليد النصوص. يقدم أداءً ممتازًا بسعر معقول."
|
||||
},
|
||||
"mistral/mixtral-8x22b-instruct": {
|
||||
"description": "نموذج 8x22b Instruct. 8x22b هو نموذج مفتوح المصدر من خبراء مختلطين مقدم من Mistral."
|
||||
},
|
||||
"mistral/pixtral-12b": {
|
||||
"description": "نموذج 12B مع قدرات فهم الصور بالإضافة إلى النص."
|
||||
},
|
||||
"mistral/pixtral-large": {
|
||||
"description": "Pixtral Large هو النموذج الثاني في عائلة النماذج متعددة الوسائط لدينا، ويظهر مستوى متقدمًا في فهم الصور. بشكل خاص، يمكن للنموذج فهم المستندات، المخططات، والصور الطبيعية، مع الحفاظ على قدرات فهم النص الرائدة في Mistral Large 2."
|
||||
},
|
||||
"mistralai/Mistral-7B-Instruct-v0.1": {
|
||||
"description": "Mistral (7B) Instruct معروف بأدائه العالي، مناسب لمهام لغوية متعددة."
|
||||
},
|
||||
@@ -2384,23 +2114,11 @@
|
||||
"moonshotai/Kimi-Dev-72B": {
|
||||
"description": "Kimi-Dev-72B هو نموذج مفتوح المصدر للبرمجة، تم تحسينه عبر تعلم معزز واسع النطاق، قادر على إنتاج تصحيحات مستقرة وجاهزة للإنتاج مباشرة. حقق هذا النموذج نتيجة قياسية جديدة بنسبة 60.4% على SWE-bench Verified، محطماً الأرقام القياسية للنماذج المفتوحة المصدر في مهام هندسة البرمجيات الآلية مثل إصلاح العيوب ومراجعة الشيفرة."
|
||||
},
|
||||
"moonshotai/Kimi-K2-Instruct-0905": {
|
||||
"description": "Kimi K2-Instruct-0905 هو أحدث وأقوى إصدار من Kimi K2. إنه نموذج لغوي من نوع الخبراء المختلطين (MoE) من الطراز الأول، يحتوي على تريليون معلمة إجمالية و32 مليار معلمة مفعلة. تشمل الميزات الرئيسية للنموذج: تعزيز ذكاء التكويد للوكيل، مع تحسينات ملحوظة في الأداء في اختبارات المعيار المفتوحة ومهام التكويد الواقعية للوكيل؛ تحسين تجربة التكويد في الواجهة الأمامية، مع تقدم في الجمالية والعملية في برمجة الواجهة الأمامية."
|
||||
"moonshotai/Kimi-K2-Instruct": {
|
||||
"description": "Kimi K2 هو نموذج أساسي يعتمد على بنية MoE يتمتع بقدرات قوية في البرمجة والوكيل، يحتوي على 1 تريليون معلمة و32 مليار معلمة مفعلة. يتفوق نموذج K2 في اختبارات الأداء الأساسية في مجالات المعرفة العامة، البرمجة، الرياضيات والوكيل مقارنة بالنماذج المفتوحة المصدر الأخرى."
|
||||
},
|
||||
"moonshotai/kimi-k2": {
|
||||
"description": "Kimi K2 هو نموذج لغة كبير مختلط الخبراء (MoE) ضخم طورته Moonshot AI، يحتوي على تريليون معلمة إجمالية و32 مليار معلمة نشطة في كل تمرير أمامي. مُحسّن لقدرات الوكيل، بما في ذلك استخدام الأدوات المتقدمة، الاستدلال، وتركيب الكود."
|
||||
},
|
||||
"moonshotai/kimi-k2-0905": {
|
||||
"description": "نموذج kimi-k2-0905-preview يدعم طول سياق 256k، يتمتع بقدرات ترميز وكيل أقوى، وجمالية وعملية أفضل في الشيفرة الأمامية، وفهم سياق محسن."
|
||||
},
|
||||
"moonshotai/kimi-k2-instruct-0905": {
|
||||
"description": "نموذج kimi-k2-0905-preview يدعم طول سياق 256k، يتمتع بقدرات ترميز وكيل أقوى، وجمالية وعملية أفضل في الشيفرة الأمامية، وفهم سياق محسن."
|
||||
},
|
||||
"morph/morph-v3-fast": {
|
||||
"description": "Morph يقدم نموذج ذكاء اصطناعي مخصص يطبق تغييرات الكود المقترحة من نماذج متقدمة مثل Claude أو GPT-4o على ملفات الكود الحالية بسرعة فائقة - أكثر من 4500 رمز في الثانية. يعمل كخطوة نهائية في سير عمل الترميز بالذكاء الاصطناعي. يدعم 16k رمز إدخال و16k رمز إخراج."
|
||||
},
|
||||
"morph/morph-v3-large": {
|
||||
"description": "Morph يقدم نموذج ذكاء اصطناعي مخصص يطبق تغييرات الكود المقترحة من نماذج متقدمة مثل Claude أو GPT-4o على ملفات الكود الحالية بسرعة - أكثر من 2500 رمز في الثانية. يعمل كخطوة نهائية في سير عمل الترميز بالذكاء الاصطناعي. يدعم 16k رمز إدخال و16k رمز إخراج."
|
||||
"moonshotai/kimi-k2-instruct": {
|
||||
"description": "kimi-k2 هو نموذج أساسي مبني على بنية MoE يتمتع بقدرات فائقة في البرمجة والوكيل، مع إجمالي 1 تريليون معلمة و32 مليار معلمة مفعلة. في اختبارات الأداء المعيارية في مجالات المعرفة العامة، البرمجة، الرياضيات، والوكيل، يتفوق نموذج K2 على النماذج المفتوحة المصدر الرئيسية الأخرى."
|
||||
},
|
||||
"nousresearch/hermes-2-pro-llama-3-8b": {
|
||||
"description": "Hermes 2 Pro Llama 3 8B هو إصدار مطور من Nous Hermes 2، ويحتوي على أحدث مجموعات البيانات المطورة داخليًا."
|
||||
@@ -2429,9 +2147,6 @@
|
||||
"o3": {
|
||||
"description": "o3 هو نموذج قوي شامل، يظهر أداءً ممتازًا في مجالات متعددة. يضع معايير جديدة في المهام الرياضية، العلمية، البرمجية، واستدلال الرؤية. كما أنه بارع في الكتابة التقنية واتباع التعليمات. يمكن للمستخدمين استخدامه لتحليل النصوص، الأكواد، والصور، وحل المشكلات المعقدة متعددة الخطوات."
|
||||
},
|
||||
"o3-2025-04-16": {
|
||||
"description": "o3 هو نموذج استدلال جديد من OpenAI، يدعم إدخال الصور والنصوص ويخرج نصًا، مناسب للمهام المعقدة التي تتطلب معرفة عامة واسعة."
|
||||
},
|
||||
"o3-deep-research": {
|
||||
"description": "o3-deep-research هو نموذج البحث العميق الأكثر تقدمًا لدينا، مصمم خصيصًا للتعامل مع مهام البحث المعقدة متعددة الخطوات. يمكنه البحث وتجميع المعلومات من الإنترنت، كما يمكنه الوصول إلى بياناتك الخاصة واستخدامها من خلال موصل MCP."
|
||||
},
|
||||
@@ -2441,15 +2156,9 @@
|
||||
"o3-pro": {
|
||||
"description": "نموذج o3-pro يستخدم موارد حسابية أكبر للتفكير الأعمق وتقديم إجابات أفضل باستمرار، ويدعم الاستخدام فقط عبر واجهة برمجة التطبيقات Responses API."
|
||||
},
|
||||
"o3-pro-2025-06-10": {
|
||||
"description": "o3 Pro هو نموذج استدلال جديد من OpenAI، يدعم إدخال الصور والنصوص ويخرج نصًا، مناسب للمهام المعقدة التي تتطلب معرفة عامة واسعة."
|
||||
},
|
||||
"o4-mini": {
|
||||
"description": "o4-mini هو أحدث نموذج صغير من سلسلة o. تم تحسينه للاستدلال السريع والفعال، ويظهر كفاءة وأداء عاليين في المهام البرمجية والرؤية."
|
||||
},
|
||||
"o4-mini-2025-04-16": {
|
||||
"description": "o4-mini هو نموذج استدلال من OpenAI، يدعم إدخال الصور والنصوص ويخرج نصًا، مناسب للمهام التي تتطلب معرفة عامة واسعة. يحتوي النموذج على سياق يصل إلى 200 ألف كلمة."
|
||||
},
|
||||
"o4-mini-deep-research": {
|
||||
"description": "o4-mini-deep-research هو نموذج البحث العميق الأسرع والأكثر اقتصادية لدينا — مثالي للتعامل مع مهام البحث المعقدة متعددة الخطوات. يمكنه البحث وتجميع المعلومات من الإنترنت، كما يمكنه الوصول إلى بياناتك الخاصة واستخدامها من خلال موصل MCP."
|
||||
},
|
||||
@@ -2468,47 +2177,29 @@
|
||||
"open-mixtral-8x7b": {
|
||||
"description": "Mixtral 8x7B هو نموذج خبير نادر، يستخدم عدة معلمات لزيادة سرعة الاستدلال، مناسب لمعالجة المهام متعددة اللغات وتوليد الشيفرة."
|
||||
},
|
||||
"openai/gpt-3.5-turbo": {
|
||||
"description": "أكثر نماذج GPT-3.5 كفاءة من حيث الأداء والتكلفة من OpenAI، مُحسّن للدردشة، لكنه يؤدي جيدًا أيضًا في مهام الإكمال التقليدية."
|
||||
},
|
||||
"openai/gpt-3.5-turbo-instruct": {
|
||||
"description": "قدرات مشابهة لنماذج عصر GPT-3. متوافق مع نقاط نهاية الإكمال التقليدية بدلاً من نقاط نهاية إكمال الدردشة."
|
||||
},
|
||||
"openai/gpt-4-turbo": {
|
||||
"description": "gpt-4-turbo من OpenAI يمتلك معرفة عامة واسعة وخبرة ميدانية، مما يمكنه من اتباع تعليمات اللغة الطبيعية المعقدة وحل المشكلات بدقة. تاريخ المعرفة حتى أبريل 2023، ونافذة سياق تصل إلى 128,000 رمز."
|
||||
},
|
||||
"openai/gpt-4.1": {
|
||||
"description": "GPT 4.1 هو النموذج الرائد من OpenAI، مناسب للمهام المعقدة. مثالي لحل المشكلات متعددة المجالات."
|
||||
"description": "GPT-4.1 هو نموذجنا الرائد للمهام المعقدة. إنه مثالي لحل المشكلات عبر مجالات متعددة."
|
||||
},
|
||||
"openai/gpt-4.1-mini": {
|
||||
"description": "GPT 4.1 mini يوازن بين الذكاء والسرعة والتكلفة، مما يجعله نموذجًا جذابًا للعديد من حالات الاستخدام."
|
||||
"description": "يوفر GPT-4.1 mini توازنًا بين الذكاء والسرعة والتكلفة، مما يجعله نموذجًا جذابًا للعديد من الاستخدامات."
|
||||
},
|
||||
"openai/gpt-4.1-nano": {
|
||||
"description": "GPT-4.1 nano هو أسرع وأكفأ نموذج GPT 4.1 من حيث التكلفة."
|
||||
"description": "GPT-4.1 nano هو أسرع وأقل تكلفة من نماذج GPT-4.1."
|
||||
},
|
||||
"openai/gpt-4o": {
|
||||
"description": "GPT-4o من OpenAI يمتلك معرفة عامة واسعة وخبرة ميدانية، قادر على اتباع تعليمات اللغة الطبيعية المعقدة وحل المشكلات بدقة. يقدم أداءً مماثلًا لـ GPT-4 Turbo عبر API أسرع وأرخص."
|
||||
"description": "ChatGPT-4o هو نموذج ديناميكي يتم تحديثه في الوقت الحقيقي للحفاظ على أحدث إصدار. يجمع بين فهم اللغة القوي وقدرة التوليد، مما يجعله مناسبًا لمجموعة واسعة من التطبيقات، بما في ذلك خدمة العملاء والتعليم والدعم الفني."
|
||||
},
|
||||
"openai/gpt-4o-mini": {
|
||||
"description": "GPT-4o mini من OpenAI هو أصغر نموذج متقدم وأكثر كفاءة من حيث التكلفة. متعدد الوسائط (يقبل نصوصًا أو صورًا ويخرج نصًا)، وأكثر ذكاءً من gpt-3.5-turbo، مع سرعة مماثلة."
|
||||
},
|
||||
"openai/gpt-5": {
|
||||
"description": "GPT-5 هو النموذج الرائد من OpenAI، يتفوق في الاستدلال المعقد، المعرفة الواقعية الواسعة، المهام المكثفة للكود، والوكالة متعددة الخطوات."
|
||||
},
|
||||
"openai/gpt-5-mini": {
|
||||
"description": "GPT-5 mini هو نموذج محسّن من حيث التكلفة، يقدم أداءً ممتازًا في مهام الاستدلال والدردشة. يوفر توازنًا مثاليًا بين السرعة والتكلفة والقدرة."
|
||||
},
|
||||
"openai/gpt-5-nano": {
|
||||
"description": "GPT-5 nano هو نموذج عالي الإنتاجية، يتفوق في المهام البسيطة مثل التعليمات أو التصنيف."
|
||||
"description": "GPT-4o mini هو أحدث نموذج من OpenAI تم إطلاقه بعد GPT-4 Omni، ويدعم إدخال النصوص والصور وإخراج النصوص. كأحد نماذجهم المتقدمة الصغيرة، فهو أرخص بكثير من النماذج الرائدة الأخرى في الآونة الأخيرة، وأرخص بأكثر من 60% من GPT-3.5 Turbo. يحتفظ بذكاء متقدم مع قيمة ممتازة. حصل GPT-4o mini على 82% في اختبار MMLU، وهو حاليًا يتفوق على GPT-4 في تفضيلات الدردشة."
|
||||
},
|
||||
"openai/gpt-oss-120b": {
|
||||
"description": "نموذج لغة كبير عام عالي الكفاءة، يتمتع بقدرات استدلال قوية وقابلة للتحكم."
|
||||
"description": "OpenAI GPT-OSS 120B هو نموذج لغوي رائد يحتوي على 120 مليار معلمة، مزود بميزات تصفح الإنترنت وتنفيذ الأكواد، ويتميز بقدرات استدلالية."
|
||||
},
|
||||
"openai/gpt-oss-20b": {
|
||||
"description": "نموذج لغة مضغوط مفتوح المصدر، مُحسّن للتأخير المنخفض والبيئات ذات الموارد المحدودة، بما في ذلك النشر المحلي وعلى الحافة."
|
||||
"description": "OpenAI GPT-OSS 20B هو نموذج لغوي رائد يحتوي على 20 مليار معلمة، مزود بميزات تصفح الإنترنت وتنفيذ الأكواد، ويتميز بقدرات استدلالية."
|
||||
},
|
||||
"openai/o1": {
|
||||
"description": "o1 من OpenAI هو نموذج استدلال رائد، مصمم للمشكلات المعقدة التي تتطلب تفكيرًا عميقًا. يوفر قدرات استدلال قوية ودقة أعلى للمهام متعددة الخطوات."
|
||||
"description": "o1 هو نموذج الاستدلال الجديد من OpenAI، يدعم إدخال الصور والنصوص ويخرج نصًا، مناسب للمهام المعقدة التي تتطلب معرفة عامة واسعة. يتميز هذا النموذج بسياق يصل إلى 200 ألف كلمة وتاريخ معرفة حتى أكتوبر 2023."
|
||||
},
|
||||
"openai/o1-mini": {
|
||||
"description": "o1-mini هو نموذج استدلال سريع وفعال من حيث التكلفة مصمم لتطبيقات البرمجة والرياضيات والعلوم. يحتوي هذا النموذج على 128K من السياق وتاريخ انتهاء المعرفة في أكتوبر 2023."
|
||||
@@ -2517,44 +2208,23 @@
|
||||
"description": "o1 هو نموذج استدلال جديد من OpenAI، مناسب للمهام المعقدة التي تتطلب معرفة عامة واسعة. يحتوي هذا النموذج على 128K من السياق وتاريخ انتهاء المعرفة في أكتوبر 2023."
|
||||
},
|
||||
"openai/o3": {
|
||||
"description": "o3 من OpenAI هو أقوى نموذج استدلال، يضع معايير جديدة في الترميز، الرياضيات، العلوم، والإدراك البصري. يتفوق في الاستعلامات المعقدة التي تتطلب تحليلات متعددة الجوانب، وله ميزة خاصة في تحليل الصور، المخططات، والرسوم البيانية."
|
||||
"description": "o3 هو نموذج قوي شامل، يظهر أداءً ممتازًا في مجالات متعددة. إنه يضع معيارًا جديدًا لمهام الرياضيات والعلوم والبرمجة والتفكير البصري. كما أنه بارع في الكتابة التقنية واتباع التعليمات. يمكن للمستخدمين الاستفادة منه في تحليل النصوص والرموز والصور، وحل المشكلات المعقدة متعددة الخطوات."
|
||||
},
|
||||
"openai/o3-mini": {
|
||||
"description": "o3-mini هو أحدث نموذج استدلال صغير من OpenAI، يقدم ذكاءً عاليًا بنفس تكلفة وتأخير o1-mini."
|
||||
"description": "o3-mini يقدم ذكاءً عاليًا بنفس تكلفة وأهداف التأخير مثل o1-mini."
|
||||
},
|
||||
"openai/o3-mini-high": {
|
||||
"description": "o3-mini عالي المستوى من حيث الاستدلال، يقدم ذكاءً عاليًا بنفس تكلفة وأهداف التأخير مثل o1-mini."
|
||||
},
|
||||
"openai/o4-mini": {
|
||||
"description": "o4-mini من OpenAI يقدم استدلالًا سريعًا وفعالًا من حيث التكلفة، مع أداء ممتاز بالنسبة لحجمه، خاصة في الرياضيات (الأفضل في اختبار AIME)، الترميز، والمهام البصرية."
|
||||
"description": "o4-mini تم تحسينه للاستدلال السريع والفعال، ويظهر كفاءة وأداء عاليين في المهام البرمجية والرؤية."
|
||||
},
|
||||
"openai/o4-mini-high": {
|
||||
"description": "o4-mini إصدار عالي من حيث مستوى الاستدلال، تم تحسينه للاستدلال السريع والفعال، ويظهر كفاءة وأداء عاليين في المهام البرمجية والرؤية."
|
||||
},
|
||||
"openai/text-embedding-3-large": {
|
||||
"description": "أكثر نماذج التضمين كفاءة من OpenAI، مناسب للمهام الإنجليزية وغير الإنجليزية."
|
||||
},
|
||||
"openai/text-embedding-3-small": {
|
||||
"description": "نسخة محسنة وأعلى أداء من نموذج تضمين ada من OpenAI."
|
||||
},
|
||||
"openai/text-embedding-ada-002": {
|
||||
"description": "نموذج تضمين نصي تقليدي من OpenAI."
|
||||
},
|
||||
"openrouter/auto": {
|
||||
"description": "استنادًا إلى طول السياق، والموضوع، والتعقيد، سيتم إرسال طلبك إلى Llama 3 70B Instruct، أو Claude 3.5 Sonnet (التعديل الذاتي) أو GPT-4o."
|
||||
},
|
||||
"perplexity/sonar": {
|
||||
"description": "منتج خفيف الوزن من Perplexity مع قدرة البحث الموجه، أسرع وأرخص من Sonar Pro."
|
||||
},
|
||||
"perplexity/sonar-pro": {
|
||||
"description": "المنتج الرائد من Perplexity مع قدرة البحث الموجه، يدعم الاستعلامات المتقدمة والمتابعات."
|
||||
},
|
||||
"perplexity/sonar-reasoning": {
|
||||
"description": "نموذج يركز على الاستدلال، ينتج سلاسل تفكير (CoT) في الردود، ويقدم تفسيرات مفصلة مع بحث موجه."
|
||||
},
|
||||
"perplexity/sonar-reasoning-pro": {
|
||||
"description": "نموذج استدلال متقدم يركز على إنتاج سلاسل تفكير (CoT) في الردود، مع قدرات بحث معززة واستعلامات بحث متعددة لكل طلب لتقديم تفسيرات شاملة."
|
||||
},
|
||||
"phi3": {
|
||||
"description": "Phi-3 هو نموذج مفتوح خفيف الوزن أطلقته Microsoft، مناسب للتكامل الفعال واستدلال المعرفة على نطاق واسع."
|
||||
},
|
||||
@@ -2595,7 +2265,7 @@
|
||||
"description": "Qwen-Image هي نموذج عام لتوليد الصور يدعم أنماطًا فنية متعددة، ويتميز بقدرته على عرض النصوص المعقدة، خصوصًا النصوص بالصينية والإنجليزية. يدعم النموذج تخطيطات متعددة الأسطر، وتوليد نص على مستوى الفقرات، وتمثيل التفاصيل الدقيقة، مما يتيح إنشاء تصميمات معقدة تمزج بين النص والصورة."
|
||||
},
|
||||
"qwen-image-edit": {
|
||||
"description": "Qwen Image Edit هو نموذج تحويل الصور إلى صور، يدعم تحرير وتعديل الصور بناءً على الصورة المدخلة والتعليمات النصية، ويستطيع إجراء تعديلات دقيقة وتحويلات إبداعية على الصورة الأصلية وفقًا لاحتياجات المستخدم."
|
||||
"description": "أصدر فريق Qwen نموذجًا احترافيًا لتحرير الصور يدعم التحرير الدلالي وتحرير المظهر، ويستطيع تحرير النصوص بالصينية والإنجليزية بدقة، وتحقيق تحويلات النمط وتدوير الكائنات، وغيرها من عمليات تحرير الصور عالية الجودة."
|
||||
},
|
||||
"qwen-long": {
|
||||
"description": "نموذج Qwen العملاق للغة، يدعم سياقات نصية طويلة، بالإضافة إلى وظائف الحوار المستندة إلى الوثائق الطويلة والعديد من الوثائق."
|
||||
@@ -2831,21 +2501,6 @@
|
||||
"qwen3-coder-plus": {
|
||||
"description": "نموذج كود Tongyi Qianwen. أحدث سلسلة نماذج Qwen3-Coder مبنية على Qwen3 لتوليد الأكواد، تتمتع بقدرات وكيل ترميز قوية، بارعة في استدعاء الأدوات والتفاعل مع البيئة، قادرة على البرمجة الذاتية، وتجمع بين مهارات برمجية ممتازة وقدرات عامة."
|
||||
},
|
||||
"qwen3-coder:480b": {
|
||||
"description": "نموذج عالي الأداء من علي بابا مخصص لمهام الوكيل والترميز مع سياق طويل."
|
||||
},
|
||||
"qwen3-max": {
|
||||
"description": "سلسلة نماذج Tongyi Qianwen 3 Max، التي تحسنت بشكل كبير مقارنة بسلسلة 2.5 في القدرات العامة، فهم النصوص باللغتين الصينية والإنجليزية، اتباع التعليمات المعقدة، المهام المفتوحة الذاتية، القدرات متعددة اللغات، واستدعاء الأدوات؛ مع تقليل الأوهام المعرفية للنموذج. النسخة الأحدث من qwen3-max: مقارنةً بنسخة qwen3-max-preview، تم ترقية خاصة في برمجة الوكلاء واستدعاء الأدوات. النسخة الرسمية المنشورة وصلت إلى مستوى SOTA في المجال، وتلبي احتياجات الوكلاء في سيناريوهات أكثر تعقيدًا."
|
||||
},
|
||||
"qwen3-next-80b-a3b-instruct": {
|
||||
"description": "نموذج مفتوح المصدر من الجيل الجديد لوضع عدم التفكير مبني على Qwen3، يتميز بفهم أفضل للنصوص الصينية مقارنة بالإصدار السابق (Tongyi Qianwen 3-235B-A22B-Instruct-2507)، مع تعزيز في قدرات الاستدلال المنطقي وأداء أفضل في مهام توليد النصوص."
|
||||
},
|
||||
"qwen3-next-80b-a3b-thinking": {
|
||||
"description": "نموذج مفتوح المصدر من الجيل الجديد لوضع التفكير مبني على Qwen3، يتميز بتحسين في الالتزام بالتعليمات مقارنة بالإصدار السابق (Tongyi Qianwen 3-235B-A22B-Thinking-2507)، مع ردود ملخصة وأكثر إيجازًا من النموذج."
|
||||
},
|
||||
"qwen3-vl-plus": {
|
||||
"description": "Tongyi Qianwen VL هو نموذج توليد نصوص يمتلك قدرات فهم بصرية (صور)، لا يقتصر على التعرف الضوئي على الحروف (OCR)، بل يمكنه أيضًا التلخيص والاستدلال، مثل استخراج خصائص من صور المنتجات، وحل المسائل بناءً على صور التمارين."
|
||||
},
|
||||
"qwq": {
|
||||
"description": "QwQ هو نموذج بحث تجريبي يركز على تحسين قدرات الاستدلال للذكاء الاصطناعي."
|
||||
},
|
||||
@@ -2990,9 +2645,18 @@
|
||||
"thudm/glm-4-9b-chat": {
|
||||
"description": "الإصدار المفتوح من الجيل الأحدث من نموذج GLM-4 الذي أطلقته Zhizhu AI."
|
||||
},
|
||||
"thudm/glm-4-9b:free": {
|
||||
"description": "GLM-4-9B-0414 هو نموذج لغوي يحتوي على 9 مليار معلمة من سلسلة GLM-4 التي تم تطويرها بواسطة THUDM. يستخدم GLM-4-9B-0414 نفس استراتيجيات تعزيز التعلم والتوافق المستخدمة في النموذج المقابل الأكبر 32B، مما يحقق أداءً عاليًا بالنسبة لحجمه، مما يجعله مناسبًا للنشر في البيئات المحدودة الموارد التي لا تزال تتطلب قدرات قوية في فهم اللغة وتوليدها."
|
||||
},
|
||||
"thudm/glm-z1-32b": {
|
||||
"description": "GLM-Z1-32B-0414 هو نسخة محسنة من GLM-4-32B، مصممة لحل المشكلات المعقدة في الرياضيات العميقة، المنطق، والشيفرات. يستخدم التعلم المعزز الموسع (المخصص للمهام والمبني على تفضيلات عامة) لتحسين الأداء في المهام المعقدة متعددة الخطوات. مقارنةً بنموذج GLM-4-32B الأساسي، زادت Z1 بشكل ملحوظ من قدرات الاستدلال الهيكلي والمجالات الرسمية.\n\nيدعم هذا النموذج تنفيذ خطوات \"التفكير\" من خلال هندسة التلميحات، ويقدم اتساقًا محسنًا للإخراج الطويل. تم تحسينه لعمليات سير العمل الخاصة بالوكيل، ويدعم السياقات الطويلة (عبر YaRN)، واستدعاءات أدوات JSON، وتكوينات أخذ العينات الدقيقة للاستدلال المستقر. مثالي للحالات التي تتطلب تفكيرًا عميقًا، استدلالًا متعدد الخطوات، أو استنتاجات رسمية."
|
||||
},
|
||||
"thudm/glm-z1-32b:free": {
|
||||
"description": "GLM-Z1-32B-0414 هو نسخة محسنة من GLM-4-32B، مصممة لحل المشكلات المعقدة في الرياضيات العميقة، المنطق، والشيفرات. يستخدم التعلم المعزز الموسع (المخصص للمهام والمبني على تفضيلات عامة) لتحسين الأداء في المهام المعقدة متعددة الخطوات. مقارنةً بنموذج GLM-4-32B الأساسي، زادت Z1 بشكل ملحوظ من قدرات الاستدلال الهيكلي والمجالات الرسمية.\n\nيدعم هذا النموذج تنفيذ خطوات \"التفكير\" من خلال هندسة التلميحات، ويقدم اتساقًا محسنًا للإخراج الطويل. تم تحسينه لعمليات سير العمل الخاصة بالوكيل، ويدعم السياقات الطويلة (عبر YaRN)، واستدعاءات أدوات JSON، وتكوينات أخذ العينات الدقيقة للاستدلال المستقر. مثالي للحالات التي تتطلب تفكيرًا عميقًا، استدلالًا متعدد الخطوات، أو استنتاجات رسمية."
|
||||
},
|
||||
"thudm/glm-z1-9b:free": {
|
||||
"description": "GLM-Z1-9B-0414 هو نموذج لغوي يحتوي على 9 مليار معلمة من سلسلة GLM-4 التي تم تطويرها بواسطة THUDM. يستخدم تقنيات تم تطبيقها في الأصل على نموذج GLM-Z1 الأكبر، بما في ذلك تعزيز التعلم الموسع، والتوافق القائم على الترتيب الثنائي، والتدريب على المهام التي تتطلب استدلالًا مكثفًا مثل الرياضيات، والترميز، والمنطق. على الرغم من حجمه الأصغر، إلا أنه يظهر أداءً قويًا في المهام العامة للاستدلال، ويتفوق على العديد من النماذج مفتوحة المصدر في مستوى وزنه."
|
||||
},
|
||||
"thudm/glm-z1-rumination-32b": {
|
||||
"description": "THUDM: GLM Z1 Rumination 32B هو نموذج استدلال عميق يحتوي على 32 مليار معلمة من سلسلة GLM-4-Z1، تم تحسينه للمهام المعقدة والمفتوحة التي تتطلب تفكيرًا طويل الأمد. يعتمد على glm-4-32b-0414، ويضيف مراحل تعزيز التعلم الإضافية واستراتيجيات التوافق متعددة المراحل، ويقدم قدرة \"التفكير\" المصممة لمحاكاة معالجة الإدراك الموسع. يشمل ذلك الاستدلال التكراري، والتحليل متعدد القفزات، وسير العمل المعزز بالأدوات مثل البحث، والاسترجاع، والتوليف المدرك للاقتباسات.\n\nيظهر هذا النموذج أداءً ممتازًا في الكتابة البحثية، والتحليل المقارن، والأسئلة المعقدة. يدعم استدعاء الوظائف المستخدمة في البحث والتنقل (مثل `search`، `click`، `open`، `finish`)، مما يسمح باستخدامه في أنابيب الوكلاء. يتم تشكيل سلوك التفكير من خلال مكافآت قائمة على القواعد وآلية اتخاذ القرار المتأخرة، ويتم قياسه باستخدام أطر بحث عميقة مثل كومة التوافق الداخلية لـ OpenAI. هذا المتغير مناسب للسيناريوهات التي تتطلب عمقًا بدلاً من السرعة."
|
||||
},
|
||||
@@ -3026,12 +2690,6 @@
|
||||
"v0-1.5-md": {
|
||||
"description": "نموذج v0-1.5-md مناسب للمهام اليومية وتوليد واجهات المستخدم (UI)"
|
||||
},
|
||||
"vercel/v0-1.0-md": {
|
||||
"description": "الوصول إلى النموذج خلف v0 لتوليد، إصلاح، وتحسين تطبيقات الويب الحديثة، مع استدلال مخصص للأطر المعينة ومعرفة حديثة."
|
||||
},
|
||||
"vercel/v0-1.5-md": {
|
||||
"description": "الوصول إلى النموذج خلف v0 لتوليد، إصلاح، وتحسين تطبيقات الويب الحديثة، مع استدلال مخصص للأطر المعينة ومعرفة حديثة."
|
||||
},
|
||||
"wan2.2-t2i-flash": {
|
||||
"description": "نسخة Wanxiang 2.2 فائقة السرعة، أحدث نموذج حاليًا. تم تحسين الإبداع، الاستقرار، والواقعية بشكل شامل، مع سرعة توليد عالية وقيمة ممتازة مقابل التكلفة."
|
||||
},
|
||||
@@ -3062,27 +2720,6 @@
|
||||
"x1": {
|
||||
"description": "سيتم ترقية نموذج Spark X1 بشكل أكبر، حيث ستحقق المهام العامة مثل الاستدلال، وتوليد النصوص، وفهم اللغة نتائج تتماشى مع OpenAI o1 و DeepSeek R1."
|
||||
},
|
||||
"xai/grok-2": {
|
||||
"description": "Grok 2 هو نموذج لغة متقدم بقدرات استدلال رائدة. يتميز بقدرات متقدمة في الدردشة، الترميز، والاستدلال، ويتفوق على Claude 3.5 Sonnet وGPT-4-Turbo في تصنيف LMSYS."
|
||||
},
|
||||
"xai/grok-2-vision": {
|
||||
"description": "نموذج Grok 2 البصري يتفوق في المهام المعتمدة على الرؤية، ويقدم أداءً رائدًا في الاستدلال الرياضي البصري (MathVista) والأسئلة المعتمدة على الوثائق (DocVQA). قادر على معالجة معلومات بصرية متنوعة تشمل الوثائق، المخططات، الرسوم البيانية، لقطات الشاشة، والصور."
|
||||
},
|
||||
"xai/grok-3": {
|
||||
"description": "النموذج الرائد من xAI، يتفوق في حالات الاستخدام المؤسسية مثل استخراج البيانات، الترميز، وتلخيص النصوص. يمتلك معرفة عميقة في مجالات المالية، الرعاية الصحية، القانون، والعلوم."
|
||||
},
|
||||
"xai/grok-3-fast": {
|
||||
"description": "النموذج الرائد من xAI، يتفوق في حالات الاستخدام المؤسسية مثل استخراج البيانات، الترميز، وتلخيص النصوص. النسخة السريعة تقدم استجابات أسرع بكثير على بنية تحتية أسرع، مع تكلفة أعلى لكل رمز مخرج."
|
||||
},
|
||||
"xai/grok-3-mini": {
|
||||
"description": "نموذج خفيف الوزن من xAI، يفكر قبل الاستجابة. مثالي للمهام البسيطة أو المنطقية التي لا تتطلب معرفة مجال عميقة. مسار التفكير الخام متاح."
|
||||
},
|
||||
"xai/grok-3-mini-fast": {
|
||||
"description": "نموذج خفيف الوزن من xAI، يفكر قبل الاستجابة. مثالي للمهام البسيطة أو المنطقية التي لا تتطلب معرفة مجال عميقة. مسار التفكير الخام متاح. النسخة السريعة تقدم استجابات أسرع بكثير على بنية تحتية أسرع، مع تكلفة أعلى لكل رمز مخرج."
|
||||
},
|
||||
"xai/grok-4": {
|
||||
"description": "أحدث وأعظم نموذج رائد من xAI، يقدم أداءً لا مثيل له في اللغة الطبيعية، الرياضيات، والاستدلال — الخيار المثالي متعدد الاستخدامات."
|
||||
},
|
||||
"yi-1.5-34b-chat": {
|
||||
"description": "يي-1.5 هو إصدار مُحدّث من يي. تم تدريبه بشكل مُسبق باستخدام مكتبة بيانات عالية الجودة تحتوي على 500 مليار علامة (Token) على يي، وتم تحسينه أيضًا باستخدام 3 ملايين مثال متنوع للتدريب الدقيق."
|
||||
},
|
||||
@@ -3130,14 +2767,5 @@
|
||||
},
|
||||
"zai-org/GLM-4.5V": {
|
||||
"description": "GLM-4.5V هو نموذج لغوي بصري (VLM) من الجيل الأحدث صدر عن Zhipu AI (智谱 AI). بُني النموذج على نموذج النص الرائد GLM-4.5-Air الذي يحتوي على 106B من المعاملات الإجمالية و12B من معاملات التنشيط، ويعتمد على بنية الخبراء المختلطين (MoE) بهدف تحقيق أداء متميز بتكلفة استدلال أقل. من الناحية التقنية، يواصل GLM-4.5V نهج GLM-4.1V-Thinking ويقدّم ابتكارات مثل ترميز المواقع الدوراني ثلاثي الأبعاد (3D-RoPE)، مما عزّز بشكل ملحوظ قدرته على إدراك واستنتاج العلاقات المكانية ثلاثية الأبعاد. وبفضل تحسينات في مراحل ما قبل التدريب، والتعديل بالإشراف، والتعلّم المعزّز، أصبح النموذج قادراً على معالجة محتوى بصري متنوّع مثل الصور والفيديوهات والمستندات الطويلة، وقد حقق مستوى متقدماً ضمن أفضل نماذج المصدر المفتوح في 41 معياراً متعدد الوسائط منشوراً. بالإضافة إلى ذلك، أضاف النموذج مفتاح \"وضع التفكير\" الذي يتيح للمستخدمين التبديل بين الاستجابة السريعة والاستدلال العميق بحرية لتوازن أفضل بين الكفاءة والفعالية."
|
||||
},
|
||||
"zai/glm-4.5": {
|
||||
"description": "سلسلة نماذج GLM-4.5 هي نماذج أساسية مصممة خصيصًا للوكلاء. النموذج الرائد GLM-4.5 يدمج 355 مليار معلمة إجمالية (32 مليار نشطة)، موحدًا الاستدلال، الترميز، وقدرات الوكيل لتلبية متطلبات التطبيقات المعقدة. كنظام استدلال مختلط، يوفر وضعين تشغيليين."
|
||||
},
|
||||
"zai/glm-4.5-air": {
|
||||
"description": "GLM-4.5 وGLM-4.5-Air هما أحدث نماذجنا الرائدة، مصممة كنماذج أساسية لتطبيقات الوكلاء. كلاهما يستخدم بنية الخبراء المختلطة (MoE). يحتوي GLM-4.5 على 355 مليار معلمة إجمالية و32 مليار معلمة نشطة في كل تمرير أمامي، بينما يتميز GLM-4.5-Air بتصميم مبسط مع 106 مليار معلمة إجمالية و12 مليار معلمة نشطة."
|
||||
},
|
||||
"zai/glm-4.5v": {
|
||||
"description": "GLM-4.5V مبني على نموذج GLM-4.5-Air الأساسي، يرث التقنيات المثبتة من GLM-4.1V-Thinking، ويوسعها بفعالية من خلال بنية MoE القوية التي تضم 106 مليار معلمة."
|
||||
}
|
||||
}
|
||||
|
||||
@@ -11,9 +11,6 @@
|
||||
"aihubmix": {
|
||||
"description": "يوفر AiHubMix الوصول إلى نماذج الذكاء الاصطناعي المتعددة من خلال واجهة برمجة تطبيقات موحدة."
|
||||
},
|
||||
"akashchat": {
|
||||
"description": "آكاش هو سوق موارد سحابية بدون ترخيص، يتميز بأسعار تنافسية مقارنة بمزودي السحابة التقليديين."
|
||||
},
|
||||
"anthropic": {
|
||||
"description": "Anthropic هي شركة تركز على أبحاث وتطوير الذكاء الاصطناعي، وتقدم مجموعة من نماذج اللغة المتقدمة، مثل Claude 3.5 Sonnet وClaude 3 Sonnet وClaude 3 Opus وClaude 3 Haiku. تحقق هذه النماذج توازنًا مثاليًا بين الذكاء والسرعة والتكلفة، وتناسب مجموعة متنوعة من سيناريوهات التطبيقات، من أحمال العمل على مستوى المؤسسات إلى الاستجابات السريعة. يعتبر Claude 3.5 Sonnet أحدث نماذجها، وقد أظهر أداءً ممتازًا في العديد من التقييمات مع الحفاظ على نسبة تكلفة فعالة."
|
||||
},
|
||||
@@ -38,9 +35,6 @@
|
||||
"cohere": {
|
||||
"description": "تقدم Cohere أحدث نماذج متعددة اللغات، وميزات بحث متقدمة، ومساحة عمل AI مصممة خصيصًا للشركات الحديثة - كل ذلك مدمج في منصة آمنة."
|
||||
},
|
||||
"cometapi": {
|
||||
"description": "CometAPI هو منصة خدمات توفر واجهات متعددة لنماذج الذكاء الاصطناعي المتقدمة، تدعم OpenAI وAnthropic وGoogle والمزيد، مناسبة لمتطلبات التطوير والتطبيق المتنوعة. يمكن للمستخدمين اختيار النموذج والسعر الأمثل وفقًا لاحتياجاتهم، مما يعزز تجربة الذكاء الاصطناعي."
|
||||
},
|
||||
"deepseek": {
|
||||
"description": "DeepSeek هي شركة تركز على أبحاث وتطبيقات تقنيات الذكاء الاصطناعي، حيث يجمع نموذجها الأحدث DeepSeek-V2.5 بين قدرات الحوار العامة ومعالجة الشيفرات، وقد حقق تحسينات ملحوظة في محاذاة تفضيلات البشر، ومهام الكتابة، واتباع التعليمات."
|
||||
},
|
||||
@@ -95,12 +89,6 @@
|
||||
"moonshot": {
|
||||
"description": "Moonshot هي منصة مفتوحة أطلقتها شركة Beijing Dark Side Technology Co.، Ltd، تقدم مجموعة متنوعة من نماذج معالجة اللغة الطبيعية، وتغطي مجالات واسعة، بما في ذلك ولكن لا تقتصر على إنشاء المحتوى، والبحث الأكاديمي، والتوصيات الذكية، والتشخيص الطبي، وتدعم معالجة النصوص الطويلة والمهام المعقدة."
|
||||
},
|
||||
"nebius": {
|
||||
"description": "نيبيوس توفر بنية تحتية عالية الأداء للمبتكرين في مجال الذكاء الاصطناعي حول العالم من خلال بناء مجموعات ضخمة من وحدات معالجة الرسومات ومنصة سحابية متكاملة رأسياً."
|
||||
},
|
||||
"newapi": {
|
||||
"description": "منصة مفتوحة المصدر لتجميع وتحويل خدمات الذكاء الاصطناعي المتعددة بشكل موحد"
|
||||
},
|
||||
"novita": {
|
||||
"description": "Novita AI هي منصة تقدم خدمات API لمجموعة متنوعة من نماذج اللغة الكبيرة وتوليد الصور بالذكاء الاصطناعي، مرنة وموثوقة وفعالة من حيث التكلفة. تدعم أحدث النماذج مفتوحة المصدر مثل Llama3 وMistral، وتوفر حلول API شاملة وسهلة الاستخدام وقابلة للتوسع تلقائيًا لتطوير تطبيقات الذكاء الاصطناعي، مما يجعلها مناسبة لنمو الشركات الناشئة في مجال الذكاء الاصطناعي."
|
||||
},
|
||||
@@ -161,9 +149,6 @@
|
||||
"v0": {
|
||||
"description": "v0 هو مساعد برمجة تعاوني، كل ما عليك هو وصف أفكارك بلغة طبيعية، وسيقوم بإنشاء الشيفرة وواجهة المستخدم (UI) لمشروعك."
|
||||
},
|
||||
"vercelaigateway": {
|
||||
"description": "بوابة Vercel AI توفر واجهة برمجة تطبيقات موحدة للوصول إلى أكثر من 100 نموذج، من خلال نقطة نهاية واحدة يمكن استخدامها مع نماذج مقدمي خدمات مثل OpenAI وAnthropic وGoogle وغيرها. تدعم إعداد الميزانية، مراقبة الاستخدام، موازنة تحميل الطلبات والتبديل التلقائي عند الفشل."
|
||||
},
|
||||
"vertexai": {
|
||||
"description": "سلسلة جيميني من جوجل هي نماذج الذكاء الاصطناعي الأكثر تقدمًا وعمومية، تم تطويرها بواسطة جوجل ديب مايند، مصممة خصيصًا لتكون متعددة الوسائط، تدعم الفهم والمعالجة السلسة للنصوص، الأكواد، الصور، الصوتيات، والفيديو. تناسب مجموعة متنوعة من البيئات، من مراكز البيانات إلى الأجهزة المحمولة، مما يعزز بشكل كبير كفاءة نماذج الذكاء الاصطناعي وتطبيقاتها الواسعة."
|
||||
},
|
||||
|
||||
@@ -237,10 +237,6 @@
|
||||
"title": "تحديد عدد الرسائل التاريخية",
|
||||
"unlimited": "غير محدود"
|
||||
},
|
||||
"enableStreaming": {
|
||||
"desc": "تمكين الإخراج المتدفق لعرض الاستجابات في الوقت الفعلي. عند التعطيل، يتم عرض الاستجابة الكاملة فقط.",
|
||||
"title": "تمكين الإخراج المتدفق"
|
||||
},
|
||||
"historyCount": {
|
||||
"desc": "عدد الرسائل التي يتم إرفاقها في كل طلب (تشمل الأسئلة والأجوبة الجديدة. يُحسب كل سؤال وجواب كرسالة واحدة)",
|
||||
"title": "عدد الرسائل المرفقة"
|
||||
|
||||
+5
-22
@@ -52,11 +52,7 @@
|
||||
"thinking": {
|
||||
"title": "Превключвател за дълбоко мислене"
|
||||
},
|
||||
"title": "Разширени функции на модела",
|
||||
"urlContext": {
|
||||
"desc": "Когато е включено, автоматично ще се анализират уеб връзки, за да се получи реалното съдържание на уеб страницата",
|
||||
"title": "Извличане на съдържание от уеб връзки"
|
||||
}
|
||||
"title": "Разширени функции на модела"
|
||||
},
|
||||
"history": {
|
||||
"title": "Асистентът ще запомни само последните {{count}} съобщения"
|
||||
@@ -70,15 +66,12 @@
|
||||
"input": {
|
||||
"addAi": "Добави AI съобщение",
|
||||
"addUser": "Добави потребителско съобщение",
|
||||
"disclaimer": "Изкуственият интелект също може да греши, моля проверете важната информация",
|
||||
"errorMsg": "Неуспешно изпращане на съобщението, моля, проверете мрежата и опитайте отново: {{errorMsg}}",
|
||||
"more": "още",
|
||||
"send": "Изпрати",
|
||||
"sendWithCmdEnter": "Натиснете <key/> за изпращане",
|
||||
"sendWithEnter": "Натиснете <key/> за изпращане",
|
||||
"sendWithCmdEnter": "Натисни {{meta}} + Enter за да изпратиш",
|
||||
"sendWithEnter": "Натисни Enter за да изпратиш",
|
||||
"stop": "Спри",
|
||||
"warp": "Нов ред",
|
||||
"warpWithKey": "Натиснете <key/> за нов ред"
|
||||
"warp": "Нов ред"
|
||||
},
|
||||
"intentUnderstanding": {
|
||||
"title": "Разбирам и анализирам вашето намерение..."
|
||||
@@ -132,7 +125,6 @@
|
||||
"inputWriteCached": "Входящи кеширани данни",
|
||||
"output": "Изход",
|
||||
"outputAudio": "Аудио изход",
|
||||
"outputImage": "Изходно изображение",
|
||||
"outputText": "Текстов изход",
|
||||
"outputTitle": "Детайли за изхода",
|
||||
"reasoning": "Дълбочинно разсъждение",
|
||||
@@ -235,10 +227,6 @@
|
||||
"threadMessageCount": "{{messageCount}} съобщения",
|
||||
"title": "Подтема"
|
||||
},
|
||||
"toggleWideScreen": {
|
||||
"off": "Изключване на широк екран",
|
||||
"on": "Включване на широк екран"
|
||||
},
|
||||
"tokenDetails": {
|
||||
"chats": "Чат съобщения",
|
||||
"historySummary": "Историческо резюме",
|
||||
@@ -280,9 +268,7 @@
|
||||
"clientMode": {
|
||||
"actionFiletip": "Качване на файл",
|
||||
"actionTooltip": "Качване",
|
||||
"disabled": "Текущият модел не поддържа визуално разпознаване и анализ на файлове, моля, превключете модела и опитайте отново",
|
||||
"fileNotSupported": "Режимът на браузъра не поддържа качване на файлове, поддържат се само изображения",
|
||||
"visionNotSupported": "Текущият модел не поддържа визуално разпознаване, моля, превключете на друг модел, за да използвате тази функция"
|
||||
"disabled": "Текущият модел не поддържа визуално разпознаване и анализ на файлове, моля, превключете модела и опитайте отново"
|
||||
},
|
||||
"preview": {
|
||||
"prepareTasks": "Подготовка на парчета...",
|
||||
@@ -290,9 +276,6 @@
|
||||
"pending": "Подготовка за качване...",
|
||||
"processing": "Обработка на файла..."
|
||||
}
|
||||
},
|
||||
"validation": {
|
||||
"videoSizeExceeded": "Размерът на видео файла не може да надвишава 20MB, текущият размер е {{actualSize}}"
|
||||
}
|
||||
},
|
||||
"zenMode": "Режим на фокус"
|
||||
|
||||
@@ -32,7 +32,6 @@
|
||||
"blog": "Продуктов блог",
|
||||
"branching": "Създаване на подтема",
|
||||
"branchingDisable": "Функцията „подтема“ е налична само в сървърната версия. Ако искате да използвате тази функция, моля, превключете на режим на сървърно разполагане или използвайте LobeChat Cloud.",
|
||||
"branchingRequiresSavedTopic": "Текущата тема не е запазена, моля запазете я, за да използвате функцията за под-теми",
|
||||
"cancel": "Отказ",
|
||||
"changelog": "Дневник на промените",
|
||||
"clientDB": {
|
||||
@@ -183,13 +182,6 @@
|
||||
"title": "Харесвате нашия продукт?"
|
||||
},
|
||||
"fullscreen": "Цял екран",
|
||||
"geminiImageChineseWarning": {
|
||||
"content": "Nano Banana може да не успее да генерира изображение при използване на китайски език. Препоръчваме използването на английски за по-добри резултати.",
|
||||
"continueGenerate": "Продължи генерирането",
|
||||
"continueSend": "Продължи изпращането",
|
||||
"doNotShowAgain": "Не показвай отново",
|
||||
"title": "Подсказка за въвеждане на китайски"
|
||||
},
|
||||
"historyRange": "Диапазон на историята",
|
||||
"import": "Импортиране",
|
||||
"importData": "Импорт на данни",
|
||||
|
||||
@@ -73,18 +73,6 @@
|
||||
"GoBack": {
|
||||
"back": "Назад"
|
||||
},
|
||||
"HtmlPreview": {
|
||||
"actions": {
|
||||
"download": "Изтегляне",
|
||||
"preview": "Преглед"
|
||||
},
|
||||
"iframeTitle": "HTML Преглед",
|
||||
"mode": {
|
||||
"code": "Код",
|
||||
"preview": "Преглед"
|
||||
},
|
||||
"title": "HTML Преглед"
|
||||
},
|
||||
"ImageUpload": {
|
||||
"actions": {
|
||||
"changeImage": "Кликнете, за да смените изображението",
|
||||
@@ -114,7 +102,6 @@
|
||||
"reasoning": "Този модел поддържа дълбочинно мислене",
|
||||
"search": "Този модел поддържа търсене в мрежата",
|
||||
"tokens": "Този модел поддържа до {{tokens}} токена за една сесия",
|
||||
"video": "Този модел поддържа разпознаване на видео",
|
||||
"vision": "Този модел поддържа визуално разпознаване"
|
||||
},
|
||||
"removed": "Този модел не се намира в списъка. Ако бъде отменен изборът, той ще бъде автоматично премахнат."
|
||||
|
||||
@@ -1,62 +0,0 @@
|
||||
{
|
||||
"actions": {
|
||||
"expand": {
|
||||
"off": "Сгъни",
|
||||
"on": "Разгъни"
|
||||
},
|
||||
"typobar": {
|
||||
"off": "Скрий лентата за форматиране",
|
||||
"on": "Покажи лентата за форматиране"
|
||||
}
|
||||
},
|
||||
"cancel": "Отказ",
|
||||
"confirm": "Потвърждение",
|
||||
"file": {
|
||||
"error": "Грешка: {{message}}",
|
||||
"uploading": "Качване на файл..."
|
||||
},
|
||||
"image": {
|
||||
"broken": "Изображението е повредено"
|
||||
},
|
||||
"link": {
|
||||
"edit": "Редактирай връзката",
|
||||
"open": "Отвори връзката",
|
||||
"placeholder": "Въведете URL адрес на връзката",
|
||||
"unlink": "Премахни връзката"
|
||||
},
|
||||
"math": {
|
||||
"placeholder": "Моля, въведете TeX формула"
|
||||
},
|
||||
"slash": {
|
||||
"h1": "Заглавие ниво 1",
|
||||
"h2": "Заглавие ниво 2",
|
||||
"h3": "Заглавие ниво 3",
|
||||
"hr": "Разделителна линия",
|
||||
"table": "Таблица",
|
||||
"tex": "TeX формула"
|
||||
},
|
||||
"table": {
|
||||
"delete": "Премахни таблицата",
|
||||
"deleteColumn": "Премахни колоната",
|
||||
"deleteRow": "Премахни реда",
|
||||
"insertColumnLeft": "Вмъкни {{count}} колони отляво",
|
||||
"insertColumnRight": "Вмъкни {{count}} колони отдясно",
|
||||
"insertRowAbove": "Вмъкни {{count}} реда отгоре",
|
||||
"insertRowBelow": "Вмъкни {{count}} реда отдолу"
|
||||
},
|
||||
"typobar": {
|
||||
"blockquote": "Цитат",
|
||||
"bold": "Удебели",
|
||||
"bulletList": "Маркиран списък",
|
||||
"code": "Код в реда",
|
||||
"codeblock": "Блок с код",
|
||||
"italic": "Курсив",
|
||||
"link": "Връзка",
|
||||
"numberList": "Номериран списък",
|
||||
"strikethrough": "Зачеркване",
|
||||
"table": "таблица",
|
||||
"taskList": "Списък със задачи",
|
||||
"tex": "TeX формула",
|
||||
"underline": "Подчертаване"
|
||||
}
|
||||
}
|
||||
@@ -86,14 +86,14 @@
|
||||
"ExceededContextWindow": "Текущото съдържание на заявката надвишава дължината, която моделът може да обработи. Моля, намалете обема на съдържанието и опитайте отново.",
|
||||
"FreePlanLimit": "В момента сте потребител на безплатен план и не можете да използвате тази функционалност. Моля, надстройте до платен план, за да продължите да я използвате.",
|
||||
"GoogleAIBlockReason": {
|
||||
"BLOCKLIST": "Вашето съдържание съдържа забранени думи. Моля, проверете и коригирайте входа си и опитайте отново.",
|
||||
"IMAGE_SAFETY": "Генерираното изображение е блокирано поради съображения за безопасност. Моля, опитайте да промените заявката за генериране на изображение.",
|
||||
"LANGUAGE": "Езикът, който използвате, все още не се поддържа. Моля, опитайте да зададете въпроса на английски или на друг поддържан език.",
|
||||
"OTHER": "Съдържанието е блокирано по неизвестна причина. Моля, опитайте да преформулирате заявката си.",
|
||||
"PROHIBITED_CONTENT": "Вашата заявка може да съдържа забранено съдържание. Моля, коригирайте заявката, за да отговаря на правилата за ползване.",
|
||||
"RECITATION": "Съдържанието ви е блокирано поради възможни проблеми с авторските права. Моля, опитайте да използвате оригинално съдържание или да преформулирате заявката си.",
|
||||
"SAFETY": "Вашето съдържание е блокирано поради правила за безопасност. Моля, опитайте да промените заявката, като избягвате потенциално вредно или неподходящо съдържание.",
|
||||
"SPII": "Вашето съдържание може да съдържа чувствителна лична информация. За да защитите поверителността, моля, премахнете съответната чувствителна информация и опитайте отново.",
|
||||
"BLOCKLIST": "Вашето съдържание съдържа забранени думи. Моля, прегледайте и коригирайте входа си и опитайте отново。",
|
||||
"IMAGE_SAFETY": "Генерираното изображение е блокирано поради съображения за сигурност. Моля, опитайте да модифицирате заявката за генериране на изображение。",
|
||||
"LANGUAGE": "Езикът, който използвате, в момента не се поддържа. Моля, опитайте с английски или друг поддържан език。",
|
||||
"OTHER": "Съдържанието е блокирано по неизвестна причина. Моля, опитайте да преформулирате заявката си。",
|
||||
"PROHIBITED_CONTENT": "Вашата заявка може да съдържа забранено съдържание. Моля, коригирайте заявката, за да съответства на правилата за използване。",
|
||||
"RECITATION": "Вашето съдържание е блокирано поради възможни нарушения на авторското право. Моля, опитайте с оригинално съдържание или преформулирайте заявката си。",
|
||||
"SAFETY": "Вашето съдържание е блокирано поради политики за безопасност. Моля, коригирайте заявката си, като избягвате потенциално вредно или неподходящо съдържание。",
|
||||
"SPII": "Вашето съдържание може да съдържа чувствителна лична информация. За защита на поверителността, моля премахнете съответната чувствителна информация и опитайте отново。",
|
||||
"default": "Съдържанието е блокирано: {{blockReason}}。请调整您的请求内容后重试。"
|
||||
},
|
||||
"InsufficientQuota": "Съжаляваме, квотата за този ключ е достигнала лимита. Моля, проверете баланса на акаунта си или увеличете квотата на ключа и опитайте отново.",
|
||||
|
||||
@@ -5,9 +5,6 @@
|
||||
"lock": "Заключване на съотношението на страните",
|
||||
"unlock": "Отключване на съотношението на страните"
|
||||
},
|
||||
"cfg": {
|
||||
"label": "Интензитет на насочване"
|
||||
},
|
||||
"header": {
|
||||
"desc": "Кратко описание, създавайте веднага",
|
||||
"title": "Рисуване"
|
||||
|
||||
@@ -153,28 +153,6 @@
|
||||
"searchProviders": "Търсене на доставчици...",
|
||||
"sort": "Персонализирано сортиране"
|
||||
},
|
||||
"newapi": {
|
||||
"apiKey": {
|
||||
"desc": "API ключът, предоставен от платформата New API",
|
||||
"placeholder": "API ключ на New API",
|
||||
"required": "API ключът е задължителен",
|
||||
"title": "API ключ"
|
||||
},
|
||||
"apiUrl": {
|
||||
"desc": "API адресът на услугата New API, обикновено трябва да включва /v1",
|
||||
"title": "API адрес"
|
||||
},
|
||||
"enabled": {
|
||||
"title": "Активиране на New API"
|
||||
},
|
||||
"models": {
|
||||
"batchSelect": "Избор на множество модели ({{count}} броя)",
|
||||
"fetch": "Вземане на списък с модели",
|
||||
"selected": "Избрани модели",
|
||||
"title": "Налични модели"
|
||||
},
|
||||
"title": "New API"
|
||||
},
|
||||
"ollama": {
|
||||
"checker": {
|
||||
"desc": "Тестване дали адресът на прокси е попълнен правилно",
|
||||
@@ -207,10 +185,6 @@
|
||||
}
|
||||
},
|
||||
"providerModels": {
|
||||
"batchSelect": {
|
||||
"selected": "Избрани {{count}} модела",
|
||||
"title": "Множествен избор"
|
||||
},
|
||||
"config": {
|
||||
"aesGcm": "Вашият ключ и адреса на прокси ще бъдат криптирани с <1>AES-GCM</1> алгоритъм",
|
||||
"apiKey": {
|
||||
|
||||
+71
-443
@@ -53,9 +53,6 @@
|
||||
"Baichuan4-Turbo": {
|
||||
"description": "Моделът е лидер в страната по способности, надминавайки чуждестранните основни модели в задачи на китайски език, като знания, дълги текстове и генериране на творби. Също така притежава водещи в индустрията мултимодални способности и отлични резултати в множество авторитетни оценки."
|
||||
},
|
||||
"ByteDance-Seed/Seed-OSS-36B-Instruct": {
|
||||
"description": "Seed-OSS е серия от отворени големи езикови модели, разработени от екипа Seed на ByteDance, специално проектирани за мощна обработка на дълъг контекст, разсъждения, агенти и универсални способности. Seed-OSS-36B-Instruct в тази серия е модел с 36 милиарда параметри, фино настроен за инструкции, който поддържа естествено изключително дълъг контекст, позволявайки му да обработва големи документи или сложни кодови бази наведнъж. Моделът е специално оптимизиран за разсъждения, генериране на код и задачи с агенти (като използване на инструменти), като същевременно поддържа балансирани и отлични универсални способности. Една от ключовите характеристики на този модел е функцията „Бюджет за мислене“ (Thinking Budget), която позволява на потребителите гъвкаво да регулират дължината на разсъжденията според нуждите, което ефективно повишава ефективността при реални приложения."
|
||||
},
|
||||
"DeepSeek-R1": {
|
||||
"description": "Най-напредналият ефективен LLM, специализиран в разсъждения, математика и програмиране."
|
||||
},
|
||||
@@ -77,21 +74,9 @@
|
||||
"DeepSeek-V3": {
|
||||
"description": "DeepSeek-V3 е MoE модел, разработен от компанията DeepSeek. DeepSeek-V3 постига резултати в множество оценки, които надминават други отворени модели като Qwen2.5-72B и Llama-3.1-405B, като по отношение на производителност е наравно с водещите затворени модели в света като GPT-4o и Claude-3.5-Sonnet."
|
||||
},
|
||||
"DeepSeek-V3-1": {
|
||||
"description": "DeepSeek V3.1: Следващо поколение модел за разсъждение, подобряващ сложното разсъждение и веригата на мислене, подходящ за задачи, изискващи задълбочен анализ."
|
||||
},
|
||||
"DeepSeek-V3-Fast": {
|
||||
"description": "Доставчик на модела: платформа sophnet. DeepSeek V3 Fast е високоскоростната версия с висока TPS на DeepSeek V3 0324, с пълна точност без квантизация, с по-силни кодови и математически възможности и по-бърз отговор!"
|
||||
},
|
||||
"DeepSeek-V3.1": {
|
||||
"description": "DeepSeek-V3.1 - режим без мислене; DeepSeek-V3.1 е нов хибриден модел за разсъждения, пуснат от DeepSeek, който поддържа два режима на разсъждения - с и без мислене, с по-висока ефективност на мислене в сравнение с DeepSeek-R1-0528. След оптимизация след обучение, използването на инструменти от агенти и изпълнението на задачи с агенти са значително подобрени."
|
||||
},
|
||||
"DeepSeek-V3.1-Fast": {
|
||||
"description": "DeepSeek V3.1 Fast е високопроизводителната версия с висока TPS на DeepSeek V3.1. Хибриден режим на мислене: чрез промяна на шаблона за чат, един модел може да поддържа едновременно режим с мислене и без мислене. По-интелигентно извикване на инструменти: чрез оптимизация след обучение, представянето на модела при използване на инструменти и задачи с агенти е значително подобрено."
|
||||
},
|
||||
"DeepSeek-V3.1-Think": {
|
||||
"description": "DeepSeek-V3.1 - режим с мислене; DeepSeek-V3.1 е нов хибриден модел за разсъждения, пуснат от DeepSeek, който поддържа два режима на разсъждения - с и без мислене, с по-висока ефективност на мислене в сравнение с DeepSeek-R1-0528. След оптимизация след обучение, използването на инструменти от агенти и изпълнението на задачи с агенти са значително подобрени."
|
||||
},
|
||||
"Doubao-lite-128k": {
|
||||
"description": "Doubao-lite предлага изключително бърза реакция и по-добро съотношение цена-качество, осигурявайки по-гъвкави опции за различни сценарии на клиентите. Поддържа разсъждения и финна настройка с контекстен прозорец от 128k."
|
||||
},
|
||||
@@ -146,15 +131,9 @@
|
||||
"ERNIE-Speed-Pro-128K": {
|
||||
"description": "Най-новият модел на Baidu за големи езикови модели с висока производителност, разработен самостоятелно, с отлични общи способности, по-добри резултати в сравнение с ERNIE Speed, подходящ за основен модел за фина настройка, за по-добро справяне с конкретни проблеми, като същевременно предлага отлична производителност при извеждане."
|
||||
},
|
||||
"FLUX-1.1-pro": {
|
||||
"description": "FLUX.1.1 Pro"
|
||||
},
|
||||
"FLUX.1-Kontext-dev": {
|
||||
"description": "FLUX.1-Kontext-dev е мултимоделен модел за генериране и редактиране на изображения, разработен от Black Forest Labs, базиран на архитектурата Rectified Flow Transformer с 12 милиарда параметри. Моделът е специализиран в генериране, реконструкция, подобряване и редактиране на изображения при зададени контекстуални условия. Той съчетава предимствата на контролираното генериране на дифузионни модели с контекстуалното моделиране на Transformer, поддържайки висококачествен изход и широко приложение в задачи като възстановяване, допълване и реконструкция на визуални сцени."
|
||||
},
|
||||
"FLUX.1-Kontext-pro": {
|
||||
"description": "FLUX.1 Kontext [pro]"
|
||||
},
|
||||
"FLUX.1-dev": {
|
||||
"description": "FLUX.1-dev е отворен мултимодален езиков модел (Multimodal Language Model, MLLM), разработен от Black Forest Labs, оптимизиран за задачи с текст и изображения. Той интегрира разбиране и генериране на изображения и текст, базиран на напреднали големи езикови модели като Mistral-7B, с внимателно проектиран визуален енкодер и многостепенно фино настройване с инструкции, което позволява съвместна обработка на текст и изображения и сложни задачи за разсъждение."
|
||||
},
|
||||
@@ -191,9 +170,6 @@
|
||||
"Llama-3.2-90B-Vision-Instruct\t": {
|
||||
"description": "Напреднали способности за визуално разсъждение, подходящи за приложения на агенти за визуално разбиране."
|
||||
},
|
||||
"Meta-Llama-3-3-70B-Instruct": {
|
||||
"description": "Llama 3.3 70B: Универсален трансформър модел, подходящ за диалог и задачи за генериране."
|
||||
},
|
||||
"Meta-Llama-3.1-405B-Instruct": {
|
||||
"description": "Текстов модел с оптимизация за инструкции на Llama 3.1, проектиран за многоезични диалогови случаи, който показва отлични резултати на много налични отворени и затворени чат модели на общи индустриални бенчмаркове."
|
||||
},
|
||||
@@ -212,9 +188,6 @@
|
||||
"Meta-Llama-3.3-70B-Instruct": {
|
||||
"description": "Llama 3.3 е най-напредналият многоезичен отворен голям езиков модел от серията Llama, който предлага производителност, сравнима с 405B моделите, на изключително ниска цена. Базиран на структурата Transformer и подобрен чрез супервизирано фино настройване (SFT) и обучение с човешка обратна връзка (RLHF) за повишаване на полезността и безопасността. Неговата версия с оптимизация за инструкции е специално проектирана за многоезични диалози и показва по-добри резултати от много от наличните отворени и затворени чат модели на множество индустриални бенчмаркове. Краен срок за знанията е декември 2023 г."
|
||||
},
|
||||
"Meta-Llama-4-Maverick-17B-128E-Instruct-FP8": {
|
||||
"description": "Llama 4 Maverick: Голям модел, базиран на Mixture-of-Experts, предлагащ ефективна стратегия за активиране на експерти за отлични резултати при разсъждение."
|
||||
},
|
||||
"MiniMax-M1": {
|
||||
"description": "Изцяло ново самостоятелно разработено модел за разсъждение. Световен лидер: 80K вериги на мислене x 1M вход, с резултати, сравними с водещите модели в чужбина."
|
||||
},
|
||||
@@ -284,11 +257,8 @@
|
||||
"Pro/deepseek-ai/DeepSeek-V3": {
|
||||
"description": "DeepSeek-V3 е модел на езика с 6710 милиарда параметри, който използва архитектура на смесени експерти (MoE) с много глави на потенциално внимание (MLA) и стратегия за баланс на натоварването без помощни загуби, оптимизираща производителността на инференцията и обучението. Чрез предварително обучение на 14.8 трилиона висококачествени токени и последващо супервизирано фино настройване и обучение с подсилване, DeepSeek-V3 надминава производителността на други отворени модели и е близо до водещите затворени модели."
|
||||
},
|
||||
"Pro/deepseek-ai/DeepSeek-V3.1": {
|
||||
"description": "DeepSeek-V3.1 е хибриден голям езиков модел, пуснат от DeepSeek AI, който включва множество важни подобрения спрямо предишните версии. Основната иновация на модела е интеграцията на „режим на мислене“ (Thinking Mode) и „режим без мислене“ (Non-thinking Mode), които потребителите могат гъвкаво да превключват чрез настройка на чат шаблони, за да отговарят на различни задачи. След специална пост-тренировка, V3.1 значително подобрява производителността при използване на инструменти и задачи на агенти, като по-добре поддържа външни търсачки и изпълнение на сложни многостъпкови задачи. Моделът е дообучен върху DeepSeek-V3.1-Base чрез двуфазен метод за разширяване на дълги текстове, което значително увеличава обема на тренировъчните данни и подобрява работата с дълги документи и кодове. Като отворен модел, DeepSeek-V3.1 демонстрира способности, сравними с водещи затворени модели в области като кодиране, математика и разсъждение, като същевременно с хибридната си експертна (MoE) архитектура поддържа голям капацитет на модела и ефективно намалява разходите за изчисления."
|
||||
},
|
||||
"Pro/moonshotai/Kimi-K2-Instruct-0905": {
|
||||
"description": "Kimi K2-Instruct-0905 е най-новата и най-мощна версия на Kimi K2. Това е водещ езиков модел с хибридна експертна архитектура (MoE), с общо 1 трилион параметри и 32 милиарда активни параметри. Основните характеристики на модела включват: подобрена интелигентност при кодиране на агенти, с изразително подобрение в производителността при публични бенчмаркове и реални задачи за кодиране на агенти; усъвършенстван опит при фронтенд кодиране, с напредък както в естетиката, така и в практичността на фронтенд програмирането."
|
||||
"Pro/moonshotai/Kimi-K2-Instruct": {
|
||||
"description": "Kimi K2 е базов модел с MoE архитектура с изключителни кодови и агентски способности, с общо 1 трилион параметри и 32 милиарда активирани параметри. В бенчмаркове за общо знание, програмиране, математика и агентски задачи моделът K2 превъзхожда други водещи отворени модели."
|
||||
},
|
||||
"QwQ-32B-Preview": {
|
||||
"description": "QwQ-32B-Preview е иновативен модел за обработка на естествен език, способен да обработва ефективно сложни задачи за генериране на диалог и разбиране на контекста."
|
||||
@@ -377,12 +347,6 @@
|
||||
"Qwen/Qwen3-Coder-480B-A35B-Instruct": {
|
||||
"description": "Qwen3-Coder-480B-A35B-Instruct е публикуван от Alibaba и до момента е един от най-агентно ориентираните (agentic) кодови модели. Това е смесен експертен (MoE) модел с общо 480 милиарда параметри и 35 милиарда активни параметри, който постига баланс между ефективност и производителност. Моделът поддържа родно контекстна дължина от 256K (прибл. 260 000) токена и може да бъде екстраполиран чрез методи като YaRN до 1 милион токена, което му позволява да обработва големи кодови бази и сложни програмистки задачи. Qwen3-Coder е специално проектиран за агентно ориентирани (agentic) кодови работни потоци — той не само генерира код, но може и автономно да взаимодейства с инструменти и среди за разработка, за да решава сложни програмистки проблеми. В множество бенчмаркове за кодиране и агентни задачи моделът постига водещи резултати сред отворените модели и неговата производителност е сравнима с тази на водещи модели като Claude Sonnet 4."
|
||||
},
|
||||
"Qwen/Qwen3-Next-80B-A3B-Instruct": {
|
||||
"description": "Qwen3-Next-80B-A3B-Instruct е следващото поколение основен модел, публикуван от екипа на Alibaba Tongyi Qianwen. Той е базиран на новата архитектура Qwen3-Next и е проектиран за постигане на изключителна ефективност при обучение и извод. Моделът използва иновативен хибриден механизъм за внимание (Gated DeltaNet и Gated Attention), структура с висока степен на разреждане на смесени експерти (MoE) и множество оптимизации за стабилност на обучението. Като разреден модел с общо 80 милиарда параметри, при извод активира само около 3 милиарда параметри, което значително намалява изчислителните разходи. При обработка на задачи с дълъг контекст над 32K токена, пропускателната способност при извод е над 10 пъти по-висока в сравнение с модела Qwen3-32B. Този модел е версия за фина настройка с инструкции, предназначена за общи задачи и не поддържа режим „мисловна верига“ (Thinking). По отношение на производителността, той се представя наравно с флагманския модел Qwen3-235B на Tongyi Qianwen в някои бенчмаркове, като особено се отличава при задачи с много дълъг контекст."
|
||||
},
|
||||
"Qwen/Qwen3-Next-80B-A3B-Thinking": {
|
||||
"description": "Qwen3-Next-80B-A3B-Thinking е следващото поколение основен модел, публикуван от екипа на Alibaba Tongyi Qianwen, специално проектиран за сложни задачи за разсъждение. Той е базиран на иновативната архитектура Qwen3-Next, която комбинира хибриден механизъм за внимание (Gated DeltaNet и Gated Attention) и структура с висока степен на разреждане на смесени експерти (MoE), с цел постигане на изключителна ефективност при обучение и извод. Като разреден модел с общо 80 милиарда параметри, при извод активира само около 3 милиарда параметри, което значително намалява изчислителните разходи. При обработка на задачи с дълъг контекст над 32K токена, пропускателната способност при извод е над 10 пъти по-висока в сравнение с модела Qwen3-32B. Тази „Thinking“ версия е оптимизирана за изпълнение на сложни многостъпкови задачи като математически доказателства, синтез на код, логически анализ и планиране, като по подразбиране изходът на разсъжденията е във формата на структурирана „мисловна верига“. По отношение на производителността, тя не само превъзхожда модели с по-високи разходи като Qwen3-32B-Thinking, но и превъзхожда Gemini-2.5-Flash-Thinking в множество бенчмаркове."
|
||||
},
|
||||
"Qwen2-72B-Instruct": {
|
||||
"description": "Qwen2 е най-новата серия на модела Qwen, поддържаща 128k контекст. В сравнение с текущите най-добри отворени модели, Qwen2-72B значително надминава водещите модели в области като разбиране на естествен език, знания, код, математика и многоезичност."
|
||||
},
|
||||
@@ -413,9 +377,6 @@
|
||||
"Qwen3-235B": {
|
||||
"description": "Qwen3-235B-A22B е MoE (хибриден експертен модел), който въвежда „хибриден режим на разсъждение“, позволяващ на потребителите безпроблемно превключване между „режим мислене“ и „режим без мислене“. Поддържа разбиране и разсъждение на 119 езика и диалекта и разполага с мощни възможности за извикване на инструменти. В множество базови тестове за общи способности, кодиране, математика, многоезичност, знания и разсъждение, той може да се конкурира с водещите големи модели на пазара като DeepSeek R1, OpenAI o1, o3-mini, Grok 3 и Google Gemini 2.5 Pro."
|
||||
},
|
||||
"Qwen3-235B-A22B-Instruct-2507-FP8": {
|
||||
"description": "Qwen3 235B A22B Instruct 2507: Модел, оптимизиран за напреднало разсъждение и диалогови инструкции, с хибридна експертна архитектура, поддържаща ефективност при голям брой параметри."
|
||||
},
|
||||
"Qwen3-32B": {
|
||||
"description": "Qwen3-32B е плътен модел (Dense Model), който въвежда „хибриден режим на разсъждение“, позволяващ на потребителите безпроблемно превключване между „режим мислене“ и „режим без мислене“. Благодарение на подобрения в архитектурата на модела, увеличени тренировъчни данни и по-ефективни методи за обучение, общата производителност е сравнима с тази на Qwen2.5-72B."
|
||||
},
|
||||
@@ -605,33 +566,6 @@
|
||||
"ai21-labs/AI21-Jamba-1.5-Mini": {
|
||||
"description": "Многоезичен модел с 52 милиарда параметри (12 милиарда активни), предлагащ прозорец за дълъг контекст от 256K, извикване на функции, структурирани изходи и генериране, базирано на факти."
|
||||
},
|
||||
"alibaba/qwen-3-14b": {
|
||||
"description": "Qwen3 е най-новото поколение голям езиков модел от серията Qwen, предлагащ цялостен набор от плътни и смесени експертни (MoE) модели. Изграден върху обширно обучение, Qwen3 постига пробиви в разсъжденията, следването на инструкции, агентските способности и многоезичната поддръжка."
|
||||
},
|
||||
"alibaba/qwen-3-235b": {
|
||||
"description": "Qwen3 е най-новото поколение голям езиков модел от серията Qwen, предлагащ цялостен набор от плътни и смесени експертни (MoE) модели. Изграден върху обширно обучение, Qwen3 постига пробиви в разсъжденията, следването на инструкции, агентските способности и многоезичната поддръжка."
|
||||
},
|
||||
"alibaba/qwen-3-30b": {
|
||||
"description": "Qwen3 е най-новото поколение голям езиков модел от серията Qwen, предлагащ цялостен набор от плътни и смесени експертни (MoE) модели. Изграден върху обширно обучение, Qwen3 постига пробиви в разсъжденията, следването на инструкции, агентските способности и многоезичната поддръжка."
|
||||
},
|
||||
"alibaba/qwen-3-32b": {
|
||||
"description": "Qwen3 е най-новото поколение голям езиков модел от серията Qwen, предлагащ цялостен набор от плътни и смесени експертни (MoE) модели. Изграден върху обширно обучение, Qwen3 постига пробиви в разсъжденията, следването на инструкции, агентските способности и многоезичната поддръжка."
|
||||
},
|
||||
"alibaba/qwen3-coder": {
|
||||
"description": "Qwen3-Coder-480B-A35B-Instruct е най-агентският кодов модел на Qwen, с изключителна производителност в агентско кодиране, използване на агентски браузър и други основни кодови задачи, постигащ резултати, сравними с Claude Sonnet."
|
||||
},
|
||||
"amazon/nova-lite": {
|
||||
"description": "Много евтин мултимодален модел, който обработва изображения, видео и текст с изключително висока скорост."
|
||||
},
|
||||
"amazon/nova-micro": {
|
||||
"description": "Модел само за текст, който осигурява най-ниска латентност на отговор при много ниска цена."
|
||||
},
|
||||
"amazon/nova-pro": {
|
||||
"description": "Много способен мултимодален модел с оптимално съчетание на точност, скорост и цена, подходящ за широк спектър от задачи."
|
||||
},
|
||||
"amazon/titan-embed-text-v2": {
|
||||
"description": "Amazon Titan Text Embeddings V2 е лек и ефективен многоезичен модел за вграждане, поддържащ размерности 1024, 512 и 256."
|
||||
},
|
||||
"anthropic.claude-3-5-sonnet-20240620-v1:0": {
|
||||
"description": "Claude 3.5 Sonnet повишава индустриалните стандарти, с производителност, надвишаваща конкурентните модели и Claude 3 Opus, с отлични резултати в широки оценки, като същевременно предлага скорост и разходи на нашите модели от средно ниво."
|
||||
},
|
||||
@@ -657,28 +591,25 @@
|
||||
"description": "Актуализирана версия на Claude 2, с двойно по-голям контекстуален прозорец и подобрения в надеждността, процента на халюцинации и точността, основана на доказателства, в контексти с дълги документи и RAG."
|
||||
},
|
||||
"anthropic/claude-3-haiku": {
|
||||
"description": "Claude 3 Haiku е най-бързият модел на Anthropic досега, проектиран за корпоративни натоварвания с обикновено дълги подсказки. Haiku може бързо да анализира големи обеми документи като тримесечни отчети, договори или правни дела, като разходите са наполовина в сравнение с други модели от същия клас."
|
||||
"description": "Claude 3 Haiku е най-бързият и компактен модел на Anthropic, проектиран за почти мигновени отговори. Той предлага бърза и точна насочена производителност."
|
||||
},
|
||||
"anthropic/claude-3-opus": {
|
||||
"description": "Claude 3 Opus е най-интелигентният модел на Anthropic с водещи на пазара резултати при изключително сложни задачи. Той се справя с отворени подсказки и непознати сценарии с изключителна плавност и човешко разбиране."
|
||||
"description": "Claude 3 Opus е най-мощният модел на Anthropic, предназначен за обработка на изключително сложни задачи. Той се отличава с изключителна производителност, интелигентност, гладкост и разбиране."
|
||||
},
|
||||
"anthropic/claude-3.5-haiku": {
|
||||
"description": "Claude 3.5 Haiku е следващото поколение на нашия най-бърз модел. Със скорост, подобна на Claude 3 Haiku, той подобрява всяка компетентност и надминава предишния ни най-голям модел Claude 3 Opus в много интелигентни бенчмаркове."
|
||||
"description": "Claude 3.5 Haiku е най-бързият следващ модел на Anthropic. В сравнение с Claude 3 Haiku, Claude 3.5 Haiku показва подобрения в различни умения и надминава предишното поколение най-голям модел Claude 3 Opus в много интелектуални бенчмаркове."
|
||||
},
|
||||
"anthropic/claude-3.5-sonnet": {
|
||||
"description": "Claude 3.5 Sonnet постига идеален баланс между интелигентност и скорост — особено за корпоративни натоварвания. Той предлага мощна производителност на по-ниска цена в сравнение с конкурентите и е проектиран за висока издръжливост при мащабни AI внедрявания."
|
||||
"description": "Claude 3.5 Sonnet предлага способности, надхвърлящи Opus, и по-бърза скорост в сравнение с Sonnet, като същевременно запазва същата цена. Sonnet е особено силен в програмирането, науката за данни, визуалната обработка и агентските задачи."
|
||||
},
|
||||
"anthropic/claude-3.7-sonnet": {
|
||||
"description": "Claude 3.7 Sonnet е първият хибриден разсъдъчен модел и най-интелигентният модел на Anthropic досега. Той предлага водещи резултати в кодиране, генериране на съдържание, анализ на данни и планиране, изграждайки се върху софтуерните инженерни и компютърни умения на предшественика си Claude 3.5 Sonnet."
|
||||
"description": "Claude 3.7 Sonnet е най-интелигентният модел на Anthropic до момента и е първият хибриден модел за разсъждение на пазара. Claude 3.7 Sonnet може да генерира почти мигновени отговори или удължено стъпково мислене, което позволява на потребителите ясно да видят тези процеси. Sonnet е особено добър в програмирането, науката за данни, визуалната обработка и агентските задачи."
|
||||
},
|
||||
"anthropic/claude-opus-4": {
|
||||
"description": "Claude Opus 4 е най-мощният модел на Anthropic досега и най-добрият кодов модел в света, водещ в SWE-bench (72.5%) и Terminal-bench (43.2%). Той осигурява устойчива производителност за дългосрочни задачи, изискващи фокус и хиляди стъпки, като може да работи непрекъснато часове — значително разширявайки възможностите на AI агентите."
|
||||
},
|
||||
"anthropic/claude-opus-4.1": {
|
||||
"description": "Claude Opus 4.1 е plug-and-play алтернатива на Opus 4, осигуряваща изключителна производителност и точност за реални кодови и агентски задачи. Opus 4.1 повишава водещата кодова производителност до 74.5% в SWE-bench Verified и обработва сложни многостъпкови проблеми с по-голяма прецизност и внимание към детайлите."
|
||||
"description": "Claude Opus 4 е най-мощният модел на Anthropic за справяне с изключително сложни задачи. Той се отличава с изключителна производителност, интелигентност, плавност и разбиране."
|
||||
},
|
||||
"anthropic/claude-sonnet-4": {
|
||||
"description": "Claude Sonnet 4 значително подобрява водещите в индустрията възможности на Sonnet 3.7, с отлични резултати в кодиране и постига водещи 72.7% в SWE-bench. Моделът балансира производителност и ефективност, подходящ е за вътрешни и външни случаи и предлага по-голям контрол чрез подобрена управляемост."
|
||||
"description": "Claude Sonnet 4 може да генерира почти мигновени отговори или удължено стъпково мислене, което потребителите могат ясно да проследят. Потребителите на API също така имат прецизен контрол върху времето за мислене на модела."
|
||||
},
|
||||
"ascend-tribe/pangu-pro-moe": {
|
||||
"description": "Pangu-Pro-MoE 72B-A16B е голям езиков модел с 72 милиарда параметри и 16 милиарда активирани параметри, базиран на архитектурата с групирани смесени експерти (MoGE). Той групира експертите по време на избора им и ограничава активацията на токените да активират равен брой експерти във всяка група, което осигурява балансирано натоварване на експертите и значително подобрява ефективността на разгръщане на модела на платформата Ascend."
|
||||
@@ -734,9 +665,6 @@
|
||||
"claude-3-5-haiku-20241022": {
|
||||
"description": "Claude 3.5 Haiku е най-бързият следващ модел на Anthropic. В сравнение с Claude 3 Haiku, Claude 3.5 Haiku е подобрен във всички умения и надминава предишния най-голям модел Claude 3 Opus в много интелектуални тестове."
|
||||
},
|
||||
"claude-3-5-haiku-latest": {
|
||||
"description": "Claude 3.5 Haiku предлага бързи отговори, подходящи за леки задачи."
|
||||
},
|
||||
"claude-3-5-sonnet-20240620": {
|
||||
"description": "Claude 3.5 Sonnet предлага способности, надминаващи Opus и по-бърза скорост от Sonnet, като същевременно поддържа същата цена. Sonnet е особено силен в програмирането, науката за данни, визуалната обработка и задачи с агенти."
|
||||
},
|
||||
@@ -746,9 +674,6 @@
|
||||
"claude-3-7-sonnet-20250219": {
|
||||
"description": "Claude 3.7 Sonnet предлага индустриални стандарти, с производителност, надвишаваща конкурентните модели и Claude 3 Opus, с отлични резултати в широки оценки, като същевременно предлага скорост и разходи, характерни за нашите модели от среден клас."
|
||||
},
|
||||
"claude-3-7-sonnet-latest": {
|
||||
"description": "Claude 3.7 Sonnet е най-мощният модел на Anthropic за обработка на изключително сложни задачи. Той се отличава с изключителна производителност, интелигентност, плавност и разбиране."
|
||||
},
|
||||
"claude-3-haiku-20240307": {
|
||||
"description": "Claude 3 Haiku е най-бързият и компактен модел на Anthropic, проектиран за почти мигновени отговори. Той предлага бърза и точна насочена производителност."
|
||||
},
|
||||
@@ -761,17 +686,11 @@
|
||||
"claude-opus-4-1-20250805": {
|
||||
"description": "Claude Opus 4.1 е най-новият и най-мощен модел на Anthropic за справяне с изключително сложни задачи. Той се отличава с изключителна производителност, интелигентност, плавност и разбиране."
|
||||
},
|
||||
"claude-opus-4-1-20250805-thinking": {
|
||||
"description": "Claude Opus 4.1 мисловен модел, който може да демонстрира своя процес на разсъждение в усъвършенствана версия."
|
||||
},
|
||||
"claude-opus-4-20250514": {
|
||||
"description": "Claude Opus 4 е най-мощният модел на Anthropic, предназначен за обработка на изключително сложни задачи. Той се отличава с изключителна производителност, интелигентност, плавност и разбиране."
|
||||
},
|
||||
"claude-sonnet-4-20250514": {
|
||||
"description": "Claude Sonnet 4 може да генерира почти мигновени отговори или удължено стъпково мислене, като потребителите могат ясно да проследят тези процеси."
|
||||
},
|
||||
"claude-sonnet-4-20250514-thinking": {
|
||||
"description": "Claude Sonnet 4 мисловен модел може да генерира почти мигновени отговори или удължено стъпково мислене, като потребителите могат ясно да проследят тези процеси."
|
||||
"description": "Claude 4 Sonnet може да генерира почти мигновени отговори или удължено постепенно мислене, като потребителите могат ясно да видят тези процеси. Потребителите на API също могат да упражняват прецизен контрол върху времето за мислене на модела."
|
||||
},
|
||||
"codegeex-4": {
|
||||
"description": "CodeGeeX-4 е мощен AI помощник за програмиране, който поддържа интелигентни въпроси и отговори и автоматично допълване на код за различни програмни езици, повишавайки ефективността на разработката."
|
||||
@@ -812,6 +731,9 @@
|
||||
"codex-mini-latest": {
|
||||
"description": "codex-mini-latest е фина настройка на o4-mini, специално предназначена за Codex CLI. За директна употреба чрез API препоръчваме да започнете с gpt-4.1."
|
||||
},
|
||||
"cognitivecomputations/dolphin-mixtral-8x22b": {
|
||||
"description": "Dolphin Mixtral 8x22B е модел, проектиран за следване на инструкции, диалози и програмиране."
|
||||
},
|
||||
"cogview-4": {
|
||||
"description": "CogView-4 е първият отворен модел за генериране на изображения с текст на китайски, разработен от Zhipu, който значително подобрява разбирането на семантиката, качеството на генериране на изображения и способността за генериране на текст на китайски и английски език. Поддържа двуезичен вход на произволна дължина на китайски и английски и може да генерира изображения с произволна резолюция в зададения диапазон."
|
||||
},
|
||||
@@ -827,18 +749,6 @@
|
||||
"cohere/Cohere-command-r-plus": {
|
||||
"description": "Command R+ е усъвършенстван оптимизиран модел за RAG, предназначен да се справя с натоварвания на корпоративно ниво."
|
||||
},
|
||||
"cohere/command-a": {
|
||||
"description": "Command A е най-мощният модел на Cohere досега, с отлични резултати в използване на инструменти, агенти, генериране с подобрено извличане (RAG) и многоезични случаи. Command A поддържа контекст с дължина 256K и работи с два GPU, като осигурява 150% по-висок пропускателен капацитет спрямо Command R+ 08-2024."
|
||||
},
|
||||
"cohere/command-r": {
|
||||
"description": "Command R е голям езиков модел, оптимизиран за диалогови взаимодействия и задачи с дълъг контекст. Той е позициониран като модел от категорията „разширяем“, балансирайки висока производителност и точност, позволявайки на компаниите да преминат от концептуални доказателства към продукция."
|
||||
},
|
||||
"cohere/command-r-plus": {
|
||||
"description": "Command R+ е най-новият голям езиков модел на Cohere, оптимизиран за диалогови взаимодействия и задачи с дълъг контекст. Целта му е да бъде изключително мощен, позволявайки на компаниите да преминат от концептуални доказателства към продукция."
|
||||
},
|
||||
"cohere/embed-v4.0": {
|
||||
"description": "Модел, който позволява класифициране на текст, изображения или смесено съдържание или преобразуването им във вграждания."
|
||||
},
|
||||
"command": {
|
||||
"description": "Диалогов модел, следващ инструкции, който показва високо качество и надеждност в езиковите задачи, с по-дълга контекстна дължина в сравнение с нашия основен генеративен модел."
|
||||
},
|
||||
@@ -875,6 +785,12 @@
|
||||
"command-r7b-12-2024": {
|
||||
"description": "command-r7b-12-2024 е малка и ефективна актуализирана версия, пусната през декември 2024 г. Тя показва отлични резултати в задачи, изискващи сложни разсъждения и многократна обработка, като RAG, използване на инструменти и агенти."
|
||||
},
|
||||
"compound-beta": {
|
||||
"description": "Compound-beta е композитна AI система, подкрепена от множество отворени модели, налични в GroqCloud, която интелигентно и селективно използва инструменти за отговор на запитвания на потребителите."
|
||||
},
|
||||
"compound-beta-mini": {
|
||||
"description": "Compound-beta-mini е композитна AI система, подкрепена от публично достъпни модели в GroqCloud, която интелигентно и селективно използва инструменти за отговор на запитвания на потребителите."
|
||||
},
|
||||
"computer-use-preview": {
|
||||
"description": "Моделът computer-use-preview е специално разработен за „инструменти за използване на компютър“, обучен да разбира и изпълнява задачи, свързани с компютри."
|
||||
},
|
||||
@@ -917,18 +833,12 @@
|
||||
"deepseek-ai/DeepSeek-V3": {
|
||||
"description": "DeepSeek-V3 е езиков модел с 6710 милиарда параметри, базиран на смесени експерти (MoE), който използва многоглаво потенциално внимание (MLA) и архитектурата DeepSeekMoE, комбинирайки стратегии за баланс на натоварването без помощни загуби, за да оптимизира производителността на извеждане и обучение. Чрез предварително обучение на 14.8 трилиона висококачествени токени и последващо наблюдавано фино настройване и подсилено обучение, DeepSeek-V3 надминава производителността на други отворени модели и се приближава до водещите затворени модели."
|
||||
},
|
||||
"deepseek-ai/DeepSeek-V3.1": {
|
||||
"description": "DeepSeek-V3.1 е хибриден голям езиков модел, пуснат от DeepSeek AI, който включва множество важни подобрения спрямо предишните версии. Основната иновация на модела е интеграцията на „режим на мислене“ (Thinking Mode) и „режим без мислене“ (Non-thinking Mode), които потребителите могат гъвкаво да превключват чрез настройка на чат шаблони, за да отговарят на различни задачи. След специална пост-тренировка, V3.1 значително подобрява производителността при използване на инструменти и задачи на агенти, като по-добре поддържа външни търсачки и изпълнение на сложни многостъпкови задачи. Моделът е дообучен върху DeepSeek-V3.1-Base чрез двуфазен метод за разширяване на дълги текстове, което значително увеличава обема на тренировъчните данни и подобрява работата с дълги документи и кодове. Като отворен модел, DeepSeek-V3.1 демонстрира способности, сравними с водещи затворени модели в области като кодиране, математика и разсъждение, като същевременно с хибридната си експертна (MoE) архитектура поддържа голям капацитет на модела и ефективно намалява разходите за изчисления."
|
||||
},
|
||||
"deepseek-ai/deepseek-llm-67b-chat": {
|
||||
"description": "DeepSeek 67B е напреднал модел, обучен за диалози с висока сложност."
|
||||
},
|
||||
"deepseek-ai/deepseek-r1": {
|
||||
"description": "Най-съвременен ефективен LLM, специализиран в разсъждения, математика и програмиране."
|
||||
},
|
||||
"deepseek-ai/deepseek-v3.1": {
|
||||
"description": "DeepSeek V3.1: следващо поколение модел за разсъждение, подобряващ способностите за сложни разсъждения и свързано мислене, подходящ за задачи, изискващи задълбочен анализ."
|
||||
},
|
||||
"deepseek-ai/deepseek-vl2": {
|
||||
"description": "DeepSeek-VL2 е визуален езиков модел, разработен на базата на DeepSeekMoE-27B, който използва архитектура на смесени експерти (MoE) с рядка активация, постигайки изключителна производителност с активирани само 4.5B параметри. Моделът показва отлични резултати в множество задачи, включително визуални въпроси и отговори, оптично разпознаване на символи, разбиране на документи/таблици/графики и визуална локализация."
|
||||
},
|
||||
@@ -993,7 +903,7 @@
|
||||
"description": "DeepSeek R1 пълна версия, с 671B параметри, поддържаща търсене в реално време, с по-силни способности за разбиране и генериране."
|
||||
},
|
||||
"deepseek-reasoner": {
|
||||
"description": "DeepSeek V3.1 режим на мислене. Преди да изведе окончателния отговор, моделът първо генерира мисловна верига, за да повиши точността на крайния отговор."
|
||||
"description": "Модел за извеждане, разработен от DeepSeek. Преди да предостави окончателния отговор, моделът първо извежда част от веригата на мислене, за да повиши точността на крайния отговор."
|
||||
},
|
||||
"deepseek-v2": {
|
||||
"description": "DeepSeek V2 е ефективен модел на Mixture-of-Experts, подходящ за икономически ефективни нужди от обработка."
|
||||
@@ -1007,23 +917,14 @@
|
||||
"deepseek-v3-0324": {
|
||||
"description": "DeepSeek-V3-0324 е MoE модел с 671B параметри, който се отличава с предимства в програмирането и техническите способности, разбирането на контекста и обработката на дълги текстове."
|
||||
},
|
||||
"deepseek-v3.1": {
|
||||
"description": "DeepSeek-V3.1 е новият хибриден модел за разсъждение на DeepSeek, който поддържа два режима на разсъждение: мислене и немислене, с по-висока ефективност на мислене в сравнение с DeepSeek-R1-0528. След оптимизация чрез пост-тренировка, използването на агентски инструменти и изпълнението на задачи от интелигентни агенти са значително подобрени. Поддържа контекстен прозорец до 128k и максимална дължина на изхода до 64k токена."
|
||||
},
|
||||
"deepseek-v3.1:671b": {
|
||||
"description": "DeepSeek V3.1: следващо поколение модел за разсъждение, подобряващ способностите за сложни разсъждения и свързано мислене, подходящ за задачи, изискващи задълбочен анализ."
|
||||
},
|
||||
"deepseek/deepseek-chat-v3-0324": {
|
||||
"description": "DeepSeek V3 е експертен смесен модел с 685B параметри, последната итерация на флагманската серия чат модели на екипа DeepSeek.\n\nТой наследява модела [DeepSeek V3](/deepseek/deepseek-chat-v3) и показва отлични резултати в различни задачи."
|
||||
},
|
||||
"deepseek/deepseek-chat-v3-0324:free": {
|
||||
"description": "DeepSeek V3 е експертен смесен модел с 685B параметри, последната итерация на флагманската серия чат модели на екипа DeepSeek.\n\nТой наследява модела [DeepSeek V3](/deepseek/deepseek-chat-v3) и показва отлични резултати в различни задачи."
|
||||
},
|
||||
"deepseek/deepseek-chat-v3.1": {
|
||||
"description": "DeepSeek-V3.1 е голям хибриден модел за разсъждение, който поддържа 128K дълъг контекст и ефективно превключване на режими, постигащ изключителна производителност и скорост при използване на инструменти, генериране на код и сложни задачи за разсъждение."
|
||||
},
|
||||
"deepseek/deepseek-r1": {
|
||||
"description": "DeepSeek R1 моделът е получил малка версия ъпгрейд, текущата версия е DeepSeek-R1-0528. В последната актуализация DeepSeek R1 значително подобри дълбочината и способността за разсъждение чрез използване на увеличени изчислителни ресурси и въвеждане на алгоритмични оптимизации след обучението. Моделът постига отлични резултати в множество бенчмаркове като математика, програмиране и обща логика, като общата му производителност вече се доближава до водещи модели като O3 и Gemini 2.5 Pro."
|
||||
"description": "DeepSeek-R1 значително подобри способността на модела за разсъждение при наличието на много малко маркирани данни. Преди да предостави окончателния отговор, моделът първо ще изведе част от съдържанието на веригата на мислене, за да повиши точността на окончателния отговор."
|
||||
},
|
||||
"deepseek/deepseek-r1-0528": {
|
||||
"description": "DeepSeek-R1 значително подобрява способността за разсъждение на модела дори с много малко анотирани данни. Преди да изведе окончателния отговор, моделът първо генерира мисловна верига, за да повиши точността на крайния отговор."
|
||||
@@ -1032,7 +933,7 @@
|
||||
"description": "DeepSeek-R1 значително подобрява способността за разсъждение на модела дори с много малко анотирани данни. Преди да изведе окончателния отговор, моделът първо генерира мисловна верига, за да повиши точността на крайния отговор."
|
||||
},
|
||||
"deepseek/deepseek-r1-distill-llama-70b": {
|
||||
"description": "DeepSeek-R1-Distill-Llama-70B е дистилиран и по-ефективен вариант на 70B Llama модела. Той запазва силна производителност при генериране на текст, намалявайки изчислителните разходи за по-лесно внедряване и изследване. Обслужва се от Groq с помощта на техния персонализиран хардуер за езикова обработка (LPU), осигурявайки бързо и ефективно разсъждение."
|
||||
"description": "DeepSeek R1 Distill Llama 70B е голям езиков модел, базиран на Llama3.3 70B, който използва фина настройка на изхода на DeepSeek R1, за да постигне конкурентна производителност, сравнима с големите водещи модели."
|
||||
},
|
||||
"deepseek/deepseek-r1-distill-llama-8b": {
|
||||
"description": "DeepSeek R1 Distill Llama 8B е дестилиран голям езиков модел, базиран на Llama-3.1-8B-Instruct, обучен с изхода на DeepSeek R1."
|
||||
@@ -1050,10 +951,7 @@
|
||||
"description": "DeepSeek-R1 значително подобри способността на модела за разсъждение при наличието на много малко маркирани данни. Преди да предостави окончателния отговор, моделът първо ще изведе част от съдържанието на веригата на мислене, за да повиши точността на окончателния отговор."
|
||||
},
|
||||
"deepseek/deepseek-v3": {
|
||||
"description": "Бърз универсален голям езиков модел с подобрени способности за разсъждение."
|
||||
},
|
||||
"deepseek/deepseek-v3.1-base": {
|
||||
"description": "DeepSeek V3.1 Base е подобрена версия на DeepSeek V3 модела."
|
||||
"description": "DeepSeek-V3 постига значителен напредък в скоростта на извеждане в сравнение с предишните модели. Той е на първо място сред отворените модели и може да се сравнява с най-съвременните затворени модели в света. DeepSeek-V3 използва архитектури с многоглаво внимание (MLA) и DeepSeekMoE, които бяха напълно валидирани в DeepSeek-V2. Освен това, DeepSeek-V3 въвежда помощна беззагубна стратегия за баланс на натоварването и задава цели за обучение с множество етикети, за да постигне по-силна производителност."
|
||||
},
|
||||
"deepseek/deepseek-v3/community": {
|
||||
"description": "DeepSeek-V3 постига значителен напредък в скоростта на извеждане в сравнение с предишните модели. Той е на първо място сред отворените модели и може да се сравнява с най-съвременните затворени модели в света. DeepSeek-V3 използва архитектури с многоглаво внимание (MLA) и DeepSeekMoE, които бяха напълно валидирани в DeepSeek-V2. Освен това, DeepSeek-V3 въвежда помощна беззагубна стратегия за баланс на натоварването и задава цели за обучение с множество етикети, за да постигне по-силна производителност."
|
||||
@@ -1124,17 +1022,8 @@
|
||||
"doubao-seed-1.6-thinking": {
|
||||
"description": "Doubao-Seed-1.6-thinking моделът значително подобрява способностите за мислене в сравнение с Doubao-1.5-thinking-pro, с допълнителни подобрения в кодиране, математика и логическо разсъждение, като поддържа и визуално разбиране. Поддържа контекстен прозорец от 256k и максимална дължина на изхода до 16k токена."
|
||||
},
|
||||
"doubao-seed-1.6-vision": {
|
||||
"description": "Doubao-Seed-1.6-vision е визуален модел за дълбоко мислене, който демонстрира по-силни универсални мултимодални разбирания и способности за разсъждение в сценарии като образование, преглед на изображения, инспекции и сигурност, както и AI търсене и отговори. Поддържа контекстен прозорец от 256k и максимална дължина на изхода до 64k токена."
|
||||
},
|
||||
"doubao-seededit-3-0-i2i-250628": {
|
||||
"description": "Моделът за генериране на изображения Doubao е разработен от екипа Seed на ByteDance, поддържа вход от текст и изображения, предоставя висококонтролирано и качествено генериране на изображения. Поддържа редактиране на изображения чрез текстови команди, с размери на изображението от 512 до 1536 пиксела."
|
||||
},
|
||||
"doubao-seedream-3-0-t2i-250415": {
|
||||
"description": "Seedream 3.0 е модел за генериране на изображения, разработен от екипа Seed на ByteDance, поддържа вход от текст и изображения, предоставя висококонтролирано и качествено генериране на изображения. Генерира изображения на базата на текстови подсказки."
|
||||
},
|
||||
"doubao-seedream-4-0-250828": {
|
||||
"description": "Seedream 4.0 е модел за генериране на изображения, разработен от екипа Seed на ByteDance, поддържа вход от текст и изображения, предоставя висококонтролирано и качествено генериране на изображения. Генерира изображения на базата на текстови подсказки."
|
||||
"description": "Моделът за генериране на изображения Doubao е разработен от екипа Seed на ByteDance, поддържа вход както от текст, така и от изображения, и предлага високо контролирано и качествено генериране на изображения. Генерира изображения въз основа на текстови подсказки."
|
||||
},
|
||||
"doubao-vision-lite-32k": {
|
||||
"description": "Моделът Doubao-vision е мултимодален голям модел, разработен от Doubao, с мощни способности за разбиране и разсъждение върху изображения, както и прецизно разбиране на инструкции. Моделът показва силна производителност при извличане на информация от изображения и текст, както и при задачи за разсъждение, базирани на изображения, подходящ за по-сложни и широки визуални въпроси."
|
||||
@@ -1217,33 +1106,6 @@
|
||||
"ernie-x1-turbo-32k": {
|
||||
"description": "В сравнение с ERNIE-X1-32K, моделът предлага по-добри резултати и производителност."
|
||||
},
|
||||
"fal-ai/bytedance/seedream/v4": {
|
||||
"description": "Seedream 4.0 е модел за генериране на изображения, разработен от екипа Seed на ByteDance, поддържа вход от текст и изображения, предоставя висококонтролирано и качествено генериране на изображения. Генерира изображения на базата на текстови подсказки."
|
||||
},
|
||||
"fal-ai/flux-kontext/dev": {
|
||||
"description": "FLUX.1 модел, фокусиран върху задачи за редактиране на изображения, поддържа вход от текст и изображения."
|
||||
},
|
||||
"fal-ai/flux-pro/kontext": {
|
||||
"description": "FLUX.1 Kontext [pro] може да обработва текст и референтни изображения като вход, осигурявайки безпроблемно целенасочено локално редактиране и сложни трансформации на цялостни сцени."
|
||||
},
|
||||
"fal-ai/flux/krea": {
|
||||
"description": "Flux Krea [dev] е модел за генериране на изображения с естетически предпочитания, целящ да създава по-реалистични и естествени изображения."
|
||||
},
|
||||
"fal-ai/flux/schnell": {
|
||||
"description": "FLUX.1 [schnell] е модел за генериране на изображения с 12 милиарда параметри, фокусиран върху бързото създаване на висококачествени изображения."
|
||||
},
|
||||
"fal-ai/imagen4/preview": {
|
||||
"description": "Висококачествен модел за генериране на изображения, предоставен от Google."
|
||||
},
|
||||
"fal-ai/nano-banana": {
|
||||
"description": "Nano Banana е най-новият, най-бързият и най-ефективен роден мултимодален модел на Google, който ви позволява да генерирате и редактирате изображения чрез диалог."
|
||||
},
|
||||
"fal-ai/qwen-image": {
|
||||
"description": "Мощен модел за генериране на сурови изображения от екипа на Qwen, с впечатляващи възможности за генериране на китайски текст и разнообразни визуални стилове на изображения."
|
||||
},
|
||||
"fal-ai/qwen-image-edit": {
|
||||
"description": "Професионален модел за редактиране на изображения, пуснат от екипа на Qwen, поддържа семантично и визуално редактиране, позволява прецизно редактиране на китайски и английски текст, както и стилови трансформации, въртене на обекти и други висококачествени редакции на изображения."
|
||||
},
|
||||
"flux-1-schnell": {
|
||||
"description": "Модел за генериране на изображения от текст с 12 милиарда параметри, разработен от Black Forest Labs, използващ латентна противоречива дифузионна дистилация, способен да генерира висококачествени изображения за 1 до 4 стъпки. Моделът постига производителност, сравнима с проприетарни алтернативи, и е пуснат под лиценз Apache-2.0, подходящ за лична, научна и търговска употреба."
|
||||
},
|
||||
@@ -1256,6 +1118,9 @@
|
||||
"flux-kontext-pro": {
|
||||
"description": "Най-съвременни възможности за контекстно генериране и редактиране на изображения — комбиниране на текст и изображения за постигане на прецизни и последователни резултати."
|
||||
},
|
||||
"flux-kontext/dev": {
|
||||
"description": "FLUX.1 модел, фокусиран върху задачи за редактиране на изображения, поддържащ текстови и визуални входни данни."
|
||||
},
|
||||
"flux-merged": {
|
||||
"description": "FLUX.1-merged комбинира дълбоките характеристики, изследвани в разработката на \"DEV\" версията, с високоскоростните предимства на \"Schnell\". Тази комбинация не само разширява границите на производителността на модела, но и увеличава обхвата на неговото приложение."
|
||||
},
|
||||
@@ -1268,12 +1133,21 @@
|
||||
"flux-pro-1.1-ultra": {
|
||||
"description": "Генериране на изображения с изкуствен интелект с изключително висока резолюция — поддържа изход 4 мегапиксела, създава ултраясни изображения за по-малко от 10 секунди."
|
||||
},
|
||||
"flux-pro/kontext": {
|
||||
"description": "FLUX.1 Kontext [pro] може да обработва текст и референтни изображения като вход, осигурявайки безпроблемно целенасочено локално редактиране и сложни трансформации на цялостната сцена."
|
||||
},
|
||||
"flux-schnell": {
|
||||
"description": "FLUX.1 [schnell] е най-напредналият отворен модел с малък брой стъпки, който надминава конкурентите си и дори превъзхожда мощни нефино настроени модели като Midjourney v6.0 и DALL·E 3 (HD). Моделът е специално фино настроен, за да запази пълното разнообразие на изхода от предварителното обучение и значително подобрява визуалното качество, следването на инструкции, промяната на размери/пропорции, обработката на шрифтове и разнообразието на изхода в сравнение с най-съвременните модели на пазара, предоставяйки по-богато и разнообразно творческо генериране на изображения."
|
||||
},
|
||||
"flux.1-schnell": {
|
||||
"description": "Коригиран потоков трансформър с 12 милиарда параметри, способен да генерира изображения въз основа на текстово описание."
|
||||
},
|
||||
"flux/krea": {
|
||||
"description": "Flux Krea [dev] е модел за генериране на изображения с естетически предпочитания, целящ да създава по-реалистични и естествени изображения."
|
||||
},
|
||||
"flux/schnell": {
|
||||
"description": "FLUX.1 [schnell] е модел за генериране на изображения с 12 милиарда параметри, фокусиран върху бързото създаване на висококачествени изображения."
|
||||
},
|
||||
"gemini-1.0-pro-001": {
|
||||
"description": "Gemini 1.0 Pro 001 (Тунинг) предлага стабилна и настройваема производителност, идеален избор за решения на сложни задачи."
|
||||
},
|
||||
@@ -1344,10 +1218,7 @@
|
||||
"description": "Gemini 2.5 Flash е най-ефективният модел на Google, предлагащ пълна функционалност."
|
||||
},
|
||||
"gemini-2.5-flash-image-preview": {
|
||||
"description": "Nano Banana е най-новият, най-бързият и най-ефективният роден мултимодален модел на Google, който ви позволява да генерирате и редактирате изображения чрез диалог."
|
||||
},
|
||||
"gemini-2.5-flash-image-preview:image": {
|
||||
"description": "Nano Banana е най-новият, най-бързият и най-ефективният роден мултимодален модел на Google, който ви позволява да генерирате и редактирате изображения чрез диалог."
|
||||
"description": "Gemini 2.5 Flash Image Preview е най-новият, най-бързият и най-ефективният роден мултимодален модел на Google; той ви позволява чрез диалог да създавате и редактирате изображения."
|
||||
},
|
||||
"gemini-2.5-flash-lite": {
|
||||
"description": "Gemini 2.5 Flash-Lite е най-малкият и най-ефективен модел на Google, създаден специално за масово използване."
|
||||
@@ -1481,26 +1352,14 @@
|
||||
"glm-zero-preview": {
|
||||
"description": "GLM-Zero-Preview притежава мощни способности за сложни разсъждения, показвайки отлични резултати в логическото разсъждение, математиката и програмирането."
|
||||
},
|
||||
"google/gemini-2.0-flash": {
|
||||
"description": "Gemini 2.0 Flash предлага следващо поколение функции и подобрения, включително изключителна скорост, вградена употреба на инструменти, мултимодално генериране и контекстен прозорец от 1 милион токена."
|
||||
},
|
||||
"google/gemini-2.0-flash-001": {
|
||||
"description": "Gemini 2.0 Flash предлага следващо поколение функции и подобрения, включително изключителна скорост, нативна употреба на инструменти, многомодално генериране и контекстен прозорец от 1M токена."
|
||||
},
|
||||
"google/gemini-2.0-flash-exp:free": {
|
||||
"description": "Gemini 2.0 Flash Experimental е най-новият експериментален мултимодален AI модел на Google, с определено подобрение в качеството в сравнение с предишните версии, особено по отношение на световни знания, код и дълъг контекст."
|
||||
},
|
||||
"google/gemini-2.0-flash-lite": {
|
||||
"description": "Gemini 2.0 Flash Lite предлага следващо поколение функции и подобрения, включително изключителна скорост, вградена употреба на инструменти, мултимодално генериране и контекстен прозорец от 1 милион токена."
|
||||
},
|
||||
"google/gemini-2.5-flash": {
|
||||
"description": "Gemini 2.5 Flash е мислещ модел, който предлага отлични всеобхватни възможности. Той е проектиран да балансира цена и производителност, поддържайки мултимодалност и контекстен прозорец от 1 милион токена."
|
||||
},
|
||||
"google/gemini-2.5-flash-image-preview": {
|
||||
"description": "Gemini 2.5 Flash експериментален модел, поддържащ генериране на изображения."
|
||||
},
|
||||
"google/gemini-2.5-flash-lite": {
|
||||
"description": "Gemini 2.5 Flash-Lite е балансиран, с ниска латентност модел с конфигурируем бюджет за мислене и свързаност с инструменти (например Google Search grounding и изпълнение на код). Поддържа мултимодален вход и предлага контекстен прозорец от 1 милион токена."
|
||||
"description": "Gemini 2.5 Flash е най-усъвършенстваният основен модел на Google, специално проектиран за напреднали задачи по разсъждение, кодиране, математика и наука. Той включва вградена способност за „мислене“, която му позволява да предоставя отговори с по-висока точност и по-детайлна обработка на контекста.\n\nЗабележка: Този модел има два варианта: с мислене и без мислене. Ценообразуването на изхода се различава значително в зависимост от това дали способността за мислене е активирана. Ако изберете стандартния вариант (без суфикса „:thinking“), моделът ясно избягва генерирането на мисловни токени.\n\nЗа да използвате способността за мислене и да получавате мисловни токени, трябва да изберете варианта „:thinking“, което ще доведе до по-висока цена за изход с мислене.\n\nОсвен това, Gemini 2.5 Flash може да бъде конфигуриран чрез параметъра „максимален брой токени за разсъждение“, както е описано в документацията (https://openrouter.ai/docs/use-cases/reasoning-tokens#max-tokens-for-reasoning)."
|
||||
},
|
||||
"google/gemini-2.5-flash-preview": {
|
||||
"description": "Gemini 2.5 Flash е най-напредналият основен модел на Google, проектиран за напреднали разсъждения, кодиране, математика и научни задачи. Той включва вградена способност за \"мислене\", което му позволява да предоставя отговори с по-висока точност и детайлна обработка на контекста.\n\nЗабележка: Този модел има два варианта: с мислене и без мислене. Цените на изхода значително варират в зависимост от активирането на способността за мислене. Ако изберете стандартния вариант (без суфикс \":thinking\"), моделът ще избягва генерирането на токени за мислене.\n\nЗа да се възползвате от способността за мислене и да получите токени за мислене, трябва да изберете варианта \":thinking\", което ще доведе до по-високи цени на изхода за мислене.\n\nОсвен това, Gemini 2.5 Flash може да бъде конфигуриран чрез параметъра \"максимален брой токени за разсъждение\", както е описано в документацията (https://openrouter.ai/docs/use-cases/reasoning-tokens#max-tokens-for-reasoning)."
|
||||
@@ -1509,14 +1368,11 @@
|
||||
"description": "Gemini 2.5 Flash е най-напредналият основен модел на Google, проектиран за напреднали разсъждения, кодиране, математика и научни задачи. Той включва вградена способност за \"мислене\", което му позволява да предоставя отговори с по-висока точност и детайлна обработка на контекста.\n\nЗабележка: Този модел има два варианта: с мислене и без мислене. Цените на изхода значително варират в зависимост от активирането на способността за мислене. Ако изберете стандартния вариант (без суфикс \":thinking\"), моделът ще избягва генерирането на токени за мислене.\n\nЗа да се възползвате от способността за мислене и да получите токени за мислене, трябва да изберете варианта \":thinking\", което ще доведе до по-високи цени на изхода за мислене.\n\nОсвен това, Gemini 2.5 Flash може да бъде конфигуриран чрез параметъра \"максимален брой токени за разсъждение\", както е описано в документацията (https://openrouter.ai/docs/use-cases/reasoning-tokens#max-tokens-for-reasoning)."
|
||||
},
|
||||
"google/gemini-2.5-pro": {
|
||||
"description": "Gemini 2.5 Pro е нашият най-напреднал разсъдъчен Gemini модел, способен да решава сложни проблеми. Той разполага с контекстен прозорец от 2 милиона токена и поддържа мултимодален вход, включително текст, изображения, аудио, видео и PDF документи."
|
||||
"description": "Gemini 2.5 Pro е най-усъвършенстваният мисловен модел на Google, способен да извършва разсъждения върху сложни проблеми в областта на кодирането, математиката и STEM, както и да анализира големи набори от данни, кодови бази и документи с дълъг контекст."
|
||||
},
|
||||
"google/gemini-2.5-pro-preview": {
|
||||
"description": "Gemini 2.5 Pro Preview е най-усъвършенстваният мисловен модел на Google, способен да извършва разсъждения върху сложни проблеми в областта на кодирането, математиката и STEM, както и да анализира големи набори от данни, кодови бази и документи с дълъг контекст."
|
||||
},
|
||||
"google/gemini-embedding-001": {
|
||||
"description": "Водещ модел за вграждане с отлична производителност при задачи на английски, многоезични и кодови задачи."
|
||||
},
|
||||
"google/gemini-flash-1.5": {
|
||||
"description": "Gemini 1.5 Flash предлага оптимизирани мултимодални обработващи способности, подходящи за различни сложни задачи."
|
||||
},
|
||||
@@ -1544,21 +1400,12 @@
|
||||
"google/gemma-2b-it": {
|
||||
"description": "Gemma Instruct (2B) предлага основни способности за обработка на инструкции, подходящи за леки приложения."
|
||||
},
|
||||
"google/gemma-3-12b-it": {
|
||||
"description": "Gemma 3 12B е отворен езиков модел на Google, който поставя нови стандарти за ефективност и производителност."
|
||||
},
|
||||
"google/gemma-3-1b-it": {
|
||||
"description": "Gemma 3 1B е отворен езиков модел на Google, който поставя нови стандарти за ефективност и производителност."
|
||||
},
|
||||
"google/gemma-3-27b-it": {
|
||||
"description": "Gemma 3 27B е отворен езиков модел на Google, който поставя нови стандарти за ефективност и производителност."
|
||||
},
|
||||
"google/text-embedding-005": {
|
||||
"description": "Текстово вграждане, оптимизирано за код и английски език."
|
||||
},
|
||||
"google/text-multilingual-embedding-002": {
|
||||
"description": "Многоезичен модел за текстово вграждане, оптимизиран за междуезикови задачи, поддържащ множество езици."
|
||||
},
|
||||
"gpt-3.5-turbo": {
|
||||
"description": "GPT 3.5 Turbo, подходящ за различни задачи по генериране и разбиране на текст, в момента сочи към gpt-3.5-turbo-0125."
|
||||
},
|
||||
@@ -1632,7 +1479,7 @@
|
||||
"description": "ChatGPT-4o е динамичен модел, който се актуализира в реално време, за да поддържа най-новата версия. Той съчетава мощно разбиране и генериране на език и е подходящ за мащабни приложения, включително обслужване на клиенти, образование и техническа поддръжка."
|
||||
},
|
||||
"gpt-4o-audio-preview": {
|
||||
"description": "GPT-4o Audio Preview модел, поддържащ аудио вход и изход."
|
||||
"description": "Модел GPT-4o Audio, поддържащ вход и изход на аудио."
|
||||
},
|
||||
"gpt-4o-mini": {
|
||||
"description": "GPT-4o mini е най-новият модел на OpenAI, след GPT-4 Omni, който поддържа текстово и визуално въвеждане и генерира текст. Като най-напредналият им малък модел, той е значително по-евтин от другите нови модели и е с над 60% по-евтин от GPT-3.5 Turbo. Запазва най-съвременната интелигентност, като същевременно предлага значителна стойност за парите. GPT-4o mini получи 82% на теста MMLU и в момента е с по-висок рейтинг от GPT-4 по предпочитания за чат."
|
||||
@@ -1673,33 +1520,21 @@
|
||||
"gpt-5-chat-latest": {
|
||||
"description": "Моделът GPT-5, използван в ChatGPT. Комбинира мощно разбиране и генериране на език, подходящ за диалогови приложения."
|
||||
},
|
||||
"gpt-5-codex": {
|
||||
"description": "GPT-5 Codex е версия на GPT-5, оптимизирана за задачи с агентско кодиране в Codex или подобни среди."
|
||||
},
|
||||
"gpt-5-mini": {
|
||||
"description": "По-бърза и по-икономична версия на GPT-5, подходяща за ясно дефинирани задачи. Осигурява по-бърз отговор, като същевременно поддържа високо качество на изхода."
|
||||
},
|
||||
"gpt-5-nano": {
|
||||
"description": "Най-бързата и най-икономична версия на GPT-5. Отлично подходяща за приложения, изискващи бърз отговор и чувствителни към разходите."
|
||||
},
|
||||
"gpt-audio": {
|
||||
"description": "GPT Audio е универсален чат модел, ориентиран към аудио вход и изход, поддържащ използване на аудио I/O в Chat Completions API."
|
||||
},
|
||||
"gpt-image-1": {
|
||||
"description": "Роден мултимодален модел за генериране на изображения ChatGPT."
|
||||
},
|
||||
"gpt-oss-120b": {
|
||||
"description": "GPT-OSS-120B MXFP4 квантизиран трансформър модел, който запазва силна производителност при ограничени ресурси."
|
||||
"gpt-oss": {
|
||||
"description": "GPT-OSS 20B е отворен голям езиков модел, публикуван от OpenAI, използващ технологията за квантуване MXFP4, подходящ за работа на висок клас потребителски GPU или Apple Silicon Mac. Този модел се отличава с отлични резултати в генерирането на диалози, писането на код и задачи за разсъждение, като поддържа извикване на функции и използване на инструменти."
|
||||
},
|
||||
"gpt-oss:120b": {
|
||||
"description": "GPT-OSS 120B е голям отворен езиков модел, публикуван от OpenAI, използващ технологията за квантуване MXFP4, предназначен за флагмански клас модели. Изисква многократни GPU или високопроизводителна работна станция за работа, с изключителни възможности в сложни разсъждения, генериране на код и многоезична обработка, поддържайки усъвършенствано извикване на функции и интеграция на инструменти."
|
||||
},
|
||||
"gpt-oss:20b": {
|
||||
"description": "GPT-OSS 20B е отворен голям езиков модел, публикуван от OpenAI, използващ MXFP4 квантова технология, подходящ за работа на висок клас потребителски GPU или Apple Silicon Mac. Моделът се представя отлично в задачи за генериране на диалог, писане на код и разсъждения, поддържа извикване на функции и използване на инструменти."
|
||||
},
|
||||
"gpt-realtime": {
|
||||
"description": "Универсален модел в реално време, поддържащ текстов и аудио вход и изход, както и вход на изображения."
|
||||
},
|
||||
"grok-2-1212": {
|
||||
"description": "Този модел е подобрен по отношение на точност, спазване на инструкции и многоезични способности."
|
||||
},
|
||||
@@ -1724,24 +1559,6 @@
|
||||
"grok-4": {
|
||||
"description": "Нашият най-нов и най-мощен флагмански модел, който се отличава с изключителни резултати в обработката на естествен език, математическите изчисления и разсъжденията — перфектен универсален играч."
|
||||
},
|
||||
"grok-4-0709": {
|
||||
"description": "Grok 4 от xAI, с мощни способности за разсъждение."
|
||||
},
|
||||
"grok-4-fast-non-reasoning": {
|
||||
"description": "С удоволствие представяме Grok 4 Fast, нашият най-нов напредък в модели за разсъждение с висока ефективност на разходите."
|
||||
},
|
||||
"grok-4-fast-reasoning": {
|
||||
"description": "С удоволствие представяме Grok 4 Fast, нашият най-нов напредък в модели за разсъждение с висока ефективност на разходите."
|
||||
},
|
||||
"grok-code-fast-1": {
|
||||
"description": "С удоволствие представяме grok-code-fast-1, бърз и икономичен модел за извод, който се отличава с отлични резултати при кодиране на агенти."
|
||||
},
|
||||
"groq/compound": {
|
||||
"description": "Compound е сложна AI система, поддържана от множество отворени модели, вече налични в GroqCloud, която интелигентно и селективно използва инструменти за отговор на потребителски запитвания."
|
||||
},
|
||||
"groq/compound-mini": {
|
||||
"description": "Compound-mini е сложна AI система, поддържана от публично достъпни модели, вече налични в GroqCloud, която интелигентно и селективно използва инструменти за отговор на потребителски запитвания."
|
||||
},
|
||||
"gryphe/mythomax-l2-13b": {
|
||||
"description": "MythoMax l2 13B е езиков модел, който комбинира креативност и интелигентност, обединявайки множество водещи модели."
|
||||
},
|
||||
@@ -1797,7 +1614,7 @@
|
||||
"description": "Значително подобрени способности в сложна математика, логика и кодиране, оптимизирана стабилност на изхода и подобрена работа с дълги текстове."
|
||||
},
|
||||
"hunyuan-t1-latest": {
|
||||
"description": "Значително подобрява способностите на основния модел за бавно мислене при сложна математика, комплексни разсъждения, труден код, спазване на инструкции и качество на текстовото творчество."
|
||||
"description": "Първият в индустрията свръхголям хибриден трансформаторен модел за инференция, който разширява инференционните способности, предлага изключителна скорост на декодиране и допълнително съгласува човешките предпочитания."
|
||||
},
|
||||
"hunyuan-t1-vision": {
|
||||
"description": "Модел за дълбоко мултимодално разбиране Hunyuan, поддържащ естествени мултимодални вериги на мислене, експертен в различни сценарии за разсъждение върху изображения, с цялостно подобрение спрямо бързите мисловни модели при научни задачи."
|
||||
@@ -1865,17 +1682,8 @@
|
||||
"imagen-4.0-ultra-generate-preview-06-06": {
|
||||
"description": "Imagen 4-то поколение текст-към-изображение модел серия Ултра версия"
|
||||
},
|
||||
"inception/mercury-coder-small": {
|
||||
"description": "Mercury Coder Small е идеален за задачи по генериране, отстраняване на грешки и рефакториране на код с минимална латентност."
|
||||
},
|
||||
"inclusionAI/Ling-flash-2.0": {
|
||||
"description": "Ling-flash-2.0 е третият модел от серията Ling 2.0 архитектури, публикуван от екипа на Ant Group Bailing. Това е модел с хибридни експерти (MoE) с общо 100 милиарда параметри, но при всеки токен активира само 6.1 милиарда параметри (без вграждания – 4.8 милиарда). Като леко конфигуриран модел, Ling-flash-2.0 показва в множество авторитетни оценки производителност, сравнима или дори превъзхождаща плътни (Dense) модели с 40 милиарда параметри и по-големи MoE модели. Моделът е предназначен да изследва пътища за висока ефективност чрез изключителен дизайн на архитектурата и стратегии за обучение, в контекста на общоприетото схващане, че „големият модел е равен на големи параметри“."
|
||||
},
|
||||
"inclusionAI/Ling-mini-2.0": {
|
||||
"description": "Ling-mini-2.0 е малък, но високопроизводителен голям езиков модел, базиран на MoE архитектура. Той има общо 16 милиарда параметри, но при всеки токен активира само 1.4 милиарда (без вграждания – 789 милиона), което осигурява изключително бърза генерация. Благодарение на ефективния MoE дизайн и големия обем висококачествени тренировъчни данни, въпреки че активираните параметри са само 1.4 милиарда, Ling-mini-2.0 демонстрира върхова производителност в downstream задачи, сравнима с плътни LLM под 10 милиарда параметри и по-големи MoE модели."
|
||||
},
|
||||
"inclusionAI/Ring-flash-2.0": {
|
||||
"description": "Ring-flash-2.0 е високопроизводителен мисловен модел, дълбоко оптимизиран на базата на Ling-flash-2.0-base. Той използва MoE архитектура с общо 100 милиарда параметри, но при всяко извод активира само 6.1 милиарда параметри. Моделът решава нестабилността на големите MoE модели при обучение с подсилено учене (RL) чрез уникалния алгоритъм icepop, което позволява непрекъснато подобряване на сложните разсъждения при дългосрочно обучение. Ring-flash-2.0 постига значителни пробиви в множество трудни бенчмаркове като математически състезания, генериране на код и логически разсъждения. Неговата производителност не само превъзхожда топ плътни модели с по-малко от 40 милиарда параметри, но и се сравнява с по-големи отворени MoE модели и затворени високопроизводителни мисловни модели. Въпреки че е фокусиран върху сложни разсъждения, моделът се представя отлично и в творческо писане. Благодарение на ефективния си архитектурен дизайн, Ring-flash-2.0 осигурява висока производителност и бърз извод, значително намалявайки разходите за внедряване на мисловни модели при висока паралелност."
|
||||
"imagen4/preview": {
|
||||
"description": "Висококачествен модел за генериране на изображения, предоставен от Google."
|
||||
},
|
||||
"internlm/internlm2_5-7b-chat": {
|
||||
"description": "InternLM2.5 предлага интелигентни решения за диалог в множество сценарии."
|
||||
@@ -1910,9 +1718,6 @@
|
||||
"kimi-k2-0711-preview": {
|
||||
"description": "kimi-k2 е базов модел с MoE архитектура с изключителни способности за кодиране и агентски функции, с общо 1 трилион параметри и 32 милиарда активни параметри. В тестове за общо знание, програмиране, математика и агентски задачи, моделът K2 превъзхожда други водещи отворени модели."
|
||||
},
|
||||
"kimi-k2-0905-preview": {
|
||||
"description": "Моделът kimi-k2-0905-preview има контекстна дължина от 256k, с по-силни способности за агентно кодиране, по-изразителна естетика и практичност на фронтенд кода, както и по-добро разбиране на контекста."
|
||||
},
|
||||
"kimi-k2-turbo-preview": {
|
||||
"description": "Kimi-k2 е базов модел с MoE архитектура, който притежава изключителни възможности за работа с код и агентни функции. Общият брой параметри е 1T, а активните параметри са 32B. В бенчмарковете за основни категории като общо знание и разсъждение, програмиране, математика и агентни задачи, моделът K2 превъзхожда другите водещи отворени модели."
|
||||
},
|
||||
@@ -2001,10 +1806,7 @@
|
||||
"description": "LLaVA е многомодален модел, комбиниращ визуален кодер и Vicuna, предназначен за мощно визуално и езиково разбиране."
|
||||
},
|
||||
"magistral-medium-latest": {
|
||||
"description": "Magistral Medium 1.2 е водещ модел за изводи с визуална поддръжка, пуснат от Mistral AI през септември 2025 г."
|
||||
},
|
||||
"magistral-small-2509": {
|
||||
"description": "Magistral Small 1.2 е отворен малък модел за изводи с визуална поддръжка, пуснат от Mistral AI през септември 2025 г."
|
||||
"description": "Magistral Medium 1.1 е водещ модел за инференция, публикуван от Mistral AI през юли 2025 г."
|
||||
},
|
||||
"mathstral": {
|
||||
"description": "MathΣtral е проектиран за научни изследвания и математически разсъждения, предоставяйки ефективни изчислителни способности и интерпретация на резултати."
|
||||
@@ -2153,63 +1955,30 @@
|
||||
"meta/Meta-Llama-3.1-8B-Instruct": {
|
||||
"description": "Текстов модел Llama 3.1 с фино настройване за инструкции, оптимизиран за многоезични диалогови случаи, с отлични резултати в множество налични отворени и затворени чат модели при стандартни индустриални бенчмаркове."
|
||||
},
|
||||
"meta/llama-3-70b": {
|
||||
"description": "70-милиарден параметров отворен модел, прецизно настроен от Meta за следване на инструкции. Обслужва се от Groq с техния персонализиран хардуер за езикова обработка (LPU) за бързо и ефективно разсъждение."
|
||||
},
|
||||
"meta/llama-3-8b": {
|
||||
"description": "8-милиарден параметров отворен модел, прецизно настроен от Meta за следване на инструкции. Обслужва се от Groq с техния персонализиран хардуер за езикова обработка (LPU) за бързо и ефективно разсъждение."
|
||||
},
|
||||
"meta/llama-3.1-405b-instruct": {
|
||||
"description": "Напреднал LLM, поддържащ генериране на синтетични данни, дестилация на знания и разсъждение, подходящ за чатботове, програмиране и специфични задачи."
|
||||
},
|
||||
"meta/llama-3.1-70b": {
|
||||
"description": "Обновена версия на Meta Llama 3 70B Instruct, включваща разширена дължина на контекста 128K, многоезичност и подобрени способности за разсъждение."
|
||||
},
|
||||
"meta/llama-3.1-70b-instruct": {
|
||||
"description": "Улеснява сложни разговори, с изключителни способности за разбиране на контекста, разсъждение и генериране на текст."
|
||||
},
|
||||
"meta/llama-3.1-8b": {
|
||||
"description": "Llama 3.1 8B поддържа контекстен прозорец 128K, което го прави идеален за интерфейси за реално време и анализ на данни, като същевременно предлага значителни икономии в сравнение с по-големите модели. Обслужва се от Groq с техния персонализиран хардуер за езикова обработка (LPU) за бързо и ефективно разсъждение."
|
||||
},
|
||||
"meta/llama-3.1-8b-instruct": {
|
||||
"description": "Напреднал, водещ модел с разбиране на езика, изключителни способности за разсъждение и генериране на текст."
|
||||
},
|
||||
"meta/llama-3.2-11b": {
|
||||
"description": "Модел за генериране с разсъждения върху изображения (текст + входящи изображения / текстов изход), оптимизиран за визуално разпознаване, разсъждения върху изображения, генериране на заглавия и отговори на общи въпроси за изображения."
|
||||
},
|
||||
"meta/llama-3.2-11b-vision-instruct": {
|
||||
"description": "Водещ визуално-езиков модел, специализиран в извършване на висококачествени разсъждения от изображения."
|
||||
},
|
||||
"meta/llama-3.2-1b": {
|
||||
"description": "Модел само за текст, поддържащ локални случаи на употреба на устройството като многоезично локално извличане на знания, обобщение и пренаписване."
|
||||
},
|
||||
"meta/llama-3.2-1b-instruct": {
|
||||
"description": "Напреднал, водещ малък езиков модел с разбиране на езика, изключителни способности за разсъждение и генериране на текст."
|
||||
},
|
||||
"meta/llama-3.2-3b": {
|
||||
"description": "Модел само за текст, прецизно настроен за поддръжка на локални случаи на употреба на устройството като многоезично локално извличане на знания, обобщение и пренаписване."
|
||||
},
|
||||
"meta/llama-3.2-3b-instruct": {
|
||||
"description": "Напреднал, водещ малък езиков модел с разбиране на езика, изключителни способности за разсъждение и генериране на текст."
|
||||
},
|
||||
"meta/llama-3.2-90b": {
|
||||
"description": "Модел за генериране с разсъждения върху изображения (текст + входящи изображения / текстов изход), оптимизиран за визуално разпознаване, разсъждения върху изображения, генериране на заглавия и отговори на общи въпроси за изображения."
|
||||
},
|
||||
"meta/llama-3.2-90b-vision-instruct": {
|
||||
"description": "Водещ визуално-езиков модел, специализиран в извършване на висококачествени разсъждения от изображения."
|
||||
},
|
||||
"meta/llama-3.3-70b": {
|
||||
"description": "Перфектна комбинация от производителност и ефективност. Моделът поддържа високопроизводителен диалогов AI, проектиран за създаване на съдържание, корпоративни приложения и изследвания, предоставяйки усъвършенствани езикови разбирания, включително обобщение на текст, класификация, анализ на настроения и генериране на код."
|
||||
},
|
||||
"meta/llama-3.3-70b-instruct": {
|
||||
"description": "Напреднал LLM, специализиран в разсъждения, математика, общи познания и извикване на функции."
|
||||
},
|
||||
"meta/llama-4-maverick": {
|
||||
"description": "Колекцията модели Llama 4 са родени мултимодални AI модели, поддържащи текст и мултимодални преживявания. Тези модели използват архитектура с хибридни експерти, предоставяйки водеща в индустрията производителност в разбирането на текст и изображения. Llama 4 Maverick, модел с 17 милиарда параметри и 128 експерти. Обслужва се от DeepInfra."
|
||||
},
|
||||
"meta/llama-4-scout": {
|
||||
"description": "Колекцията модели Llama 4 са родени мултимодални AI модели, поддържащи текст и мултимодални преживявания. Тези модели използват архитектура с хибридни експерти, предоставяйки водеща в индустрията производителност в разбирането на текст и изображения. Llama 4 Scout, модел с 17 милиарда параметри и 16 експерти. Обслужва се от DeepInfra."
|
||||
},
|
||||
"microsoft/Phi-3-medium-128k-instruct": {
|
||||
"description": "Същият модел Phi-3-medium, но с по-голям размер на контекста, подходящ за RAG или малко количество подсказки."
|
||||
},
|
||||
@@ -2285,45 +2054,6 @@
|
||||
"mistral-small-latest": {
|
||||
"description": "Mistral Small е икономически ефективен, бърз и надежден вариант, подходящ за случаи на употреба като превод, резюме и анализ на настроението."
|
||||
},
|
||||
"mistral/codestral": {
|
||||
"description": "Mistral Codestral 25.01 е най-съвременният кодов модел, оптимизиран за ниска латентност и висока честота на използване. Владее над 80 програмни езика и се представя отлично в задачи като междинно попълване (FIM), корекция на код и генериране на тестове."
|
||||
},
|
||||
"mistral/codestral-embed": {
|
||||
"description": "Кодов модел за вграждане, който може да бъде вграден в кодови бази данни и хранилища, за да поддържа кодови асистенти."
|
||||
},
|
||||
"mistral/devstral-small": {
|
||||
"description": "Devstral е голям езиков модел агент за софтуерно инженерство, което го прави отличен избор за софтуерни инженерни агенти."
|
||||
},
|
||||
"mistral/magistral-medium": {
|
||||
"description": "Сложно мислене, подкрепено от дълбоко разбиране с прозрачно разсъждение, което можете да следвате и проверявате. Моделът поддържа висока вярност на разсъжденията на множество езици, дори при смяна на езика в средата на задачата."
|
||||
},
|
||||
"mistral/magistral-small": {
|
||||
"description": "Сложно мислене, подкрепено от дълбоко разбиране с прозрачно разсъждение, което можете да следвате и проверявате. Моделът поддържа висока вярност на разсъжденията на множество езици, дори при смяна на езика в средата на задачата."
|
||||
},
|
||||
"mistral/ministral-3b": {
|
||||
"description": "Компактен и ефективен модел за задачи на устройства като интелигентни асистенти и локален анализ, осигуряващ ниска латентност."
|
||||
},
|
||||
"mistral/ministral-8b": {
|
||||
"description": "По-мощен модел с по-бързо и паметно ефективно разсъждение, идеален за сложни работни потоци и изискващи приложения на ръба."
|
||||
},
|
||||
"mistral/mistral-embed": {
|
||||
"description": "Универсален текстов модел за вграждане, използван за семантично търсене, сходство, клъстериране и RAG работни потоци."
|
||||
},
|
||||
"mistral/mistral-large": {
|
||||
"description": "Mistral Large е идеален за сложни задачи, изискващи големи разсъдъчни способности или висока специализация — като синтетично генериране на текст, генериране на код, RAG или агенти."
|
||||
},
|
||||
"mistral/mistral-small": {
|
||||
"description": "Mistral Small е идеален за прости задачи, които могат да се обработват на партиди — като класификация, клиентска поддръжка или генериране на текст. Предлага отлична производителност на достъпна цена."
|
||||
},
|
||||
"mistral/mixtral-8x22b-instruct": {
|
||||
"description": "8x22b Instruct модел. 8x22b е отворен модел с хибридни експерти, обслужван от Mistral."
|
||||
},
|
||||
"mistral/pixtral-12b": {
|
||||
"description": "12-милиарден модел с възможности за разбиране на изображения, както и текст."
|
||||
},
|
||||
"mistral/pixtral-large": {
|
||||
"description": "Pixtral Large е вторият модел в нашето мултимодално семейство, демонстриращ водещи в класа способности за разбиране на изображения. По-специално, моделът може да разбира документи, диаграми и естествени изображения, като същевременно запазва водещите способности за разбиране на текст на Mistral Large 2."
|
||||
},
|
||||
"mistralai/Mistral-7B-Instruct-v0.1": {
|
||||
"description": "Mistral (7B) Instruct е известен с високата си производителност, подходящ за множество езикови задачи."
|
||||
},
|
||||
@@ -2384,23 +2114,11 @@
|
||||
"moonshotai/Kimi-Dev-72B": {
|
||||
"description": "Kimi-Dev-72B е голям отворен модел за код, оптимизиран чрез мащабно подсилено обучение, способен да генерира стабилни и директно приложими пачове. Този модел постига нов рекорд от 60,4 % на SWE-bench Verified, подобрявайки резултатите на отворени модели в автоматизирани задачи за софтуерно инженерство като поправка на дефекти и преглед на код."
|
||||
},
|
||||
"moonshotai/Kimi-K2-Instruct-0905": {
|
||||
"description": "Kimi K2-Instruct-0905 е най-новата и най-мощна версия на Kimi K2. Това е водещ езиков модел с хибридна експертна архитектура (MoE), с общо 1 трилион параметри и 32 милиарда активни параметри. Основните характеристики на модела включват: подобрена интелигентност при кодиране на агенти, с изразително подобрение в производителността при публични бенчмаркове и реални задачи за кодиране на агенти; усъвършенстван опит при фронтенд кодиране, с напредък както в естетиката, така и в практичността на фронтенд програмирането."
|
||||
"moonshotai/Kimi-K2-Instruct": {
|
||||
"description": "Kimi K2 е базов модел с MoE архитектура, с изключителни кодови и агентски способности, общо 1 трилион параметри и 32 милиарда активирани параметри. В бенчмаркове за общо знание, програмиране, математика и агентски задачи моделът K2 превъзхожда други водещи отворени модели."
|
||||
},
|
||||
"moonshotai/kimi-k2": {
|
||||
"description": "Kimi K2 е голям смесен експертен (MoE) езиков модел с 1 трилион общи параметри и 32 милиарда активни параметри на преден проход, разработен от Moonshot AI. Оптимизиран е за агентски способности, включително усъвършенствано използване на инструменти, разсъждения и синтез на код."
|
||||
},
|
||||
"moonshotai/kimi-k2-0905": {
|
||||
"description": "Моделът kimi-k2-0905-preview има контекстна дължина от 256k, с по-силни способности за агентно кодиране, по-изразителна естетика и практичност на фронтенд кода, както и по-добро разбиране на контекста."
|
||||
},
|
||||
"moonshotai/kimi-k2-instruct-0905": {
|
||||
"description": "Моделът kimi-k2-0905-preview има контекстна дължина от 256k, с по-силни способности за агентно кодиране, по-изразителна естетика и практичност на фронтенд кода, както и по-добро разбиране на контекста."
|
||||
},
|
||||
"morph/morph-v3-fast": {
|
||||
"description": "Morph предоставя специализиран AI модел, който прилага препоръчаните от водещи модели (като Claude или GPT-4o) промени в кода към съществуващите ви файлове БЪРЗО - над 4500+ токена в секунда. Той служи като последна стъпка в AI кодовия работен поток. Поддържа 16k входни и 16k изходни токена."
|
||||
},
|
||||
"morph/morph-v3-large": {
|
||||
"description": "Morph предоставя специализиран AI модел, който прилага препоръчаните от водещи модели (като Claude или GPT-4o) промени в кода към съществуващите ви файлове БЪРЗО - над 2500+ токена в секунда. Той служи като последна стъпка в AI кодовия работен поток. Поддържа 16k входни и 16k изходни токена."
|
||||
"moonshotai/kimi-k2-instruct": {
|
||||
"description": "kimi-k2 е базов модел с MoE архитектура с изключителни способности за кодиране и агент, с общо 1 трилион параметри и 32 милиарда активни параметри. В бенчмаркови тестове за общи знания, програмиране, математика и агенти, моделът K2 превъзхожда други водещи отворени модели."
|
||||
},
|
||||
"nousresearch/hermes-2-pro-llama-3-8b": {
|
||||
"description": "Hermes 2 Pro Llama 3 8B е обновена версия на Nous Hermes 2, включваща най-новите вътрешно разработени набори от данни."
|
||||
@@ -2429,9 +2147,6 @@
|
||||
"o3": {
|
||||
"description": "o3 е универсален и мощен модел, който показва отлични резултати в множество области. Той задава нови стандарти за задачи по математика, наука, програмиране и визуални разсъждения. Също така е добър в техническото писане и следването на инструкции. Потребителите могат да го използват за анализ на текст, код и изображения, за решаване на сложни проблеми с множество стъпки."
|
||||
},
|
||||
"o3-2025-04-16": {
|
||||
"description": "o3 е новият модел за разсъждение на OpenAI, поддържа вход от изображения и текст и изход на текст, подходящ за сложни задачи, изискващи широко общо знание."
|
||||
},
|
||||
"o3-deep-research": {
|
||||
"description": "o3-deep-research е нашият най-напреднал модел за дълбоко изследване, специално проектиран за обработка на сложни многократни изследователски задачи. Той може да търси и обобщава информация от интернет, както и да осъществява достъп и използва вашите собствени данни чрез MCP конектор."
|
||||
},
|
||||
@@ -2441,15 +2156,9 @@
|
||||
"o3-pro": {
|
||||
"description": "Моделът o3-pro използва повече изчислителна мощ за по-задълбочено мислене и винаги предоставя по-добри отговори, като се поддържа само чрез Responses API."
|
||||
},
|
||||
"o3-pro-2025-06-10": {
|
||||
"description": "o3 Pro е новият модел за разсъждение на OpenAI, поддържа вход от изображения и текст и изход на текст, подходящ за сложни задачи, изискващи широко общо знание."
|
||||
},
|
||||
"o4-mini": {
|
||||
"description": "o4-mini е нашият най-нов малък модел от серията o. Той е оптимизиран за бързо и ефективно извеждане, показвайки изключителна ефективност и производителност в задачи по кодиране и визуализация."
|
||||
},
|
||||
"o4-mini-2025-04-16": {
|
||||
"description": "o4-mini е модел за разсъждение на OpenAI, поддържа вход от изображения и текст и изход на текст, подходящ за сложни задачи, изискващи широко общо знание. Този модел има контекст от 200K."
|
||||
},
|
||||
"o4-mini-deep-research": {
|
||||
"description": "o4-mini-deep-research е нашият по-бърз и по-достъпен модел за дълбоко изследване — идеален за обработка на сложни многократни изследователски задачи. Той може да търси и обобщава информация от интернет, както и да осъществява достъп и използва вашите собствени данни чрез MCP конектор."
|
||||
},
|
||||
@@ -2468,47 +2177,29 @@
|
||||
"open-mixtral-8x7b": {
|
||||
"description": "Mixtral 8x7B е рядък експертен модел, който използва множество параметри за увеличаване на скоростта на разсъждение, подходящ за обработка на многоезични и кодови генериращи задачи."
|
||||
},
|
||||
"openai/gpt-3.5-turbo": {
|
||||
"description": "Най-способният и икономичен модел от серията GPT-3.5 на OpenAI, оптимизиран за чат, но също така с добри резултати при традиционни задачи за завършване."
|
||||
},
|
||||
"openai/gpt-3.5-turbo-instruct": {
|
||||
"description": "Подобни възможности на моделите от епохата GPT-3. Съвместим с традиционни крайни точки за завършване, а не с чат крайни точки."
|
||||
},
|
||||
"openai/gpt-4-turbo": {
|
||||
"description": "gpt-4-turbo от OpenAI притежава обширни общи знания и експертиза в различни области, което му позволява да следва сложни инструкции на естествен език и да решава точно трудни проблеми. Знанията му са актуални до април 2023 г., а контекстният прозорец е 128 000 токена."
|
||||
},
|
||||
"openai/gpt-4.1": {
|
||||
"description": "GPT 4.1 е водещият модел на OpenAI, подходящ за сложни задачи. Изключително подходящ за решаване на проблеми в различни области."
|
||||
"description": "GPT-4.1 е нашият флагмански модел за сложни задачи. Той е изключително подходящ за решаване на проблеми в различни области."
|
||||
},
|
||||
"openai/gpt-4.1-mini": {
|
||||
"description": "GPT 4.1 mini постига баланс между интелигентност, скорост и цена, което го прави привлекателен модел за много случаи на употреба."
|
||||
"description": "GPT-4.1 mini предлага баланс между интелигентност, скорост и разходи, което го прави привлекателен модел за много случаи на употреба."
|
||||
},
|
||||
"openai/gpt-4.1-nano": {
|
||||
"description": "GPT-4.1 nano е най-бързият и икономичен модел от серията GPT 4.1."
|
||||
"description": "GPT-4.1 nano е най-бързият и най-икономичният модел на GPT-4.1."
|
||||
},
|
||||
"openai/gpt-4o": {
|
||||
"description": "GPT-4o от OpenAI притежава обширни общи знания и експертиза в различни области, способен да следва сложни инструкции на естествен език и да решава точно трудни проблеми. Предлага производителност, съпоставима с GPT-4 Turbo, но с по-бърз и по-евтин API."
|
||||
"description": "ChatGPT-4o е динамичен модел, който се актуализира в реално време, за да поддържа най-новата версия. Той комбинира мощно разбиране на езика и способности за генериране, подходящ за мащабни приложения, включително обслужване на клиенти, образование и техническа поддръжка."
|
||||
},
|
||||
"openai/gpt-4o-mini": {
|
||||
"description": "GPT-4o mini от OpenAI е техният най-напреднал и икономичен малък модел. Той е мултимодален (приема текст или изображения като вход и генерира текст) и е по-интелигентен от gpt-3.5-turbo, като същевременно е също толкова бърз."
|
||||
},
|
||||
"openai/gpt-5": {
|
||||
"description": "GPT-5 е водещият езиков модел на OpenAI, отличаващ се в сложни разсъждения, обширни знания за реалния свят, задачи с интензивен код и многостъпкови агентски задачи."
|
||||
},
|
||||
"openai/gpt-5-mini": {
|
||||
"description": "GPT-5 mini е оптимизиран по отношение на разходите модел, който се представя отлично при задачи за разсъждение и чат. Предлага най-добрия баланс между скорост, цена и способности."
|
||||
},
|
||||
"openai/gpt-5-nano": {
|
||||
"description": "GPT-5 nano е модел с висок пропускателен капацитет, който се справя отлично с прости инструкции или задачи за класификация."
|
||||
"description": "GPT-4o mini е най-новият модел на OpenAI, пуснат след GPT-4 Omni, който поддържа вход и изход на текст и изображения. Като най-напредналият им малък модел, той е значително по-евтин от другите нови модели и е с над 60% по-евтин от GPT-3.5 Turbo. Запазва най-съвременната интелигентност, като предлага значителна стойност за парите. GPT-4o mini получи 82% на теста MMLU и в момента е с по-висок рейтинг от GPT-4 в предпочитанията за чат."
|
||||
},
|
||||
"openai/gpt-oss-120b": {
|
||||
"description": "Изключително способен универсален голям езиков модел с мощни и контролируеми способности за разсъждение."
|
||||
"description": "OpenAI GPT-OSS 120B е водещ езиков модел с 120 милиарда параметри, вграден браузър за търсене и изпълнение на код, както и способности за разсъждение."
|
||||
},
|
||||
"openai/gpt-oss-20b": {
|
||||
"description": "Компактен езиков модел с отворени тегла, оптимизиран за ниска латентност и среди с ограничени ресурси, включително локални и ръбови внедрявания."
|
||||
"description": "OpenAI GPT-OSS 20B е водещ езиков модел с 20 милиарда параметри, вграден браузър за търсене и изпълнение на код, както и способности за разсъждение."
|
||||
},
|
||||
"openai/o1": {
|
||||
"description": "o1 на OpenAI е водещ модел за разсъждение, проектиран за сложни проблеми, изискващи дълбоко мислене. Той осигурява мощни способности за разсъждение и по-висока точност при сложни многостъпкови задачи."
|
||||
"description": "o1 е новият модел за разсъждение на OpenAI, който поддържа вход с изображения и текст и генерира текст, подходящ за сложни задачи, изискващи широкообхватни общи знания. Моделът разполага с контекст от 200K и дата на знание до октомври 2023 г."
|
||||
},
|
||||
"openai/o1-mini": {
|
||||
"description": "o1-mini е бърз и икономичен модел за изводи, проектиран за приложения в програмирането, математиката и науката. Моделът разполага с контекст от 128K и дата на знание до октомври 2023."
|
||||
@@ -2517,44 +2208,23 @@
|
||||
"description": "o1 е новият модел за изводи на OpenAI, подходящ за сложни задачи, изискващи обширни общи знания. Моделът разполага с контекст от 128K и дата на знание до октомври 2023."
|
||||
},
|
||||
"openai/o3": {
|
||||
"description": "o3 на OpenAI е най-мощният модел за разсъждение, поставящ нови стандарти в кодиране, математика, наука и визуално възприятие. Отличава се при сложни заявки, изискващи многостранен анализ, с особен акцент върху анализа на изображения, диаграми и графики."
|
||||
"description": "o3 е мощен универсален модел, който показва отлични резултати в множество области. Той поставя нови стандарти за математически, научни, програмистки и визуални задачи за разсъждение. Също така е добър в техническото писане и следването на инструкции. Потребителите могат да го използват за анализ на текст, код и изображения, за решаване на сложни проблеми с множество стъпки."
|
||||
},
|
||||
"openai/o3-mini": {
|
||||
"description": "o3-mini е най-новият малък модел за разсъждение на OpenAI, който предлага висока интелигентност при същите цели за цена и латентност като o1-mini."
|
||||
"description": "o3-mini предлага висока интелигентност при същите разходи и цели за закъснение като o1-mini."
|
||||
},
|
||||
"openai/o3-mini-high": {
|
||||
"description": "o3-mini high е версия с високо ниво на разсъждение, която предлага висока интелигентност при същите разходи и цели за закъснение като o1-mini."
|
||||
},
|
||||
"openai/o4-mini": {
|
||||
"description": "o4-mini на OpenAI предлага бързо и икономично разсъждение с отлична производителност за своя размер, особено в математика (най-добър в AIME бенчмарка), кодиране и визуални задачи."
|
||||
"description": "o4-mini е оптимизиран за бързо и ефективно извеждане, показвайки изключителна ефективност и производителност в задачи по кодиране и визуализация."
|
||||
},
|
||||
"openai/o4-mini-high": {
|
||||
"description": "o4-mini версия с високо ниво на извеждане, оптимизирана за бързо и ефективно извеждане, показваща изключителна ефективност и производителност в задачи по кодиране и визуализация."
|
||||
},
|
||||
"openai/text-embedding-3-large": {
|
||||
"description": "Най-способният модел за вграждане на OpenAI, подходящ за задачи на английски и други езици."
|
||||
},
|
||||
"openai/text-embedding-3-small": {
|
||||
"description": "Подобрена и по-високопроизводителна версия на ada модела за вграждане на OpenAI."
|
||||
},
|
||||
"openai/text-embedding-ada-002": {
|
||||
"description": "Традиционният текстов модел за вграждане на OpenAI."
|
||||
},
|
||||
"openrouter/auto": {
|
||||
"description": "В зависимост от дължината на контекста, темата и сложността, вашето запитване ще бъде изпратено до Llama 3 70B Instruct, Claude 3.5 Sonnet (саморегулиращ) или GPT-4o."
|
||||
},
|
||||
"perplexity/sonar": {
|
||||
"description": "Лек продукт на Perplexity с възможности за търсене, по-бърз и по-евтин от Sonar Pro."
|
||||
},
|
||||
"perplexity/sonar-pro": {
|
||||
"description": "Водещият продукт на Perplexity с възможности за търсене, поддържащ сложни заявки и последващи действия."
|
||||
},
|
||||
"perplexity/sonar-reasoning": {
|
||||
"description": "Модел, фокусиран върху разсъждения, който издава мисловни вериги (CoT) в отговорите и предоставя подробни обяснения с търсене."
|
||||
},
|
||||
"perplexity/sonar-reasoning-pro": {
|
||||
"description": "Разширен модел, фокусиран върху разсъждения, който издава мисловни вериги (CoT) в отговорите и предоставя комплексни обяснения с подобрени възможности за търсене и множество заявки за търсене на заявка."
|
||||
},
|
||||
"phi3": {
|
||||
"description": "Phi-3 е лек отворен модел, представен от Microsoft, подходящ за ефективна интеграция и мащабно знание разсъждение."
|
||||
},
|
||||
@@ -2595,7 +2265,7 @@
|
||||
"description": "Qwen-Image е универсален модел за генериране на изображения, който поддържа множество художествени стилове и е особено добър в рендериране на сложни текстове, включително на китайски и английски. Моделът поддържа многоредови оформления, генериране на текст на ниво абзац и изобразяване на детайли с висока прецизност, позволявайки създаване на сложни комбинирани оформления от изображение и текст."
|
||||
},
|
||||
"qwen-image-edit": {
|
||||
"description": "Qwen Image Edit е модел за генериране на изображения, който поддържа редактиране и модификация на изображения въз основа на входни изображения и текстови подсказки, като може да извършва прецизни корекции и креативни трансформации на оригиналното изображение според нуждите на потребителя."
|
||||
"description": "Професионален модел за редактиране на изображения, публикуван от екипа на Qwen, който поддържа семантично редактиране и редактиране на външния вид и може прецизно да обработва текст на китайски и английски, извършвайки висококачествени редакции на изображения като трансформация на стил и въртене на обекти."
|
||||
},
|
||||
"qwen-long": {
|
||||
"description": "Qwen е мащабен езиков модел, който поддържа дълги текстови контексти и диалогови функции, базирани на дълги документи и множество документи."
|
||||
@@ -2831,21 +2501,6 @@
|
||||
"qwen3-coder-plus": {
|
||||
"description": "Кодиращ модел на Tongyi Qianwen. Най-новата серия модели Qwen3-Coder е базирана на Qwen3 и е модел за генериране на код с мощни възможности на Coding Agent, умеещ да използва инструменти и да взаимодейства с околната среда, способен на автономно програмиране, с изключителни кодови умения и същевременно общи способности."
|
||||
},
|
||||
"qwen3-coder:480b": {
|
||||
"description": "Високопроизводителен модел с дълъг контекст, разработен от Alibaba за агентски и кодиращи задачи."
|
||||
},
|
||||
"qwen3-max": {
|
||||
"description": "Серията Max на Tongyi Qianwen 3 предлага значително подобрена обща способност в сравнение с серия 2.5, с подобрено разбиране на текст на китайски и английски, способност за следване на сложни инструкции, умения за субективни отворени задачи, многоезични възможности и повишена способност за извикване на инструменти; моделът демонстрира по-малко халюцинации на знания. Последният модел qwen3-max включва специални подобрения в програмирането на агенти и извикването на инструменти в сравнение с версията qwen3-max-preview. Официалната версия, публикувана сега, достига SOTA ниво в своята област и е адаптирана за по-сложни изисквания на интелигентни агенти."
|
||||
},
|
||||
"qwen3-next-80b-a3b-instruct": {
|
||||
"description": "Базирано на Qwen3, ново поколение отворен модел без мисловен режим, който предлага по-добро разбиране на китайски текстове, подобрени логически умения и по-добри резултати при задачи за генериране на текст в сравнение с предишната версия (Tongyi Qianwen 3-235B-A22B-Instruct-2507)."
|
||||
},
|
||||
"qwen3-next-80b-a3b-thinking": {
|
||||
"description": "Базирано на Qwen3, ново поколение отворен модел с мисловен режим, който подобрява спазването на инструкции и предоставя по-кратки и точни обобщения в сравнение с предишната версия (Tongyi Qianwen 3-235B-A22B-Thinking-2507)."
|
||||
},
|
||||
"qwen3-vl-plus": {
|
||||
"description": "Tongyi Qianwen VL е текстов генеративен модел с визуални (изображения) разбирания, който не само може да извършва OCR (разпознаване на текст в изображения), но и да обобщава и прави изводи, например извличане на атрибути от снимки на продукти или решаване на задачи по математика от изображения."
|
||||
},
|
||||
"qwq": {
|
||||
"description": "QwQ е експериментален изследователски модел, който се фокусира върху подобряване на AI разсъдъчните способности."
|
||||
},
|
||||
@@ -2990,9 +2645,18 @@
|
||||
"thudm/glm-4-9b-chat": {
|
||||
"description": "GLM-4 е последната версия на предварително обучен модел от серията, публикувана от Zhizhu AI."
|
||||
},
|
||||
"thudm/glm-4-9b:free": {
|
||||
"description": "GLM-4-9B-0414 е езиков модел с 9 милиарда параметри от серията GLM-4, разработен от THUDM. GLM-4-9B-0414 използва същите стратегии за усилено обучение и подравняване, които се прилагат за по-голямата му 32B версия, за да постигне висока производителност в съотношение с размера си, което го прави подходящ за внедряване с ограничени ресурси, което все пак изисква силни способности за разбиране и генериране на език."
|
||||
},
|
||||
"thudm/glm-z1-32b": {
|
||||
"description": "GLM-Z1-32B-0414 е подобрена версия на GLM-4-32B, проектирана за дълбока математика, логика и решаване на проблеми, свързани с код. Той прилага разширено обучение с подсилване (за специфични задачи и на базата на общи предпочитания) за подобряване на производителността при сложни многостепенни задачи. В сравнение с основния модел GLM-4-32B, Z1 значително подобрява способностите в структурираното разсъждение и формалните области.\n\nМоделът поддържа прилагане на стъпки за \"мислене\" чрез инженеринг на подсказки и предлага подобрена последователност за дълги формати на изхода. Той е оптимизиран за работни потоци на агенти и поддържа дълъг контекст (чрез YaRN), извиквания на JSON инструменти и конфигурации за фино проби за стабилно разсъждение. Идеален е за случаи, изискващи дълбочинно разсъждение, многостепенни разсъждения или формализирани изводи."
|
||||
},
|
||||
"thudm/glm-z1-32b:free": {
|
||||
"description": "GLM-Z1-32B-0414 е подобрена версия на GLM-4-32B, проектирана за дълбока математика, логика и решаване на проблеми, свързани с код. Той прилага разширено обучение с подсилване (за специфични задачи и на базата на общи предпочитания) за подобряване на производителността при сложни многостепенни задачи. В сравнение с основния модел GLM-4-32B, Z1 значително подобрява способностите в структурираното разсъждение и формалните области.\n\nМоделът поддържа прилагане на стъпки за \"мислене\" чрез инженеринг на подсказки и предлага подобрена последователност за дълги формати на изхода. Той е оптимизиран за работни потоци на агенти и поддържа дълъг контекст (чрез YaRN), извиквания на JSON инструменти и конфигурации за фино проби за стабилно разсъждение. Идеален е за случаи, изискващи дълбочинно разсъждение, многостепенни разсъждения или формализирани изводи."
|
||||
},
|
||||
"thudm/glm-z1-9b:free": {
|
||||
"description": "GLM-Z1-9B-0414 е езиков модел с 9B параметри от серията GLM-4, разработен от THUDM. Той прилага технологии, първоначално използвани в по-големия GLM-Z1 модел, включително разширено усилено обучение, подравняване на двойки и обучение за интензивни разсъждения в области като математика, кодиране и логика. Въпреки по-малкия си размер, той показва силна производителност в общите задачи за разсъждение и надминава много от отворените модели на нивото на теглата."
|
||||
},
|
||||
"thudm/glm-z1-rumination-32b": {
|
||||
"description": "THUDM: GLM Z1 Rumination 32B е дълбок разсъдъчен модел с 32B параметри от серията GLM-4-Z1, оптимизиран за сложни, отворени задачи, изискващи дълго разсъждение. Той е построен на основата на glm-4-32b-0414, с добавени допълнителни етапи на усилено обучение и многостепенни стратегии за подравняване, въвеждайки \"разсъждателни\" способности, предназначени да симулират разширена когнитивна обработка. Това включва итеративно разсъждение, многократен анализ и работни потоци, подобрени с инструменти, като търсене, извличане и синтез с осведоменост за цитати.\n\nМоделът показва отлични резултати в изследователското писане, сравнителния анализ и сложните въпроси и отговори. Той поддържа извиквания на функции за търсене и навигация (\"search\", \"click\", \"open\", \"finish\"), което позволява използването му в агенти. Разсъждателното поведение се контролира от многократни цикли с базирани на правила награди и механизми за забавено вземане на решения, с референтни рамки за дълбоки изследвания, като вътрешния стек за подравняване на OpenAI. Този вариант е подходящ за сценарии, изискващи дълбочина, а не скорост."
|
||||
},
|
||||
@@ -3026,12 +2690,6 @@
|
||||
"v0-1.5-md": {
|
||||
"description": "Моделът v0-1.5-md е подходящ за ежедневни задачи и генериране на потребителски интерфейс (UI)"
|
||||
},
|
||||
"vercel/v0-1.0-md": {
|
||||
"description": "Достъп до модела зад v0 за генериране, поправка и оптимизация на модерни уеб приложения с разсъждения, специфични за рамки, и актуални знания."
|
||||
},
|
||||
"vercel/v0-1.5-md": {
|
||||
"description": "Достъп до модела зад v0 за генериране, поправка и оптимизация на модерни уеб приложения с разсъждения, специфични за рамки, и актуални знания."
|
||||
},
|
||||
"wan2.2-t2i-flash": {
|
||||
"description": "Wanxiang 2.2 експресна версия, най-новият модел към момента. Комплексно подобрение в креативност, стабилност и реализъм, с бърза скорост на генериране и висока цена-ефективност."
|
||||
},
|
||||
@@ -3062,27 +2720,6 @@
|
||||
"x1": {
|
||||
"description": "Моделът Spark X1 ще бъде допълнително обновен, като на базата на водещите в страната резултати в математически задачи, ще постигне ефекти в общи задачи като разсъждение, генериране на текст и разбиране на език, сравними с OpenAI o1 и DeepSeek R1."
|
||||
},
|
||||
"xai/grok-2": {
|
||||
"description": "Grok 2 е водещ езиков модел с най-съвременни способности за разсъждение. Той има напреднали умения в чат, кодиране и разсъждение, превъзхождайки Claude 3.5 Sonnet и GPT-4-Turbo в класацията LMSYS."
|
||||
},
|
||||
"xai/grok-2-vision": {
|
||||
"description": "Grok 2 визуалният модел се представя отлично при задачи, базирани на визуална информация, предоставяйки водещи резултати в визуално математическо разсъждение (MathVista) и въпроси и отговори, базирани на документи (DocVQA). Той може да обработва разнообразна визуална информация, включително документи, диаграми, графики, екранни снимки и снимки."
|
||||
},
|
||||
"xai/grok-3": {
|
||||
"description": "Флагманският модел на xAI, който се представя отлично в корпоративни случаи като извличане на данни, кодиране и обобщение на текст. Притежава дълбоки познания в областите финанси, здравеопазване, право и наука."
|
||||
},
|
||||
"xai/grok-3-fast": {
|
||||
"description": "Флагманският модел на xAI, който се представя отлично в корпоративни случаи като извличане на данни, кодиране и обобщение на текст. Вариантът бърз модел се обслужва на по-бърза инфраструктура, осигурявайки много по-бързо време за отговор. Увеличената скорост идва с по-висока цена на токен изход."
|
||||
},
|
||||
"xai/grok-3-mini": {
|
||||
"description": "Лек модел на xAI, който мисли преди да отговори. Отличен за прости или логически задачи, които не изискват дълбоки познания в областта. Първоначалните мисловни пътеки са достъпни."
|
||||
},
|
||||
"xai/grok-3-mini-fast": {
|
||||
"description": "Лек модел на xAI, който мисли преди да отговори. Отличен за прости или логически задачи, които не изискват дълбоки познания в областта. Първоначалните мисловни пътеки са достъпни. Вариантът бърз модел се обслужва на по-бърза инфраструктура, осигурявайки много по-бързо време за отговор. Увеличената скорост идва с по-висока цена на токен изход."
|
||||
},
|
||||
"xai/grok-4": {
|
||||
"description": "Най-новият и най-велик флагмански модел на xAI, предоставящ ненадмината производителност в естествен език, математика и разсъждения — перфектният универсален играч."
|
||||
},
|
||||
"yi-1.5-34b-chat": {
|
||||
"description": "Yi-1.5 е обновена версия на Yi. Тя използва висококачествен корпус от 500B токена за продължителна предварителна обучение на Yi и е майсторски подобрявана с 3M разнообразни примера за fino-tuning."
|
||||
},
|
||||
@@ -3130,14 +2767,5 @@
|
||||
},
|
||||
"zai-org/GLM-4.5V": {
|
||||
"description": "GLM-4.5V е най-новото поколение визуално-езиков модел (VLM), публикуван от Zhipu AI (智谱 AI). Моделът е изграден върху водещия текстов модел GLM-4.5-Air, който разполага с общо 106 милиарда параметри и 12 милиарда активационни параметри, и използва архитектура с разбъркани експерти (Mixture of Experts, MoE), целяща постигане на висока производителност при по-ниски разходи за инференция. Технически GLM-4.5V продължава линията на GLM-4.1V-Thinking и въвежда иновации като триизмерно ротационно позиционно кодиране (3D-RoPE), което значително засилва възприемането и разсъжденията относно триизмерните пространствени взаимовръзки. Чрез оптимизации в етапите на предварително обучение, супервизирано фино настройване и подсилено обучение, моделът може да обработва различни визуални формати — изображения, видео и дълги документи — и в 41 публични мултимодални бенчмарка достига водещи резултати сред отворените модели от същия клас. Освен това моделът добавя превключвател за 'режим на мислене', който позволява на потребителите гъвкаво да избират между бърз отговор и дълбоко разсъждение, за да балансират ефективността и качеството."
|
||||
},
|
||||
"zai/glm-4.5": {
|
||||
"description": "Серията модели GLM-4.5 е специално проектирана за агенти. Флагманът GLM-4.5 интегрира 355 милиарда общи параметри (32 милиарда активни), обединявайки разсъждения, кодиране и агентски способности за решаване на сложни приложения. Като хибридна разсъдъчна система, той предлага двойни режими на работа."
|
||||
},
|
||||
"zai/glm-4.5-air": {
|
||||
"description": "GLM-4.5 и GLM-4.5-Air са нашите най-нови флагмански модели, специално проектирани като основни модели за агентски приложения. И двата използват архитектура с хибридни експерти (MoE). GLM-4.5 има 355 милиарда общи параметри с 32 милиарда активни на преден проход, докато GLM-4.5-Air е по-опростен с 106 милиарда общи параметри и 12 милиарда активни."
|
||||
},
|
||||
"zai/glm-4.5v": {
|
||||
"description": "GLM-4.5V е изграден върху основния модел GLM-4.5-Air, наследявайки проверените технологии на GLM-4.1V-Thinking и постига ефективно мащабиране чрез мощната MoE архитектура с 106 милиарда параметри."
|
||||
}
|
||||
}
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user