mirror of
https://github.com/lobehub/lobe-chat.git
synced 2026-06-18 05:18:31 +00:00
Compare commits
1 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| f95f97a0f2 |
@@ -1,183 +0,0 @@
|
||||
---
|
||||
description: Complete guide for adding a new AI provider documentation to LobeChat
|
||||
alwaysApply: false
|
||||
---
|
||||
|
||||
# Adding New AI Provider Documentation
|
||||
|
||||
This document provides a step-by-step guide for adding documentation for a new AI provider to LobeChat, based on the complete workflow used for adding providers like BFL (Black Forest Labs) and FAL.
|
||||
|
||||
## Overview
|
||||
|
||||
Adding a new provider requires creating both user-facing documentation and technical configuration files. The process involves:
|
||||
|
||||
1. Creating usage documentation (EN + CN)
|
||||
2. Adding environment variable documentation (EN + CN)
|
||||
3. Updating Docker configuration files
|
||||
4. Updating .env.example file
|
||||
5. Preparing image resources
|
||||
|
||||
## Step 1: Create Provider Usage Documentation
|
||||
|
||||
Create user-facing documentation that explains how to use the new provider.
|
||||
|
||||
### Required Files
|
||||
|
||||
Create both English and Chinese versions:
|
||||
- `docs/usage/providers/{provider-name}.mdx` (English)
|
||||
- `docs/usage/providers/{provider-name}.zh-CN.mdx` (Chinese)
|
||||
|
||||
### Documentation Structure
|
||||
|
||||
Follow the structure and format used in existing provider documentation. For reference, see:
|
||||
- `docs/usage/providers/fal.mdx` (English template)
|
||||
- `docs/usage/providers/fal.zh-CN.mdx` (Chinese template)
|
||||
|
||||
### Key Requirements
|
||||
|
||||
- **Images**: Prepare 5-6 screenshots showing the process
|
||||
- **Cover Image**: Create or obtain a cover image for the provider
|
||||
- **Accurate URLs**: Use real registration and dashboard URLs
|
||||
- **Service Type**: Specify whether it's for image generation, text generation, etc.
|
||||
- **Pricing Warning**: Include pricing information callout
|
||||
|
||||
### Important Notes
|
||||
|
||||
- **🔒 API Key Security**: Never include real API keys in documentation. Always use placeholder format (e.g., `bfl-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx`)
|
||||
- **🖼️ Image Hosting**: Use LobeHub's CDN for all images: `hub-apac-1.lobeobjects.space`
|
||||
|
||||
## Step 2: Update Environment Variables Documentation
|
||||
|
||||
Add the new provider's environment variables to the self-hosting documentation.
|
||||
|
||||
### Files to Update
|
||||
|
||||
- `docs/self-hosting/environment-variables/model-provider.mdx` (English)
|
||||
- `docs/self-hosting/environment-variables/model-provider.zh-CN.mdx` (Chinese)
|
||||
|
||||
### Content to Add
|
||||
|
||||
Add two sections for each provider:
|
||||
|
||||
```markdown
|
||||
### `{PROVIDER}_API_KEY`
|
||||
|
||||
- Type: Required
|
||||
- Description: This is the API key you applied for in the {Provider Name} service.
|
||||
- Default: -
|
||||
- Example: `{api-key-format-example}`
|
||||
|
||||
### `{PROVIDER}_MODEL_LIST`
|
||||
|
||||
- Type: Optional
|
||||
- Description: Used to control the {Provider Name} 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,+{model-id-1},+{model-id-2}={display-name}`
|
||||
|
||||
The above example disables all models first, then enables `{model-id-1}` and `{model-id-2}` (displayed as `{display-name}`).
|
||||
|
||||
[model-list]: /docs/self-hosting/advanced/model-list
|
||||
```
|
||||
|
||||
### Important Notes
|
||||
|
||||
- **API Key Format**: Use proper UUID format for examples (e.g., `12345678-1234-1234-1234-123456789abc`)
|
||||
- **Real Model IDs**: Use actual model IDs from the codebase, not placeholders
|
||||
- **Consistent Naming**: Follow the pattern `{PROVIDER}_API_KEY` and `{PROVIDER}_MODEL_LIST`
|
||||
|
||||
## Step 3: Update Docker Configuration Files
|
||||
|
||||
Add environment variables to all Docker configuration files to ensure the provider works in containerized deployments.
|
||||
|
||||
### Files to Update
|
||||
|
||||
All Dockerfile variants must be updated:
|
||||
- `Dockerfile`
|
||||
- `Dockerfile.database`
|
||||
- `Dockerfile.pglite`
|
||||
|
||||
### Changes Required
|
||||
|
||||
Add the new provider's environment variables at the **end** of the ENV section, just before the final line:
|
||||
|
||||
```dockerfile
|
||||
# Previous providers...
|
||||
# 302.AI
|
||||
AI302_API_KEY="" AI302_MODEL_LIST="" \
|
||||
# {New Provider 1}
|
||||
{PROVIDER1}_API_KEY="" {PROVIDER1}_MODEL_LIST="" \
|
||||
# {New Provider 2}
|
||||
{PROVIDER2}_API_KEY="" {PROVIDER2}_MODEL_LIST=""
|
||||
```
|
||||
|
||||
### Important Rules
|
||||
|
||||
- **Position**: Add new providers at the **end** of the list
|
||||
- **Ordering**: When adding multiple providers, use alphabetical order (e.g., FAL before BFL)
|
||||
- **Consistency**: Maintain identical ordering across all Dockerfile variants
|
||||
- **Format**: Follow the pattern `{PROVIDER}_API_KEY="" {PROVIDER}_MODEL_LIST="" \`
|
||||
|
||||
## Step 4: Update .env.example File
|
||||
|
||||
Add example configuration entries to help users understand how to configure the provider locally.
|
||||
|
||||
### File to Update
|
||||
|
||||
- `.env.example`
|
||||
|
||||
### Content to Add
|
||||
|
||||
Add new sections before the "Market Service" section:
|
||||
|
||||
```bash
|
||||
### {Provider Name} ###
|
||||
|
||||
# {PROVIDER}_API_KEY={provider-prefix}-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
|
||||
```
|
||||
|
||||
### Format Guidelines
|
||||
|
||||
- **Section Header**: Use `### {Provider Name} ###` format
|
||||
- **Commented Example**: Use `#` to comment out the example
|
||||
- **Key Format**: Use appropriate prefix for the provider (e.g., `bfl-`, `fal-`, `sk-`)
|
||||
- **Position**: Add before the Market Service section
|
||||
- **Spacing**: Maintain consistent spacing with existing entries
|
||||
|
||||
## Step 5: Image Resources
|
||||
|
||||
Prepare all necessary image resources for the documentation.
|
||||
|
||||
### Required Images
|
||||
|
||||
1. **Cover Image**: Provider logo or branded image
|
||||
2. **API Dashboard Screenshots**: 3-4 screenshots showing API key creation process
|
||||
3. **LobeChat Configuration Screenshots**: 2-3 screenshots showing provider setup in LobeChat
|
||||
|
||||
### Image Guidelines
|
||||
|
||||
- **Quality**: Use high-resolution screenshots
|
||||
- **Consistency**: Maintain consistent styling across all screenshots
|
||||
- **Privacy**: Remove or blur any sensitive information
|
||||
- **Format**: Use PNG format for screenshots
|
||||
- **Hosting**: Use LobeHub's CDN (`hub-apac-1.lobeobjects.space`) for all images
|
||||
|
||||
## Checklist
|
||||
|
||||
Before submitting your provider documentation:
|
||||
|
||||
- [ ] Created both English and Chinese usage documentation
|
||||
- [ ] Added environment variable documentation (EN + CN)
|
||||
- [ ] Updated all 3 Dockerfile variants with consistent ordering
|
||||
- [ ] Updated .env.example with proper key format
|
||||
- [ ] Prepared all required screenshots and images
|
||||
- [ ] Used actual model IDs from the codebase
|
||||
- [ ] Verified no real API keys are included in documentation
|
||||
- [ ] Used LobeHub CDN for all image hosting
|
||||
- [ ] Tested the documentation for clarity and accuracy
|
||||
|
||||
## Reference
|
||||
|
||||
This guide was created based on the implementation of BFL (Black Forest Labs) provider documentation. For a complete example, refer to:
|
||||
- Commits: `d2da03e1a` (documentation) and `6a2e95868` (environment variables)
|
||||
- Files: `docs/usage/providers/bfl.mdx`, `docs/usage/providers/bfl.zh-CN.mdx`
|
||||
- PR: Current branch `tj/feat/bfl-docs`
|
||||
@@ -26,11 +26,28 @@ Gather the modified code and context. Please strictly follow the process below:
|
||||
|
||||
### Code Style
|
||||
|
||||
read [typescript.mdc](mdc:.cursor/rules/typescript.mdc) for the consolidated project code style and optimization rules.
|
||||
read [typescript.mdc](mdc:.cursor/rules/typescript.mdc) to learn the project's code style.
|
||||
|
||||
- Ensure JSDoc comments accurately reflect the implementation; update them when needed.
|
||||
- Look for opportunities to simplify or modernize code with the latest JavaScript/TypeScript features.
|
||||
- Prefer `async`/`await` over callbacks or chained `.then` promises.
|
||||
- Use consistent, descriptive naming—avoid obscure abbreviations.
|
||||
- Replace magic numbers or strings with well-named constants.
|
||||
- Use semantically meaningful variable, function, and class names.
|
||||
- Ignore purely formatting issues and other autofixable lint problems.
|
||||
|
||||
### Code Optimization
|
||||
|
||||
The optimization checklist has been consolidated into [typescript.mdc](mdc:.cursor/rules/typescript.mdc): loops, debouncing/throttling, design system components, theming tokens, concurrency with `Promise.*`, minimal DB column selection, and package reuse.
|
||||
- Prefer `for…of` loops to index-based `for` loops when feasible.
|
||||
- Decide whether callbacks should be **debounced** or **throttled**.
|
||||
- Use components from `@lobehub/ui`, Ant Design, or the existing design system instead of raw HTML tags (e.g., `Button` vs. `button`).
|
||||
- reuse npm packages already installed (e.g., `lodash/omit`) rather than reinventing the wheel.
|
||||
- Design for dark mode and mobile responsiveness:
|
||||
- Use the `antd-style` token system instead of hard-coded colors.
|
||||
- Select the proper component variants.
|
||||
- Performance considerations:
|
||||
- Where safe, convert sequential async flows to concurrent ones with `Promise.all`, `Promise.race`, etc.
|
||||
- Query only the required columns from a database rather than selecting entire rows.
|
||||
|
||||
### Obvious Bugs
|
||||
|
||||
|
||||
@@ -30,3 +30,75 @@ alwaysApply: true
|
||||
- Good: `git show commit_hash -- file.txt | cat`
|
||||
- Good: `git log --oneline | cat`
|
||||
- Reason: Some git commands use pagers by default, which may prevent output from being captured properly
|
||||
|
||||
## Mermaid Diagram Generation: Strict Syntax Validation Checklist
|
||||
|
||||
Before producing any Mermaid diagram, you **must** compare your final code line-by-line against every rule in the following checklist to ensure 100% compliance. **This is a hard requirement and takes precedence over other stylistic suggestions.** Please follow these action steps:
|
||||
|
||||
1. Plan the Mermaid diagram logic in your mind.
|
||||
2. Write the Mermaid code.
|
||||
3. **Carefully review your code line-by-line against the entire checklist below.**
|
||||
4. Fix any aspect of your code that doesn't comply.
|
||||
5. Use the `validateMermaid` tool to check your code for syntax errors. Only proceed if validation passes.
|
||||
6. Output the final, compliant, and copy-ready Mermaid code block.
|
||||
7. Immediately after the Mermaid code block, output:
|
||||
I have checked that the Mermaid syntax fully complies with the validation checklist.
|
||||
|
||||
---
|
||||
|
||||
### Checklist Details
|
||||
|
||||
#### Rule 1: Edge Labels – Must Be Plain Text Only
|
||||
|
||||
> **Essence:** Anything inside `|...|` must contain pure, unformatted text. Absolutely NO Markdown, list markers, or parentheses/brackets allowed—these often cause rendering failures.
|
||||
|
||||
- **✅ Do:** `A -->|Process plain text data| B`
|
||||
- **❌ Don't:** `A -->|1. Ordered list item| B` (No numbered lists)
|
||||
- **❌ Don't:** `CC --"1. fetch('/api/...')"--> API` (No square brackets)
|
||||
- **❌ Don't:** `A -->|- Unordered list item| B` (No hyphen lists)
|
||||
- **❌ Don't:** `A -->|Transform (important)| B` (No parentheses)
|
||||
- **❌ Don't:** `A -->|Transform [important]| B` (No square brackets)
|
||||
|
||||
#### Rule 2: Node Definition – Handle Special Characters with Care
|
||||
|
||||
> **Essence:** When node text or subgraph titles contain special characters like `()` or `[]`, wrap the text in quotes to avoid conflicts with Mermaid shape syntax.
|
||||
|
||||
- **When your node text includes parentheses (e.g., 'React (JSX)'):**
|
||||
- **✅ Do:** `I_REACT["<b>React component (JSX)</b>"]` (Quotes wrap all text)
|
||||
- **❌ Don't:** `I_REACT(<b>React component (JSX)</b>)` (Wrong, Mermaid parses this as a shape)
|
||||
- **❌ Don't:** `subgraph Plugin Features (Plugins)` (Wrong, subgraph titles with parentheses must also be wrapped in quotes)
|
||||
|
||||
#### Rule 3: Double Quotes in Text – Must Be Escaped
|
||||
|
||||
> **Essence:** Use `"` for double quotes **inside node text**.
|
||||
|
||||
- **✅ Do:** `A[This node contains "quotes"]`
|
||||
- **❌ Don't:** `A[This node contains "quotes"]`
|
||||
|
||||
#### Rule 4: All Formatting Must Use HTML Tags (NOT Markdown!)
|
||||
|
||||
> **Essence:** For newlines, bold, and other text formatting in nodes, use HTML tags only. Markdown is not supported.
|
||||
|
||||
- **✅ Do (robust):** `A["<b>Bold</b> and <code>code</code><br>This is a new line"]`
|
||||
- **❌ Don't (not rendered):** `C["# This is a heading"]`
|
||||
- **❌ Don't (not rendered):** ``C["`const` means constant"]``
|
||||
- **⚠️ Warning (unreliable):** `B["Markdown **bold** might sometimes work but DON'T rely on it"]`
|
||||
|
||||
#### Rule 5: No HTML Tags for Participants and Message Labels (Sequence Diagrams)
|
||||
|
||||
> **Important Addition:**
|
||||
> In Mermaid sequence diagrams, you MUST NOT use any HTML tags (such as `<b>`, `<code>`, etc.) in:
|
||||
>
|
||||
> - `participant` display names (`as` part)
|
||||
> - Message labels (the text after `:` in diagram flows)
|
||||
>
|
||||
> These tags are generally not rendered—they may appear as-is or cause compatibility issues.
|
||||
|
||||
- **✅ Do:** `participant A as Client`
|
||||
- **❌ Don't:** `participant A as <b>Client</b>`
|
||||
- **✅ Do:** `A->>B: 1. Establish connection`
|
||||
- **❌ Don't:** `A->>B: 1. <code>Establish connection</code>`
|
||||
|
||||
---
|
||||
|
||||
**Validate each Mermaid code block by running it through the `validateMermaid` tool before delivering your output!**
|
||||
|
||||
@@ -0,0 +1,193 @@
|
||||
---
|
||||
description: Debug 调试指南
|
||||
globs:
|
||||
alwaysApply: false
|
||||
---
|
||||
# Debug 调试指南
|
||||
|
||||
## 💡 调试流程概览
|
||||
|
||||
当遇到问题时,请按照以下优先级进行处理:
|
||||
|
||||
1. **快速判断** - 对于熟悉的错误,直接提供解决方案
|
||||
2. **信息收集** - 使用工具搜索相关代码和配置
|
||||
3. **网络搜索** - 查找现有解决方案
|
||||
4. **定位调试** - 添加日志进行问题定位
|
||||
5. **临时方案** - 如果找不到根本解决方案,提供临时解决方案
|
||||
6. **解决实施** - 提供可维护的最终解决方案
|
||||
|
||||
## 🔍 错误信息分析
|
||||
|
||||
### 错误来源识别
|
||||
|
||||
错误信息可能来自:
|
||||
|
||||
- **Terminal 输出** - 构建、运行时错误
|
||||
- **浏览器控制台** - 前端 JavaScript 错误
|
||||
- **开发工具** - ESLint、TypeScript、测试框架等
|
||||
- **服务器日志** - API、数据库连接等后端错误
|
||||
- **截图或文本** - 用户直接提供的错误信息
|
||||
|
||||
## 🛠️ 信息收集工具
|
||||
|
||||
### 代码搜索工具
|
||||
|
||||
使用以下工具收集相关信息,并根据场景选择最合适的工具:
|
||||
|
||||
- **`codebase_search` (语义搜索)**
|
||||
- **何时使用**: 当你不确定具体的代码实现,想要寻找相关概念、功能或逻辑时。
|
||||
- **示例**: `查询"文件上传"功能的实现`
|
||||
- **`grep_search` (精确/正则搜索)**
|
||||
- **何时使用**: 当你知道要查找的确切字符串、函数名、变量名或一个特定的模式时。
|
||||
- **示例**: `查找所有使用了 'useState' 的地方`
|
||||
- **`file_search` (文件搜索)**
|
||||
- **何时使用**: 当你知道文件名的一部分,需要快速定位文件时。
|
||||
- **示例**: `查找 'Button.tsx' 组件`
|
||||
- **`read_file` (内容读取)**
|
||||
- **何时使用**: 在定位到具体文件后,用于查看其完整内容和上下文。
|
||||
- **`web_search` (网络搜索)**
|
||||
- **何时使用**: 当错误信息可能与第三方库、API 或常见问题相关时,用于获取外部信息。
|
||||
|
||||
### 环境与依赖检查
|
||||
|
||||
- **检查 `package.json`**: 查看 `scripts` 了解项目如何运行、构建和测试。查看 `dependencies` 和 `devDependencies` 确认库版本,版本冲突有时是问题的根源。
|
||||
- **运行测试**: 使用 `ni vitest` 运行单元测试和集成测试,这可以快速定位功能回归或组件错误。
|
||||
|
||||
### 项目特定搜索目标
|
||||
|
||||
针对 lobe-chat 项目,重点关注:
|
||||
|
||||
- **配置文件**: [package.json](mdc:package.json), [next.config.mjs](mdc:next.config.mjs)
|
||||
- **核心功能**: `src/features/` 下的相关模块
|
||||
- **状态管理**: `src/store/` 下的 Zustand stores
|
||||
- **数据库**: `src/database/` 和 `src/migrations/`
|
||||
- **类型定义**: `src/types/` 下的类型文件
|
||||
- **服务层**: `src/services/` 下的 API 服务
|
||||
- **启动流程**: [apps/desktop/src/main/core/App.ts](mdc:apps/desktop/src/main/core/App.ts) - 了解应用启动流程
|
||||
|
||||
## 🌐 网络搜索策略
|
||||
|
||||
### 搜索顺序优先级
|
||||
|
||||
1. **和问题相关的项目的 github issue**
|
||||
|
||||
2. **技术社区**
|
||||
- Stack Overflow
|
||||
- GitHub Discussions
|
||||
- Reddit
|
||||
|
||||
3. **官方文档**
|
||||
- 使用 `mcp_context7_resolve-library-id` 和 `mcp_context7_get-library-docs` 工具
|
||||
- 查阅官方文档网站
|
||||
|
||||
### 搜索关键词策略
|
||||
|
||||
- **错误信息**: 完整的错误消息
|
||||
- **技术栈**: "Next.js 15" + "error message"
|
||||
- **上下文**: 添加功能相关的关键词
|
||||
|
||||
## 🔧 问题定位与结构化思考
|
||||
|
||||
如果问题比较复杂,我们要按照先定位问题,再解决问题的大方向进行。
|
||||
|
||||
### 结构化思考工具
|
||||
|
||||
对于复杂或多步骤的调试任务,使用 `mcp_sequential-thinking_sequentialthinking` 工具来结构化思考过程。这有助于:
|
||||
|
||||
- **分解问题**: 将大问题拆解成可管理的小步骤。
|
||||
- **清晰追踪**: 记录每一步的发现和决策,避免遗漏。
|
||||
- **自我修正**: 在过程中评估和调整调试路径。
|
||||
|
||||
### 日志调试
|
||||
|
||||
在问题产生的路径上添加日志,可以简单使用 `console.log` 或者参考 [debug-usage.mdc](mdc:.cursor/rules/debug-usage.mdc) 使用 `debug` 模块。添加完日志后,请求我运行相关的代码并提供关键输出和错误信息。
|
||||
|
||||
### 引导式交互调试
|
||||
|
||||
虽然我无法直接操作浏览器开发者工具,但我可以引导你进行交互式调试:
|
||||
|
||||
1. **设置断点**: 我会告诉你可以在哪些关键代码行设置断点。
|
||||
2. **检查变量**: 我会请你在断点处检查特定变量的值或 `props`/`state`。
|
||||
3. **分析调用栈**: 我会请你提供调用栈信息,以帮助理解代码执行流程。
|
||||
|
||||
## 💡 临时解决方案策略
|
||||
|
||||
当无法找到根本解决方案时,提供临时解决方案:
|
||||
|
||||
### 临时方案准则
|
||||
|
||||
- **快速修复** - 优先让功能可用
|
||||
- **最小修改** - 减少对现有代码的影响
|
||||
- **清晰标记** - 明确标注这是临时方案
|
||||
- **后续计划** - 说明后续如何找到更好的解决方案
|
||||
|
||||
### 临时方案模板
|
||||
|
||||
```markdown
|
||||
## 临时解决方案 ⚠️
|
||||
|
||||
**问题**: [简要描述问题]
|
||||
|
||||
**临时修复**:
|
||||
[具体的临时修复步骤]
|
||||
|
||||
**风险说明**:
|
||||
|
||||
- [可能的副作用或限制]
|
||||
- [需要注意的事项]
|
||||
|
||||
**后续计划**:
|
||||
|
||||
- [ ] 深入调研根本原因
|
||||
- [ ] 寻找更优雅的解决方案
|
||||
- [ ] 监控是否有其他影响
|
||||
```
|
||||
|
||||
## ✅ 解决方案准则
|
||||
|
||||
### 方案质量标准
|
||||
|
||||
提供的解决方案应该:
|
||||
|
||||
- **✅ 低侵入性** - 最小化对现有代码的修改
|
||||
- **✅ 可维护性** - 易于理解和后续维护
|
||||
- **✅ 类型安全** - 符合 TypeScript 规范
|
||||
- **✅ 最佳实践** - 遵循项目的编码规范
|
||||
- **✅ 测试友好** - 便于编写和运行测试
|
||||
- **❌ 避免长期 Hack** - 临时方案可以 hack,但要明确标注
|
||||
|
||||
### 解决方案模板
|
||||
|
||||
```markdown
|
||||
## 问题原因
|
||||
|
||||
[简要说明问题产生的根本原因]
|
||||
|
||||
## 解决方案
|
||||
|
||||
[详细的解决步骤]
|
||||
|
||||
## 代码修改
|
||||
|
||||
[具体的代码变更]
|
||||
|
||||
## 验证方法
|
||||
|
||||
[如何验证问题已解决]
|
||||
|
||||
## 预防措施
|
||||
|
||||
[如何避免类似问题再次发生]
|
||||
```
|
||||
|
||||
## 🔄 迭代调试流程
|
||||
|
||||
如果初次解决方案无效:
|
||||
|
||||
1. **重新收集信息** - 基于新的错误信息搜索
|
||||
2. **深入代码分析** - 查看更多相关代码文件
|
||||
3. **运行相关测试** - 编写或运行一个失败的测试来稳定复现问题。
|
||||
4. **扩大搜索范围** - 搜索更广泛的相关问题
|
||||
5. **请求更多日志** - 添加更详细的调试信息
|
||||
6. **提供临时方案** - 如果根本解决方案复杂,先提供临时修复
|
||||
7. **分解问题** - 将复杂问题拆解为更小的子问题
|
||||
@@ -10,7 +10,7 @@ Emoji logo: 🤯
|
||||
|
||||
## Project Technologies Stack
|
||||
|
||||
read [package.json](mdc:package.json) to know all npm packages you can use.
|
||||
read [package.json](mdc:package.json) to know all npm packages you can use. read [folder-structure.mdx](mdc:docs/development/basic/folder-structure.mdx) to learn project structure.
|
||||
|
||||
The project uses the following technologies:
|
||||
|
||||
@@ -42,3 +42,17 @@ The project uses the following technologies:
|
||||
- Cursor AI for code editing and AI coding assistance
|
||||
|
||||
Note: All tools and libraries used are the latest versions. The application only needs to be compatible with the latest browsers;
|
||||
|
||||
## Often used npm scripts
|
||||
|
||||
```bash
|
||||
# type check
|
||||
bun type-check
|
||||
|
||||
# install dependencies
|
||||
pnpm install
|
||||
|
||||
# !: don't any build script to check weather code can work after modify
|
||||
```
|
||||
|
||||
check [testing guide](./testing-guide/testing-guide.mdc) to learn test scripts.
|
||||
|
||||
@@ -1,227 +0,0 @@
|
||||
---
|
||||
description: Project directory structure overview
|
||||
alwaysApply: false
|
||||
---
|
||||
|
||||
# LobeChat Project Structure
|
||||
|
||||
## Directory Structure
|
||||
|
||||
note: some files are not shown for simplicity.
|
||||
|
||||
```plaintext
|
||||
lobe-chat/
|
||||
├── apps/ # Applications directory
|
||||
│ └── desktop/ # Electron desktop application
|
||||
│ ├── src/ # Desktop app source code
|
||||
│ └── resources/ # Desktop app resources
|
||||
├── docs/ # Project documentation
|
||||
│ ├── development/ # Development docs
|
||||
│ ├── self-hosting/ # Self-hosting docs
|
||||
│ └── usage/ # Usage guides
|
||||
├── locales/ # Internationalization files
|
||||
│ ├── en-US/ # English
|
||||
│ └── zh-CN/ # Simplified Chinese
|
||||
├── packages/ # Monorepo packages directory
|
||||
│ ├── const/ # Constants definition package
|
||||
│ ├── database/ # Database related package
|
||||
│ ├── model-runtime/ # AI model runtime package
|
||||
│ ├── types/ # TypeScript type definitions
|
||||
│ ├── utils/ # Utility functions package
|
||||
│ ├── file-loaders/ # File processing packages
|
||||
│ ├── prompts/ # AI prompt management
|
||||
│ └── web-crawler/ # Web crawling functionality
|
||||
├── public/ # Static assets
|
||||
│ ├── icons/ # Application icons
|
||||
│ ├── images/ # Image resources
|
||||
│ └── 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
|
||||
├── pnpm-workspace.yaml # pnpm monorepo configuration
|
||||
├── next.config.ts # Next.js configuration
|
||||
├── drizzle.config.ts # Drizzle ORM configuration
|
||||
└── tsconfig.json # TypeScript configuration
|
||||
```
|
||||
|
||||
## Core Source Directory (`src/`)
|
||||
|
||||
```plaintext
|
||||
src/
|
||||
├── app/ # Next.js App Router routes
|
||||
│ ├── (backend)/ # Backend API routes
|
||||
│ │ ├── api/ # REST API endpoints
|
||||
│ │ │ ├── auth/ # Authentication endpoints
|
||||
│ │ │ └── webhooks/ # Webhook handlers for various auth providers
|
||||
│ │ ├── middleware/ # Request middleware
|
||||
│ │ ├── oidc/ # OpenID Connect endpoints
|
||||
│ │ ├── trpc/ # tRPC API routes
|
||||
│ │ │ ├── async/ # Async tRPC endpoints
|
||||
│ │ │ ├── edge/ # Edge runtime endpoints
|
||||
│ │ │ ├── lambda/ # Lambda runtime endpoints
|
||||
│ │ │ └── tools/ # Tools-specific endpoints
|
||||
│ │ └── webapi/ # Web API endpoints
|
||||
│ │ ├── chat/ # Chat-related APIs for various providers
|
||||
│ │ ├── models/ # Model management APIs
|
||||
│ │ ├── plugin/ # Plugin system APIs
|
||||
│ │ ├── stt/ # Speech-to-text APIs
|
||||
│ │ ├── text-to-image/ # Image generation APIs
|
||||
│ │ └── tts/ # Text-to-speech APIs
|
||||
│ ├── [variants]/ # Page route variants
|
||||
│ │ ├── (main)/ # Main application routes
|
||||
│ │ │ ├── chat/ # Chat interface and workspace
|
||||
│ │ │ ├── discover/ # Discover page (assistants, models, providers)
|
||||
│ │ │ ├── files/ # File management interface
|
||||
│ │ │ ├── image/ # Image generation interface
|
||||
│ │ │ ├── profile/ # User profile and stats
|
||||
│ │ │ ├── repos/ # Knowledge base repositories
|
||||
│ │ │ └── settings/ # Application settings
|
||||
│ │ └── @modal/ # Modal routes
|
||||
│ └── manifest.ts # PWA configuration
|
||||
├── components/ # Global shared components
|
||||
│ ├── Analytics/ # Analytics tracking components
|
||||
│ ├── Error/ # Error handling components
|
||||
│ └── Loading/ # Loading state components
|
||||
├── config/ # Application configuration
|
||||
│ ├── aiModels/ # AI model configurations
|
||||
│ └── modelProviders/ # Model provider configurations
|
||||
├── features/ # Feature components (UI Layer)
|
||||
│ ├── AgentSetting/ # Agent configuration and management
|
||||
│ ├── ChatInput/ # Chat input with file upload and tools
|
||||
│ ├── Conversation/ # Message display and interaction
|
||||
│ ├── FileManager/ # File upload and knowledge base
|
||||
│ └── PluginStore/ # Plugin marketplace and management
|
||||
├── hooks/ # Custom React hooks
|
||||
├── layout/ # Global layout components
|
||||
│ ├── AuthProvider/ # Authentication provider
|
||||
│ └── GlobalProvider/ # Global state provider
|
||||
├── libs/ # External library integrations
|
||||
│ ├── analytics/ # Analytics services integration
|
||||
│ ├── next-auth/ # NextAuth.js configuration
|
||||
│ └── oidc-provider/ # OIDC provider implementation
|
||||
├── locales/ # Internationalization resources
|
||||
│ └── default/ # Default language definitions
|
||||
├── migrations/ # Client-side data migrations
|
||||
├── server/ # Server-side code
|
||||
│ ├── modules/ # Server modules
|
||||
│ ├── routers/ # tRPC routers
|
||||
│ └── services/ # Server services
|
||||
├── services/ # Client service layer
|
||||
│ ├── aiModel/ # AI model services
|
||||
│ ├── session/ # Session services
|
||||
│ └── message/ # Message services
|
||||
├── store/ # Zustand state management
|
||||
│ ├── agent/ # Agent state
|
||||
│ ├── chat/ # Chat state
|
||||
│ └── user/ # User state
|
||||
├── styles/ # Global styles
|
||||
├── tools/ # Built-in tool system
|
||||
│ ├── artifacts/ # Code artifacts and preview
|
||||
│ └── web-browsing/ # Web search and browsing
|
||||
├── types/ # TypeScript type definitions
|
||||
└── utils/ # Utility functions
|
||||
├── client/ # Client-side utilities
|
||||
└── server/ # Server-side utilities
|
||||
```
|
||||
|
||||
## Key Monorepo Packages
|
||||
|
||||
```plaintext
|
||||
packages/
|
||||
├── const/ # Global constants and configurations
|
||||
├── database/ # Database schemas and models
|
||||
│ ├── src/models/ # Data models (CRUD operations)
|
||||
│ ├── src/schemas/ # Drizzle database schemas
|
||||
│ ├── src/repositories/ # Complex query layer
|
||||
│ └── migrations/ # Database migration files
|
||||
├── model-runtime/ # AI model runtime
|
||||
│ └── src/
|
||||
│ ├── openai/ # OpenAI provider integration
|
||||
│ ├── anthropic/ # Anthropic provider integration
|
||||
│ ├── google/ # Google AI provider integration
|
||||
│ ├── ollama/ # Ollama local model integration
|
||||
│ ├── types/ # Runtime type definitions
|
||||
│ └── utils/ # Runtime utilities
|
||||
├── types/ # Shared TypeScript type definitions
|
||||
│ └── src/
|
||||
│ ├── agent/ # Agent-related types
|
||||
│ ├── message/ # Message and chat types
|
||||
│ ├── user/ # User and session types
|
||||
│ └── tool/ # Tool and plugin types
|
||||
├── utils/ # Shared utility functions
|
||||
│ └── src/
|
||||
│ ├── client/ # Client-side utilities
|
||||
│ ├── server/ # Server-side utilities
|
||||
│ ├── fetch/ # HTTP request utilities
|
||||
│ └── tokenizer/ # Token counting utilities
|
||||
├── file-loaders/ # File loaders (PDF, DOCX, etc.)
|
||||
├── prompts/ # AI prompt management
|
||||
└── web-crawler/ # Web crawling functionality
|
||||
```
|
||||
|
||||
## Architecture Layers
|
||||
|
||||
### 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
|
||||
|
||||
### Unified Flow Pattern
|
||||
|
||||
```
|
||||
UI Layer → State Management → Client Service → [Environment Branch] → Database
|
||||
↓ ↓ ↓ ↓ ↓
|
||||
React Zustand Environment Local/Remote PGLite/
|
||||
Components Store Adaptation Routing PostgreSQL
|
||||
```
|
||||
|
||||
### Environment-Specific Routing
|
||||
|
||||
| Mode | UI | Service Route | Database |
|
||||
| --------------- | -------- | ---------------------- | ------------------- |
|
||||
| **Browser/PWA** | React | Direct Model Access | PGLite (Local) |
|
||||
| **Server** | React | tRPC → Server Services | PostgreSQL (Remote) |
|
||||
| **Desktop** | Electron | tRPC → Local Node.js | PGLite/PostgreSQL\* |
|
||||
|
||||
_\*Depends on cloud sync configuration_
|
||||
|
||||
### Key Characteristics
|
||||
|
||||
- **Type Safety**: End-to-end type safety via tRPC and Drizzle ORM
|
||||
- **Local/Remote Dual Mode**: PGLite enables user data ownership and local control
|
||||
@@ -3,7 +3,6 @@ description:
|
||||
globs: *.tsx
|
||||
alwaysApply: false
|
||||
---
|
||||
|
||||
# react component 编写指南
|
||||
|
||||
- 如果要写复杂样式的话用 antd-style ,简单的话可以用 style 属性直接写内联样式
|
||||
@@ -21,20 +20,18 @@ import { useTheme } from 'antd-style';
|
||||
|
||||
const MyComponent = () => {
|
||||
const theme = useTheme();
|
||||
|
||||
|
||||
return (
|
||||
<div
|
||||
style={{
|
||||
color: theme.colorPrimary,
|
||||
backgroundColor: theme.colorBgContainer,
|
||||
padding: theme.padding,
|
||||
borderRadius: theme.borderRadius,
|
||||
}}
|
||||
>
|
||||
<div style={{
|
||||
color: theme.colorPrimary,
|
||||
backgroundColor: theme.colorBgContainer,
|
||||
padding: theme.padding,
|
||||
borderRadius: theme.borderRadius
|
||||
}}>
|
||||
使用主题 token 的组件
|
||||
</div>
|
||||
);
|
||||
};
|
||||
}
|
||||
```
|
||||
|
||||
#### 使用 antd-style 的 createStyles
|
||||
@@ -56,13 +53,13 @@ const useStyles = createStyles(({ css, token }) => {
|
||||
content: css`
|
||||
font-size: ${token.fontSize}px;
|
||||
line-height: ${token.lineHeight};
|
||||
`,
|
||||
`
|
||||
};
|
||||
});
|
||||
|
||||
const Card: FC<CardProps> = ({ title, content }) => {
|
||||
const { styles } = useStyles();
|
||||
|
||||
|
||||
return (
|
||||
<Flexbox className={styles.container}>
|
||||
<div className={styles.title}>{title}</div>
|
||||
@@ -77,96 +74,80 @@ const Card: FC<CardProps> = ({ title, content }) => {
|
||||
请注意使用下面的 token 而不是 css 字面值。可以访问 https://ant.design/docs/react/customize-theme-cn 了解所有 token
|
||||
|
||||
- 动画类
|
||||
- token.motionDurationMid
|
||||
- token.motionEaseInOut
|
||||
- token.motionDurationMid
|
||||
- token.motionEaseInOut
|
||||
- 包围盒属性
|
||||
- token.paddingSM
|
||||
- token.marginLG
|
||||
- token.paddingSM
|
||||
- token.marginLG
|
||||
|
||||
|
||||
## Lobe UI 包含的组件
|
||||
|
||||
- 不知道 @lobehub/ui 的组件怎么用,有哪些属性,就自己搜下这个项目其它地方怎么用的,不要瞎猜,大部分组件都是在 antd 的基础上扩展了属性
|
||||
- 具体用法不懂可以联网搜索,例如 ActionIcon 就爬取 https://ui.lobehub.com/components/action-icon
|
||||
- 可以阅读 node_modules/@lobehub/ui/es/index.js 了解有哪些组件,每个组件的属性是什么
|
||||
|
||||
- General
|
||||
- ActionIcon
|
||||
- ActionIconGroup
|
||||
- Block
|
||||
- Button
|
||||
- DownloadButton
|
||||
- Icon
|
||||
ActionIcon
|
||||
ActionIconGroup
|
||||
Block
|
||||
Button
|
||||
Icon
|
||||
- Data Display
|
||||
- Avatar
|
||||
- AvatarGroup
|
||||
- GroupAvatar
|
||||
- Collapse
|
||||
- FileTypeIcon
|
||||
- FluentEmoji
|
||||
- GuideCard
|
||||
- Highlighter
|
||||
- Hotkey
|
||||
- Image
|
||||
- List
|
||||
- Markdown
|
||||
- SearchResultCards
|
||||
- MaterialFileTypeIcon
|
||||
- Mermaid
|
||||
- Typography
|
||||
- Text
|
||||
- Segmented
|
||||
- Snippet
|
||||
- SortableList
|
||||
- Tag
|
||||
- Tooltip
|
||||
- Video
|
||||
Avatar
|
||||
Collapse
|
||||
FileTypeIcon
|
||||
FluentEmoji
|
||||
GuideCard
|
||||
Highlighter
|
||||
Hotkey
|
||||
Image
|
||||
List
|
||||
Markdown
|
||||
MaterialFileTypeIcon
|
||||
Mermaid
|
||||
Segmented
|
||||
Snippet
|
||||
SortableList
|
||||
Tag
|
||||
Tooltip
|
||||
Video
|
||||
- Data Entry
|
||||
- AutoComplete
|
||||
- CodeEditor
|
||||
- ColorSwatches
|
||||
- CopyButton
|
||||
- DatePicker
|
||||
- EditableText
|
||||
- EmojiPicker
|
||||
- Form
|
||||
- FormModal
|
||||
- HotkeyInput
|
||||
- ImageSelect
|
||||
- Input
|
||||
- SearchBar
|
||||
- Select
|
||||
- SliderWithInput
|
||||
- ThemeSwitch
|
||||
AutoComplete
|
||||
CodeEditor
|
||||
ColorSwatches
|
||||
CopyButton
|
||||
DatePicker
|
||||
EditableText
|
||||
EmojiPicker
|
||||
Form
|
||||
FormModal
|
||||
HotkeyInput
|
||||
ImageSelect
|
||||
Input
|
||||
SearchBar
|
||||
Select
|
||||
SliderWithInput
|
||||
ThemeSwitch
|
||||
- Feedback
|
||||
- Alert
|
||||
- Drawer
|
||||
- Modal
|
||||
Alert
|
||||
Drawer
|
||||
Modal
|
||||
- Layout
|
||||
- DraggablePanel
|
||||
- DraggablePanelBody
|
||||
- DraggablePanelContainer
|
||||
- DraggablePanelFooter
|
||||
- DraggablePanelHeader
|
||||
- Footer
|
||||
- Grid
|
||||
- Header
|
||||
- Layout
|
||||
- LayoutFooter
|
||||
- LayoutHeader
|
||||
- LayoutMain
|
||||
- LayoutSidebar
|
||||
- LayoutSidebarInner
|
||||
- LayoutToc
|
||||
- MaskShadow
|
||||
- ScrollShadow
|
||||
DraggablePanel
|
||||
Footer
|
||||
Grid
|
||||
Header
|
||||
Layout
|
||||
MaskShadow
|
||||
ScrollShadow
|
||||
- Navigation
|
||||
- Burger
|
||||
- Dropdown
|
||||
- Menu
|
||||
- SideNav
|
||||
- Tabs
|
||||
- Toc
|
||||
Burger
|
||||
Dropdown
|
||||
Menu
|
||||
SideNav
|
||||
Tabs
|
||||
Toc
|
||||
- Theme
|
||||
- ConfigProvider
|
||||
- FontLoader
|
||||
- ThemeProvider
|
||||
ConfigProvider
|
||||
FontLoader
|
||||
ThemeProvider
|
||||
@@ -4,49 +4,82 @@ globs:
|
||||
alwaysApply: true
|
||||
---
|
||||
|
||||
# 📋 Available Rules Index
|
||||
# LobeChat Cursor Rules System Guide
|
||||
|
||||
This document explains how the LobeChat project's Cursor rules system works and serves as an index for manually accessible rules.
|
||||
|
||||
## 🎯 Core Principle
|
||||
|
||||
**All rules are equal** - there are no priorities or "recommendations" between different rule sources. You should follow all applicable rules simultaneously.
|
||||
|
||||
## 📚 Four Ways to Access Rules
|
||||
|
||||
### 1. **Always Applied Rules** - `always_applied_workspace_rules`
|
||||
|
||||
- **What**: Core project guidelines that are always active
|
||||
- **Content**: Project tech stack, basic coding standards, output formatting rules
|
||||
- **Access**: No tools needed - automatically provided in every conversation
|
||||
|
||||
### 2. **Dynamic Context Rules** - `cursor_rules_context`
|
||||
|
||||
- **What**: Rules automatically matched based on files referenced in the conversation
|
||||
- **Trigger**: Only when user **explicitly @ mentions files** or **opens files in Cursor**
|
||||
- **Content**: May include brief descriptions or full rule content, depending on relevance
|
||||
- **Access**: No tools needed - automatically updated when files are referenced
|
||||
|
||||
### 3. **Agent Requestable Rules** - `agent_requestable_workspace_rules`
|
||||
|
||||
- **What**: Detailed operational guides that can be requested on-demand
|
||||
- **Access**: Use `fetch_rules` tool with rule names
|
||||
- **Examples**: `debug`, `i18n/i18n`, `code-review`
|
||||
|
||||
### 4. **Manual Rules Index** - This file + `read_file`
|
||||
|
||||
- **What**: Additional rules not covered by the above mechanisms
|
||||
- **Why needed**: Cursor's rule system only supports "agent request" or "auto attach" modes
|
||||
- **Access**: Use `read_file` tool to read specific `.mdc` files
|
||||
|
||||
## 🔧 When to Use `read_file` for Rules
|
||||
|
||||
Use `read_file` to access rules from the index below when:
|
||||
|
||||
1. **Gap identification**: You determine a rule is needed for the current task
|
||||
2. **No auto-trigger**: The rule isn't provided in `cursor_rules_context` (because relevant files weren't @ mentioned)
|
||||
3. **Not agent-requestable**: The rule isn't available via `fetch_rules`
|
||||
|
||||
## 📋 Available Rules Index
|
||||
|
||||
The following rules are available via `read_file` from the `.cursor/rules/` directory:
|
||||
|
||||
## General
|
||||
|
||||
- `project-introduce.mdc` – Project description and tech stack
|
||||
- `cursor-rules.mdc` – Cursor rules authoring and optimization guide
|
||||
- `code-review.mdc` – How to code review
|
||||
|
||||
## Backend
|
||||
|
||||
- `backend-architecture.mdc` – Backend layer architecture and design guidelines
|
||||
- `define-database-model.mdc` – Database model definition guidelines
|
||||
- `drizzle-schema-style-guide.mdc` – Style guide for defining Drizzle ORM schemas
|
||||
|
||||
## Frontend
|
||||
|
||||
- `react-component.mdc` – React component style guide and conventions
|
||||
- `i18n.mdc` – Internationalization guide using react-i18next
|
||||
- `testing-guide.mdc` – Comprehensive testing guide for Vitest environment
|
||||
- `typescript.mdc` – TypeScript code style guide
|
||||
- `packages/react-layout-kit.mdc` – Usage guide for react-layout-kit
|
||||
|
||||
## State Management
|
||||
|
||||
- `zustand-action-patterns.mdc` – Recommended patterns for organizing Zustand actions
|
||||
- `zustand-slice-organization.mdc` – Best practices for structuring Zustand slices
|
||||
|
||||
## Desktop (Electron)
|
||||
## ❌ Common Misunderstandings to Avoid
|
||||
|
||||
- `desktop-feature-implementation.mdc` – Implementing new Electron desktop features
|
||||
- `desktop-controller-tests.mdc` – Desktop controller unit testing guide
|
||||
- `desktop-local-tools-implement.mdc` – Workflow to add new desktop local tools
|
||||
- `desktop-menu-configuration.mdc` – Desktop menu configuration guide
|
||||
- `desktop-window-management.mdc` – Desktop window management guide
|
||||
1. **"Priority confusion"**: There's no hierarchy between rule sources - they're complementary, not competitive
|
||||
2. **"Dynamic expectations"**: `cursor_rules_context` only updates when you @ files - it won't automatically include rules for tasks you're thinking about
|
||||
3. **"Tool redundancy"**: Each access method serves a different purpose - they're not alternatives to choose from
|
||||
|
||||
## Debugging
|
||||
## 🛠️ Practical Workflow
|
||||
|
||||
- `debug.mdc` – General debugging guide
|
||||
- `debug-usage.mdc` – Using the debug package and namespace conventions
|
||||
```
|
||||
1. Start with always_applied_workspace_rules (automatic)
|
||||
2. Check cursor_rules_context for auto-matched rules (automatic)
|
||||
3. If you need specific guides: fetch_rules (manual)
|
||||
4. If you identify gaps: consult this index → read_file (manual)
|
||||
```
|
||||
|
||||
## Testing
|
||||
## Example Decision Flow
|
||||
|
||||
- `testing-guide/testing-guide.mdc` – Comprehensive testing guide for Vitest
|
||||
- `testing-guide/electron-ipc-test.mdc` – Electron IPC interface testing strategy
|
||||
- `testing-guide/db-model-test.mdc` – Database Model testing guide
|
||||
**Scenario**: Working on a new Zustand store slice
|
||||
|
||||
1. Follow always_applied_workspace_rules ✅
|
||||
2. If store files were @ mentioned → use cursor_rules_context rules ✅
|
||||
3. Need detailed Zustand guidance → `read_file('.cursor/rules/zustand-slice-organization.mdc')` ✅
|
||||
4. All rules apply simultaneously - no conflicts ✅
|
||||
|
||||
@@ -6,26 +6,38 @@ alwaysApply: true
|
||||
|
||||
## System Role
|
||||
|
||||
You are an expert in full-stack Web development, proficient in JavaScript, TypeScript, CSS, React, Node.js, Next.js, Postgresql, Redis, S3, all kinds of network protocols.
|
||||
You are an expert in full-stack Web development, proficient in JavaScript, TypeScript, CSS, React, Node.js, Next.js, Postgresql, all kinds of network protocols.
|
||||
|
||||
You are an LLM expert, you are familiar with all kinds of LLM models, ai agents, ai workflow, prompt engineering and context engineering.
|
||||
|
||||
You are an expert in Ai art. In Ai image generation, you are proficient in Stable Diffusion and ComfyUI's architectural principles, workflows, model structures, parameter configurations, training methods, and inference optimization.
|
||||
You are an expert in LLM and Ai art. In Ai image generation, you are proficient in Stable Diffusion and ComfyUI's architectural principles, workflows, model structures, parameter configurations, training methods, and inference optimization.
|
||||
|
||||
You are an expert in UI/UX design, proficient in web interaction patterns, responsive design, accessibility, and user behavior optimization. You excel at improving user retention and paid conversion rates through various interaction details.
|
||||
|
||||
## Problem Solving
|
||||
|
||||
- Before formulating any response, you must first gather context by using tools like codebase_search, grep_search, file_search, web_search, fetch_rules, context7, and read_file to avoid making assumptions.
|
||||
- When modifying existing code, clearly describe the differences and reasons for the changes
|
||||
- Provide alternative solutions that may be better overall or superior in specific aspects
|
||||
- Provide optimization suggestions for deprecated API usage
|
||||
- Cite sources whenever possible at the end, not inline
|
||||
- When you provide multiple solutions, provide the recommended solution first, and note it as `Recommended`
|
||||
- Express uncertainty when there might not be a correct answer, instead of take action by guessing and assuming
|
||||
- Express uncertainty when there might not be a correct answer
|
||||
- Admit when you don't know something instead of guessing
|
||||
|
||||
## Code Implementation
|
||||
|
||||
- Write correct, up-to-date, bug-free, fully functional, secure, maintainable and efficient code
|
||||
- First, think step-by-step: describe your plan in detailed pseudocode before implementation
|
||||
- Confirm the plan before writing code
|
||||
- Focus on maintainable over being performant
|
||||
- Be sure to reference file path
|
||||
- If doc links or required files are missing, ask for them before proceeding with the task rather than making assumptions
|
||||
- If you're unable to get valid result when using tools, please clearly state in the output
|
||||
- Leave NO TODOs, placeholders, or missing pieces
|
||||
- Be sure to reference file names
|
||||
- When you notice I have manually modified the code, that was definitely on purpose and do not revert them
|
||||
- If documentation links or required files are missing, ask for them before proceeding with the task rather than making assumptions
|
||||
- If you're unable to access or retrieve content from websites, please inform me immediately and request the specific information needed rather than making assumptions
|
||||
- You can use emojis, npm packages like `chalk`/`chalk-animation`/`terminal-link`/`gradient-string`/`log-symbols`/`boxen`/`consola`/`@clack/prompts` to create beautiful terminal output
|
||||
- Don't run `tsc --noEmit` to check ts syntax error, because our project is very large and the validate very slow
|
||||
|
||||
## Some logging rules
|
||||
|
||||
- Never log user private information like api key, etc
|
||||
- Don't use `import { log } from 'debug'` to log messages, because it will directly log the message to the console.
|
||||
|
||||
@@ -5,8 +5,6 @@ alwaysApply: false
|
||||
|
||||
## 🗃️ 数据库 Model 测试指南
|
||||
|
||||
测试 `packages/database` 下的数据库 Model 层。
|
||||
|
||||
### 测试环境选择 💡
|
||||
|
||||
数据库 Model 层通过环境变量控制数据库类型,在两种测试环境下有不同的数据库后端:客户端环境 (PGLite) 和 服务端环境 (PostgreSQL)
|
||||
@@ -19,10 +17,10 @@ alwaysApply: false
|
||||
|
||||
```bash
|
||||
# 1. 先在客户端环境测试(快速验证)
|
||||
cd packages/database && TEST_SERVER_DB=0 bunx vitest run --silent='passed-only' src/database/models/__tests__/myModel.test.ts
|
||||
npx vitest run --config vitest.config.ts src/database/models/__tests__/myModel.test.ts
|
||||
|
||||
# 2. 再在服务端环境测试(兼容性验证), 需要设置环境变量 `TEST_SERVER_DB=1`
|
||||
cd packages/database && TEST_SERVER_DB=1 bunx vitest run --silent='passed-only' src/database/models/__tests__/myModel.test.ts #
|
||||
# 2. 再在服务端环境测试(兼容性验证)
|
||||
npx vitest run --config vitest.config.server.ts src/database/models/__tests__/myModel.test.ts
|
||||
```
|
||||
|
||||
### 创建新 Model 测试的最佳实践 📋
|
||||
|
||||
@@ -5,11 +5,11 @@ alwaysApply: false
|
||||
|
||||
# 测试指南 - LobeChat Testing Guide
|
||||
|
||||
## 测试环境概览
|
||||
## 🧪 测试环境概览
|
||||
|
||||
LobeChat 项目使用 Vitest 测试库,配置了两种不同的测试环境:
|
||||
|
||||
### 客户端数据库测试环境 (DOM Environment)
|
||||
### 客户端测试环境 (DOM Environment)
|
||||
|
||||
- **配置文件**: [vitest.config.ts](mdc:vitest.config.ts)
|
||||
- **环境**: Happy DOM (浏览器环境模拟)
|
||||
@@ -17,62 +17,60 @@ LobeChat 项目使用 Vitest 测试库,配置了两种不同的测试环境:
|
||||
- **用途**: 测试前端组件、客户端逻辑、React 组件等
|
||||
- **设置文件**: [tests/setup.ts](mdc:tests/setup.ts)
|
||||
|
||||
### 服务端数据库测试环境 (Node Environment)
|
||||
### 服务端测试环境 (Node Environment)
|
||||
|
||||
目前只有 `packages/database` 下的测试可以通过配置 `TEST_SERVER_DB=1` 环境变量来使用服务端数据库测试
|
||||
|
||||
- **配置文件**: [packages/database/vitest.config.mts](mdc:packages/database/vitest.config.mts) 并且设置环境变量 `TEST_SERVER_DB=1`
|
||||
- **配置文件**: [vitest.config.server.ts](mdc:vitest.config.server.ts)
|
||||
- **环境**: Node.js
|
||||
- **数据库**: 真实的 PostgreSQL 数据库
|
||||
- **并发限制**: 单线程运行 (`singleFork: true`)
|
||||
- **用途**: 测试数据库模型、服务端逻辑、API 端点等
|
||||
- **设置文件**: [packages/database/tests/setup-db.ts](mdc:packages/database/tests/setup-db.ts)
|
||||
- **设置文件**: [tests/setup-db.ts](mdc:tests/setup-db.ts)
|
||||
|
||||
## 测试运行命令
|
||||
## 🚀 测试运行命令
|
||||
|
||||
** 性能警告**: 项目包含 3000+ 测试用例,完整运行需要约 10 分钟。务必使用文件过滤或测试名称过滤。
|
||||
**🚨 性能警告**: 项目包含 3000+ 测试用例,完整运行需要约 10 分钟。务必使用文件过滤或测试名称过滤。
|
||||
|
||||
### 正确的命令格式
|
||||
### ✅ 正确的命令格式
|
||||
|
||||
```bash
|
||||
# 运行所有客户端/服务端测试
|
||||
bunx vitest run --silent='passed-only' # 客户端测试
|
||||
cd packages/database && TEST_SERVER_DB=1 bunx vitest run --silent='passed-only' # 服务端测试
|
||||
npx vitest run --config vitest.config.ts # 客户端测试
|
||||
npx vitest run --config vitest.config.server.ts # 服务端测试
|
||||
|
||||
# 运行特定测试文件 (支持模糊匹配)
|
||||
bunx vitest run --silent='passed-only' user.test.ts
|
||||
npx vitest run --config vitest.config.ts user.test.ts
|
||||
|
||||
# 运行特定测试用例名称 (使用 -t 参数)
|
||||
bunx vitest run --silent='passed-only' -t "test case name"
|
||||
npx vitest run --config vitest.config.ts -t "test case name"
|
||||
|
||||
# 组合使用文件和测试名称过滤
|
||||
bunx vitest run --silent='passed-only' filename.test.ts -t "specific test"
|
||||
npx vitest run --config vitest.config.ts filename.test.ts -t "specific test"
|
||||
|
||||
# 生成覆盖率报告 (使用 --coverage 参数)
|
||||
bunx vitest run --silent='passed-only' --coverage
|
||||
npx vitest run --config vitest.config.ts --coverage
|
||||
```
|
||||
|
||||
### 避免的命令格式
|
||||
### ❌ 避免的命令格式
|
||||
|
||||
```bash
|
||||
# 这些命令会运行所有 3000+ 测试用例,耗时约 10 分钟!
|
||||
# ❌ 这些命令会运行所有 3000+ 测试用例,耗时约 10 分钟!
|
||||
npm test
|
||||
npm test some-file.test.ts
|
||||
|
||||
# 不要使用裸 vitest (会进入 watch 模式)
|
||||
# ❌ 不要使用裸 vitest (会进入 watch 模式)
|
||||
vitest test-file.test.ts
|
||||
```
|
||||
|
||||
## 测试修复原则
|
||||
## 🔧 测试修复原则
|
||||
|
||||
### 核心原则
|
||||
### 核心原则 ⚠️
|
||||
|
||||
1. **充分阅读测试代码**: 在修复测试之前,必须完整理解测试的意图和实现
|
||||
2. **测试优先修复**: 如果是测试本身写错了,修改测试而不是实现代码
|
||||
3. **专注单一问题**: 只修复指定的测试,不要添加额外测试或功能
|
||||
4. **不自作主张**: 不要因为发现其他问题就直接修改,先提出再讨论
|
||||
|
||||
### 测试协作最佳实践
|
||||
### 测试协作最佳实践 🤝
|
||||
|
||||
基于实际开发经验总结的重要协作原则:
|
||||
|
||||
@@ -86,10 +84,10 @@ vitest test-file.test.ts
|
||||
- **避免陷阱**: 不要陷入"不断尝试相同或类似方法"的循环
|
||||
|
||||
```typescript
|
||||
// 错误做法:连续失败后继续盲目尝试
|
||||
// ❌ 错误做法:连续失败后继续盲目尝试
|
||||
// 第3次、第4次仍在用相似的方法修复同一个问题
|
||||
|
||||
// 正确做法:失败1-2次后总结问题
|
||||
// ✅ 正确做法:失败1-2次后总结问题
|
||||
/*
|
||||
问题总结:
|
||||
1. 尝试过的方法:修改 mock 数据结构
|
||||
@@ -108,7 +106,7 @@ vitest test-file.test.ts
|
||||
- **保持稳定性**: 测试名称应该在代码重构后仍然有意义
|
||||
|
||||
```typescript
|
||||
// 错误的测试命名
|
||||
// ❌ 错误的测试命名
|
||||
describe('User component coverage', () => {
|
||||
it('covers line 45-50 in getUserData', () => {
|
||||
// 为了覆盖第45-50行而写的测试
|
||||
@@ -119,7 +117,7 @@ describe('User component coverage', () => {
|
||||
});
|
||||
});
|
||||
|
||||
// 正确的测试命名
|
||||
// ✅ 正确的测试命名
|
||||
describe('<UserAvatar />', () => {
|
||||
it('should render fallback icon when image url is not provided', () => {
|
||||
// 测试具体的业务场景,自然会覆盖相关代码分支
|
||||
@@ -133,8 +131,8 @@ describe('<UserAvatar />', () => {
|
||||
|
||||
**覆盖率提升的正确思路**:
|
||||
|
||||
- 通过设计各种业务场景(正常流程、边缘情况、错误处理)来自然提升覆盖率
|
||||
- 不要为了达到覆盖率数字而写测试,更不要在测试中注释"为了覆盖 xxx 行"
|
||||
- ✅ 通过设计各种业务场景(正常流程、边缘情况、错误处理)来自然提升覆盖率
|
||||
- ❌ 不要为了达到覆盖率数字而写测试,更不要在测试中注释"为了覆盖 xxx 行"
|
||||
|
||||
#### 3. 测试组织结构
|
||||
|
||||
@@ -145,7 +143,7 @@ describe('<UserAvatar />', () => {
|
||||
- **避免碎片化**: 不要为了单个测试用例就创建新的顶级 `describe` 块
|
||||
|
||||
```typescript
|
||||
// 错误的组织方式:创建过多顶级块
|
||||
// ❌ 错误的组织方式:创建过多顶级块
|
||||
describe('<UserProfile />', () => {
|
||||
it('should render user name', () => {});
|
||||
});
|
||||
@@ -160,7 +158,7 @@ describe('UserProfile edge cases', () => {
|
||||
it('should handle missing avatar', () => {});
|
||||
});
|
||||
|
||||
// 正确的组织方式:合并相关测试
|
||||
// ✅ 正确的组织方式:合并相关测试
|
||||
describe('<UserProfile />', () => {
|
||||
it('should render user name', () => {});
|
||||
|
||||
@@ -216,9 +214,9 @@ describe('<UserProfile />', () => {
|
||||
**修复方法**: 更新了测试文件中的 mock 数据结构,使其与最新的 API 响应格式保持一致。具体修改了 `user.test.ts` 中的 `mockUserData` 对象结构。
|
||||
```
|
||||
|
||||
## 测试编写最佳实践
|
||||
## 🎯 测试编写最佳实践
|
||||
|
||||
### Mock 数据策略:追求"低成本的真实性"
|
||||
### Mock 数据策略:追求"低成本的真实性" 📋
|
||||
|
||||
**核心原则**: 测试数据应默认追求真实性,只有在引入"高昂的测试成本"时才进行简化。
|
||||
|
||||
@@ -230,10 +228,10 @@ describe('<UserProfile />', () => {
|
||||
- **网络请求**:HTTP 调用、数据库连接
|
||||
- **系统调用**:获取系统时间、环境变量等
|
||||
|
||||
#### 推荐做法:Mock 依赖,保留真实数据
|
||||
#### ✅ 推荐做法:Mock 依赖,保留真实数据
|
||||
|
||||
```typescript
|
||||
// 好的做法:Mock I/O 操作,但使用真实的文件内容格式
|
||||
// ✅ 好的做法:Mock I/O 操作,但使用真实的文件内容格式
|
||||
describe('parseContentType', () => {
|
||||
beforeEach(() => {
|
||||
// Mock 文件读取操作(避免真实 I/O)
|
||||
@@ -251,7 +249,7 @@ describe('parseContentType', () => {
|
||||
});
|
||||
});
|
||||
|
||||
// 过度简化:使用不真实的数据
|
||||
// ❌ 过度简化:使用不真实的数据
|
||||
describe('parseContentType', () => {
|
||||
it('should detect PDF content type correctly', () => {
|
||||
// 这种简化数据没有测试价值
|
||||
@@ -261,113 +259,78 @@ describe('parseContentType', () => {
|
||||
});
|
||||
```
|
||||
|
||||
#### 真实标识符的价值
|
||||
#### 🎯 真实标识符的价值
|
||||
|
||||
```typescript
|
||||
// ✅ 使用真实标识符
|
||||
const result = parseModelString('openai', '+gpt-4,+gpt-3.5-turbo');
|
||||
// ✅ 使用真实的提供商标识符
|
||||
it('should parse OpenAI model list correctly', () => {
|
||||
const result = parseModelString('openai', '+gpt-4,+gpt-3.5-turbo');
|
||||
expect(result.add).toHaveLength(2);
|
||||
expect(result.add[0].id).toBe('gpt-4');
|
||||
});
|
||||
|
||||
// ❌ 使用占位符(价值较低)
|
||||
const result = parseModelString('test-provider', '+model1,+model2');
|
||||
```
|
||||
|
||||
### 现代化Mock技巧:环境设置与Mock方法
|
||||
|
||||
**环境设置 + Mock方法结合使用**
|
||||
|
||||
客户端代码测试时,推荐使用环境注释配合现代化Mock方法:
|
||||
|
||||
```typescript
|
||||
/**
|
||||
* @vitest-environment happy-dom // 提供浏览器API
|
||||
*/
|
||||
import { beforeEach, vi } from 'vitest';
|
||||
|
||||
beforeEach(() => {
|
||||
// 现代方法1:使用vi.stubGlobal替代global.xxx = ...
|
||||
const mockImage = vi.fn().mockImplementation(() => ({
|
||||
addEventListener: vi.fn(),
|
||||
naturalHeight: 600,
|
||||
naturalWidth: 800,
|
||||
}));
|
||||
vi.stubGlobal('Image', mockImage);
|
||||
|
||||
// 现代方法2:使用vi.spyOn保留原功能,只mock特定方法
|
||||
vi.spyOn(URL, 'createObjectURL').mockReturnValue('blob:mock-url');
|
||||
vi.spyOn(URL, 'revokeObjectURL').mockImplementation(() => {});
|
||||
// ❌ 使用占位符标识符(价值较低)
|
||||
it('should parse model list correctly', () => {
|
||||
const result = parseModelString('test-provider', '+model1,+model2');
|
||||
expect(result.add).toHaveLength(2);
|
||||
// 这种测试对理解真实场景帮助不大
|
||||
});
|
||||
```
|
||||
|
||||
**环境选择优先级**
|
||||
|
||||
1. **@vitest-environment happy-dom** (推荐) - 轻量、快速,项目已安装
|
||||
2. **@vitest-environment jsdom** - 功能完整,但需要额外安装jsdom包
|
||||
3. **不设置环境** - Node.js环境,需要手动mock所有浏览器API
|
||||
|
||||
**Mock方法对比**
|
||||
|
||||
```typescript
|
||||
// ❌ 旧方法:直接操作global对象(类型问题)
|
||||
global.Image = mockImage;
|
||||
global.URL = { ...global.URL, createObjectURL: mockFn };
|
||||
|
||||
// ✅ 现代方法:类型安全的vi API
|
||||
vi.stubGlobal('Image', mockImage); // 完全替换全局对象
|
||||
vi.spyOn(URL, 'createObjectURL'); // 部分mock,保留其他功能
|
||||
```
|
||||
|
||||
### 测试覆盖率原则:代码分支优于用例数量
|
||||
|
||||
**核心原则**: 优先覆盖所有代码分支,而非编写大量重复用例
|
||||
|
||||
```typescript
|
||||
// ❌ 过度测试:29个测试用例都验证相同分支
|
||||
describe('getImageDimensions', () => {
|
||||
it('should reject .txt 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'); // 错误处理分支
|
||||
});
|
||||
```
|
||||
|
||||
**分支覆盖策略**
|
||||
|
||||
1. **成功路径** - 每种输入类型1个测试即可
|
||||
2. **边界条件** - 合并类似场景到单个测试
|
||||
3. **错误处理** - 测试代表性错误即可
|
||||
4. **业务逻辑** - 覆盖所有if/else分支
|
||||
|
||||
**合理测试数量**
|
||||
- 简单工具函数:2-5个测试
|
||||
- 复杂业务逻辑:5-10个测试
|
||||
- 核心安全功能:适当增加,但避免重复路径
|
||||
|
||||
### 错误处理测试:测试"行为"而非"文本"
|
||||
### 错误处理测试:测试"行为"而非"文本" ⚠️
|
||||
|
||||
**核心原则**: 测试应该验证程序在错误发生时的行为是可预测的,而不是验证易变的错误信息文本。
|
||||
|
||||
#### 推荐的错误测试方式
|
||||
#### ✅ 推荐的错误测试方式
|
||||
|
||||
```typescript
|
||||
// ✅ 测试错误类型和属性
|
||||
expect(() => validateUser({})).toThrow(ValidationError);
|
||||
expect(() => processPayment({})).toThrow(expect.objectContaining({
|
||||
code: 'INVALID_PAYMENT_DATA',
|
||||
statusCode: 400,
|
||||
}));
|
||||
// ✅ 测试是否抛出错误
|
||||
it('should throw error when invalid input provided', () => {
|
||||
expect(() => processInput(null)).toThrow();
|
||||
});
|
||||
|
||||
// ❌ 避免测试具体错误文本
|
||||
expect(() => processUser({})).toThrow('用户数据不能为空,请检查输入参数');
|
||||
// ✅ 测试错误类型(最推荐)
|
||||
it('should throw ValidationError for invalid data', () => {
|
||||
expect(() => validateUser({})).toThrow(ValidationError);
|
||||
});
|
||||
|
||||
// ✅ 测试错误属性而非消息文本
|
||||
it('should throw error with correct error code', () => {
|
||||
expect(() => processPayment({})).toThrow(
|
||||
expect.objectContaining({
|
||||
code: 'INVALID_PAYMENT_DATA',
|
||||
statusCode: 400,
|
||||
}),
|
||||
);
|
||||
});
|
||||
```
|
||||
|
||||
### 疑难解答:警惕模块污染
|
||||
#### ❌ 应避免的做法
|
||||
|
||||
```typescript
|
||||
// ❌ 过度依赖具体错误信息文本
|
||||
it('should throw specific error message', () => {
|
||||
expect(() => processUser({})).toThrow('用户数据不能为空,请检查输入参数');
|
||||
// 这种测试很脆弱,错误文案稍有修改就会失败
|
||||
});
|
||||
```
|
||||
|
||||
#### 🎯 例外情况:何时可以测试错误信息
|
||||
|
||||
```typescript
|
||||
// ✅ 测试标准 API 错误(这是契约的一部分)
|
||||
it('should return proper HTTP error for API', () => {
|
||||
expect(response.statusCode).toBe(400);
|
||||
expect(response.error).toBe('Bad Request');
|
||||
});
|
||||
|
||||
// ✅ 测试错误信息的关键部分(使用正则)
|
||||
it('should include field name in validation error', () => {
|
||||
expect(() => validateField('email', '')).toThrow(/email/i);
|
||||
});
|
||||
```
|
||||
|
||||
### 疑难解答:警惕模块污染 🚨
|
||||
|
||||
**识别信号**: 当你的测试出现以下"灵异"现象时,优先怀疑模块污染:
|
||||
|
||||
@@ -378,25 +341,55 @@ expect(() => processUser({})).toThrow('用户数据不能为空,请检查输
|
||||
#### 典型场景:动态 Mock 同一模块
|
||||
|
||||
```typescript
|
||||
// ❌ 问题:动态Mock同一模块
|
||||
it('dev mode', async () => {
|
||||
vi.doMock('./config', () => ({ isDev: true }));
|
||||
const { getSettings } = await import('./service'); // 可能使用缓存
|
||||
// ❌ 容易出现模块污染的写法
|
||||
describe('ConfigService', () => {
|
||||
it('should work in development mode', async () => {
|
||||
vi.doMock('./config', () => ({ isDev: true }));
|
||||
const { getSettings } = await import('./configService'); // 第一次加载
|
||||
expect(getSettings().debugMode).toBe(true);
|
||||
});
|
||||
|
||||
it('should work in production mode', async () => {
|
||||
vi.doMock('./config', () => ({ isDev: false }));
|
||||
const { getSettings } = await import('./configService'); // 可能使用缓存的旧版本!
|
||||
expect(getSettings().debugMode).toBe(false); // ❌ 可能失败
|
||||
});
|
||||
});
|
||||
|
||||
// ✅ 解决:清除模块缓存
|
||||
beforeEach(() => {
|
||||
vi.resetModules(); // 确保每个测试都是干净环境
|
||||
// ✅ 使用 resetModules 解决模块污染
|
||||
describe('ConfigService', () => {
|
||||
beforeEach(() => {
|
||||
vi.resetModules(); // 清除模块缓存,确保每个测试都是干净的环境
|
||||
});
|
||||
|
||||
it('should work in development mode', async () => {
|
||||
vi.doMock('./config', () => ({ isDev: true }));
|
||||
const { getSettings } = await import('./configService');
|
||||
expect(getSettings().debugMode).toBe(true);
|
||||
});
|
||||
|
||||
it('should work in production mode', async () => {
|
||||
vi.doMock('./config', () => ({ isDev: false }));
|
||||
const { getSettings } = await import('./configService');
|
||||
expect(getSettings().debugMode).toBe(false); // ✅ 测试通过
|
||||
});
|
||||
});
|
||||
```
|
||||
|
||||
**记住**: `vi.resetModules()` 是解决测试"灵异"失败的终极武器。
|
||||
#### 🔧 排查和解决步骤
|
||||
|
||||
## 测试文件组织
|
||||
1. **识别问题**: 测试失败时,首先问自己:"是否有多个测试在 Mock 同一个模块?"
|
||||
2. **添加隔离**: 在 `beforeEach` 中添加 `vi.resetModules()`
|
||||
3. **验证修复**: 重新运行测试,确认问题解决
|
||||
|
||||
**记住**: `vi.resetModules()` 是解决测试"灵异"失败的终极武器,当常规调试方法都无效时,它往往能一针见血地解决问题。
|
||||
|
||||
## 📂 测试文件组织
|
||||
|
||||
### 文件命名约定
|
||||
|
||||
`*.test.ts`, `*.test.tsx` (任意位置)
|
||||
- **客户端测试**: `*.test.ts`, `*.test.tsx` (任意位置)
|
||||
- **服务端测试**: `src/database/models/**/*.test.ts`, `src/database/server/**/*.test.ts` (限定路径)
|
||||
|
||||
### 测试文件组织风格
|
||||
|
||||
@@ -413,10 +406,7 @@ src/components/Button/
|
||||
└── index.test.tsx # 测试文件
|
||||
```
|
||||
|
||||
- 也有少数情况会统一放到 `__tests__` 文件夹, 例如 `packages/database/src/models/__tests__`
|
||||
- 测试使用的辅助文件放到 fixtures 文件夹
|
||||
|
||||
## 测试调试技巧
|
||||
## 🛠️ 测试调试技巧
|
||||
|
||||
### 测试调试步骤
|
||||
|
||||
@@ -425,28 +415,40 @@ src/components/Button/
|
||||
3. **分析错误**: 仔细阅读错误信息、堆栈跟踪和最近的文件修改记录
|
||||
4. **添加调试**: 在测试中添加 `console.log` 了解执行流程
|
||||
|
||||
### TypeScript 类型处理
|
||||
### TypeScript 类型处理 📝
|
||||
|
||||
在测试中,为了提高编写效率和可读性,可以适当放宽 TypeScript 类型检测:
|
||||
|
||||
#### 推荐的类型放宽策略
|
||||
#### ✅ 推荐的类型放宽策略
|
||||
|
||||
```typescript
|
||||
// 使用非空断言访问测试中确定存在的属性
|
||||
// ✅ 使用非空断言访问测试中确定存在的属性
|
||||
const result = await someFunction();
|
||||
expect(result!.data).toBeDefined();
|
||||
expect(result!.status).toBe('success');
|
||||
|
||||
// 使用 any 类型简化复杂的 Mock 设置
|
||||
// ✅ 使用 any 类型简化复杂的 Mock 设置
|
||||
const mockStream = new ReadableStream() as any;
|
||||
mockStream.toReadableStream = () => mockStream;
|
||||
|
||||
// 访问私有成员
|
||||
await instance['getFromCache']('key'); // 推荐中括号
|
||||
await (instance as any).getFromCache('key'); // 避免as any
|
||||
// ✅ 使用中括号访问私有属性和方法(推荐)
|
||||
class MyClass {
|
||||
private _cache = new Map();
|
||||
private getFromCache(key: string) { /* ... */ }
|
||||
}
|
||||
|
||||
const instance = new MyClass();
|
||||
|
||||
// 推荐:使用中括号访问私有成员
|
||||
await instance['getFromCache']('test-key');
|
||||
expect(instance['_cache'].size).toBe(1);
|
||||
|
||||
// 避免:使用 as any 访问私有成员
|
||||
await (instance as any).getFromCache('test-key'); // ❌ 不推荐
|
||||
expect((instance as any)._cache.size).toBe(1); // ❌ 不推荐
|
||||
```
|
||||
|
||||
#### 适用场景
|
||||
#### 🎯 适用场景
|
||||
|
||||
- **Mock 对象**: 对于测试用的 Mock 数据,使用 `as any` 避免复杂的类型定义
|
||||
- **第三方库**: 处理复杂的第三方库类型时,适当使用 `any` 提高效率
|
||||
@@ -454,31 +456,44 @@ await (instance as any).getFromCache('key'); // 避免as any
|
||||
- **私有成员访问**: 优先使用中括号 `instance['privateMethod']()` 而不是 `(instance as any).privateMethod()`
|
||||
- **临时调试**: 快速编写测试时,先用 `any` 保证功能,后续可选择性地优化类型
|
||||
|
||||
#### 注意事项
|
||||
#### ⚠️ 注意事项
|
||||
|
||||
- **适度使用**: 不要过度依赖 `any`,核心业务逻辑的类型仍应保持严格
|
||||
- **私有成员访问优先级**: 中括号访问 > `as any` 转换,保持更好的类型安全性
|
||||
- **文档说明**: 对于使用 `any` 的复杂场景,添加注释说明原因
|
||||
- **测试覆盖**: 确保即使使用了 `any`,测试仍能有效验证功能正确性
|
||||
|
||||
### 检查最近修改记录 🔍
|
||||
|
||||
### 检查最近修改记录
|
||||
系统性地检查相关文件的修改历史是问题定位的关键步骤。
|
||||
|
||||
**核心原则**:测试突然失败时,优先检查最近的代码修改。
|
||||
#### 三步检查法
|
||||
|
||||
#### 快速检查方法
|
||||
**Step 1: 查看当前状态**
|
||||
|
||||
```bash
|
||||
git status # 查看当前修改状态
|
||||
git diff HEAD -- '*.test.*' # 检查测试文件改动
|
||||
git diff main...HEAD # 对比主分支差异
|
||||
gh pr diff # 查看PR中的所有改动
|
||||
git status # 查看未提交的修改
|
||||
git diff path/to/component.test.ts | cat # 查看测试文件修改
|
||||
git diff path/to/component.ts | cat # 查看实现文件修改
|
||||
```
|
||||
|
||||
#### 常见原因与解决
|
||||
**Step 2: 查看提交历史**
|
||||
|
||||
- **最新提交引入bug** → 检查并修复实现代码
|
||||
- **分支代码滞后** → `git rebase main` 同步主分支
|
||||
```bash
|
||||
git log --pretty=format:"%h %ad %s" --date=relative -3 path/to/component.ts | cat
|
||||
```
|
||||
|
||||
**Step 3: 查看具体修改内容**
|
||||
|
||||
```bash
|
||||
git show HEAD -- path/to/component.ts | cat # 查看最新提交的修改
|
||||
```
|
||||
|
||||
#### 时间相关性判断
|
||||
|
||||
- **24小时内的提交**: 🔴 **高度相关** - 很可能是直接原因
|
||||
- **1-7天内的提交**: 🟡 **中等相关** - 需要仔细分析
|
||||
- **超过1周的提交**: ⚪ **低相关性** - 除非重大重构
|
||||
|
||||
## 特殊场景的测试
|
||||
|
||||
@@ -487,9 +502,9 @@ gh pr diff # 查看PR中的所有改动
|
||||
- [Electron IPC 接口测试策略](mdc:./electron-ipc-test.mdc)
|
||||
- [数据库 Model 测试指南](mdc:./db-model-test.mdc)
|
||||
|
||||
## 核心要点
|
||||
## 🎯 核心要点
|
||||
|
||||
- **命令格式**: 使用 `bunx vitest run --silent='passed-only'` 并指定文件过滤
|
||||
- **命令格式**: 使用 `npx vitest run --config [config-file]` 并指定文件过滤
|
||||
- **修复原则**: 失败1-2次后寻求帮助,测试命名关注行为而非实现细节
|
||||
- **调试流程**: 复现 → 分析 → 假设 → 修复 → 验证 → 总结
|
||||
- **文件组织**: 优先在现有 `describe` 块中添加测试,避免创建冗余顶级块
|
||||
|
||||
@@ -1,62 +1,21 @@
|
||||
---
|
||||
description: TypeScript code style and optimization guidelines
|
||||
description:
|
||||
globs: *.ts,*.tsx,*.mts
|
||||
alwaysApply: false
|
||||
---
|
||||
|
||||
# TypeScript Code Style Guide
|
||||
|
||||
## Types and Type Safety
|
||||
TypeScript Code Style Guide:
|
||||
|
||||
- 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
|
||||
|
||||
- When importing a directory module, prefer the explicit index path like `@/db/index` instead of `@/db`.
|
||||
|
||||
## Asynchronous Patterns and Concurrency
|
||||
|
||||
- Prefer `async`/`await` over callbacks or chained `.then` promises.
|
||||
- Prefer async APIs over sync ones (avoid `*Sync`).
|
||||
- Prefer promise-based variants (e.g., `import { readFile } from 'fs/promises'`) over callback-based APIs from `fs`.
|
||||
- Where safe, convert sequential async flows to concurrent ones with `Promise.all`, `Promise.race`, etc.
|
||||
|
||||
## Code Structure and Readability
|
||||
|
||||
- Refactor repeated logic into reusable functions.
|
||||
- Prefer object destructuring when accessing and using properties.
|
||||
- Use consistent, descriptive naming; avoid obscure abbreviations.
|
||||
- Use semantically meaningful variable, function, and class names.
|
||||
- Replace magic numbers or strings with well-named constants.
|
||||
- Keep meaningful code comments; do not remove them when applying edits. Update comments when behavior changes.
|
||||
- Ensure JSDoc comments accurately reflect the implementation.
|
||||
- Look for opportunities to simplify or modernize code with the latest JavaScript/TypeScript features where it improves clarity.
|
||||
- Defer formatting to tooling; ignore purely formatting-only issues and autofixable lint problems.
|
||||
- Respect project Prettier settings.
|
||||
|
||||
## UI and Theming
|
||||
|
||||
- Use components from `@lobehub/ui`, Ant Design, or existing design system components instead of raw HTML tags (e.g., `Button` vs. `button`).
|
||||
- Design for dark mode and mobile responsiveness:
|
||||
- Use the `antd-style` token system instead of hard-coded colors.
|
||||
- Select appropriate component variants.
|
||||
|
||||
## Performance
|
||||
|
||||
- Prefer `for…of` loops to index-based `for` loops when feasible.
|
||||
- Decide whether callbacks should be debounced or throttled based on UX and performance needs.
|
||||
- Reuse existing npm packages rather than reinventing the wheel (e.g., `lodash-es/omit`).
|
||||
- Query only the required columns from a database rather than selecting entire rows.
|
||||
|
||||
## Time and Consistency
|
||||
|
||||
- Instead of calling `Date.now()` multiple times, assign it to a constant once and reuse it to ensure consistency and improve readability.
|
||||
|
||||
## Some logging rules
|
||||
|
||||
- Never log user private information like api key, etc
|
||||
- Don't use `import { log } from 'debug'` to log messages, because it will directly log the message to the console.
|
||||
- Avoid defining `any` type variables (e.g., `let a: number;` instead of `let a;`).
|
||||
- Use the most accurate type possible (e.g., use `Record<PropertyKey, unknown>` instead of `object`).
|
||||
- Prefer `interface` over `type` (e.g., define react component props).
|
||||
- Use `as const satisfies XyzInterface` instead of `as const` when suitable
|
||||
- import index.ts module(directory module) like `@/db/index` instead of `@/db`
|
||||
- Instead of calling Date.now() multiple times, assign it to a constant once and reuse it. This ensures consistency and improves readability
|
||||
- Always refactor repeated logic into a reusable function
|
||||
- Don't remove meaningful code comments, be sure to keep original comments when providing applied code
|
||||
- Update the code comments when needed after you modify the related code
|
||||
- Please respect my prettier preferences when you provide code
|
||||
- Prefer object destructuring when accessing and using properties
|
||||
- Prefer async version api than sync version, eg: use readFile from 'fs/promises' instead of 'fs'
|
||||
|
||||
@@ -153,14 +153,6 @@ OPENAI_API_KEY=sk-xxxxxxxxx
|
||||
|
||||
# AIHUBMIX_API_KEY=sk-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
|
||||
|
||||
### BFL ###
|
||||
|
||||
# BFL_API_KEY=bfl-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
|
||||
|
||||
### FAL ###
|
||||
|
||||
# FAL_API_KEY=fal-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
|
||||
|
||||
|
||||
########################################
|
||||
############ Market Service ############
|
||||
|
||||
@@ -29,20 +29,3 @@ logs
|
||||
# misc
|
||||
# add other ignore file below
|
||||
.next
|
||||
|
||||
# temporary directories
|
||||
tmp
|
||||
temp
|
||||
.temp
|
||||
.local
|
||||
docs/.local
|
||||
|
||||
# cache directories
|
||||
.cache
|
||||
|
||||
# AI coding tools directories
|
||||
.claude
|
||||
.serena
|
||||
|
||||
# MCP tools
|
||||
/.serena/**
|
||||
|
||||
@@ -1,89 +0,0 @@
|
||||
/**
|
||||
* Generate or update PR comment with Docker build info
|
||||
*/
|
||||
module.exports = async ({
|
||||
github,
|
||||
context,
|
||||
dockerMetaJson,
|
||||
image,
|
||||
version,
|
||||
dockerhubUrl,
|
||||
platforms,
|
||||
}) => {
|
||||
const COMMENT_IDENTIFIER = '<!-- DOCKER-BUILD-COMMENT -->';
|
||||
|
||||
const parseTags = () => {
|
||||
try {
|
||||
if (dockerMetaJson) {
|
||||
const parsed = JSON.parse(dockerMetaJson);
|
||||
if (Array.isArray(parsed.tags) && parsed.tags.length > 0) {
|
||||
return parsed.tags;
|
||||
}
|
||||
}
|
||||
} catch (e) {
|
||||
// ignore parsing error, fallback below
|
||||
}
|
||||
if (image && version) {
|
||||
return [`${image}:${version}`];
|
||||
}
|
||||
return [];
|
||||
};
|
||||
|
||||
const generateCommentBody = () => {
|
||||
const tags = parseTags();
|
||||
const buildTime = new Date().toISOString();
|
||||
|
||||
// Use the first tag as the main version
|
||||
const mainTag = tags.length > 0 ? tags[0] : `${image}:${version}`;
|
||||
const tagVersion = mainTag.includes(':') ? mainTag.split(':')[1] : version;
|
||||
|
||||
return [
|
||||
COMMENT_IDENTIFIER,
|
||||
'',
|
||||
'### 🐳 Database Docker Build Completed!',
|
||||
`**Version**: \`${tagVersion || 'N/A'}\``,
|
||||
`**Build Time**: \`${buildTime}\``,
|
||||
'',
|
||||
dockerhubUrl ? `🔗 View all tags on Docker Hub: ${dockerhubUrl}` : '',
|
||||
'',
|
||||
'### Pull Image',
|
||||
'Download the Docker image to your local machine:',
|
||||
'',
|
||||
'```bash',
|
||||
`docker pull ${mainTag}`,
|
||||
'```',
|
||||
'> [!IMPORTANT]',
|
||||
'> This build is for testing and validation purposes.',
|
||||
]
|
||||
.filter(Boolean)
|
||||
.join('\n');
|
||||
};
|
||||
|
||||
const body = generateCommentBody();
|
||||
|
||||
// List comments on the PR
|
||||
const { data: comments } = await github.rest.issues.listComments({
|
||||
issue_number: context.issue.number,
|
||||
owner: context.repo.owner,
|
||||
repo: context.repo.repo,
|
||||
});
|
||||
|
||||
const existing = comments.find((c) => c.body && c.body.includes(COMMENT_IDENTIFIER));
|
||||
if (existing) {
|
||||
await github.rest.issues.updateComment({
|
||||
comment_id: existing.id,
|
||||
owner: context.repo.owner,
|
||||
repo: context.repo.repo,
|
||||
body,
|
||||
});
|
||||
return { updated: true, id: existing.id };
|
||||
}
|
||||
|
||||
const result = await github.rest.issues.createComment({
|
||||
issue_number: context.issue.number,
|
||||
owner: context.repo.owner,
|
||||
repo: context.repo.repo,
|
||||
body,
|
||||
});
|
||||
return { updated: false, id: result.data.id };
|
||||
};
|
||||
@@ -21,7 +21,7 @@ jobs:
|
||||
git config --global user.name "lobehubbot"
|
||||
git config --global user.email "i@lobehub.com"
|
||||
|
||||
- uses: actions/checkout@v5
|
||||
- uses: actions/checkout@v4
|
||||
with:
|
||||
ref: ${{ github.event.pull_request.head.ref }}
|
||||
|
||||
|
||||
@@ -1,64 +0,0 @@
|
||||
name: Claude Code
|
||||
|
||||
on:
|
||||
issue_comment:
|
||||
types: [created]
|
||||
pull_request_review_comment:
|
||||
types: [created]
|
||||
issues:
|
||||
types: [opened, assigned]
|
||||
pull_request_review:
|
||||
types: [submitted]
|
||||
|
||||
jobs:
|
||||
claude:
|
||||
if: |
|
||||
(github.event_name == 'issue_comment' && contains(github.event.comment.body, '@claude')) ||
|
||||
(github.event_name == 'pull_request_review_comment' && contains(github.event.comment.body, '@claude')) ||
|
||||
(github.event_name == 'pull_request_review' && contains(github.event.review.body, '@claude')) ||
|
||||
(github.event_name == 'issues' && (contains(github.event.issue.body, '@claude') || contains(github.event.issue.title, '@claude')))
|
||||
runs-on: ubuntu-latest
|
||||
permissions:
|
||||
contents: read
|
||||
pull-requests: read
|
||||
issues: read
|
||||
id-token: write
|
||||
actions: read # Required for Claude to read CI results on PRs
|
||||
steps:
|
||||
- name: Checkout repository
|
||||
uses: actions/checkout@v5
|
||||
with:
|
||||
fetch-depth: 1
|
||||
|
||||
- name: Run Claude Code
|
||||
id: claude
|
||||
uses: anthropics/claude-code-action@beta
|
||||
with:
|
||||
claude_code_oauth_token: ${{ secrets.CLAUDE_CODE_OAUTH_TOKEN }}
|
||||
|
||||
# This is an optional setting that allows Claude to read CI results on PRs
|
||||
additional_permissions: |
|
||||
actions: read
|
||||
|
||||
# Optional: Specify model (defaults to Claude Sonnet 4, uncomment for Claude Opus 4)
|
||||
# model: 'claude-opus-4-1-20250805'
|
||||
allowed_bots: 'bot'
|
||||
|
||||
# Optional: Customize the trigger phrase (default: @claude)
|
||||
# trigger_phrase: "/claude"
|
||||
|
||||
# Optional: Trigger when specific user is assigned to an issue
|
||||
# assignee_trigger: "claude-bot"
|
||||
|
||||
# Optional: Allow Claude to run specific commands
|
||||
allowed_tools: 'Bash(bun run:*),Bash(pnpm run:*),Bash(npm run:*),Bash(npx:*),Bash(bunx:*),Bash(vitest:*),Bash(rg:*),Bash(find:*),Bash(sed:*),Bash(grep:*),Bash(awk:*),Bash(wc:*),Bash(xargs:*)'
|
||||
|
||||
# Optional: Add custom instructions for Claude to customize its behavior for your project
|
||||
# custom_instructions: |
|
||||
# Follow our coding standards
|
||||
# Ensure all new code has tests
|
||||
# Use TypeScript for new files
|
||||
|
||||
# Optional: Custom environment variables for Claude
|
||||
# claude_env: |
|
||||
# NODE_ENV: test
|
||||
@@ -23,7 +23,7 @@ jobs:
|
||||
runs-on: ubuntu-latest # 只在 ubuntu 上运行一次检查
|
||||
steps:
|
||||
- name: Checkout base
|
||||
uses: actions/checkout@v5
|
||||
uses: actions/checkout@v4
|
||||
with:
|
||||
fetch-depth: 0
|
||||
|
||||
@@ -35,7 +35,7 @@ jobs:
|
||||
- name: Setup pnpm
|
||||
uses: pnpm/action-setup@v2
|
||||
with:
|
||||
version: 10
|
||||
version: 9
|
||||
|
||||
- name: Install deps
|
||||
run: pnpm install
|
||||
@@ -56,7 +56,7 @@ jobs:
|
||||
# 输出版本信息,供后续 job 使用
|
||||
version: ${{ steps.set_version.outputs.version }}
|
||||
steps:
|
||||
- uses: actions/checkout@v5
|
||||
- uses: actions/checkout@v4
|
||||
with:
|
||||
fetch-depth: 0
|
||||
|
||||
@@ -95,7 +95,7 @@ jobs:
|
||||
matrix:
|
||||
os: [macos-latest, windows-2025, ubuntu-latest]
|
||||
steps:
|
||||
- uses: actions/checkout@v5
|
||||
- uses: actions/checkout@v4
|
||||
with:
|
||||
fetch-depth: 0
|
||||
|
||||
@@ -107,7 +107,7 @@ jobs:
|
||||
- name: Setup pnpm
|
||||
uses: pnpm/action-setup@v2
|
||||
with:
|
||||
version: 10
|
||||
version: 9
|
||||
|
||||
# node-linker=hoisted 模式将可以确保 asar 压缩可用
|
||||
- name: Install deps
|
||||
@@ -183,10 +183,6 @@ jobs:
|
||||
apps/desktop/release/*.zip*
|
||||
apps/desktop/release/*.exe*
|
||||
apps/desktop/release/*.AppImage
|
||||
apps/desktop/release/*.deb*
|
||||
apps/desktop/release/*.snap*
|
||||
apps/desktop/release/*.rpm*
|
||||
apps/desktop/release/*.tar.gz*
|
||||
retention-days: 5
|
||||
|
||||
publish-pr:
|
||||
@@ -200,7 +196,7 @@ jobs:
|
||||
outputs:
|
||||
artifact_path: ${{ steps.set_path.outputs.path }}
|
||||
steps:
|
||||
- uses: actions/checkout@v5
|
||||
- uses: actions/checkout@v4
|
||||
with:
|
||||
fetch-depth: 0
|
||||
|
||||
@@ -249,10 +245,6 @@ jobs:
|
||||
release/*.zip*
|
||||
release/*.exe*
|
||||
release/*.AppImage
|
||||
release/*.deb*
|
||||
release/*.snap*
|
||||
release/*.rpm*
|
||||
release/*.tar.gz*
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
|
||||
|
||||
@@ -39,7 +39,7 @@ jobs:
|
||||
echo "PLATFORM_PAIR=${platform//\//-}" >> $GITHUB_ENV
|
||||
|
||||
- name: Checkout base
|
||||
uses: actions/checkout@v5
|
||||
uses: actions/checkout@v4
|
||||
with:
|
||||
fetch-depth: 0
|
||||
|
||||
@@ -80,7 +80,7 @@ jobs:
|
||||
|
||||
- name: Build and export
|
||||
id: build
|
||||
uses: docker/build-push-action@v6
|
||||
uses: docker/build-push-action@v5
|
||||
with:
|
||||
platforms: ${{ matrix.platform }}
|
||||
context: .
|
||||
@@ -111,7 +111,7 @@ jobs:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Checkout base
|
||||
uses: actions/checkout@v5
|
||||
uses: actions/checkout@v4
|
||||
with:
|
||||
fetch-depth: 0
|
||||
|
||||
@@ -159,24 +159,3 @@ jobs:
|
||||
- name: Inspect image
|
||||
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@v7
|
||||
with:
|
||||
github-token: ${{ secrets.GITHUB_TOKEN }}
|
||||
script: |
|
||||
const prComment = require('${{ github.workspace }}/.github/scripts/docker-pr-comment.js');
|
||||
const result = await prComment({
|
||||
github,
|
||||
context,
|
||||
dockerMetaJson: ${{ toJSON(steps.meta.outputs.json) }},
|
||||
image: "${{ env.REGISTRY_IMAGE }}",
|
||||
version: "${{ steps.meta.outputs.version }}",
|
||||
dockerhubUrl: "https://hub.docker.com/r/${{ env.REGISTRY_IMAGE }}/tags",
|
||||
platforms: "linux/amd64, linux/arm64",
|
||||
});
|
||||
core.info(`Status: ${result.updated ? 'Updated' : 'Created'}, ID: ${result.id}`);
|
||||
|
||||
|
||||
|
||||
@@ -39,7 +39,7 @@ jobs:
|
||||
echo "PLATFORM_PAIR=${platform//\//-}" >> $GITHUB_ENV
|
||||
|
||||
- name: Checkout base
|
||||
uses: actions/checkout@v5
|
||||
uses: actions/checkout@v4
|
||||
with:
|
||||
fetch-depth: 0
|
||||
|
||||
@@ -80,7 +80,7 @@ jobs:
|
||||
|
||||
- name: Build and export
|
||||
id: build
|
||||
uses: docker/build-push-action@v6
|
||||
uses: docker/build-push-action@v5
|
||||
with:
|
||||
platforms: ${{ matrix.platform }}
|
||||
context: .
|
||||
@@ -111,7 +111,7 @@ jobs:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Checkout base
|
||||
uses: actions/checkout@v5
|
||||
uses: actions/checkout@v4
|
||||
with:
|
||||
fetch-depth: 0
|
||||
|
||||
|
||||
@@ -39,7 +39,7 @@ jobs:
|
||||
echo "PLATFORM_PAIR=${platform//\//-}" >> $GITHUB_ENV
|
||||
|
||||
- name: Checkout base
|
||||
uses: actions/checkout@v5
|
||||
uses: actions/checkout@v4
|
||||
with:
|
||||
fetch-depth: 0
|
||||
|
||||
@@ -80,7 +80,7 @@ jobs:
|
||||
|
||||
- name: Build and export
|
||||
id: build
|
||||
uses: docker/build-push-action@v6
|
||||
uses: docker/build-push-action@v5
|
||||
with:
|
||||
platforms: ${{ matrix.platform }}
|
||||
context: .
|
||||
@@ -111,7 +111,7 @@ jobs:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Checkout base
|
||||
uses: actions/checkout@v5
|
||||
uses: actions/checkout@v4
|
||||
with:
|
||||
fetch-depth: 0
|
||||
|
||||
|
||||
@@ -42,12 +42,12 @@ jobs:
|
||||
echo "BRANCH=$BRANCH" >> $GITHUB_ENV
|
||||
env:
|
||||
REPO_BRANCH: ${{ matrix.REPO_BRANCH || env.REPO_BRANCH }}
|
||||
- uses: actions/checkout@v5
|
||||
- uses: actions/checkout@v4
|
||||
with:
|
||||
repository: ${{ env.REPOSITORY }}
|
||||
token: ${{ secrets[matrix.TOKEN_NAME] || secrets[env.TOKEN_NAME] }}
|
||||
ref: ${{ env.BRANCH }}
|
||||
- uses: actions/checkout@v5
|
||||
- uses: actions/checkout@v4
|
||||
with:
|
||||
repository: 'myactionway/lighthouse-badges'
|
||||
path: temp_lighthouse_badges_nested
|
||||
|
||||
@@ -19,7 +19,7 @@ jobs:
|
||||
runs-on: ubuntu-latest # 只在 ubuntu 上运行一次检查
|
||||
steps:
|
||||
- name: Checkout base
|
||||
uses: actions/checkout@v5
|
||||
uses: actions/checkout@v4
|
||||
with:
|
||||
fetch-depth: 0
|
||||
|
||||
@@ -31,7 +31,7 @@ jobs:
|
||||
- name: Setup pnpm
|
||||
uses: pnpm/action-setup@v2
|
||||
with:
|
||||
version: 10
|
||||
version: 9
|
||||
|
||||
- name: Install deps
|
||||
run: pnpm install
|
||||
@@ -47,7 +47,7 @@ jobs:
|
||||
version: ${{ steps.set_version.outputs.version }}
|
||||
is_pr_build: ${{ steps.set_version.outputs.is_pr_build }}
|
||||
steps:
|
||||
- uses: actions/checkout@v5
|
||||
- uses: actions/checkout@v4
|
||||
with:
|
||||
fetch-depth: 0
|
||||
|
||||
@@ -82,7 +82,7 @@ jobs:
|
||||
matrix:
|
||||
os: [macos-latest, windows-2025, ubuntu-latest]
|
||||
steps:
|
||||
- uses: actions/checkout@v5
|
||||
- uses: actions/checkout@v4
|
||||
with:
|
||||
fetch-depth: 0
|
||||
|
||||
@@ -94,7 +94,7 @@ jobs:
|
||||
- name: Setup pnpm
|
||||
uses: pnpm/action-setup@v2
|
||||
with:
|
||||
version: 10
|
||||
version: 9
|
||||
|
||||
# node-linker=hoisted 模式将可以确保 asar 压缩可用
|
||||
- name: Install deps
|
||||
@@ -165,10 +165,6 @@ jobs:
|
||||
apps/desktop/release/*.zip*
|
||||
apps/desktop/release/*.exe*
|
||||
apps/desktop/release/*.AppImage
|
||||
apps/desktop/release/*.deb*
|
||||
apps/desktop/release/*.snap*
|
||||
apps/desktop/release/*.rpm*
|
||||
apps/desktop/release/*.tar.gz*
|
||||
retention-days: 5
|
||||
|
||||
# 正式版发布 job
|
||||
@@ -205,9 +201,5 @@ jobs:
|
||||
release/*.zip*
|
||||
release/*.exe*
|
||||
release/*.AppImage
|
||||
release/*.deb*
|
||||
release/*.snap*
|
||||
release/*.rpm*
|
||||
release/*.tar.gz*
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
|
||||
@@ -11,18 +11,16 @@ jobs:
|
||||
|
||||
services:
|
||||
postgres:
|
||||
image: paradedb/paradedb:latest
|
||||
image: pgvector/pgvector:pg16
|
||||
env:
|
||||
POSTGRES_PASSWORD: postgres
|
||||
options: >-
|
||||
--health-cmd pg_isready --health-interval 10s --health-timeout 5s --health-retries 5
|
||||
|
||||
|
||||
ports:
|
||||
- 5432:5432
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v5
|
||||
- uses: actions/checkout@v4
|
||||
|
||||
- name: Setup Node.js
|
||||
uses: actions/setup-node@v4
|
||||
@@ -40,8 +38,8 @@ jobs:
|
||||
- name: Lint
|
||||
run: bun run lint
|
||||
|
||||
- name: Test Database Coverage
|
||||
run: bun run --filter @lobechat/database test
|
||||
- name: Test Server Coverage
|
||||
run: bun run test-server:coverage
|
||||
env:
|
||||
DATABASE_TEST_URL: postgresql://postgres:postgres@localhost:5432/postgres
|
||||
DATABASE_DRIVER: node
|
||||
@@ -50,8 +48,8 @@ jobs:
|
||||
S3_PUBLIC_DOMAIN: https://example.com
|
||||
APP_URL: https://home.com
|
||||
|
||||
- name: Test App
|
||||
run: bun run test-app
|
||||
- name: Test App Coverage
|
||||
run: bun run test-app:coverage
|
||||
|
||||
- name: Release
|
||||
run: bun run release
|
||||
|
||||
@@ -11,7 +11,7 @@ jobs:
|
||||
build:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v5
|
||||
- uses: actions/checkout@v4
|
||||
|
||||
- name: Install dbdocs
|
||||
run: sudo npm install -g dbdocs
|
||||
|
||||
@@ -17,7 +17,7 @@ jobs:
|
||||
if: ${{ github.event.repository.fork }}
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v5
|
||||
- uses: actions/checkout@v4
|
||||
|
||||
- name: Clean issue notice
|
||||
uses: actions-cool/issues-helper@v3
|
||||
|
||||
+17
-86
@@ -2,80 +2,8 @@ name: Test CI
|
||||
|
||||
on: [push, pull_request]
|
||||
|
||||
permissions:
|
||||
contents: read
|
||||
|
||||
jobs:
|
||||
# Package tests - using each package's own test script
|
||||
test-packages:
|
||||
runs-on: ubuntu-latest
|
||||
strategy:
|
||||
matrix:
|
||||
package: [file-loaders, prompts, model-runtime, web-crawler, electron-server-ipc, utils]
|
||||
|
||||
name: Test package ${{ matrix.package }}
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v5
|
||||
|
||||
- name: Setup Node.js
|
||||
uses: actions/setup-node@v4
|
||||
with:
|
||||
node-version: 22
|
||||
|
||||
- name: Install bun
|
||||
uses: oven-sh/setup-bun@v1
|
||||
with:
|
||||
bun-version: ${{ secrets.BUN_VERSION }}
|
||||
|
||||
- name: Install deps
|
||||
run: bun i
|
||||
|
||||
- name: Test ${{ matrix.package }} package with coverage
|
||||
run: bun run --filter @lobechat/${{ 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
|
||||
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v5
|
||||
|
||||
- name: Setup Node.js
|
||||
uses: actions/setup-node@v4
|
||||
with:
|
||||
node-version: 22
|
||||
|
||||
- name: Install bun
|
||||
uses: oven-sh/setup-bun@v1
|
||||
with:
|
||||
bun-version: ${{ secrets.BUN_VERSION }}
|
||||
|
||||
- name: Install deps
|
||||
run: bun i
|
||||
|
||||
- name: Test App Coverage
|
||||
run: bun run test-app:coverage
|
||||
|
||||
- name: Upload App Coverage to Codecov
|
||||
uses: codecov/codecov-action@v4
|
||||
with:
|
||||
token: ${{ secrets.CODECOV_TOKEN }}
|
||||
files: ./coverage/app/lcov.info
|
||||
flags: app
|
||||
|
||||
test-databsae:
|
||||
name: Test Database
|
||||
|
||||
test:
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
services:
|
||||
@@ -91,7 +19,7 @@ jobs:
|
||||
- 5432:5432
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v5
|
||||
- uses: actions/checkout@v4
|
||||
|
||||
- name: Setup Node.js
|
||||
uses: actions/setup-node@v4
|
||||
@@ -109,15 +37,8 @@ jobs:
|
||||
- name: Lint
|
||||
run: bun run lint
|
||||
|
||||
- name: Test Client DB
|
||||
run: bun run --filter @lobechat/database test:client-db
|
||||
env:
|
||||
KEY_VAULTS_SECRET: LA7n9k3JdEcbSgml2sxfw+4TV1AzaaFU5+R176aQz4s=
|
||||
S3_PUBLIC_DOMAIN: https://example.com
|
||||
APP_URL: https://home.com
|
||||
|
||||
- name: Test Coverage
|
||||
run: bun run --filter @lobechat/database test:coverage
|
||||
- name: Test Server Coverage
|
||||
run: bun run test-server:coverage
|
||||
env:
|
||||
DATABASE_TEST_URL: postgresql://postgres:postgres@localhost:5432/postgres
|
||||
DATABASE_DRIVER: node
|
||||
@@ -126,9 +47,19 @@ jobs:
|
||||
S3_PUBLIC_DOMAIN: https://example.com
|
||||
APP_URL: https://home.com
|
||||
|
||||
- name: Upload Database coverage to Codecov
|
||||
- name: Upload Server coverage to Codecov
|
||||
uses: codecov/codecov-action@v4
|
||||
with:
|
||||
token: ${{ secrets.CODECOV_TOKEN }}
|
||||
files: ./packages/database/coverage/lcov.info
|
||||
flags: database
|
||||
files: ./coverage/server/lcov.info
|
||||
flags: server
|
||||
|
||||
- name: Test App Coverage
|
||||
run: bun run test-app:coverage
|
||||
|
||||
- name: Upload App Coverage to Codecov
|
||||
uses: codecov/codecov-action@v4
|
||||
with:
|
||||
token: ${{ secrets.CODECOV_TOKEN }}
|
||||
files: ./coverage/app/lcov.info
|
||||
flags: app
|
||||
|
||||
@@ -0,0 +1,19 @@
|
||||
name: Wiki Sync
|
||||
|
||||
on:
|
||||
workflow_dispatch:
|
||||
push:
|
||||
paths:
|
||||
- 'docs/wiki/**'
|
||||
branches:
|
||||
- main
|
||||
|
||||
jobs:
|
||||
update-wiki:
|
||||
runs-on: ubuntu-latest
|
||||
name: Wiki sync
|
||||
steps:
|
||||
- uses: OrlovM/Wiki-Action@v1
|
||||
with:
|
||||
path: 'docs/wiki'
|
||||
token: ${{ secrets.GH_TOKEN }}
|
||||
+3
-2
@@ -19,6 +19,7 @@ Desktop.ini
|
||||
|
||||
# IDE and editors
|
||||
.idea/
|
||||
.vscode/
|
||||
*.sublime-*
|
||||
.history/
|
||||
.windsurfrules
|
||||
@@ -101,8 +102,8 @@ vertex-ai-key.json
|
||||
.local/
|
||||
.claude/
|
||||
.mcp.json
|
||||
|
||||
CLAUDE.local.md
|
||||
CLAUDE.md
|
||||
CLAUDE.*.md
|
||||
|
||||
# Misc
|
||||
./packages/lobe-ui
|
||||
|
||||
+1
-1
@@ -25,7 +25,7 @@ module.exports = defineConfig({
|
||||
],
|
||||
temperature: 0,
|
||||
saveImmediately: true,
|
||||
modelName: 'gpt-5-mini',
|
||||
modelName: 'gpt-4.1-mini',
|
||||
experimental: {
|
||||
jsonMode: true,
|
||||
},
|
||||
|
||||
@@ -5,6 +5,7 @@
|
||||
.DS_Store
|
||||
.editorconfig
|
||||
.idea
|
||||
.vscode
|
||||
.history
|
||||
.temp
|
||||
.env.local
|
||||
|
||||
@@ -1,39 +0,0 @@
|
||||
# Stylelintignore for LobeHub
|
||||
################################################################
|
||||
|
||||
# dependencies
|
||||
node_modules
|
||||
|
||||
# ci
|
||||
coverage
|
||||
.coverage
|
||||
|
||||
# production
|
||||
dist
|
||||
es
|
||||
lib
|
||||
logs
|
||||
|
||||
# framework specific
|
||||
.next
|
||||
.umi
|
||||
.umi-production
|
||||
.umi-test
|
||||
.dumi/tmp*
|
||||
|
||||
# temporary directories
|
||||
tmp
|
||||
temp
|
||||
.temp
|
||||
.local
|
||||
docs/.local
|
||||
|
||||
# cache directories
|
||||
.cache
|
||||
|
||||
# AI coding tools directories
|
||||
.claude
|
||||
.serena
|
||||
|
||||
# MCP tools
|
||||
/.serena/**
|
||||
Vendored
-13
@@ -1,13 +0,0 @@
|
||||
{
|
||||
"recommendations": [
|
||||
"Anthropic.claude-code",
|
||||
"dbaeumer.vscode-eslint",
|
||||
"jrr997.antd-docs",
|
||||
"seatonjiang.gitmoji-vscode",
|
||||
"styled-components.vscode-styled-components",
|
||||
"stylelint.vscode-stylelint",
|
||||
"unifiedjs.vscode-mdx",
|
||||
"unifiedjs.vscode-remark",
|
||||
"vitest.explorer",
|
||||
]
|
||||
}
|
||||
Vendored
-95
@@ -1,95 +0,0 @@
|
||||
{
|
||||
"editor.codeActionsOnSave": {
|
||||
"source.addMissingImports": "explicit",
|
||||
"source.fixAll.eslint": "explicit",
|
||||
"source.fixAll.stylelint": "explicit"
|
||||
},
|
||||
"editor.formatOnSave": true,
|
||||
// don't show errors, but fix when save and git pre commit
|
||||
"eslint.rules.customizations": [
|
||||
{ "rule": "import/order", "severity": "off" },
|
||||
{ "rule": "prettier/prettier", "severity": "off" },
|
||||
{ "rule": "react/jsx-sort-props", "severity": "off" },
|
||||
{ "rule": "sort-keys-fix/sort-keys-fix", "severity": "off" },
|
||||
{ "rule": "typescript-sort-keys/interface", "severity": "off" }
|
||||
],
|
||||
"eslint.validate": [
|
||||
"javascript",
|
||||
"javascriptreact",
|
||||
"typescript",
|
||||
"typescriptreact",
|
||||
"markdown",
|
||||
// support mdx
|
||||
"mdx"
|
||||
],
|
||||
"npm.packageManager": "pnpm",
|
||||
"search.exclude": {
|
||||
"**/node_modules": true,
|
||||
// useless to search this big folder
|
||||
"locales": true
|
||||
},
|
||||
"stylelint.validate": [
|
||||
"css",
|
||||
"postcss",
|
||||
// make stylelint work with tsx antd-style css template string
|
||||
"typescriptreact"
|
||||
],
|
||||
"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",
|
||||
"**/app/**/page.tsx": "${dirname} • page component",
|
||||
|
||||
"**/app/**/[[]*[]]/[[]*[]]/layout.tsx": "${dirname(2)}/${dirname(1)}/${dirname} • page layout",
|
||||
"**/app/**/[[]*[]]/layout.tsx": "${dirname(1)}/${dirname} • page layout",
|
||||
"**/app/**/layout.tsx": "${dirname} • page layout",
|
||||
|
||||
"**/app/**/[[]*[]]/[[]*[]]/default.tsx": "${dirname(2)}/${dirname(1)}/${dirname} • slot default",
|
||||
"**/app/**/[[]*[]]/default.tsx": "${dirname(1)}/${dirname} • slot default",
|
||||
"**/app/**/default.tsx": "${dirname} • slot default",
|
||||
|
||||
"**/app/**/[[]*[]]/[[]*[]]/error.tsx": "${dirname(2)}/${dirname(1)}/${dirname} • error component",
|
||||
"**/app/**/[[]*[]]/error.tsx": "${dirname(1)}/${dirname} • error component",
|
||||
"**/app/**/error.tsx": "${dirname} • error component",
|
||||
|
||||
"**/app/**/[[]*[]]/[[]*[]]/loading.tsx": "${dirname(2)}/${dirname(1)}/${dirname} • loading component",
|
||||
"**/app/**/[[]*[]]/loading.tsx": "${dirname(1)}/${dirname} • loading component",
|
||||
"**/app/**/loading.tsx": "${dirname} • loading component",
|
||||
|
||||
"**/src/**/route.ts": "${dirname(1)}/${dirname} • route",
|
||||
"**/src/**/index.tsx": "${dirname} • component",
|
||||
|
||||
"**/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",
|
||||
"**/src/services/*/server.ts": "${dirname} • server service",
|
||||
|
||||
"**/src/store/*/action.ts": "${dirname} • action",
|
||||
"**/src/store/*/slices/*/action.ts": "${dirname(2)}/${dirname} • action",
|
||||
"**/src/store/*/slices/*/actions/*.ts": "${dirname(1)}/${dirname}/${filename} • action",
|
||||
|
||||
"**/src/store/*/initialState.ts": "${dirname} • state",
|
||||
"**/src/store/*/slices/*/initialState.ts": "${dirname(2)}/${dirname} • state",
|
||||
|
||||
"**/src/store/*/selectors.ts": "${dirname} • selectors",
|
||||
"**/src/store/*/slices/*/selectors.ts": "${dirname(2)}/${dirname} • selectors",
|
||||
|
||||
"**/src/store/*/reducer.ts": "${dirname} • reducer",
|
||||
"**/src/store/*/slices/*/reducer.ts": "${dirname(2)}/${dirname} • reducer",
|
||||
|
||||
"**/src/config/modelProviders/*.ts": "${filename} • provider",
|
||||
"**/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",
|
||||
"**/src/server/routers/lambda/*.ts": "${filename} • lambda",
|
||||
"**/src/server/routers/async/*.ts": "${filename} • async",
|
||||
"**/src/server/routers/edge/*.ts": "${filename} • edge",
|
||||
|
||||
"**/src/locales/default/*.ts": "${filename} • locale"
|
||||
}
|
||||
}
|
||||
-873
@@ -2,879 +2,6 @@
|
||||
|
||||
# Changelog
|
||||
|
||||
### [Version 1.116.1](https://github.com/lobehub/lobe-chat/compare/v1.116.0...v1.116.1)
|
||||
|
||||
<sup>Released on **2025-08-27**</sup>
|
||||
|
||||
<br/>
|
||||
|
||||
<details>
|
||||
<summary><kbd>Improvements and Fixes</kbd></summary>
|
||||
|
||||
</details>
|
||||
|
||||
<div align="right">
|
||||
|
||||
[](#readme-top)
|
||||
|
||||
</div>
|
||||
|
||||
## [Version 1.116.0](https://github.com/lobehub/lobe-chat/compare/v1.115.0...v1.116.0)
|
||||
|
||||
<sup>Released on **2025-08-27**</sup>
|
||||
|
||||
#### ✨ Features
|
||||
|
||||
- **misc**: Add gemini 2.5 flash image for vertex ai.
|
||||
|
||||
<br/>
|
||||
|
||||
<details>
|
||||
<summary><kbd>Improvements and Fixes</kbd></summary>
|
||||
|
||||
#### What's improved
|
||||
|
||||
- **misc**: Add gemini 2.5 flash image for vertex ai, closes [#8943](https://github.com/lobehub/lobe-chat/issues/8943) ([74d9bb5](https://github.com/lobehub/lobe-chat/commit/74d9bb5))
|
||||
|
||||
</details>
|
||||
|
||||
<div align="right">
|
||||
|
||||
[](#readme-top)
|
||||
|
||||
</div>
|
||||
|
||||
## [Version 1.115.0](https://github.com/lobehub/lobe-chat/compare/v1.114.6...v1.115.0)
|
||||
|
||||
<sup>Released on **2025-08-26**</sup>
|
||||
|
||||
#### ✨ Features
|
||||
|
||||
- **image**: Polish ai image.
|
||||
|
||||
<br/>
|
||||
|
||||
<details>
|
||||
<summary><kbd>Improvements and Fixes</kbd></summary>
|
||||
|
||||
#### What's improved
|
||||
|
||||
- **image**: Polish ai image, closes [#8915](https://github.com/lobehub/lobe-chat/issues/8915) ([0efe28d](https://github.com/lobehub/lobe-chat/commit/0efe28d))
|
||||
|
||||
</details>
|
||||
|
||||
<div align="right">
|
||||
|
||||
[](#readme-top)
|
||||
|
||||
</div>
|
||||
|
||||
### [Version 1.114.6](https://github.com/lobehub/lobe-chat/compare/v1.114.5...v1.114.6)
|
||||
|
||||
<sup>Released on **2025-08-22**</sup>
|
||||
|
||||
#### 🐛 Bug Fixes
|
||||
|
||||
- **files**: Remove force-static rendering to enable session access.
|
||||
|
||||
<br/>
|
||||
|
||||
<details>
|
||||
<summary><kbd>Improvements and Fixes</kbd></summary>
|
||||
|
||||
#### What's fixed
|
||||
|
||||
- **files**: Remove force-static rendering to enable session access, closes [#8900](https://github.com/lobehub/lobe-chat/issues/8900) ([6100d21](https://github.com/lobehub/lobe-chat/commit/6100d21))
|
||||
|
||||
</details>
|
||||
|
||||
<div align="right">
|
||||
|
||||
[](#readme-top)
|
||||
|
||||
</div>
|
||||
|
||||
### [Version 1.114.5](https://github.com/lobehub/lobe-chat/compare/v1.114.4...v1.114.5)
|
||||
|
||||
<sup>Released on **2025-08-22**</sup>
|
||||
|
||||
#### 💄 Styles
|
||||
|
||||
- **misc**: Update mistral model vision ability.
|
||||
|
||||
<br/>
|
||||
|
||||
<details>
|
||||
<summary><kbd>Improvements and Fixes</kbd></summary>
|
||||
|
||||
#### Styles
|
||||
|
||||
- **misc**: Update mistral model vision ability, closes [#8885](https://github.com/lobehub/lobe-chat/issues/8885) ([915c0ff](https://github.com/lobehub/lobe-chat/commit/915c0ff))
|
||||
|
||||
</details>
|
||||
|
||||
<div align="right">
|
||||
|
||||
[](#readme-top)
|
||||
|
||||
</div>
|
||||
|
||||
### [Version 1.114.4](https://github.com/lobehub/lobe-chat/compare/v1.114.3...v1.114.4)
|
||||
|
||||
<sup>Released on **2025-08-22**</sup>
|
||||
|
||||
#### ♻ Code Refactoring
|
||||
|
||||
- **misc**: Move database to packages.
|
||||
|
||||
<br/>
|
||||
|
||||
<details>
|
||||
<summary><kbd>Improvements and Fixes</kbd></summary>
|
||||
|
||||
#### Code refactoring
|
||||
|
||||
- **misc**: Move database to packages, closes [#8874](https://github.com/lobehub/lobe-chat/issues/8874) ([af1f715](https://github.com/lobehub/lobe-chat/commit/af1f715))
|
||||
|
||||
</details>
|
||||
|
||||
<div align="right">
|
||||
|
||||
[](#readme-top)
|
||||
|
||||
</div>
|
||||
|
||||
### [Version 1.114.3](https://github.com/lobehub/lobe-chat/compare/v1.114.2...v1.114.3)
|
||||
|
||||
<sup>Released on **2025-08-21**</sup>
|
||||
|
||||
<br/>
|
||||
|
||||
<details>
|
||||
<summary><kbd>Improvements and Fixes</kbd></summary>
|
||||
|
||||
</details>
|
||||
|
||||
<div align="right">
|
||||
|
||||
[](#readme-top)
|
||||
|
||||
</div>
|
||||
|
||||
### [Version 1.114.2](https://github.com/lobehub/lobe-chat/compare/v1.114.1...v1.114.2)
|
||||
|
||||
<sup>Released on **2025-08-21**</sup>
|
||||
|
||||
#### 🐛 Bug Fixes
|
||||
|
||||
- **misc**: Can't load custom provider config.
|
||||
|
||||
<br/>
|
||||
|
||||
<details>
|
||||
<summary><kbd>Improvements and Fixes</kbd></summary>
|
||||
|
||||
#### What's fixed
|
||||
|
||||
- **misc**: Can't load custom provider config, closes [#8880](https://github.com/lobehub/lobe-chat/issues/8880) ([9ec3315](https://github.com/lobehub/lobe-chat/commit/9ec3315))
|
||||
|
||||
</details>
|
||||
|
||||
<div align="right">
|
||||
|
||||
[](#readme-top)
|
||||
|
||||
</div>
|
||||
|
||||
### [Version 1.114.1](https://github.com/lobehub/lobe-chat/compare/v1.114.0...v1.114.1)
|
||||
|
||||
<sup>Released on **2025-08-21**</sup>
|
||||
|
||||
#### ♻ Code Refactoring
|
||||
|
||||
- **misc**: Move chain into `@lobechat/prompts`.
|
||||
|
||||
<br/>
|
||||
|
||||
<details>
|
||||
<summary><kbd>Improvements and Fixes</kbd></summary>
|
||||
|
||||
#### Code refactoring
|
||||
|
||||
- **misc**: Move chain into `@lobechat/prompts`, closes [#8875](https://github.com/lobehub/lobe-chat/issues/8875) ([c576b97](https://github.com/lobehub/lobe-chat/commit/c576b97))
|
||||
|
||||
</details>
|
||||
|
||||
<div align="right">
|
||||
|
||||
[](#readme-top)
|
||||
|
||||
</div>
|
||||
|
||||
## [Version 1.114.0](https://github.com/lobehub/lobe-chat/compare/v1.113.3...v1.114.0)
|
||||
|
||||
<sup>Released on **2025-08-19**</sup>
|
||||
|
||||
#### ✨ Features
|
||||
|
||||
- **models**: Add Qwen Image Edit model.
|
||||
|
||||
<br/>
|
||||
|
||||
<details>
|
||||
<summary><kbd>Improvements and Fixes</kbd></summary>
|
||||
|
||||
#### What's improved
|
||||
|
||||
- **models**: Add Qwen Image Edit model, closes [#8851](https://github.com/lobehub/lobe-chat/issues/8851) ([4d7a060](https://github.com/lobehub/lobe-chat/commit/4d7a060))
|
||||
|
||||
</details>
|
||||
|
||||
<div align="right">
|
||||
|
||||
[](#readme-top)
|
||||
|
||||
</div>
|
||||
|
||||
### [Version 1.113.3](https://github.com/lobehub/lobe-chat/compare/v1.113.2...v1.113.3)
|
||||
|
||||
<sup>Released on **2025-08-19**</sup>
|
||||
|
||||
#### 🐛 Bug Fixes
|
||||
|
||||
- **misc**: Support Grok thinking models in AiHubMix, The 'stream_options' parameter is only allowed when 'stream' is enabled.
|
||||
|
||||
<br/>
|
||||
|
||||
<details>
|
||||
<summary><kbd>Improvements and Fixes</kbd></summary>
|
||||
|
||||
#### What's fixed
|
||||
|
||||
- **misc**: Support Grok thinking models in AiHubMix, closes [#8713](https://github.com/lobehub/lobe-chat/issues/8713) ([ffa9b1b](https://github.com/lobehub/lobe-chat/commit/ffa9b1b))
|
||||
- **misc**: The 'stream_options' parameter is only allowed when 'stream' is enabled, closes [#8778](https://github.com/lobehub/lobe-chat/issues/8778) ([fcc32d5](https://github.com/lobehub/lobe-chat/commit/fcc32d5))
|
||||
|
||||
</details>
|
||||
|
||||
<div align="right">
|
||||
|
||||
[](#readme-top)
|
||||
|
||||
</div>
|
||||
|
||||
### [Version 1.113.2](https://github.com/lobehub/lobe-chat/compare/v1.113.1...v1.113.2)
|
||||
|
||||
<sup>Released on **2025-08-18**</sup>
|
||||
|
||||
#### 🐛 Bug Fixes
|
||||
|
||||
- **mcp**: Use customParams for environment settings fallback.
|
||||
|
||||
<br/>
|
||||
|
||||
<details>
|
||||
<summary><kbd>Improvements and Fixes</kbd></summary>
|
||||
|
||||
#### What's fixed
|
||||
|
||||
- **mcp**: Use customParams for environment settings fallback, closes [#8814](https://github.com/lobehub/lobe-chat/issues/8814) ([ab043d4](https://github.com/lobehub/lobe-chat/commit/ab043d4))
|
||||
|
||||
</details>
|
||||
|
||||
<div align="right">
|
||||
|
||||
[](#readme-top)
|
||||
|
||||
</div>
|
||||
|
||||
### [Version 1.113.1](https://github.com/lobehub/lobe-chat/compare/v1.113.0...v1.113.1)
|
||||
|
||||
<sup>Released on **2025-08-17**</sup>
|
||||
|
||||
#### 🐛 Bug Fixes
|
||||
|
||||
- **db**: Desktop local db can't vectorization.
|
||||
|
||||
<br/>
|
||||
|
||||
<details>
|
||||
<summary><kbd>Improvements and Fixes</kbd></summary>
|
||||
|
||||
#### What's fixed
|
||||
|
||||
- **db**: Desktop local db can't vectorization, closes [#8830](https://github.com/lobehub/lobe-chat/issues/8830) ([a00fd9d](https://github.com/lobehub/lobe-chat/commit/a00fd9d))
|
||||
|
||||
</details>
|
||||
|
||||
<div align="right">
|
||||
|
||||
[](#readme-top)
|
||||
|
||||
</div>
|
||||
|
||||
## [Version 1.113.0](https://github.com/lobehub/lobe-chat/compare/v1.112.5...v1.113.0)
|
||||
|
||||
<sup>Released on **2025-08-17**</sup>
|
||||
|
||||
#### ✨ Features
|
||||
|
||||
- **provider**: Add BFL provider support for image generation.
|
||||
|
||||
<br/>
|
||||
|
||||
<details>
|
||||
<summary><kbd>Improvements and Fixes</kbd></summary>
|
||||
|
||||
#### What's improved
|
||||
|
||||
- **provider**: Add BFL provider support for image generation, closes [#8806](https://github.com/lobehub/lobe-chat/issues/8806) ([519e03e](https://github.com/lobehub/lobe-chat/commit/519e03e))
|
||||
|
||||
</details>
|
||||
|
||||
<div align="right">
|
||||
|
||||
[](#readme-top)
|
||||
|
||||
</div>
|
||||
|
||||
### [Version 1.112.5](https://github.com/lobehub/lobe-chat/compare/v1.112.4...v1.112.5)
|
||||
|
||||
<sup>Released on **2025-08-17**</sup>
|
||||
|
||||
#### 🐛 Bug Fixes
|
||||
|
||||
- **misc**: Improve mcp tracing with user config.
|
||||
|
||||
<br/>
|
||||
|
||||
<details>
|
||||
<summary><kbd>Improvements and Fixes</kbd></summary>
|
||||
|
||||
#### What's fixed
|
||||
|
||||
- **misc**: Improve mcp tracing with user config, closes [#8827](https://github.com/lobehub/lobe-chat/issues/8827) ([5cab2ee](https://github.com/lobehub/lobe-chat/commit/5cab2ee))
|
||||
|
||||
</details>
|
||||
|
||||
<div align="right">
|
||||
|
||||
[](#readme-top)
|
||||
|
||||
</div>
|
||||
|
||||
### [Version 1.112.4](https://github.com/lobehub/lobe-chat/compare/v1.112.3...v1.112.4)
|
||||
|
||||
<sup>Released on **2025-08-16**</sup>
|
||||
|
||||
#### ♻ Code Refactoring
|
||||
|
||||
- **misc**: Refactor prompts folder to the `@lobechat/prompts` pacakge.
|
||||
|
||||
<br/>
|
||||
|
||||
<details>
|
||||
<summary><kbd>Improvements and Fixes</kbd></summary>
|
||||
|
||||
#### Code refactoring
|
||||
|
||||
- **misc**: Refactor prompts folder to the `@lobechat/prompts` pacakge, closes [#8810](https://github.com/lobehub/lobe-chat/issues/8810) ([d82e7bb](https://github.com/lobehub/lobe-chat/commit/d82e7bb))
|
||||
|
||||
</details>
|
||||
|
||||
<div align="right">
|
||||
|
||||
[](#readme-top)
|
||||
|
||||
</div>
|
||||
|
||||
### [Version 1.112.3](https://github.com/lobehub/lobe-chat/compare/v1.112.2...v1.112.3)
|
||||
|
||||
<sup>Released on **2025-08-16**</sup>
|
||||
|
||||
#### ♻ Code Refactoring
|
||||
|
||||
- **misc**: Refactor const folder to a new package.
|
||||
|
||||
<br/>
|
||||
|
||||
<details>
|
||||
<summary><kbd>Improvements and Fixes</kbd></summary>
|
||||
|
||||
#### Code refactoring
|
||||
|
||||
- **misc**: Refactor const folder to a new package, closes [#8756](https://github.com/lobehub/lobe-chat/issues/8756) ([30a4734](https://github.com/lobehub/lobe-chat/commit/30a4734))
|
||||
|
||||
</details>
|
||||
|
||||
<div align="right">
|
||||
|
||||
[](#readme-top)
|
||||
|
||||
</div>
|
||||
|
||||
### [Version 1.112.2](https://github.com/lobehub/lobe-chat/compare/v1.112.1...v1.112.2)
|
||||
|
||||
<sup>Released on **2025-08-16**</sup>
|
||||
|
||||
#### ♻ Code Refactoring
|
||||
|
||||
- **misc**: 重构 ArgsInput 组件.
|
||||
|
||||
<br/>
|
||||
|
||||
<details>
|
||||
<summary><kbd>Improvements and Fixes</kbd></summary>
|
||||
|
||||
#### Code refactoring
|
||||
|
||||
- **misc**: 重构 ArgsInput 组件,closes [#8765](https://github.com/lobehub/lobe-chat/issues/8765) ([0905559](https://github.com/lobehub/lobe-chat/commit/0905559))
|
||||
|
||||
</details>
|
||||
|
||||
<div align="right">
|
||||
|
||||
[](#readme-top)
|
||||
|
||||
</div>
|
||||
|
||||
### [Version 1.112.1](https://github.com/lobehub/lobe-chat/compare/v1.112.0...v1.112.1)
|
||||
|
||||
<sup>Released on **2025-08-16**</sup>
|
||||
|
||||
#### 💄 Styles
|
||||
|
||||
- **misc**: Add Imagen 4 GA models, style improve auth sign in box loading.
|
||||
|
||||
<br/>
|
||||
|
||||
<details>
|
||||
<summary><kbd>Improvements and Fixes</kbd></summary>
|
||||
|
||||
#### Styles
|
||||
|
||||
- **misc**: Add Imagen 4 GA models, closes [#8799](https://github.com/lobehub/lobe-chat/issues/8799) ([2e9ad20](https://github.com/lobehub/lobe-chat/commit/2e9ad20))
|
||||
- **misc**: Style improve auth sign in box loading, closes [#8805](https://github.com/lobehub/lobe-chat/issues/8805) ([62f5a1b](https://github.com/lobehub/lobe-chat/commit/62f5a1b))
|
||||
|
||||
</details>
|
||||
|
||||
<div align="right">
|
||||
|
||||
[](#readme-top)
|
||||
|
||||
</div>
|
||||
|
||||
## [Version 1.112.0](https://github.com/lobehub/lobe-chat/compare/v1.111.12...v1.112.0)
|
||||
|
||||
<sup>Released on **2025-08-15**</sup>
|
||||
|
||||
#### ✨ Features
|
||||
|
||||
- **feature-flags**: Add ai_image flag to control AI painting UI.
|
||||
|
||||
<br/>
|
||||
|
||||
<details>
|
||||
<summary><kbd>Improvements and Fixes</kbd></summary>
|
||||
|
||||
#### What's improved
|
||||
|
||||
- **feature-flags**: Add ai_image flag to control AI painting UI, closes [#8797](https://github.com/lobehub/lobe-chat/issues/8797) ([a1c66c8](https://github.com/lobehub/lobe-chat/commit/a1c66c8))
|
||||
|
||||
</details>
|
||||
|
||||
<div align="right">
|
||||
|
||||
[](#readme-top)
|
||||
|
||||
</div>
|
||||
|
||||
### [Version 1.111.12](https://github.com/lobehub/lobe-chat/compare/v1.111.11...v1.111.12)
|
||||
|
||||
<sup>Released on **2025-08-14**</sup>
|
||||
|
||||
<br/>
|
||||
|
||||
<details>
|
||||
<summary><kbd>Improvements and Fixes</kbd></summary>
|
||||
|
||||
</details>
|
||||
|
||||
<div align="right">
|
||||
|
||||
[](#readme-top)
|
||||
|
||||
</div>
|
||||
|
||||
### [Version 1.111.11](https://github.com/lobehub/lobe-chat/compare/v1.111.10...v1.111.11)
|
||||
|
||||
<sup>Released on **2025-08-13**</sup>
|
||||
|
||||
#### 💄 Styles
|
||||
|
||||
- **misc**: Update Mistral AI models & Optimize many model providers fetching.
|
||||
|
||||
<br/>
|
||||
|
||||
<details>
|
||||
<summary><kbd>Improvements and Fixes</kbd></summary>
|
||||
|
||||
#### Styles
|
||||
|
||||
- **misc**: Update Mistral AI models & Optimize many model providers fetching, closes [#8644](https://github.com/lobehub/lobe-chat/issues/8644) ([1d466e5](https://github.com/lobehub/lobe-chat/commit/1d466e5))
|
||||
|
||||
</details>
|
||||
|
||||
<div align="right">
|
||||
|
||||
[](#readme-top)
|
||||
|
||||
</div>
|
||||
|
||||
### [Version 1.111.10](https://github.com/lobehub/lobe-chat/compare/v1.111.9...v1.111.10)
|
||||
|
||||
<sup>Released on **2025-08-12**</sup>
|
||||
|
||||
#### 💄 Styles
|
||||
|
||||
- **misc**: Adjust near bottom size on thinking scroll.
|
||||
|
||||
<br/>
|
||||
|
||||
<details>
|
||||
<summary><kbd>Improvements and Fixes</kbd></summary>
|
||||
|
||||
#### Styles
|
||||
|
||||
- **misc**: Adjust near bottom size on thinking scroll, closes [#8772](https://github.com/lobehub/lobe-chat/issues/8772) ([1fae490](https://github.com/lobehub/lobe-chat/commit/1fae490))
|
||||
|
||||
</details>
|
||||
|
||||
<div align="right">
|
||||
|
||||
[](#readme-top)
|
||||
|
||||
</div>
|
||||
|
||||
### [Version 1.111.9](https://github.com/lobehub/lobe-chat/compare/v1.111.8...v1.111.9)
|
||||
|
||||
<sup>Released on **2025-08-12**</sup>
|
||||
|
||||
#### 💄 Styles
|
||||
|
||||
- **misc**: Improve Gemini error display with promptFeedback.
|
||||
|
||||
<br/>
|
||||
|
||||
<details>
|
||||
<summary><kbd>Improvements and Fixes</kbd></summary>
|
||||
|
||||
#### Styles
|
||||
|
||||
- **misc**: Improve Gemini error display with promptFeedback, closes [#8707](https://github.com/lobehub/lobe-chat/issues/8707) ([51ad399](https://github.com/lobehub/lobe-chat/commit/51ad399))
|
||||
|
||||
</details>
|
||||
|
||||
<div align="right">
|
||||
|
||||
[](#readme-top)
|
||||
|
||||
</div>
|
||||
|
||||
### [Version 1.111.8](https://github.com/lobehub/lobe-chat/compare/v1.111.7...v1.111.8)
|
||||
|
||||
<sup>Released on **2025-08-11**</sup>
|
||||
|
||||
#### 💄 Styles
|
||||
|
||||
- **misc**: Support new GPT-5 Verbosity params.
|
||||
|
||||
<br/>
|
||||
|
||||
<details>
|
||||
<summary><kbd>Improvements and Fixes</kbd></summary>
|
||||
|
||||
#### Styles
|
||||
|
||||
- **misc**: Support new GPT-5 Verbosity params, closes [#8715](https://github.com/lobehub/lobe-chat/issues/8715) ([0a724aa](https://github.com/lobehub/lobe-chat/commit/0a724aa))
|
||||
|
||||
</details>
|
||||
|
||||
<div align="right">
|
||||
|
||||
[](#readme-top)
|
||||
|
||||
</div>
|
||||
|
||||
### [Version 1.111.7](https://github.com/lobehub/lobe-chat/compare/v1.111.6...v1.111.7)
|
||||
|
||||
<sup>Released on **2025-08-11**</sup>
|
||||
|
||||
#### ♻ Code Refactoring
|
||||
|
||||
- **misc**: Refactor model-runtime to a seperated package.
|
||||
|
||||
<br/>
|
||||
|
||||
<details>
|
||||
<summary><kbd>Improvements and Fixes</kbd></summary>
|
||||
|
||||
#### Code refactoring
|
||||
|
||||
- **misc**: Refactor model-runtime to a seperated package, closes [#8763](https://github.com/lobehub/lobe-chat/issues/8763) ([e5eb7a2](https://github.com/lobehub/lobe-chat/commit/e5eb7a2))
|
||||
|
||||
</details>
|
||||
|
||||
<div align="right">
|
||||
|
||||
[](#readme-top)
|
||||
|
||||
</div>
|
||||
|
||||
### [Version 1.111.6](https://github.com/lobehub/lobe-chat/compare/v1.111.5...v1.111.6)
|
||||
|
||||
<sup>Released on **2025-08-11**</sup>
|
||||
|
||||
#### 🐛 Bug Fixes
|
||||
|
||||
- **misc**: Solve the cache problem caused by the same dom id when sharing pictures.
|
||||
|
||||
<br/>
|
||||
|
||||
<details>
|
||||
<summary><kbd>Improvements and Fixes</kbd></summary>
|
||||
|
||||
#### What's fixed
|
||||
|
||||
- **misc**: Solve the cache problem caused by the same dom id when sharing pictures, closes [#8704](https://github.com/lobehub/lobe-chat/issues/8704) ([68aad95](https://github.com/lobehub/lobe-chat/commit/68aad95))
|
||||
|
||||
</details>
|
||||
|
||||
<div align="right">
|
||||
|
||||
[](#readme-top)
|
||||
|
||||
</div>
|
||||
|
||||
### [Version 1.111.5](https://github.com/lobehub/lobe-chat/compare/v1.111.4...v1.111.5)
|
||||
|
||||
<sup>Released on **2025-08-10**</sup>
|
||||
|
||||
#### 💄 Styles
|
||||
|
||||
- **misc**: Add mask effect to thinking scroll, update i18n.
|
||||
|
||||
<br/>
|
||||
|
||||
<details>
|
||||
<summary><kbd>Improvements and Fixes</kbd></summary>
|
||||
|
||||
#### Styles
|
||||
|
||||
- **misc**: Add mask effect to thinking scroll, closes [#8729](https://github.com/lobehub/lobe-chat/issues/8729) ([4cefafd](https://github.com/lobehub/lobe-chat/commit/4cefafd))
|
||||
- **misc**: Update i18n, closes [#8734](https://github.com/lobehub/lobe-chat/issues/8734) ([327a564](https://github.com/lobehub/lobe-chat/commit/327a564))
|
||||
|
||||
</details>
|
||||
|
||||
<div align="right">
|
||||
|
||||
[](#readme-top)
|
||||
|
||||
</div>
|
||||
|
||||
### [Version 1.111.4](https://github.com/lobehub/lobe-chat/compare/v1.111.3...v1.111.4)
|
||||
|
||||
<sup>Released on **2025-08-09**</sup>
|
||||
|
||||
#### 🐛 Bug Fixes
|
||||
|
||||
- **pricing**: Adjust cachedInput values for GPT-5 models.
|
||||
|
||||
<br/>
|
||||
|
||||
<details>
|
||||
<summary><kbd>Improvements and Fixes</kbd></summary>
|
||||
|
||||
#### What's fixed
|
||||
|
||||
- **pricing**: Adjust cachedInput values for GPT-5 models, closes [#8723](https://github.com/lobehub/lobe-chat/issues/8723) ([652bf08](https://github.com/lobehub/lobe-chat/commit/652bf08))
|
||||
|
||||
</details>
|
||||
|
||||
<div align="right">
|
||||
|
||||
[](#readme-top)
|
||||
|
||||
</div>
|
||||
|
||||
### [Version 1.111.3](https://github.com/lobehub/lobe-chat/compare/v1.111.2...v1.111.3)
|
||||
|
||||
<sup>Released on **2025-08-09**</sup>
|
||||
|
||||
#### 💄 Styles
|
||||
|
||||
- **misc**: Improve thinking auto scroll style, Support session switch shortcut key, update i18n.
|
||||
|
||||
<br/>
|
||||
|
||||
<details>
|
||||
<summary><kbd>Improvements and Fixes</kbd></summary>
|
||||
|
||||
#### Styles
|
||||
|
||||
- **misc**: Improve thinking auto scroll style, closes [#8719](https://github.com/lobehub/lobe-chat/issues/8719) ([acec55f](https://github.com/lobehub/lobe-chat/commit/acec55f))
|
||||
- **misc**: Support session switch shortcut key, closes [#8626](https://github.com/lobehub/lobe-chat/issues/8626) ([efc7eaf](https://github.com/lobehub/lobe-chat/commit/efc7eaf))
|
||||
- **misc**: Update i18n, closes [#8725](https://github.com/lobehub/lobe-chat/issues/8725) ([d9642fc](https://github.com/lobehub/lobe-chat/commit/d9642fc))
|
||||
|
||||
</details>
|
||||
|
||||
<div align="right">
|
||||
|
||||
[](#readme-top)
|
||||
|
||||
</div>
|
||||
|
||||
### [Version 1.111.2](https://github.com/lobehub/lobe-chat/compare/v1.111.1...v1.111.2)
|
||||
|
||||
<sup>Released on **2025-08-08**</sup>
|
||||
|
||||
#### ♻ Code Refactoring
|
||||
|
||||
- **pricing**: Introduce new pricing system.
|
||||
|
||||
<br/>
|
||||
|
||||
<details>
|
||||
<summary><kbd>Improvements and Fixes</kbd></summary>
|
||||
|
||||
#### Code refactoring
|
||||
|
||||
- **pricing**: Introduce new pricing system, closes [#8681](https://github.com/lobehub/lobe-chat/issues/8681) ([96b7508](https://github.com/lobehub/lobe-chat/commit/96b7508))
|
||||
|
||||
</details>
|
||||
|
||||
<div align="right">
|
||||
|
||||
[](#readme-top)
|
||||
|
||||
</div>
|
||||
|
||||
### [Version 1.111.1](https://github.com/lobehub/lobe-chat/compare/v1.111.0...v1.111.1)
|
||||
|
||||
<sup>Released on **2025-08-08**</sup>
|
||||
|
||||
#### 💄 Styles
|
||||
|
||||
- **misc**: Add descriptions for the FLUX.1 Krea and Qwen Image.
|
||||
|
||||
<br/>
|
||||
|
||||
<details>
|
||||
<summary><kbd>Improvements and Fixes</kbd></summary>
|
||||
|
||||
#### Styles
|
||||
|
||||
- **misc**: Add descriptions for the FLUX.1 Krea and Qwen Image, closes [#8678](https://github.com/lobehub/lobe-chat/issues/8678) ([769fda0](https://github.com/lobehub/lobe-chat/commit/769fda0))
|
||||
|
||||
</details>
|
||||
|
||||
<div align="right">
|
||||
|
||||
[](#readme-top)
|
||||
|
||||
</div>
|
||||
|
||||
## [Version 1.111.0](https://github.com/lobehub/lobe-chat/compare/v1.110.7...v1.111.0)
|
||||
|
||||
<sup>Released on **2025-08-08**</sup>
|
||||
|
||||
#### ✨ Features
|
||||
|
||||
- **misc**: Add GPT-5 series models.
|
||||
|
||||
<br/>
|
||||
|
||||
<details>
|
||||
<summary><kbd>Improvements and Fixes</kbd></summary>
|
||||
|
||||
#### What's improved
|
||||
|
||||
- **misc**: Add GPT-5 series models, closes [#8711](https://github.com/lobehub/lobe-chat/issues/8711) ([600c29b](https://github.com/lobehub/lobe-chat/commit/600c29b))
|
||||
|
||||
</details>
|
||||
|
||||
<div align="right">
|
||||
|
||||
[](#readme-top)
|
||||
|
||||
</div>
|
||||
|
||||
### [Version 1.110.7](https://github.com/lobehub/lobe-chat/compare/v1.110.6...v1.110.7)
|
||||
|
||||
<sup>Released on **2025-08-07**</sup>
|
||||
|
||||
#### 🐛 Bug Fixes
|
||||
|
||||
- **misc**: Missing languages it-IT, pl-PL, nl-NL.
|
||||
|
||||
<br/>
|
||||
|
||||
<details>
|
||||
<summary><kbd>Improvements and Fixes</kbd></summary>
|
||||
|
||||
#### What's fixed
|
||||
|
||||
- **misc**: Missing languages it-IT, pl-PL, nl-NL, closes [#8710](https://github.com/lobehub/lobe-chat/issues/8710) ([b46fa8e](https://github.com/lobehub/lobe-chat/commit/b46fa8e))
|
||||
|
||||
</details>
|
||||
|
||||
<div align="right">
|
||||
|
||||
[](#readme-top)
|
||||
|
||||
</div>
|
||||
|
||||
### [Version 1.110.6](https://github.com/lobehub/lobe-chat/compare/v1.110.5...v1.110.6)
|
||||
|
||||
<sup>Released on **2025-08-07**</sup>
|
||||
|
||||
<br/>
|
||||
|
||||
<details>
|
||||
<summary><kbd>Improvements and Fixes</kbd></summary>
|
||||
|
||||
</details>
|
||||
|
||||
<div align="right">
|
||||
|
||||
[](#readme-top)
|
||||
|
||||
</div>
|
||||
|
||||
### [Version 1.110.5](https://github.com/lobehub/lobe-chat/compare/v1.110.4...v1.110.5)
|
||||
|
||||
<sup>Released on **2025-08-07**</sup>
|
||||
|
||||
#### 🐛 Bug Fixes
|
||||
|
||||
- **misc**: Optimize Gemini error message display & Filter empty messages.
|
||||
|
||||
<br/>
|
||||
|
||||
<details>
|
||||
<summary><kbd>Improvements and Fixes</kbd></summary>
|
||||
|
||||
#### What's fixed
|
||||
|
||||
- **misc**: Optimize Gemini error message display & Filter empty messages, closes [#8489](https://github.com/lobehub/lobe-chat/issues/8489) ([5b409cc](https://github.com/lobehub/lobe-chat/commit/5b409cc))
|
||||
|
||||
</details>
|
||||
|
||||
<div align="right">
|
||||
|
||||
[](#readme-top)
|
||||
|
||||
</div>
|
||||
|
||||
### [Version 1.110.4](https://github.com/lobehub/lobe-chat/compare/v1.110.3...v1.110.4)
|
||||
|
||||
<sup>Released on **2025-08-06**</sup>
|
||||
|
||||
@@ -1,101 +0,0 @@
|
||||
# CLAUDE.md
|
||||
|
||||
This document serves as a shared guideline for all team members when using Claude Code in this repository.
|
||||
|
||||
## Tech Stack
|
||||
|
||||
read @.cursor/rules/project-introduce.mdc
|
||||
|
||||
## Directory Structure
|
||||
|
||||
read @.cursor/rules/project-structure.mdc
|
||||
|
||||
## Development
|
||||
|
||||
### Git Workflow
|
||||
|
||||
- use rebase for git pull
|
||||
- git commit message should prefix with gitmoji
|
||||
- git branch name format example: tj/feat/feature-name
|
||||
- use .github/PULL_REQUEST_TEMPLATE.md to generate pull request description
|
||||
|
||||
### Package Management
|
||||
|
||||
This repository adopts a monorepo structure.
|
||||
|
||||
- Use `pnpm` as the primary package manager for dependency management
|
||||
- Use `bun` to run npm scripts
|
||||
- Use `bunx` to run executable npm packages
|
||||
|
||||
### TypeScript Code Style Guide
|
||||
|
||||
see @.cursor/rules/typescript.mdc
|
||||
|
||||
### Modify Code Rules
|
||||
|
||||
- **Code Language**:
|
||||
- For files with existing Chinese comments: Continue using Chinese to maintain consistency
|
||||
- For new files or files without Chinese comments: MUST use American English.
|
||||
- eg: new react tsx file and new test file
|
||||
- Conservative for existing code, modern approaches for new features
|
||||
|
||||
### Testing
|
||||
|
||||
Testing work follows the Rule-Aware Task Execution system above.
|
||||
|
||||
- **Required Rule**: `testing-guide/testing-guide.mdc`
|
||||
- **Command**:
|
||||
- web: `bunx vitest run --silent='passed-only' '[file-path-pattern]'`
|
||||
- packages(eg: database): `cd packages/database && bunx vitest run --silent='passed-only' '[file-path-pattern]'`
|
||||
|
||||
**Important**:
|
||||
|
||||
- wrapped the file path in single quotes to avoid shell expansion
|
||||
- Never run `bun run test` etc to run tests, this will run all tests and cost about 10mins
|
||||
- If try to fix the same test twice, but still failed, stop and ask for help.
|
||||
|
||||
### Typecheck
|
||||
|
||||
- use `bun run type-check` to check type errors.
|
||||
|
||||
### Internationalization
|
||||
|
||||
- **Keys**: Add to `src/locales/default/namespace.ts`
|
||||
- **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
|
||||
|
||||
Some useful rules of this project. Read them when needed.
|
||||
|
||||
**IMPORTANT**: All rule files referenced in this document are located in the `.cursor/rules/` directory. Throughout this document, rule files are referenced by their filename only for brevity.
|
||||
|
||||
### 📋 Complete Rule Files
|
||||
|
||||
**Core Development**
|
||||
|
||||
- `backend-architecture.mdc` - Three-layer architecture, data flow
|
||||
- `react-component.mdc` - antd-style, Lobe UI usage
|
||||
- `drizzle-schema-style-guide.mdc` - Schema naming, patterns
|
||||
- `define-database-model.mdc` - Model templates, CRUD patterns
|
||||
- `i18n.mdc` - Internationalization workflow
|
||||
|
||||
**State & UI**
|
||||
|
||||
- `zustand-slice-organization.mdc` - Store organization
|
||||
- `zustand-action-patterns.mdc` - Action patterns
|
||||
- `packages/react-layout-kit.mdc` - flex layout components usage
|
||||
|
||||
**Testing & Quality**
|
||||
|
||||
- `testing-guide/testing-guide.mdc` - Test strategy, mock patterns
|
||||
- `code-review.mdc` - 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` - App menu, context menu, tray menu
|
||||
- `desktop-window-management.mdc` - Window creation, state management, multi-window
|
||||
- `desktop-controller-tests.mdc` - Controller unit testing guide
|
||||
+1
-5
@@ -249,11 +249,7 @@ ENV \
|
||||
# Infini-AI
|
||||
INFINIAI_API_KEY="" INFINIAI_MODEL_LIST="" \
|
||||
# 302.AI
|
||||
AI302_API_KEY="" AI302_MODEL_LIST="" \
|
||||
# FAL
|
||||
FAL_API_KEY="" FAL_MODEL_LIST="" \
|
||||
# BFL
|
||||
BFL_API_KEY="" BFL_MODEL_LIST=""
|
||||
AI302_API_KEY="" AI302_MODEL_LIST=""
|
||||
|
||||
USER nextjs
|
||||
|
||||
|
||||
+2
-6
@@ -120,7 +120,7 @@ COPY --from=base /distroless/ /
|
||||
COPY --from=builder /app/.next/standalone /app/
|
||||
|
||||
# Copy database migrations
|
||||
COPY --from=builder /app/packages/database/migrations /app/migrations
|
||||
COPY --from=builder /app/src/database/migrations /app/migrations
|
||||
COPY --from=builder /app/scripts/migrateServerDB/docker.cjs /app/docker.cjs
|
||||
COPY --from=builder /app/scripts/migrateServerDB/errorHint.js /app/errorHint.js
|
||||
|
||||
@@ -291,11 +291,7 @@ ENV \
|
||||
# Infini-AI
|
||||
INFINIAI_API_KEY="" INFINIAI_MODEL_LIST="" \
|
||||
# 302.AI
|
||||
AI302_API_KEY="" AI302_MODEL_LIST="" \
|
||||
# FAL
|
||||
FAL_API_KEY="" FAL_MODEL_LIST="" \
|
||||
# BFL
|
||||
BFL_API_KEY="" BFL_MODEL_LIST=""
|
||||
AI302_API_KEY="" AI302_MODEL_LIST=""
|
||||
|
||||
USER nextjs
|
||||
|
||||
|
||||
+1
-5
@@ -247,11 +247,7 @@ ENV \
|
||||
# Infini-AI
|
||||
INFINIAI_API_KEY="" INFINIAI_MODEL_LIST="" \
|
||||
# 302.AI
|
||||
AI302_API_KEY="" AI302_MODEL_LIST="" \
|
||||
# FAL
|
||||
FAL_API_KEY="" FAL_MODEL_LIST="" \
|
||||
# BFL
|
||||
BFL_API_KEY="" BFL_MODEL_LIST=""
|
||||
AI302_API_KEY="" AI302_MODEL_LIST=""
|
||||
|
||||
USER nextjs
|
||||
|
||||
|
||||
@@ -255,7 +255,6 @@ We have implemented support for the following model service providers:
|
||||
- **[GitHub](https://lobechat.com/discover/provider/github)**: With GitHub Models, developers can become AI engineers and leverage the industry's leading AI models.
|
||||
- **[Novita](https://lobechat.com/discover/provider/novita)**: Novita AI is a platform providing a variety of large language models and AI image generation API services, flexible, reliable, and cost-effective. It supports the latest open-source models like Llama3 and Mistral, offering a comprehensive, user-friendly, and auto-scaling API solution for generative AI application development, suitable for the rapid growth of AI startups.
|
||||
- **[PPIO](https://lobechat.com/discover/provider/ppio)**: PPIO supports stable and cost-efficient open-source LLM APIs, such as DeepSeek, Llama, Qwen etc.
|
||||
- **[302.AI](https://lobechat.com/discover/provider/ai302)**: 302.AI is an on-demand AI application platform offering the most comprehensive AI APIs and online AI applications available on the market.
|
||||
- **[Together AI](https://lobechat.com/discover/provider/togetherai)**: Together AI is dedicated to achieving leading performance through innovative AI models, offering extensive customization capabilities, including rapid scaling support and intuitive deployment processes to meet various enterprise needs.
|
||||
- **[Fireworks AI](https://lobechat.com/discover/provider/fireworksai)**: Fireworks AI is a leading provider of advanced language model services, focusing on functional calling and multimodal processing. Its latest model, Firefunction V2, is based on Llama-3, optimized for function calling, conversation, and instruction following. The visual language model FireLLaVA-13B supports mixed input of images and text. Other notable models include the Llama series and Mixtral series, providing efficient multilingual instruction following and generation support.
|
||||
- **[Groq](https://lobechat.com/discover/provider/groq)**: Groq's LPU inference engine has excelled in the latest independent large language model (LLM) benchmarks, redefining the standards for AI solutions with its remarkable speed and efficiency. Groq represents instant inference speed, demonstrating strong performance in cloud-based deployments.
|
||||
@@ -284,6 +283,7 @@ We have implemented support for the following model service providers:
|
||||
- **[Search1API](https://lobechat.com/discover/provider/search1api)**: Search1API provides access to the DeepSeek series of models that can connect to the internet as needed, including standard and fast versions, supporting a variety of model sizes.
|
||||
- **[InfiniAI](https://lobechat.com/discover/provider/infiniai)**: Provides high-performance, easy-to-use, and secure large model services for application developers, covering the entire process from large model development to service deployment.
|
||||
- **[Qiniu](https://lobechat.com/discover/provider/qiniu)**: Qiniu, as a long-established cloud service provider, delivers cost-effective and reliable AI inference services for both real-time and batch processing, with a simple and user-friendly experience.
|
||||
- **[302.AI](https://lobechat.com/discover/provider/ai302)**: 302.AI is an on-demand AI application platform offering the most comprehensive AI APIs and online AI applications available on the market.
|
||||
|
||||
</details>
|
||||
|
||||
@@ -385,11 +385,11 @@ In addition, these plugins are not limited to news aggregation, but can also ext
|
||||
| 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` |
|
||||
| [Speak](https://lobechat.com/discover/plugin/speak)<br/><sup>By **speak** on **2025-07-18**</sup> | Learn how to say anything in another language with Speak, your AI-powered language tutor.<br/>`education` `language` |
|
||||
| [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>**42**</kbd>](https://lobechat.com/discover/plugins)
|
||||
> 📊 Total plugins: [<kbd>**43**</kbd>](https://lobechat.com/discover/plugins)
|
||||
|
||||
<!-- PLUGIN LIST -->
|
||||
|
||||
|
||||
+3
-3
@@ -255,7 +255,6 @@ LobeChat 支持文件上传与知识库功能,你可以上传文件、图片
|
||||
- **[GitHub](https://lobechat.com/discover/provider/github)**: 通过 GitHub 模型,开发人员可以成为 AI 工程师,并使用行业领先的 AI 模型进行构建。
|
||||
- **[Novita](https://lobechat.com/discover/provider/novita)**: Novita AI 是一个提供多种大语言模型与 AI 图像生成的 API 服务的平台,灵活、可靠且具有成本效益。它支持 Llama3、Mistral 等最新的开源模型,并为生成式 AI 应用开发提供了全面、用户友好且自动扩展的 API 解决方案,适合 AI 初创公司的快速发展。
|
||||
- **[PPIO](https://lobechat.com/discover/provider/ppio)**: PPIO 派欧云提供稳定、高性价比的开源模型 API 服务,支持 DeepSeek 全系列、Llama、Qwen 等行业领先大模型。
|
||||
- **[302.AI](https://lobechat.com/discover/provider/ai302)**: 302.AI 是一个按需付费的 AI 应用平台,提供市面上最全的 AI API 和 AI 在线应用
|
||||
- **[Together AI](https://lobechat.com/discover/provider/togetherai)**: Together AI 致力于通过创新的 AI 模型实现领先的性能,提供广泛的自定义能力,包括快速扩展支持和直观的部署流程,满足企业的各种需求。
|
||||
- **[Fireworks AI](https://lobechat.com/discover/provider/fireworksai)**: Fireworks AI 是一家领先的高级语言模型服务商,专注于功能调用和多模态处理。其最新模型 Firefunction V2 基于 Llama-3,优化用于函数调用、对话及指令跟随。视觉语言模型 FireLLaVA-13B 支持图像和文本混合输入。其他 notable 模型包括 Llama 系列和 Mixtral 系列,提供高效的多语言指令跟随与生成支持。
|
||||
- **[Groq](https://lobechat.com/discover/provider/groq)**: Groq 的 LPU 推理引擎在最新的独立大语言模型(LLM)基准测试中表现卓越,以其惊人的速度和效率重新定义了 AI 解决方案的标准。Groq 是一种即时推理速度的代表,在基于云的部署中展现了良好的性能。
|
||||
@@ -284,6 +283,7 @@ LobeChat 支持文件上传与知识库功能,你可以上传文件、图片
|
||||
- **[Search1API](https://lobechat.com/discover/provider/search1api)**: Search1API 提供可根据需要自行联网的 DeepSeek 系列模型的访问,包括标准版和快速版本,支持多种参数规模的模型选择。
|
||||
- **[InfiniAI](https://lobechat.com/discover/provider/infiniai)**: 为应用开发者提供高性能、易上手、安全可靠的大模型服务,覆盖从大模型开发到大模型服务化部署的全流程。
|
||||
- **[Qiniu](https://lobechat.com/discover/provider/qiniu)**: 七牛作为老牌云服务厂商,提供高性价比稳定的实时、批量 AI 推理服务,简单易用。
|
||||
- **[302.AI](https://lobechat.com/discover/provider/ai302)**: 302.AI 是一个按需付费的 AI 应用平台,提供市面上最全的 AI API 和 AI 在线应用
|
||||
|
||||
</details>
|
||||
|
||||
@@ -378,11 +378,11 @@ LobeChat 的插件生态系统是其核心功能的重要扩展,它极大地
|
||||
| 最近新增 | 描述 |
|
||||
| -------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------- |
|
||||
| [PortfolioMeta](https://lobechat.com/discover/plugin/StockData)<br/><sup>By **portfoliometa** on **2025-07-21**</sup> | 分析股票并获取全面的实时投资数据和分析。<br/>`股票` |
|
||||
| [Speak](https://lobechat.com/discover/plugin/speak)<br/><sup>By **speak** on **2025-07-18**</sup> | 使用 Speak,您的 AI 语言导师,学习如何用另一种语言说任何事情。<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>**42**</kbd>](https://lobechat.com/discover/plugins)
|
||||
> 📊 Total plugins: [<kbd>**43**</kbd>](https://lobechat.com/discover/plugins)
|
||||
|
||||
<!-- PLUGIN LIST -->
|
||||
|
||||
|
||||
@@ -64,7 +64,7 @@ const config = {
|
||||
linux: {
|
||||
category: 'Utility',
|
||||
maintainer: 'electronjs.org',
|
||||
target: ['AppImage', 'snap', 'deb', 'rpm', 'tar.gz'],
|
||||
target: ['AppImage', 'snap', 'deb'],
|
||||
},
|
||||
mac: {
|
||||
compression: 'maximum',
|
||||
|
||||
@@ -51,7 +51,7 @@
|
||||
"@typescript/native-preview": "7.0.0-dev.20250711.1",
|
||||
"consola": "^3.1.0",
|
||||
"cookie": "^1.0.2",
|
||||
"electron": "^37.2.0",
|
||||
"electron": "~37.1.0",
|
||||
"electron-builder": "^26.0.12",
|
||||
"electron-is": "^3.0.0",
|
||||
"electron-log": "^5.3.3",
|
||||
|
||||
@@ -1,234 +1,4 @@
|
||||
[
|
||||
{
|
||||
"children": {},
|
||||
"date": "2025-08-27",
|
||||
"version": "1.116.1"
|
||||
},
|
||||
{
|
||||
"children": {
|
||||
"features": ["Add gemini 2.5 flash image for vertex ai."]
|
||||
},
|
||||
"date": "2025-08-27",
|
||||
"version": "1.116.0"
|
||||
},
|
||||
{
|
||||
"children": {},
|
||||
"date": "2025-08-26",
|
||||
"version": "1.115.0"
|
||||
},
|
||||
{
|
||||
"children": {},
|
||||
"date": "2025-08-22",
|
||||
"version": "1.114.6"
|
||||
},
|
||||
{
|
||||
"children": {
|
||||
"improvements": ["Update mistral model vision ability."]
|
||||
},
|
||||
"date": "2025-08-22",
|
||||
"version": "1.114.5"
|
||||
},
|
||||
{
|
||||
"children": {
|
||||
"improvements": ["Move database to packages."]
|
||||
},
|
||||
"date": "2025-08-22",
|
||||
"version": "1.114.4"
|
||||
},
|
||||
{
|
||||
"children": {},
|
||||
"date": "2025-08-21",
|
||||
"version": "1.114.3"
|
||||
},
|
||||
{
|
||||
"children": {
|
||||
"fixes": ["Can't load custom provider config."]
|
||||
},
|
||||
"date": "2025-08-21",
|
||||
"version": "1.114.2"
|
||||
},
|
||||
{
|
||||
"children": {
|
||||
"improvements": ["Move chain into @lobechat/prompts."]
|
||||
},
|
||||
"date": "2025-08-21",
|
||||
"version": "1.114.1"
|
||||
},
|
||||
{
|
||||
"children": {},
|
||||
"date": "2025-08-19",
|
||||
"version": "1.114.0"
|
||||
},
|
||||
{
|
||||
"children": {
|
||||
"fixes": [
|
||||
"Support Grok thinking models in AiHubMix, The 'stream_options' parameter is only allowed when 'stream' is enabled."
|
||||
]
|
||||
},
|
||||
"date": "2025-08-19",
|
||||
"version": "1.113.3"
|
||||
},
|
||||
{
|
||||
"children": {},
|
||||
"date": "2025-08-18",
|
||||
"version": "1.113.2"
|
||||
},
|
||||
{
|
||||
"children": {},
|
||||
"date": "2025-08-17",
|
||||
"version": "1.113.1"
|
||||
},
|
||||
{
|
||||
"children": {},
|
||||
"date": "2025-08-17",
|
||||
"version": "1.113.0"
|
||||
},
|
||||
{
|
||||
"children": {
|
||||
"fixes": ["Improve mcp tracing with user config."]
|
||||
},
|
||||
"date": "2025-08-17",
|
||||
"version": "1.112.5"
|
||||
},
|
||||
{
|
||||
"children": {
|
||||
"improvements": ["Refactor prompts folder to the @lobechat/prompts pacakge."]
|
||||
},
|
||||
"date": "2025-08-16",
|
||||
"version": "1.112.4"
|
||||
},
|
||||
{
|
||||
"children": {
|
||||
"improvements": ["Refactor const folder to a new package."]
|
||||
},
|
||||
"date": "2025-08-16",
|
||||
"version": "1.112.3"
|
||||
},
|
||||
{
|
||||
"children": {
|
||||
"improvements": ["重构 ArgsInput 组件."]
|
||||
},
|
||||
"date": "2025-08-16",
|
||||
"version": "1.112.2"
|
||||
},
|
||||
{
|
||||
"children": {
|
||||
"improvements": ["Add Imagen 4 GA models, style improve auth sign in box loading."]
|
||||
},
|
||||
"date": "2025-08-16",
|
||||
"version": "1.112.1"
|
||||
},
|
||||
{
|
||||
"children": {},
|
||||
"date": "2025-08-15",
|
||||
"version": "1.112.0"
|
||||
},
|
||||
{
|
||||
"children": {},
|
||||
"date": "2025-08-14",
|
||||
"version": "1.111.12"
|
||||
},
|
||||
{
|
||||
"children": {
|
||||
"improvements": ["Update Mistral AI models & Optimize many model providers fetching."]
|
||||
},
|
||||
"date": "2025-08-13",
|
||||
"version": "1.111.11"
|
||||
},
|
||||
{
|
||||
"children": {
|
||||
"improvements": ["Adjust near bottom size on thinking scroll."]
|
||||
},
|
||||
"date": "2025-08-12",
|
||||
"version": "1.111.10"
|
||||
},
|
||||
{
|
||||
"children": {
|
||||
"improvements": ["Improve Gemini error display with promptFeedback."]
|
||||
},
|
||||
"date": "2025-08-12",
|
||||
"version": "1.111.9"
|
||||
},
|
||||
{
|
||||
"children": {
|
||||
"improvements": ["Support new GPT-5 Verbosity params."]
|
||||
},
|
||||
"date": "2025-08-11",
|
||||
"version": "1.111.8"
|
||||
},
|
||||
{
|
||||
"children": {
|
||||
"improvements": ["Refactor model-runtime to a seperated package."]
|
||||
},
|
||||
"date": "2025-08-11",
|
||||
"version": "1.111.7"
|
||||
},
|
||||
{
|
||||
"children": {
|
||||
"fixes": ["Solve the cache problem caused by the same dom id when sharing pictures."]
|
||||
},
|
||||
"date": "2025-08-11",
|
||||
"version": "1.111.6"
|
||||
},
|
||||
{
|
||||
"children": {
|
||||
"improvements": ["Add mask effect to thinking scroll, update i18n."]
|
||||
},
|
||||
"date": "2025-08-10",
|
||||
"version": "1.111.5"
|
||||
},
|
||||
{
|
||||
"children": {},
|
||||
"date": "2025-08-09",
|
||||
"version": "1.111.4"
|
||||
},
|
||||
{
|
||||
"children": {
|
||||
"improvements": [
|
||||
"Improve thinking auto scroll style, Support session switch shortcut key, update i18n."
|
||||
]
|
||||
},
|
||||
"date": "2025-08-09",
|
||||
"version": "1.111.3"
|
||||
},
|
||||
{
|
||||
"children": {},
|
||||
"date": "2025-08-08",
|
||||
"version": "1.111.2"
|
||||
},
|
||||
{
|
||||
"children": {
|
||||
"improvements": ["Add descriptions for the FLUX.1 Krea and Qwen Image."]
|
||||
},
|
||||
"date": "2025-08-08",
|
||||
"version": "1.111.1"
|
||||
},
|
||||
{
|
||||
"children": {
|
||||
"features": ["Add GPT-5 series models."]
|
||||
},
|
||||
"date": "2025-08-08",
|
||||
"version": "1.111.0"
|
||||
},
|
||||
{
|
||||
"children": {
|
||||
"fixes": ["Missing languages it-IT, pl-PL, nl-NL."]
|
||||
},
|
||||
"date": "2025-08-07",
|
||||
"version": "1.110.7"
|
||||
},
|
||||
{
|
||||
"children": {},
|
||||
"date": "2025-08-07",
|
||||
"version": "1.110.6"
|
||||
},
|
||||
{
|
||||
"children": {
|
||||
"fixes": ["Optimize Gemini error message display & Filter empty messages."]
|
||||
},
|
||||
"date": "2025-08-07",
|
||||
"version": "1.110.5"
|
||||
},
|
||||
{
|
||||
"children": {
|
||||
"improvements": ["Refactor trace type."]
|
||||
|
||||
+2
-30
@@ -1,39 +1,11 @@
|
||||
component_management:
|
||||
individual_components:
|
||||
# App architecture layers
|
||||
- component_id: app_store
|
||||
name: "Store"
|
||||
paths:
|
||||
- src/store/**
|
||||
- component_id: app_services
|
||||
name: "Services"
|
||||
paths:
|
||||
- src/services/**
|
||||
- component_id: app_server
|
||||
name: "Server"
|
||||
paths:
|
||||
- src/server/**
|
||||
- component_id: app_libs
|
||||
name: "Libs"
|
||||
paths:
|
||||
- src/libs/**
|
||||
- component_id: app_utils
|
||||
name: "Utils"
|
||||
paths:
|
||||
- src/utils/**
|
||||
|
||||
coverage:
|
||||
status:
|
||||
project:
|
||||
default: off
|
||||
database:
|
||||
server:
|
||||
flags:
|
||||
- database
|
||||
- server
|
||||
app:
|
||||
flags:
|
||||
- app
|
||||
patch: off
|
||||
|
||||
|
||||
comment:
|
||||
layout: "header, diff, flags, components" # show component info in the PR comment
|
||||
|
||||
@@ -27,7 +27,6 @@ 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
|
||||
|
||||
@@ -27,7 +27,6 @@ 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
|
||||
|
||||
@@ -60,7 +60,7 @@ services:
|
||||
|
||||
# version lock ref: https://github.com/lobehub/lobe-chat/pull/7331
|
||||
casdoor:
|
||||
image: casbin/casdoor:v2.13.0
|
||||
image: casbin/casdoor:v1.843.0
|
||||
container_name: lobe-casdoor
|
||||
entrypoint: /bin/sh -c './server --createDatabase=true'
|
||||
network_mode: 'service:network-service'
|
||||
|
||||
+851
-1357
File diff suppressed because it is too large
Load Diff
@@ -450,7 +450,7 @@ ENV_EXAMPLES=(
|
||||
"$SUB_DIR/.env.example"
|
||||
)
|
||||
# Default values
|
||||
CASDOOR_PASSWORD="pswd123"
|
||||
CASDOOR_PASSWORD="123"
|
||||
CASDOOR_SECRET="CASDOOR_SECRET"
|
||||
MINIO_ROOT_PASSWORD="YOUR_MINIO_PASSWORD"
|
||||
CASDOOR_HOST="localhost:8000"
|
||||
@@ -657,10 +657,10 @@ section_regenerate_secrets() {
|
||||
CASDOOR_PASSWORD=$(generate_key 10)
|
||||
if [ $? -ne 0 ]; then
|
||||
echo $(show_message "security_secrect_regenerate_failed") "CASDOOR_PASSWORD"
|
||||
CASDOOR_PASSWORD="pswd123"
|
||||
CASDOOR_PASSWORD="123"
|
||||
else
|
||||
# replace `password` in init_data.json
|
||||
sed "${SED_INPLACE_ARGS[@]}" "s/"pswd123"/${CASDOOR_PASSWORD}/" init_data.json
|
||||
sed "${SED_INPLACE_ARGS[@]}" "s/"123"/${CASDOOR_PASSWORD}/" init_data.json
|
||||
if [ $? -ne 0 ]; then
|
||||
echo $(show_message "security_secrect_regenerate_failed") "CASDOOR_PASSWORD in \`init_data.json\`"
|
||||
fi
|
||||
|
||||
@@ -456,7 +456,7 @@ The project uses vitest for unit testing.
|
||||
|
||||
Since our two new configuration fields are both optional, theoretically you could pass the tests without updating them. However, since we added the `openingQuestions` field to the `DEFAULT_AGENT_CONFIG` mentioned earlier, this causes many tests to calculate configurations that include this field, so we still need to update some test snapshots.
|
||||
|
||||
For the current scenario, I recommend running the tests locally to see which tests fail, and then update them as needed. For example, for the test file `src/store/agent/slices/chat/selectors/agent.test.ts`, you need to run `bunx vitest -u src/store/agent/slices/chat/selectors/agent.test.ts` to update the snapshot.
|
||||
For the current scenario, I recommend running the tests locally to see which tests fail, and then update them as needed. For example, for the test file `src/store/agent/slices/chat/selectors/agent.test.ts`, you need to run `npx vitest -u src/store/agent/slices/chat/selectors/agent.test.ts` to update the snapshot.
|
||||
|
||||
## Summary
|
||||
|
||||
|
||||
@@ -456,7 +456,7 @@ export default WelcomeMessage;
|
||||
|
||||
由于我们目前两个新的配置字段都是可选的,所以理论上你不更新测试也能跑通,不过由于我们把前面提到的默认配置 `DEFAULT_AGENT_CONFIG` 增加了 `openingQuestions` 字段,这导致很多测试计算出的配置都是有这个字段的,因此我们还是需要更新一部分测试的快照。
|
||||
|
||||
对于当前这个场景,我建议是本地直接跑下测试,看哪些测试失败了,针对需要更新,例如测试文件 `src/store/agent/slices/chat/selectors/agent.test.ts` 需要执行一下 `bunx vitest -u src/store/agent/slices/chat/selectors/agent.test.ts` 更新快照。
|
||||
对于当前这个场景,我建议是本地直接跑下测试,看哪些测试失败了,针对需要更新,例如测试文件 `src/store/agent/slices/chat/selectors/agent.test.ts` 需要执行一下 `npx vitest -u src/store/agent/slices/chat/selectors/agent.test.ts` 更新快照。
|
||||
|
||||
## 总结
|
||||
|
||||
|
||||
@@ -1,190 +0,0 @@
|
||||
---
|
||||
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)
|
||||
@@ -1,190 +0,0 @@
|
||||
---
|
||||
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)
|
||||
@@ -17,14 +17,10 @@ Before starting development on LobeChat, you need to install and configure some
|
||||
First, you need to install the following software:
|
||||
|
||||
- Node.js: LobeChat is built on Node.js, so you need to install Node.js. We recommend installing the latest stable version.
|
||||
- PNPM: We use PNPM as the preferred package manager. You can download and install it from the [PNPM official website](https://pnpm.io/installation).
|
||||
- Bun: We use Bun as the npm scripts runner. You can download and install it from the [Bun official website](https://bun.com/docs/installation).
|
||||
- Yarn: We use Yarn as the preferred package manager. You can download and install it from the Yarn official website.
|
||||
- PNPM: We use PNPM as an auxiliary package manager. You can download and install it from the PNPM official website.
|
||||
- Git: We use Git for version control. You can download and install it from the Git official website.
|
||||
- IDE: You can choose your preferred integrated development environment (IDE). We recommend using WebStorm/VSCode.
|
||||
|
||||
### VSCode Users
|
||||
|
||||
We recommend installing the extensions listed in [.vscode/extensions.json](https://github.com/lobehub/lobe-chat/blob/main/.vscode/extensions.json) for the best development experience.
|
||||
- IDE: You can choose your preferred integrated development environment (IDE). We recommend using WebStorm, a powerful IDE particularly suitable for TypeScript development.
|
||||
|
||||
### Project Setup
|
||||
|
||||
@@ -36,17 +32,24 @@ After installing the above software, you can start setting up the LobeChat proje
|
||||
git clone https://github.com/lobehub/lobe-chat.git
|
||||
```
|
||||
|
||||
2. **Install dependencies**: Then, navigate to the project directory and use PNPM to install the project's dependencies:
|
||||
2. **Install dependencies**: Then, navigate to the project directory and use Yarn to install the project's dependencies:
|
||||
|
||||
```bash
|
||||
cd lobe-chat
|
||||
pnpm i
|
||||
yarn install
|
||||
```
|
||||
|
||||
If you are using PNPM, you can execute:
|
||||
|
||||
```bash
|
||||
cd lobe-chat
|
||||
pnpm install
|
||||
```
|
||||
|
||||
3. **Start the development server**: After installing the dependencies, you can start the development server:
|
||||
|
||||
```bash
|
||||
bun run dev
|
||||
yarn run dev
|
||||
```
|
||||
|
||||
Now, you can open `http://localhost:3010` in your browser, and you should see the welcome page of LobeChat. This indicates that you have successfully set up the development environment.
|
||||
|
||||
@@ -17,14 +17,10 @@
|
||||
首先,你需要安装以下软件:
|
||||
|
||||
- Node.js:LobeChat 是基于 Node.js 构建的,因此你需要安装 Node.js。我们建议安装最新的稳定版。
|
||||
- PNPM:我们使用 PNPM 作为管理器。你可以从 [pnpm 的官方网站](https://pnpm.io/installation) 上下载并安装。
|
||||
- Bun:我们使用 Bun 作为 npm scripts runner, 你可以从 [Bun 的官方网站](https://bun.com/docs/installation) 上下载并安装。
|
||||
- Bun:我们使用 Bun 作为首选包管理器。你可以从 Bun 的官方网站上下载并安装。
|
||||
- PNPM:我们使用 PNPM 作为辅助包管理器。你可以从 pnpm 的官方网站上下载并安装。
|
||||
- Git:我们使用 Git 进行版本控制。你可以从 Git 的官方网站上下载并安装。
|
||||
- IDE:你可以选择你喜欢的集成开发环境(IDE),我们推荐使用 WebStorm/VSCode。
|
||||
|
||||
### VSCode 用户
|
||||
|
||||
推荐安装 [.vscode/extensions.json](https://github.com/lobehub/lobe-chat/blob/main/.vscode/extensions.json) 中推荐安装的扩展获得最佳开发体验。
|
||||
- IDE:你可以选择你喜欢的集成开发环境(IDE)。我们推荐使用 WebStorm,它是一款功能强大的 IDE,特别适合 TypeScript 开发。
|
||||
|
||||
### 项目设置
|
||||
|
||||
@@ -36,7 +32,14 @@
|
||||
git clone https://github.com/lobehub/lobe-chat.git
|
||||
```
|
||||
|
||||
2. **安装依赖**:然后,进入项目目录,并使用 `pnpm` 安装项目的依赖包:
|
||||
2. **安装依赖**:然后,进入项目目录,并使用 bun 安装项目的依赖包:
|
||||
|
||||
```bash
|
||||
cd lobe-chat
|
||||
bun i
|
||||
```
|
||||
|
||||
如果你使用 pnpm ,可以执行:
|
||||
|
||||
```bash
|
||||
cd lobe-chat
|
||||
@@ -51,7 +54,7 @@ bun run dev
|
||||
|
||||
现在,你可以在浏览器中打开 `http://localhost:3010`,你应该能看到 LobeChat 的欢迎页面。这表明你已经成功地设置了开发环境。
|
||||
|
||||

|
||||

|
||||
|
||||
在开发过程中,如果你在环境设置上遇到任何问题,或者有任何关于 LobeChat 开发的问题,欢迎随时向我们提问。我们期待看到你的贡献!
|
||||
|
||||
|
||||
@@ -104,19 +104,6 @@ table ai_providers {
|
||||
}
|
||||
}
|
||||
|
||||
table api_keys {
|
||||
id integer [pk, not null]
|
||||
name varchar(256) [not null]
|
||||
key varchar(256) [not null, unique]
|
||||
enabled boolean [default: true]
|
||||
expires_at "timestamp with time zone"
|
||||
last_used_at "timestamp with time zone"
|
||||
user_id text [not null]
|
||||
accessed_at "timestamp with time zone" [not null, default: `now()`]
|
||||
created_at "timestamp with time zone" [not null, default: `now()`]
|
||||
updated_at "timestamp with time zone" [not null, default: `now()`]
|
||||
}
|
||||
|
||||
table async_tasks {
|
||||
id uuid [pk, not null, default: `gen_random_uuid()`]
|
||||
type text
|
||||
@@ -129,39 +116,6 @@ table async_tasks {
|
||||
updated_at "timestamp with time zone" [not null, default: `now()`]
|
||||
}
|
||||
|
||||
table chat_groups {
|
||||
id text [pk, not null]
|
||||
title text
|
||||
description text
|
||||
config jsonb
|
||||
client_id text
|
||||
user_id text [not null]
|
||||
pinned boolean [default: false]
|
||||
accessed_at "timestamp with time zone" [not null, default: `now()`]
|
||||
created_at "timestamp with time zone" [not null, default: `now()`]
|
||||
updated_at "timestamp with time zone" [not null, default: `now()`]
|
||||
|
||||
indexes {
|
||||
(client_id, user_id) [name: 'chat_groups_client_id_user_id_unique', unique]
|
||||
}
|
||||
}
|
||||
|
||||
table chat_groups_agents {
|
||||
chat_group_id text [not null]
|
||||
agent_id text [not null]
|
||||
user_id text [not null]
|
||||
enabled boolean [default: true]
|
||||
order integer [default: 0]
|
||||
role text [default: 'participant']
|
||||
accessed_at "timestamp with time zone" [not null, default: `now()`]
|
||||
created_at "timestamp with time zone" [not null, default: `now()`]
|
||||
updated_at "timestamp with time zone" [not null, default: `now()`]
|
||||
|
||||
indexes {
|
||||
(chat_group_id, agent_id) [pk]
|
||||
}
|
||||
}
|
||||
|
||||
table document_chunks {
|
||||
document_id varchar(30) [not null]
|
||||
chunk_id uuid [not null]
|
||||
@@ -405,8 +359,6 @@ table messages {
|
||||
parent_id text
|
||||
quota_id text
|
||||
agent_id text
|
||||
group_id text
|
||||
target_id text
|
||||
accessed_at "timestamp with time zone" [not null, default: `now()`]
|
||||
created_at "timestamp with time zone" [not null, default: `now()`]
|
||||
updated_at "timestamp with time zone" [not null, default: `now()`]
|
||||
@@ -750,7 +702,6 @@ table rbac_roles {
|
||||
description text
|
||||
is_system boolean [not null, default: false]
|
||||
is_active boolean [not null, default: true]
|
||||
metadata jsonb [default: `{}`]
|
||||
accessed_at "timestamp with time zone" [not null, default: `now()`]
|
||||
created_at "timestamp with time zone" [not null, default: `now()`]
|
||||
updated_at "timestamp with time zone" [not null, default: `now()`]
|
||||
@@ -873,7 +824,6 @@ table topics {
|
||||
title text
|
||||
favorite boolean [default: false]
|
||||
session_id text
|
||||
group_id text
|
||||
user_id text [not null]
|
||||
client_id text
|
||||
history_summary text
|
||||
@@ -945,14 +895,6 @@ ref: agents_to_sessions.session_id > sessions.id
|
||||
|
||||
ref: agents_to_sessions.agent_id > agents.id
|
||||
|
||||
ref: chat_groups_agents.chat_group_id > chat_groups.id
|
||||
|
||||
ref: chat_groups_agents.agent_id > agents.id
|
||||
|
||||
ref: chat_groups_agents.user_id - users.id
|
||||
|
||||
ref: chat_groups.user_id - users.id
|
||||
|
||||
ref: unstructured_chunks.file_id - files.id
|
||||
|
||||
ref: document_chunks.document_id > documents.id
|
||||
|
||||
@@ -1,3 +1,5 @@
|
||||
{/* eslint-disable no-irregular-whitespace */}
|
||||
|
||||
# Best Practices for State Management
|
||||
|
||||
LobeChat differs from traditional CRUD web applications in that it involves a large amount of rich interactive capabilities. Therefore, it is crucial to design a data flow architecture that is easy to develop and maintain. This document will introduce the best practices for data flow management in LobeChat.
|
||||
@@ -109,8 +111,6 @@ Based on the provided directory structure of LobeChat SessionStore, we can updat
|
||||
|
||||
In the LobeChat application, session management is a complex functional module, so we use the Slice pattern to organize the data flow. Below is the directory structure of LobeChat SessionStore, where each directory and file has its specific purpose:
|
||||
|
||||
{/* eslint-disable no-irregular-whitespace */}
|
||||
|
||||
```bash
|
||||
src/store/session
|
||||
├── helpers.ts # Helper functions
|
||||
|
||||
@@ -1,3 +1,5 @@
|
||||
{/* eslint-disable no-irregular-whitespace */}
|
||||
|
||||
# 状态管理最佳实践
|
||||
|
||||
LobeChat 不同于传统 CRUD 的网页,存在大量的富交互能力,如何设计一个易于开发与易于维护的数据流架构非常重要。本篇文档将介绍 LobeChat 中的数据流管理最佳实践。
|
||||
@@ -109,8 +111,6 @@ LobeChat SessionStore
|
||||
|
||||
在 LobeChat 应用中,由于会话管理是一个复杂的功能模块,因此我们采用了 [slice 模式](https://github.com/pmndrs/zustand/blob/main/docs/guides/slices-pattern.md) 来组织数据流。下面是 LobeChat SessionStore 的目录结构,其中每个目录和文件都有其特定的用途:
|
||||
|
||||
{/* eslint-disable no-irregular-whitespace */}
|
||||
|
||||
```fish
|
||||
src/store/session
|
||||
├── index.ts # SessionStore 的聚合导出文件
|
||||
|
||||
@@ -84,16 +84,12 @@ 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</code> to <code>AllowedOrigins</code> so the desktop client (running locally) can access R2.
|
||||
</Callout>
|
||||
|
||||
Example configuration is as follows:
|
||||
|
||||
```json
|
||||
[
|
||||
{
|
||||
"AllowedOrigins": ["https://your-project.vercel.app", "http://localhost:3015"],
|
||||
"AllowedOrigins": ["https://your-project.vercel.app"],
|
||||
"AllowedMethods": ["GET", "PUT", "HEAD", "POST", "DELETE"],
|
||||
"AllowedHeaders": ["*"]
|
||||
}
|
||||
|
||||
@@ -82,17 +82,13 @@ 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</code>,以便桌面端(本地运行)能够访问 R2。
|
||||
</Callout>
|
||||
|
||||
|
||||
示例配置如下:
|
||||
|
||||
```json
|
||||
[
|
||||
{
|
||||
"AllowedOrigins": ["https://your-project.vercel.app", "http://localhost:3015"],
|
||||
"AllowedOrigins": ["https://your-project.vercel.app"],
|
||||
"AllowedMethods": ["GET", "PUT", "HEAD", "POST", "DELETE"],
|
||||
"AllowedHeaders": ["*"]
|
||||
}
|
||||
|
||||
@@ -646,33 +646,8 @@ 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,+flux/schnell,+flux-pro/kontext=FLUX.1 Kontext [pro]`
|
||||
- Example: `-all,+fal-model-1,+fal-model-2=fal-special`
|
||||
|
||||
The above example disables all models first, then enables `flux/schnell` and `flux-pro/kontext` (displayed as `FLUX.1 Kontext [pro]`).
|
||||
|
||||
## BFL
|
||||
|
||||
### `ENABLED_BFL`
|
||||
|
||||
- Type: Optional
|
||||
- Description: Enables BFL as a model provider by default. Set to `0` to disable the BFL service.
|
||||
- Default: `1`
|
||||
- Example: `0`
|
||||
|
||||
### `BFL_API_KEY`
|
||||
|
||||
- Type: Required
|
||||
- Description: This is the API key you applied for in the BFL service.
|
||||
- Default: -
|
||||
- Example: `12345678-1234-1234-1234-123456789abc`
|
||||
|
||||
### `BFL_MODEL_LIST`
|
||||
|
||||
- Type: Optional
|
||||
- Description: Used to control the BFL 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,+flux-pro-1.1,+flux-kontext-pro=FLUX.1 Kontext [pro]`
|
||||
|
||||
The above example disables all models first, then enables `flux-pro-1.1` and `flux-kontext-pro` (displayed as `FLUX.1 Kontext [pro]`).
|
||||
The above example disables all models first, then enables `fal-model-1` and `fal-model-2` (displayed as `fal-special`).
|
||||
|
||||
[model-list]: /docs/self-hosting/advanced/model-list
|
||||
|
||||
@@ -645,33 +645,8 @@ LobeChat 在部署时提供了丰富的模型服务商相关的环境变量,
|
||||
- 类型:可选
|
||||
- 描述:用来控制 FAL 模型列表,使用 `+` 增加一个模型,使用 `-` 来隐藏一个模型,使用 `模型名=展示名` 来自定义模型的展示名,用英文逗号隔开。模型定义语法规则与其他 provider 保持一致。
|
||||
- 默认值:`-`
|
||||
- 示例:`-all,+flux/schnell,+flux-pro/kontext=FLUX.1 Kontext [pro]`
|
||||
- 示例:`-all,+fal-model-1,+fal-model-2=fal-special`
|
||||
|
||||
上述示例表示先禁用所有模型,再启用 `flux/schnell` 和 `flux-pro/kontext`(显示名为 `FLUX.1 Kontext [pro]`)。
|
||||
|
||||
## BFL
|
||||
|
||||
### `ENABLED_BFL`
|
||||
|
||||
- 类型:可选
|
||||
- 描述:默认启用 BFL 作为模型供应商,当设为 0 时关闭 BFL 服务
|
||||
- 默认值:`1`
|
||||
- 示例:`0`
|
||||
|
||||
### `BFL_API_KEY`
|
||||
|
||||
- 类型:必选
|
||||
- 描述:这是你在 BFL 服务中申请的 API 密钥
|
||||
- 默认值:-
|
||||
- 示例:`12345678-1234-1234-1234-123456789abc`
|
||||
|
||||
### `BFL_MODEL_LIST`
|
||||
|
||||
- 类型:可选
|
||||
- 描述:用来控制 BFL 模型列表,使用 `+` 增加一个模型,使用 `-` 来隐藏一个模型,使用 `模型名=展示名` 来自定义模型的展示名,用英文逗号隔开。模型定义语法规则与其他 provider 保持一致。
|
||||
- 默认值:`-`
|
||||
- 示例:`-all,+flux-pro-1.1,+flux-kontext-pro=FLUX.1 Kontext [pro]`
|
||||
|
||||
上述示例表示先禁用所有模型,再启用 `flux-pro-1.1` 和 `flux-kontext-pro`(显示名为 `FLUX.1 Kontext [pro]`)。
|
||||
上述示例表示先禁用所有模型,再启用 `fal-model-1` 和 `fal-model-2`(显示名为 `fal-special`)。
|
||||
|
||||
[model-list]: /zh/docs/self-hosting/advanced/model-list
|
||||
|
||||
@@ -1,68 +0,0 @@
|
||||
---
|
||||
title: Using Black Forest Labs API Key in LobeChat
|
||||
description: >-
|
||||
Learn how to integrate Black Forest Labs API Key in LobeChat for AI image generation using advanced models and high-quality output.
|
||||
|
||||
tags:
|
||||
- Black Forest Labs
|
||||
- Image Generation
|
||||
- API Key
|
||||
- Web UI
|
||||
---
|
||||
|
||||
# Using Black Forest Labs in LobeChat
|
||||
|
||||
<Image alt={'Using Black Forest Labs in LobeChat'} cover src={'https://hub-apac-1.lobeobjects.space/docs/c7274a5b037227f042ad7558f535b5ea.png'} />
|
||||
|
||||
[Black Forest Labs](https://bfl.ai/) is currently the world's top-tier AI image generation research lab, having developed the FLUX series of high-quality image generation models and the FLUX Kontext series of image editing models. This document will guide you on how to use Black Forest Labs in LobeChat:
|
||||
|
||||
<Steps>
|
||||
### Step 1: Obtain Black Forest Labs API Key
|
||||
|
||||
- Register for a [Black Forest Labs account](https://auth.bfl.ai/).
|
||||
- Navigate to the [API Keys dashboard](https://dashboard.bfl.ai/api/keys) and click **Add Key** to generate a new API key.
|
||||
- Copy the generated API key and keep it secure; it will only be shown once.
|
||||
|
||||
<Image
|
||||
alt={'Open the API dashboard'}
|
||||
inStep
|
||||
src={
|
||||
'https://hub-apac-1.lobeobjects.space/docs/36331f581e36a72ba91fb6c1dacbedd4.png'
|
||||
}
|
||||
/>
|
||||
|
||||
<Image
|
||||
alt={'Create API Key'}
|
||||
inStep
|
||||
src={
|
||||
'https://hub-apac-1.lobeobjects.space/docs/3049ad79746bf913d1b2736cfe1d38fa.png'
|
||||
}
|
||||
/>
|
||||
|
||||
<Image
|
||||
alt={'Retrieve API Key'}
|
||||
inStep
|
||||
src={
|
||||
'https://hub-apac-1.lobeobjects.space/docs/33143deb04f2a0cdb2fd543ff8161633.png'
|
||||
}
|
||||
/>
|
||||
|
||||
### Step 2: Configure Black Forest Labs in LobeChat
|
||||
|
||||
- Visit the `Settings` page in LobeChat.
|
||||
- Under **AI Service Provider**, locate the **Black Forest Labs** configuration section.
|
||||
|
||||
<Image alt={'Enter API Key'} inStep src={'https://hub-apac-1.lobeobjects.space/docs/4fe1993d94fad72829612d22527a2ecd.png'} />
|
||||
|
||||
- Paste the API key you obtained.
|
||||
- Choose a Black Forest Labs model for image generation.
|
||||
|
||||
<Image alt={'Select Black Forest Labs model for image generation'} inStep src={'https://hub-apac-1.lobeobjects.space/docs/7a6dfdb1a1bdd5443104a6d2cb3a8bf4.png'} />
|
||||
|
||||
<Callout type={'warning'}>
|
||||
During usage, you may incur charges according to Black Forest Labs's pricing policy. Please review Black Forest Labs's
|
||||
official pricing before heavy usage.
|
||||
</Callout>
|
||||
</Steps>
|
||||
|
||||
You can now use Black Forest Labs's advanced image generation models directly within LobeChat to create stunning visual content.
|
||||
@@ -1,67 +0,0 @@
|
||||
---
|
||||
title: 在 LobeChat 中使用 Black Forest Labs API Key
|
||||
description: >-
|
||||
学习如何在 LobeChat 中配置和使用 Black Forest Labs API Key,使用先进模型进行高质量 AI 图像生成。
|
||||
|
||||
tags:
|
||||
- Black Forest Labs
|
||||
- 图像生成
|
||||
- API Key
|
||||
- Web UI
|
||||
---
|
||||
|
||||
# 在 LobeChat 中使用 Black Forest Labs
|
||||
|
||||
<Image alt={'在 LobeChat 中使用 Black Forest Labs'} cover src={'https://hub-apac-1.lobeobjects.space/docs/c7274a5b037227f042ad7558f535b5ea.png'} />
|
||||
|
||||
[Black Forest Labs](https://bfl.ai/) 是当前世界最顶级的 AI 图像生成实验室团队,研发了 FLUX 系列高质量图像生成模型,FLUX Kontext 系列图像编辑模型。本文将指导你如何在 LobeChat 中使用 Black Forest Labs:
|
||||
|
||||
<Steps>
|
||||
### 步骤一:获取 Black Forest Labs API Key
|
||||
|
||||
- 注册 [Black Forest Labs](https://auth.bfl.ai/) 账户;
|
||||
- 前往 [API Keys 控制台](https://dashboard.bfl.ai/api/keys),点击 **Add Key** 创建新的 API 密钥;
|
||||
- 复制生成的 API Key 并妥善保存,它只会显示一次。
|
||||
|
||||
<Image
|
||||
alt={'打开 API 控制台'}
|
||||
inStep
|
||||
src={
|
||||
'https://hub-apac-1.lobeobjects.space/docs/36331f581e36a72ba91fb6c1dacbedd4.png'
|
||||
}
|
||||
/>
|
||||
|
||||
<Image
|
||||
alt={'创建 API Key'}
|
||||
inStep
|
||||
src={
|
||||
'https://hub-apac-1.lobeobjects.space/docs/3049ad79746bf913d1b2736cfe1d38fa.png'
|
||||
}
|
||||
/>
|
||||
|
||||
<Image
|
||||
alt={'获取 API Key'}
|
||||
inStep
|
||||
src={
|
||||
'https://hub-apac-1.lobeobjects.space/docs/33143deb04f2a0cdb2fd543ff8161633.png'
|
||||
}
|
||||
/>
|
||||
|
||||
### 步骤二:在 LobeChat 中配置 Black Forest Labs
|
||||
|
||||
- 访问 LobeChat 的 `设置` 页面;
|
||||
- 在 `AI服务商` 下找到 `Black Forest Labs` 的设置项;
|
||||
|
||||
<Image alt={'填入 API 密钥'} inStep src={'https://hub-apac-1.lobeobjects.space/docs/4fe1993d94fad72829612d22527a2ecd.png'} />
|
||||
|
||||
- 粘贴获取到的 API Key;
|
||||
- 选择一个 Black Forest Labs 模型用于图像生成。
|
||||
|
||||
<Image alt={'选择 Black Forest Labs 模型进行图像生成'} inStep src={'https://hub-apac-1.lobeobjects.space/docs/7a6dfdb1a1bdd5443104a6d2cb3a8bf4.png'} />
|
||||
|
||||
<Callout type={'warning'}>
|
||||
在使用过程中,你可能需要向 Black Forest Labs 支付相应费用,请在大量调用前查阅 Black Forest Labs 的官方计费政策。
|
||||
</Callout>
|
||||
</Steps>
|
||||
|
||||
至此,你已经可以在 LobeChat 中使用 Black Forest Labs 提供的先进图像生成模型来创作精美的视觉内容了。
|
||||
+2
-2
@@ -22,8 +22,8 @@ export default {
|
||||
url: connectionString,
|
||||
},
|
||||
dialect: 'postgresql',
|
||||
out: './packages/database/migrations',
|
||||
out: './src/database/migrations',
|
||||
|
||||
schema: './packages/database/src/schemas',
|
||||
schema: './src/database/schemas',
|
||||
strict: true,
|
||||
} satisfies Config;
|
||||
|
||||
@@ -46,9 +46,6 @@
|
||||
"reasoningEffort": {
|
||||
"title": "شدة الاستدلال"
|
||||
},
|
||||
"textVerbosity": {
|
||||
"title": "مستوى تفصيل المخرجات النصية"
|
||||
},
|
||||
"thinking": {
|
||||
"title": "مفتاح التفكير العميق"
|
||||
},
|
||||
|
||||
@@ -1,9 +1,4 @@
|
||||
{
|
||||
"ArgsInput": {
|
||||
"addArgument": "إضافة معامل",
|
||||
"argumentPlaceholder": "المعامل {{index}}",
|
||||
"enterFirstArgument": "أدخل المعامل الأول..."
|
||||
},
|
||||
"DragUpload": {
|
||||
"dragDesc": "اسحب الملفات هنا، يدعم تحميل عدة صور.",
|
||||
"dragFileDesc": "اسحب الصور والملفات هنا، يدعم تحميل عدة صور وملفات.",
|
||||
@@ -130,12 +125,6 @@
|
||||
},
|
||||
"progress": {
|
||||
"uploadingWithCount": "تم تحميل {{completed}} من أصل {{total}}"
|
||||
},
|
||||
"validation": {
|
||||
"fileSizeExceeded": "تجاوز حجم الملف الحد المسموح به",
|
||||
"fileSizeExceededDetail": "{{fileName}} ({{actualSize}}) يتجاوز الحد الأقصى للحجم وهو {{maxSize}}",
|
||||
"fileSizeExceededMultiple": "{{count}} من الملفات تتجاوز الحد الأقصى للحجم {{maxSize}}: {{fileList}}",
|
||||
"imageCountExceeded": "تجاوز عدد الصور الحد المسموح به"
|
||||
}
|
||||
},
|
||||
"OllamaSetupGuide": {
|
||||
|
||||
@@ -85,17 +85,6 @@
|
||||
"CreateMessageError": "عذرًا، لم يتم إرسال الرسالة بشكل صحيح، يرجى نسخ المحتوى وإعادة إرساله، بعد تحديث الصفحة لن يتم الاحتفاظ بهذه الرسالة",
|
||||
"ExceededContextWindow": "المحتوى المطلوب الحالي يتجاوز الطول الذي يمكن للنموذج معالجته، يرجى تقليل كمية المحتوى ثم إعادة المحاولة",
|
||||
"FreePlanLimit": "أنت حاليًا مستخدم مجاني، لا يمكنك استخدام هذه الوظيفة، يرجى الترقية إلى خطة مدفوعة للمتابعة",
|
||||
"GoogleAIBlockReason": {
|
||||
"BLOCKLIST": "يحتوي محتواك على كلمات محظورة. الرجاء التحقق من مدخلاتك وتعديلها ثم المحاولة مرة أخرى.",
|
||||
"IMAGE_SAFETY": "تم حظر المحتوى الصوري لأسباب تتعلق بالسلامة. يرجى محاولة تعديل طلب إنشاء الصورة.",
|
||||
"LANGUAGE": "اللغة التي استخدمتها غير مدعومة حالياً. يرجى المحاولة مرة أخرى باستخدام الإنجليزية أو إحدى اللغات المدعومة.",
|
||||
"OTHER": "تم حظر المحتوى لسبب غير معروف. يرجى محاولة إعادة صياغة طلبك.",
|
||||
"PROHIBITED_CONTENT": "قد يحتوي طلبك على محتوى محظور. يرجى تعديل طلبك والتأكد من أن المحتوى يلتزم بسياسات الاستخدام.",
|
||||
"RECITATION": "تم حظر المحتوى لأنه قد ينطوي على مسائل حقوق نشر. يرجى محاولة استخدام محتوى أصلي أو إعادة صياغة طلبك.",
|
||||
"SAFETY": "تم حظر المحتوى بسبب سياسات الأمان. يرجى محاولة تعديل طلبك وتجنب تضمين محتوى قد يكون ضاراً أو غير مناسب.",
|
||||
"SPII": "قد يحتوي محتواك على معلومات شخصية حساسة. لحماية الخصوصية، يرجى إزالة المعلومات الحساسة ثم المحاولة مرة أخرى.",
|
||||
"default": "تم حظر المحتوى: {{blockReason}}。请调整您的请求内容后重试。"
|
||||
},
|
||||
"InsufficientQuota": "عذرًا، لقد reached الحد الأقصى للحصة (quota) لهذه المفتاح، يرجى التحقق من رصيد الحساب الخاص بك أو زيادة حصة المفتاح ثم المحاولة مرة أخرى",
|
||||
"InvalidAccessCode": "كلمة المرور غير صحيحة أو فارغة، يرجى إدخال كلمة مرور الوصول الصحيحة أو إضافة مفتاح API مخصص",
|
||||
"InvalidBedrockCredentials": "فشلت مصادقة Bedrock، يرجى التحقق من AccessKeyId/SecretAccessKey وإعادة المحاولة",
|
||||
|
||||
@@ -21,10 +21,6 @@
|
||||
"desc": "الدخول إلى وضع التحرير عن طريق الضغط على مفتاح Alt والنقر المزدوج على الرسالة",
|
||||
"title": "تحرير الرسالة"
|
||||
},
|
||||
"navigateToChat": {
|
||||
"desc": "التبديل إلى علامة تبويب المحادثة والدخول إلى دردشة عشوائية",
|
||||
"title": "التبديل إلى المحادثة الافتراضية"
|
||||
},
|
||||
"openChatSettings": {
|
||||
"desc": "عرض وتعديل إعدادات المحادثة الحالية",
|
||||
"title": "فتح إعدادات المحادثة"
|
||||
|
||||
+6
-84
@@ -332,21 +332,12 @@
|
||||
"Qwen/Qwen3-30B-A3B-Instruct-2507": {
|
||||
"description": "Qwen3-30B-A3B-Instruct-2507 هو نسخة محدثة من Qwen3-30B-A3B في وضع عدم التفكير. هذا نموذج خبير مختلط (MoE) يحتوي على 30.5 مليار معلمة إجمالية و3.3 مليار معلمة تنشيط. تم تعزيز النموذج بشكل كبير في عدة جوانب، بما في ذلك تحسين كبير في الالتزام بالتعليمات، والتفكير المنطقي، وفهم النصوص، والرياضيات، والعلوم، والبرمجة، واستخدام الأدوات. كما حقق تقدمًا ملموسًا في تغطية المعرفة متعددة اللغات، ويستطيع التوافق بشكل أفضل مع تفضيلات المستخدم في المهام الذاتية والمفتوحة، مما يمكنه من توليد ردود أكثر فائدة ونصوص ذات جودة أعلى. بالإضافة إلى ذلك، تم تعزيز قدرة النموذج على فهم النصوص الطويلة إلى 256 ألف رمز. هذا النموذج يدعم فقط وضع عدم التفكير، ولن ينتج علامات `<think></think>` في مخرجاته."
|
||||
},
|
||||
"Qwen/Qwen3-30B-A3B-Thinking-2507": {
|
||||
"description": "Qwen3-30B-A3B-Thinking-2507 هو أحدث نموذج من سلسلة Qwen3 أصدره فريق Tongyi Qianwen في علي بابا. كنموذج خبير مختلط (MoE) يضم إجمالي 305 亿 (30.5 مليار) معلمة و33 亿 (3.3 مليار) معلمة تنشيط، يركز على تعزيز قدرة معالجة المهام المعقدة. أظهر هذا النموذج تحسناً ملحوظاً في الاستدلال المنطقي والرياضيات والعلوم والبرمجة والاختبارات المعيارية الأكاديمية التي تتطلب خبرة بشرية متخصصة. وفي الوقت نفسه، تحسنت قدراته العامة بشكل كبير في الالتزام بالتعليمات واستخدام الأدوات وتوليد النصوص ومحاذاة التفضيلات البشرية. يدعم النموذج أصلاً فهم سياق طويل بطول 256K وقابل للتوسع ليصل إلى مليون توكن. تم تصميم هذا الإصدار لوضع \"التفكير\"، ويهدف إلى حل المهام شديدة التعقيد من خلال استدلال تفصيلي خطوة بخطوة، كما برزت قدرات الوكلاء (Agent) فيه بشكل مميز."
|
||||
},
|
||||
"Qwen/Qwen3-32B": {
|
||||
"description": "Qwen3 هو نموذج جديد من الجيل التالي مع تحسينات كبيرة في القدرات، حيث يصل إلى مستويات رائدة في الاستدلال، المهام العامة، الوكلاء، واللغات المتعددة، ويدعم تبديل وضع التفكير."
|
||||
},
|
||||
"Qwen/Qwen3-8B": {
|
||||
"description": "Qwen3 هو نموذج جديد من الجيل التالي مع تحسينات كبيرة في القدرات، حيث يصل إلى مستويات رائدة في الاستدلال، المهام العامة، الوكلاء، واللغات المتعددة، ويدعم تبديل وضع التفكير."
|
||||
},
|
||||
"Qwen/Qwen3-Coder-30B-A3B-Instruct": {
|
||||
"description": "Qwen3-Coder-30B-A3B-Instruct هو نموذج شيفرة من سلسلة Qwen3 طوّرته فريق Tongyi Qianwen التابع لشركة علي بابا. كنموذج مُبسّط ومُحسّن، يركز على تعزيز قدرات معالجة الشيفرة مع الحفاظ على أداء وكفاءة عاليتين. يُظهر هذا النموذج مزايا أداء بارزة بين النماذج مفتوحة المصدر في مهام معقدة مثل البرمجة الوكِيلية (Agentic Coding)، التشغيل الآلي لمتصفحات الويب واستدعاء الأدوات. يدعم النموذج بطبيعته سياقاً طويلاً يصل إلى 256K توكن، وقابلاً للتوسيع حتى 1M توكن، مما يتيح فهماً ومعالجة أفضل على مستوى مستودعات الشيفرة. بالإضافة إلى ذلك، يوفر النموذج دعماً قوياً للترميز الوكيل على منصات مثل Qwen Code وCLINE، وقد صُمّم بصيغة استدعاء دوال مخصّصة."
|
||||
},
|
||||
"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."
|
||||
},
|
||||
"Qwen2-72B-Instruct": {
|
||||
"description": "Qwen2 هو أحدث سلسلة من نموذج Qwen، ويدعم سياقًا يصل إلى 128 ألف، مقارنةً بأفضل النماذج مفتوحة المصدر الحالية، يتفوق Qwen2-72B بشكل ملحوظ في فهم اللغة الطبيعية والمعرفة والترميز والرياضيات والقدرات متعددة اللغات."
|
||||
},
|
||||
@@ -1112,27 +1103,12 @@
|
||||
"flux-dev": {
|
||||
"description": "FLUX.1 [dev] هو نموذج مفتوح المصدر للأوزان المكررة موجه للتطبيقات غير التجارية. يحافظ على جودة الصور وقدرة اتباع التعليمات مماثلة لإصدار FLUX الاحترافي، مع كفاءة تشغيل أعلى. مقارنة بالنماذج القياسية ذات الحجم المماثل، يستخدم الموارد بشكل أكثر فعالية."
|
||||
},
|
||||
"flux-kontext-max": {
|
||||
"description": "توليد وتحرير الصور السياقية بأحدث التقنيات — يجمع بين النص والصور لتحقيق نتائج دقيقة ومتسقة."
|
||||
},
|
||||
"flux-kontext-pro": {
|
||||
"description": "توليد وتحرير الصور السياقية بأحدث التقنيات — يجمع بين النص والصورة للحصول على نتائج دقيقة ومتسقة."
|
||||
},
|
||||
"flux-kontext/dev": {
|
||||
"description": "نموذج FLUX.1 مخصص لمهام تحرير الصور، يدعم إدخال النصوص والصور."
|
||||
"description": "نموذج تحرير الصور Frontier."
|
||||
},
|
||||
"flux-merged": {
|
||||
"description": "نموذج FLUX.1-merged يجمع بين ميزات العمق التي استكشفتها نسخة \"DEV\" أثناء التطوير ومزايا التنفيذ السريع التي تمثلها نسخة \"Schnell\". من خلال هذا الدمج، يعزز FLUX.1-merged حدود أداء النموذج ويوسع نطاق تطبيقاته."
|
||||
},
|
||||
"flux-pro": {
|
||||
"description": "نموذج توليد صور بالذكاء الاصطناعي من الطراز الأول للاستخدام التجاري — جودة صور لا تضاهى وقدرة عالية على إنتاج مخرجات متنوعة."
|
||||
},
|
||||
"flux-pro-1.1": {
|
||||
"description": "نموذج متقدم احترافي لتوليد الصور بالذكاء الاصطناعي — يوفر جودة صور استثنائية وقدرة دقيقة على الالتزام بالمطالبات."
|
||||
},
|
||||
"flux-pro-1.1-ultra": {
|
||||
"description": "توليد صور بالذكاء الاصطناعي بدقة فائقة — يدعم إخراج يصل إلى 4 ميجابكسل ويولد صورًا فائقة الوضوح خلال 10 ثوانٍ."
|
||||
},
|
||||
"flux-pro/kontext": {
|
||||
"description": "FLUX.1 Kontext [pro] قادر على معالجة النصوص والصور المرجعية كمدخلات، مما يتيح تحريرًا محليًا مستهدفًا وتحولات معقدة للمشهد الكلي بسلاسة."
|
||||
},
|
||||
@@ -1142,11 +1118,8 @@
|
||||
"flux.1-schnell": {
|
||||
"description": "محول تدفق مصحح يحتوي على 12 مليار معلمة، قادر على توليد الصور بناءً على الوصف النصي."
|
||||
},
|
||||
"flux/krea": {
|
||||
"description": "Flux Krea [dev] هو نموذج توليد صور ذو تفضيلات جمالية، يهدف إلى إنتاج صور أكثر واقعية وطبيعية."
|
||||
},
|
||||
"flux/schnell": {
|
||||
"description": "FLUX.1 [schnell] هو نموذج توليد صور يحتوي على 12 مليار معلمة، يركز على توليد صور عالية الجودة بسرعة."
|
||||
"description": "FLUX.1 [schnell] هو نموذج محول متدفق يحتوي على 12 مليار معلمة، قادر على توليد صور عالية الجودة من النص في 1 إلى 4 خطوات، مناسب للاستخدام الشخصي والتجاري."
|
||||
},
|
||||
"gemini-1.0-pro-001": {
|
||||
"description": "Gemini 1.0 Pro 001 (تعديل) يوفر أداءً مستقرًا وقابلًا للتعديل، وهو الخيار المثالي لحلول المهام المعقدة."
|
||||
@@ -1217,9 +1190,6 @@
|
||||
"gemini-2.5-flash": {
|
||||
"description": "Gemini 2.5 Flash هو نموذج Google الأكثر فعالية من حيث التكلفة، ويوفر وظائف شاملة."
|
||||
},
|
||||
"gemini-2.5-flash-image-preview": {
|
||||
"description": "Gemini 2.5 Flash Image Preview هو أحدث وأسرع وأكثر كفاءة نموذج متعدد الوسائط أصلي من Google، ويتيح لك إنشاء الصور وتحريرها من خلال المحادثة."
|
||||
},
|
||||
"gemini-2.5-flash-lite": {
|
||||
"description": "Gemini 2.5 Flash-Lite هو أصغر وأفضل نموذج من حيث التكلفة من Google، مصمم للاستخدام على نطاق واسع."
|
||||
},
|
||||
@@ -1322,9 +1292,6 @@
|
||||
"glm-4.5-x": {
|
||||
"description": "نسخة فائقة السرعة من GLM-4.5، تجمع بين أداء قوي وسرعة توليد تصل إلى 100 رمز في الثانية."
|
||||
},
|
||||
"glm-4.5v": {
|
||||
"description": "نموذج استدلال بصري من الجيل الجديد لشركة Zhipu مبني على بنية MOE، بإجمالي 106 مليار معامل و12 مليار معامل نشط، وقد بلغ مستوى الأداء الأعلى (SOTA) بين نماذج التعدد الوسائط مفتوحة المصدر المماثلة على مستوى العالم في عدة اختبارات معيارية، ويغطي مهامًا شائعة مثل فهم الصور والفيديو والمستندات وواجهات المستخدم الرسومية (GUI)."
|
||||
},
|
||||
"glm-4v": {
|
||||
"description": "GLM-4V يوفر قدرات قوية في فهم الصور والاستدلال، ويدعم مجموعة متنوعة من المهام البصرية."
|
||||
},
|
||||
@@ -1464,7 +1431,7 @@
|
||||
"description": "يوفر GPT-4.1 mini توازنًا بين الذكاء والسرعة والتكلفة، مما يجعله نموذجًا جذابًا للعديد من الاستخدامات."
|
||||
},
|
||||
"gpt-4.5-preview": {
|
||||
"description": "GPT-4.5-preview هو أحدث نموذج عام متعدد الأغراض، يتمتع بمعرفة عالمية عميقة وفهم محسن لنوايا المستخدم، ويتفوق في المهام الإبداعية وفي تخطيط الوكلاء. معارف هذا النموذج محدّثة حتى أكتوبر 2023."
|
||||
"description": "نسخة المعاينة البحثية لـ GPT-4.5، وهي أكبر وأقوى نموذج GPT لدينا حتى الآن. تتمتع بمعرفة واسعة عن العالم وتفهم أفضل لنوايا المستخدم، مما يجعلها بارعة في المهام الإبداعية والتخطيط الذاتي. يمكن لـ GPT-4.5 قبول المدخلات النصية والصورية وتوليد مخرجات نصية (بما في ذلك المخرجات الهيكلية). تدعم ميزات المطورين الأساسية مثل استدعاء الدوال، وواجهة برمجة التطبيقات الجماعية، والمخرجات المتدفقة. تتألق GPT-4.5 بشكل خاص في المهام التي تتطلب التفكير الإبداعي، والتفكير المفتوح، والحوار (مثل الكتابة، والتعلم، أو استكشاف أفكار جديدة). تاريخ انتهاء المعرفة هو أكتوبر 2023."
|
||||
},
|
||||
"gpt-4o": {
|
||||
"description": "ChatGPT-4o هو نموذج ديناميكي يتم تحديثه في الوقت الحقيقي للحفاظ على أحدث إصدار. يجمع بين فهم اللغة القوي وقدرات التوليد، مما يجعله مناسبًا لمجموعة واسعة من التطبيقات، بما في ذلك خدمة العملاء والتعليم والدعم الفني."
|
||||
@@ -1514,18 +1481,6 @@
|
||||
"gpt-4o-transcribe": {
|
||||
"description": "GPT-4o Transcribe هو نموذج تحويل الصوت إلى نص يستخدم GPT-4o لتفريغ الصوت. مقارنةً بنموذج Whisper الأصلي، يحسن معدل الخطأ في الكلمات ويعزز التعرف على اللغة والدقة. استخدمه للحصول على تفريغ أكثر دقة."
|
||||
},
|
||||
"gpt-5": {
|
||||
"description": "أفضل نموذج للترميز والمهام الوكيلة عبر المجالات. يحقق GPT-5 قفزة في الدقة والسرعة والاستدلال والتعرف على السياق والتفكير المنظم وحل المشكلات."
|
||||
},
|
||||
"gpt-5-chat-latest": {
|
||||
"description": "نموذج GPT-5 المستخدم في ChatGPT. يجمع بين قدرات قوية في فهم اللغة وتوليدها، مناسب لتطبيقات التفاعل الحواري."
|
||||
},
|
||||
"gpt-5-mini": {
|
||||
"description": "نسخة أسرع وأكثر اقتصادية من GPT-5، مناسبة للمهام المحددة بوضوح. توفر استجابة أسرع مع الحفاظ على جودة عالية."
|
||||
},
|
||||
"gpt-5-nano": {
|
||||
"description": "أسرع وأكفأ نسخة من GPT-5 من حيث التكلفة. مثالية للتطبيقات التي تتطلب استجابة سريعة وحساسة للتكلفة."
|
||||
},
|
||||
"gpt-image-1": {
|
||||
"description": "نموذج توليد الصور متعدد الوسائط الأصلي من ChatGPT"
|
||||
},
|
||||
@@ -1667,23 +1622,14 @@
|
||||
"image-01-live": {
|
||||
"description": "نموذج توليد صور يقدم تفاصيل دقيقة، يدعم توليد الصور من النصوص مع إمكانية ضبط الأسلوب الفني."
|
||||
},
|
||||
"imagen-4.0-fast-generate-001": {
|
||||
"description": "Imagen، سلسلة نماذج تحويل النص إلى صورة من الجيل الرابع، الإصدار السريع"
|
||||
},
|
||||
"imagen-4.0-generate-001": {
|
||||
"description": "سلسلة نماذج Imagen لتحويل النص إلى صورة من الجيل الرابع"
|
||||
},
|
||||
"imagen-4.0-generate-preview-06-06": {
|
||||
"description": "سلسلة نموذج Imagen للجيل الرابع لتحويل النص إلى صورة"
|
||||
},
|
||||
"imagen-4.0-ultra-generate-001": {
|
||||
"description": "سلسلة نماذج Imagen لتحويل النص إلى صورة من الجيل الرابع — إصدار Ultra"
|
||||
},
|
||||
"imagen-4.0-ultra-generate-preview-06-06": {
|
||||
"description": "نسخة ألترا من سلسلة نموذج Imagen للجيل الرابع لتحويل النص إلى صورة"
|
||||
},
|
||||
"imagen4/preview": {
|
||||
"description": "نموذج توليد صور عالي الجودة مقدم من جوجل."
|
||||
"description": "نموذج توليد الصور الأعلى جودة من Google"
|
||||
},
|
||||
"internlm/internlm2_5-7b-chat": {
|
||||
"description": "InternLM2.5 يوفر حلول حوار ذكية في عدة سيناريوهات."
|
||||
@@ -1718,9 +1664,6 @@
|
||||
"kimi-k2-0711-preview": {
|
||||
"description": "kimi-k2 هو نموذج أساسي بمعمارية MoE يتمتع بقدرات فائقة في البرمجة والوكيل، مع إجمالي 1 تريليون معلمة و32 مليار معلمة مفعلة. في اختبارات الأداء الأساسية في مجالات المعرفة العامة، البرمجة، الرياضيات، والوكيل، يتفوق نموذج K2 على النماذج المفتوحة المصدر الرئيسية الأخرى."
|
||||
},
|
||||
"kimi-k2-turbo-preview": {
|
||||
"description": "kimi-k2 هو نموذج أساسي بمعمارية MoE يتمتع بقدرات قوية للغاية في البرمجة وقدرات الوكيل (Agent)، بإجمالي معلمات يبلغ 1 تريليون والمعلمات المُفعَّلة 32 مليار. في اختبارات الأداء المعيارية للفئات الرئيسية مثل الاستدلال المعرفي العام والبرمجة والرياضيات والوكلاء (Agent)، تفوق أداء نموذج K2 على النماذج المفتوحة المصدر السائدة الأخرى."
|
||||
},
|
||||
"kimi-latest": {
|
||||
"description": "يستخدم منتج كيمي المساعد الذكي أحدث نموذج كبير من كيمي، وقد يحتوي على ميزات لم تستقر بعد. يدعم فهم الصور، وسيختار تلقائيًا نموذج 8k/32k/128k كنموذج للتسعير بناءً على طول سياق الطلب."
|
||||
},
|
||||
@@ -1805,9 +1748,6 @@
|
||||
"llava:34b": {
|
||||
"description": "LLaVA هو نموذج متعدد الوسائط يجمع بين مشفرات بصرية وVicuna، يستخدم لفهم بصري ولغوي قوي."
|
||||
},
|
||||
"magistral-medium-latest": {
|
||||
"description": "Magistral Medium 1.1 هو نموذج استدلال رائد أطلقته Mistral AI في يوليو 2025."
|
||||
},
|
||||
"mathstral": {
|
||||
"description": "MathΣtral مصمم للبحث العلمي والاستدلال الرياضي، يوفر قدرة حسابية فعالة وتفسير النتائج."
|
||||
},
|
||||
@@ -2139,7 +2079,7 @@
|
||||
"description": "o1-mini هو نموذج استدلال سريع وفعال من حيث التكلفة مصمم لتطبيقات البرمجة والرياضيات والعلوم. يحتوي هذا النموذج على 128K من السياق وتاريخ انتهاء المعرفة في أكتوبر 2023."
|
||||
},
|
||||
"o1-preview": {
|
||||
"description": "يركّز على الاستدلال المتقدّم وحل المشكلات المعقّدة، بما في ذلك المهام الرياضية والعلمية. مناسب للغاية للتطبيقات التي تتطلّب فهماً عميقاً للسياق وسير عمل مستقل."
|
||||
"description": "o1 هو نموذج استدلال جديد من OpenAI، مناسب للمهام المعقدة التي تتطلب معرفة عامة واسعة. يحتوي هذا النموذج على 128K من السياق وتاريخ انتهاء المعرفة في أكتوبر 2023."
|
||||
},
|
||||
"o1-pro": {
|
||||
"description": "نماذج سلسلة o1 مدربة بالتعلم المعزز، قادرة على التفكير قبل الإجابة وتنفيذ مهام استدلال معقدة. يستخدم نموذج o1-pro موارد حسابية أكبر للتفكير الأعمق، مما يضمن تقديم إجابات ذات جودة أعلى باستمرار."
|
||||
@@ -2258,15 +2198,6 @@
|
||||
"qwen-coder-turbo-latest": {
|
||||
"description": "نموذج Qwen للبرمجة."
|
||||
},
|
||||
"qwen-flash": {
|
||||
"description": "سلسلة Qwen-Flash هي الأسرع والأقل تكلفة بشكل كبير، ومناسبة للمهام البسيطة."
|
||||
},
|
||||
"qwen-image": {
|
||||
"description": "Qwen-Image هي نموذج عام لتوليد الصور يدعم أنماطًا فنية متعددة، ويتميز بقدرته على عرض النصوص المعقدة، خصوصًا النصوص بالصينية والإنجليزية. يدعم النموذج تخطيطات متعددة الأسطر، وتوليد نص على مستوى الفقرات، وتمثيل التفاصيل الدقيقة، مما يتيح إنشاء تصميمات معقدة تمزج بين النص والصورة."
|
||||
},
|
||||
"qwen-image-edit": {
|
||||
"description": "أصدر فريق Qwen نموذجًا احترافيًا لتحرير الصور يدعم التحرير الدلالي وتحرير المظهر، ويستطيع تحرير النصوص بالصينية والإنجليزية بدقة، وتحقيق تحويلات النمط وتدوير الكائنات، وغيرها من عمليات تحرير الصور عالية الجودة."
|
||||
},
|
||||
"qwen-long": {
|
||||
"description": "نموذج Qwen العملاق للغة، يدعم سياقات نصية طويلة، بالإضافة إلى وظائف الحوار المستندة إلى الوثائق الطويلة والعديد من الوثائق."
|
||||
},
|
||||
@@ -2292,7 +2223,7 @@
|
||||
"description": "نموذج لغة ضخم من توغي، نسخة معززة، يدعم إدخال لغات مختلفة مثل الصينية والإنجليزية."
|
||||
},
|
||||
"qwen-turbo": {
|
||||
"description": "لن يتم تحديث 通义千问 Turbo مستقبلًا؛ يُنصح باستبداله بـ 通义千问 Flash. 通义千问 هو نموذج لغوي ضخم جدًا ويدعم إدخال لغات مختلفة مثل الصينية والإنجليزية."
|
||||
"description": "نموذج لغة ضخم من توغي، يدعم إدخال لغات مختلفة مثل الصينية والإنجليزية."
|
||||
},
|
||||
"qwen-vl-chat-v1": {
|
||||
"description": "نموذج Qwen العملاق للغة البصرية يدعم طرق تفاعل مرنة، بما في ذلك الصور المتعددة، والأسئلة والأجوبة المتعددة، والإبداع."
|
||||
@@ -2609,15 +2540,9 @@
|
||||
"step-2x-large": {
|
||||
"description": "نموذج الجيل الجديد من Step Star، يركز على مهام توليد الصور، قادر على توليد صور عالية الجودة بناءً على الأوصاف النصية المقدمة من المستخدم. يتميز النموذج الجديد بجودة صور أكثر واقعية وقدرات أفضل في توليد النصوص الصينية والإنجليزية."
|
||||
},
|
||||
"step-3": {
|
||||
"description": "يمتلك هذا النموذج قدرة فائقة على الإدراك البصري وعلى الاستدلال المعقّد. يمكنه إنجاز فهم دقيق للمعارف المعقّدة عبر مجالات متعدّدة، وإجراء تحليلات تقاطعية بين المعلومات الرياضية والبصرية، وكذلك معالجة مختلف مسائل التحليل البصري في الحياة اليومية."
|
||||
},
|
||||
"step-r1-v-mini": {
|
||||
"description": "هذا النموذج هو نموذج استدلال كبير يتمتع بقدرة قوية على فهم الصور، يمكنه معالجة المعلومات النصية والصورية، ويخرج نصوصًا بعد تفكير عميق. يظهر هذا النموذج أداءً بارزًا في مجال الاستدلال البصري، كما يمتلك قدرات رياضية، برمجية، ونصية من الدرجة الأولى. طول السياق هو 100k."
|
||||
},
|
||||
"stepfun-ai/step3": {
|
||||
"description": "Step3 هو نموذج استدلال متعدد الوسائط متقدم أصدرته شركة 阶跃星辰 (StepFun). بُني على بنية مزيج الخبراء (MoE) التي تضم 321 مليار معلمة إجمالية و38 مليار معلمة تنشيط. صُمم النموذج بنهج من الطرف إلى الطرف ليقلل تكلفة فك الترميز، مع تقديم أداء رائد في الاستدلال البصري-اللغوي. من خلال التصميم التعاوني لآلية انتباه تفكيك متعدد المصفوفات (MFA) وفصل الانتباه عن شبكة التغذية الأمامية (AFD)، يحافظ Step3 على كفاءة ممتازة على كل من المسرعات الرائدة والمسرعات منخفضة التكلفة. في مرحلة ما قبل التدريب عالج Step3 أكثر من 20 تريليون توكن نصي و4 تريليون توكن مختلط نص-صورة، مغطياً أكثر من عشر لغات. حقق النموذج أداءً متقدماً بين نماذج المصدر المفتوح في عدة معايير قياسية تشمل الرياضيات والبرمجة والمهام متعددة الوسائط."
|
||||
},
|
||||
"taichu_llm": {
|
||||
"description": "نموذج اللغة الكبير TaiChu يتمتع بقدرات قوية في فهم اللغة، بالإضافة إلى إنشاء النصوص، والإجابة على الأسئلة، وبرمجة الأكواد، والحسابات الرياضية، والاستدلال المنطقي، وتحليل المشاعر، وتلخيص النصوص. يجمع بشكل مبتكر بين التدريب المسبق على البيانات الضخمة والمعرفة الغنية من مصادر متعددة، من خلال تحسين تقنيات الخوارزميات باستمرار واستيعاب المعرفة الجديدة من البيانات النصية الضخمة، مما يحقق تطورًا مستمرًا في أداء النموذج. يوفر للمستخدمين معلومات وخدمات أكثر سهولة وتجربة أكثر ذكاءً."
|
||||
},
|
||||
@@ -2764,8 +2689,5 @@
|
||||
},
|
||||
"zai-org/GLM-4.5-Air": {
|
||||
"description": "GLM-4.5-Air هو نموذج أساسي مصمم لتطبيقات الوكلاء الذكية، يستخدم بنية Mixture-of-Experts (MoE). تم تحسينه بعمق في مجالات استدعاء الأدوات، تصفح الويب، هندسة البرمجيات، وبرمجة الواجهة الأمامية، ويدعم التكامل السلس مع وكلاء الكود مثل Claude Code وRoo Code. يستخدم وضع استدلال مختلط ليتكيف مع سيناريوهات الاستدلال المعقدة والاستخدام اليومي."
|
||||
},
|
||||
"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 معياراً متعدد الوسائط منشوراً. بالإضافة إلى ذلك، أضاف النموذج مفتاح \"وضع التفكير\" الذي يتيح للمستخدمين التبديل بين الاستجابة السريعة والاستدلال العميق بحرية لتوازن أفضل بين الكفاءة والفعالية."
|
||||
}
|
||||
}
|
||||
|
||||
@@ -26,9 +26,6 @@
|
||||
"bedrock": {
|
||||
"description": "Bedrock هي خدمة تقدمها أمازون AWS، تركز على توفير نماذج لغة ورؤية متقدمة للذكاء الاصطناعي للشركات. تشمل عائلة نماذجها سلسلة Claude من Anthropic وسلسلة Llama 3.1 من Meta، وتغطي مجموعة من الخيارات من النماذج الخفيفة إلى عالية الأداء، وتدعم مهام مثل توليد النصوص، والحوار، ومعالجة الصور، مما يجعلها مناسبة لتطبيقات الشركات بمختلف أحجامها واحتياجاتها."
|
||||
},
|
||||
"bfl": {
|
||||
"description": "مختبر أبحاث رائد في مقدمة الذكاء الاصطناعي، يبني البنية التحتية البصرية للمستقبل."
|
||||
},
|
||||
"cloudflare": {
|
||||
"description": "تشغيل نماذج التعلم الآلي المدفوعة بوحدات معالجة الرسوميات بدون خادم على شبكة Cloudflare العالمية."
|
||||
},
|
||||
|
||||
@@ -183,21 +183,10 @@
|
||||
"title": "معلومات المساعد"
|
||||
},
|
||||
"settingAppearance": {
|
||||
"animationMode": {
|
||||
"agile": "سريع",
|
||||
"desc": "اختر سرعة استجابة حركة التطبيق",
|
||||
"disabled": "إيقاف",
|
||||
"elegant": "أنيق",
|
||||
"title": "حركة الاستجابة"
|
||||
},
|
||||
"neutralColor": {
|
||||
"desc": "تخصيص تدرجات الرمادي ذات الاتجاهات اللونية المختلفة",
|
||||
"title": "لون محايد"
|
||||
},
|
||||
"noAnimation": {
|
||||
"desc": "تعطيل جميع تأثيرات الحركة في التطبيق",
|
||||
"title": "وضع بدون حركة"
|
||||
},
|
||||
"preview": {
|
||||
"title": "لوحة الألوان"
|
||||
},
|
||||
|
||||
@@ -46,9 +46,6 @@
|
||||
"reasoningEffort": {
|
||||
"title": "Интензитет на разсъждение"
|
||||
},
|
||||
"textVerbosity": {
|
||||
"title": "Ниво на подробност на изходния текст"
|
||||
},
|
||||
"thinking": {
|
||||
"title": "Превключвател за дълбоко мислене"
|
||||
},
|
||||
|
||||
@@ -1,9 +1,4 @@
|
||||
{
|
||||
"ArgsInput": {
|
||||
"addArgument": "Добави параметър",
|
||||
"argumentPlaceholder": "Параметър {{index}}",
|
||||
"enterFirstArgument": "Въведете първия параметър..."
|
||||
},
|
||||
"DragUpload": {
|
||||
"dragDesc": "Плъзнете файлове тук, поддържа качване на множество изображения.",
|
||||
"dragFileDesc": "Плъзнете изображения и файлове тук, поддържа качване на множество изображения и файлове.",
|
||||
@@ -130,12 +125,6 @@
|
||||
},
|
||||
"progress": {
|
||||
"uploadingWithCount": "{{completed}}/{{total}} качени"
|
||||
},
|
||||
"validation": {
|
||||
"fileSizeExceeded": "Превишен допустим размер на файла",
|
||||
"fileSizeExceededDetail": "{{fileName}} ({{actualSize}}) надвишава максимално допустимия размер {{maxSize}}",
|
||||
"fileSizeExceededMultiple": "{{count}} файла надвишават максимално допустимия размер {{maxSize}}: {{fileList}}",
|
||||
"imageCountExceeded": "Надвишен е допустимият брой изображения"
|
||||
}
|
||||
},
|
||||
"OllamaSetupGuide": {
|
||||
|
||||
@@ -85,17 +85,6 @@
|
||||
"CreateMessageError": "Съжалявам, съобщението не можа да бъде изпратено успешно. Моля, копирайте съдържанието и го изпратете отново. След опресняване на страницата, това съобщение няма да бъде запазено.",
|
||||
"ExceededContextWindow": "Текущото съдържание на заявката надвишава дължината, която моделът може да обработи. Моля, намалете обема на съдържанието и опитайте отново.",
|
||||
"FreePlanLimit": "В момента сте потребител на безплатен план и не можете да използвате тази функционалност. Моля, надстройте до платен план, за да продължите да я използвате.",
|
||||
"GoogleAIBlockReason": {
|
||||
"BLOCKLIST": "Вашето съдържание съдържа забранени думи. Моля, прегледайте и коригирайте входа си и опитайте отново。",
|
||||
"IMAGE_SAFETY": "Генерираното изображение е блокирано поради съображения за сигурност. Моля, опитайте да модифицирате заявката за генериране на изображение。",
|
||||
"LANGUAGE": "Езикът, който използвате, в момента не се поддържа. Моля, опитайте с английски или друг поддържан език。",
|
||||
"OTHER": "Съдържанието е блокирано по неизвестна причина. Моля, опитайте да преформулирате заявката си。",
|
||||
"PROHIBITED_CONTENT": "Вашата заявка може да съдържа забранено съдържание. Моля, коригирайте заявката, за да съответства на правилата за използване。",
|
||||
"RECITATION": "Вашето съдържание е блокирано поради възможни нарушения на авторското право. Моля, опитайте с оригинално съдържание или преформулирайте заявката си。",
|
||||
"SAFETY": "Вашето съдържание е блокирано поради политики за безопасност. Моля, коригирайте заявката си, като избягвате потенциално вредно или неподходящо съдържание。",
|
||||
"SPII": "Вашето съдържание може да съдържа чувствителна лична информация. За защита на поверителността, моля премахнете съответната чувствителна информация и опитайте отново。",
|
||||
"default": "Съдържанието е блокирано: {{blockReason}}。请调整您的请求内容后重试。"
|
||||
},
|
||||
"InsufficientQuota": "Съжаляваме, квотата за този ключ е достигнала лимита. Моля, проверете баланса на акаунта си или увеличете квотата на ключа и опитайте отново.",
|
||||
"InvalidAccessCode": "Невалиден или празен код за достъп. Моля, въведете правилния код за достъп или добавете персонализиран API ключ.",
|
||||
"InvalidBedrockCredentials": "Удостоверяването на Bedrock е неуспешно. Моля, проверете AccessKeyId/SecretAccessKey и опитайте отново.",
|
||||
|
||||
@@ -21,10 +21,6 @@
|
||||
"desc": "Влезте в режим на редактиране, като задържите Alt и два пъти кликнете върху съобщението",
|
||||
"title": "Редактиране на съобщение"
|
||||
},
|
||||
"navigateToChat": {
|
||||
"desc": "Превключване към раздела за разговори и влизане в случайна беседа",
|
||||
"title": "Превключване към стандартния разговор"
|
||||
},
|
||||
"openChatSettings": {
|
||||
"desc": "Прегледайте и променете настройките на текущия разговор",
|
||||
"title": "Отворете настройките на чата"
|
||||
|
||||
@@ -332,21 +332,12 @@
|
||||
"Qwen/Qwen3-30B-A3B-Instruct-2507": {
|
||||
"description": "Qwen3-30B-A3B-Instruct-2507 е обновена версия на Qwen3-30B-A3B в режим без мислене. Това е хибриден експертен (MoE) модел с общо 30,5 милиарда параметри и 3,3 милиарда активни параметри. Моделът е получил ключови подобрения в множество аспекти, включително значително подобрена способност за следване на инструкции, логическо разсъждение, разбиране на текст, математика, наука, кодиране и използване на инструменти. Освен това, той постига съществен напредък в покритието на дългоопашатите знания на многоезично ниво и по-добре се съгласува с предпочитанията на потребителите при субективни и отворени задачи, което позволява генериране на по-полезни отговори и по-висококачествен текст. Освен това, способността му за разбиране на дълги текстове е увеличена до 256K. Този модел поддържа само режим без мислене и в изхода му не се генерират тагове `<think></think>`."
|
||||
},
|
||||
"Qwen/Qwen3-30B-A3B-Thinking-2507": {
|
||||
"description": "Qwen3-30B-A3B-Thinking-2507 е най-новият мисловен модел от серията Qwen3, публикуван от екипа Tongyi Qianwen на Alibaba. Като хибриден модел от типа Mixture of Experts (MoE) с общо 30,5 милиарда параметри и 3,3 милиарда активни параметри, той е насочен към повишаване на възможностите за справяне със сложни задачи. Моделът показва значително подобрение в логическото разсъждение, математиката, естествените науки, програмирането и академичните бенчмаркове, изискващи човешка експертиза. В същото време общите му способности — следване на инструкции, използване на инструменти, генериране на текст и съгласуване с човешките предпочитания — също са значително подсилени. Моделът поддържа нативно дълъг контекст до 256K и може да бъде разширен до 1 000 000 токена. Тази версия е специално проектирана за мисловен режим, с цел да решава изключително сложни задачи чрез подробни стъпкови разсъждения; агентните ѝ възможности също се представят отлично."
|
||||
},
|
||||
"Qwen/Qwen3-32B": {
|
||||
"description": "Qwen3 е ново поколение модел на Tongyi Qianwen с значително подобрени способности, достигащи водещо ниво в индустрията в разсъждения, общи, агенти и многоезични основни способности, и поддържа превключване на режим на мислене."
|
||||
},
|
||||
"Qwen/Qwen3-8B": {
|
||||
"description": "Qwen3 е ново поколение модел на Tongyi Qianwen с значително подобрени способности, достигащи водещо ниво в индустрията в разсъждения, общи, агенти и многоезични основни способности, и поддържа превключване на режим на мислене."
|
||||
},
|
||||
"Qwen/Qwen3-Coder-30B-A3B-Instruct": {
|
||||
"description": "Qwen3-Coder-30B-A3B-Instruct е кодов модел от серията Qwen3, разработен от екипа Tongyi Qianwen на Alibaba. Като рационализиран и оптимизиран модел, той запазва висока производителност и ефективност, като същевременно е фокусиран върху подобряване на възможностите за обработка на код. Моделът показва значително предимство сред отворените модели при сложни задачи като агентно програмиране (Agentic Coding), автоматизирани браузърни операции и извикване на инструменти. Той предлага нативна поддръжка за дълги контексти до 256K токена и може да се разшири до 1M токена, което позволява по-добро разбиране и обработка на ниво кодова база. Освен това моделът предоставя силна поддръжка за агентно кодиране в платформи като Qwen Code и CLINE и е проектирал специален формат за извикване на функции."
|
||||
},
|
||||
"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."
|
||||
},
|
||||
"Qwen2-72B-Instruct": {
|
||||
"description": "Qwen2 е най-новата серия на модела Qwen, поддържаща 128k контекст. В сравнение с текущите най-добри отворени модели, Qwen2-72B значително надминава водещите модели в области като разбиране на естествен език, знания, код, математика и многоезичност."
|
||||
},
|
||||
@@ -1112,27 +1103,12 @@
|
||||
"flux-dev": {
|
||||
"description": "FLUX.1 [dev] е отворен и пречистен модел, предназначен за нетърговска употреба. Той запазва качество на изображенията и способността за следване на инструкции, близки до професионалната версия на FLUX, като същевременно предлага по-висока ефективност на работа и по-добро използване на ресурсите в сравнение със стандартни модели със същия размер."
|
||||
},
|
||||
"flux-kontext-max": {
|
||||
"description": "Най-съвременно генериране и редактиране на контекстуални изображения — комбиниране на текст и изображения за постигане на прецизни и кохерентни резултати."
|
||||
},
|
||||
"flux-kontext-pro": {
|
||||
"description": "Най-съвременни възможности за контекстно генериране и редактиране на изображения — комбиниране на текст и изображения за постигане на прецизни и последователни резултати."
|
||||
},
|
||||
"flux-kontext/dev": {
|
||||
"description": "FLUX.1 модел, фокусиран върху задачи за редактиране на изображения, поддържащ текстови и визуални входни данни."
|
||||
"description": "Модел за редактиране на изображения Frontier."
|
||||
},
|
||||
"flux-merged": {
|
||||
"description": "FLUX.1-merged комбинира дълбоките характеристики, изследвани в разработката на \"DEV\" версията, с високоскоростните предимства на \"Schnell\". Тази комбинация не само разширява границите на производителността на модела, но и увеличава обхвата на неговото приложение."
|
||||
},
|
||||
"flux-pro": {
|
||||
"description": "Водещ комерсиален модел за генериране на изображения с изкуствен интелект — несравнимо качество на изображенията и богато разнообразие на генерираните резултати."
|
||||
},
|
||||
"flux-pro-1.1": {
|
||||
"description": "Усъвършенстван професионален модел за генериране на изображения с изкуствен интелект — предлага изключително качество на изображенията и прецизно изпълнение на подадените подсказки."
|
||||
},
|
||||
"flux-pro-1.1-ultra": {
|
||||
"description": "Генериране на изображения с изкуствен интелект с изключително висока резолюция — поддържа изход 4 мегапиксела, създава ултраясни изображения за по-малко от 10 секунди."
|
||||
},
|
||||
"flux-pro/kontext": {
|
||||
"description": "FLUX.1 Kontext [pro] може да обработва текст и референтни изображения като вход, осигурявайки безпроблемно целенасочено локално редактиране и сложни трансформации на цялостната сцена."
|
||||
},
|
||||
@@ -1142,11 +1118,8 @@
|
||||
"flux.1-schnell": {
|
||||
"description": "Коригиран потоков трансформър с 12 милиарда параметри, способен да генерира изображения въз основа на текстово описание."
|
||||
},
|
||||
"flux/krea": {
|
||||
"description": "Flux Krea [dev] е модел за генериране на изображения с естетически предпочитания, целящ да създава по-реалистични и естествени изображения."
|
||||
},
|
||||
"flux/schnell": {
|
||||
"description": "FLUX.1 [schnell] е модел за генериране на изображения с 12 милиарда параметри, фокусиран върху бързото създаване на висококачествени изображения."
|
||||
"description": "FLUX.1 [schnell] е потоков трансформаторен модел с 12 милиарда параметри, способен да генерира висококачествени изображения от текст в 1 до 4 стъпки, подходящ за лична и търговска употреба."
|
||||
},
|
||||
"gemini-1.0-pro-001": {
|
||||
"description": "Gemini 1.0 Pro 001 (Тунинг) предлага стабилна и настройваема производителност, идеален избор за решения на сложни задачи."
|
||||
@@ -1217,9 +1190,6 @@
|
||||
"gemini-2.5-flash": {
|
||||
"description": "Gemini 2.5 Flash е най-ефективният модел на Google, предлагащ пълна функционалност."
|
||||
},
|
||||
"gemini-2.5-flash-image-preview": {
|
||||
"description": "Gemini 2.5 Flash Image Preview е най-новият, най-бързият и най-ефективният роден мултимодален модел на Google; той ви позволява чрез диалог да създавате и редактирате изображения."
|
||||
},
|
||||
"gemini-2.5-flash-lite": {
|
||||
"description": "Gemini 2.5 Flash-Lite е най-малкият и най-ефективен модел на Google, създаден специално за масово използване."
|
||||
},
|
||||
@@ -1322,9 +1292,6 @@
|
||||
"glm-4.5-x": {
|
||||
"description": "Експресната версия на GLM-4.5, която съчетава силна производителност с генериране на скорост до 100 токена в секунда."
|
||||
},
|
||||
"glm-4.5v": {
|
||||
"description": "Новото поколение визуален модел за разсъждение на Zhipu, базиран на MOE архитектура, с общо 106B параметри и 12B активни параметри, постига SOTA сред отворените мултимодални модели в своя клас в различни бенчмаркове, обхващайки често срещани задачи като обработка на изображения, видео, разбиране на документи и GUI задачи."
|
||||
},
|
||||
"glm-4v": {
|
||||
"description": "GLM-4V предлага мощни способности за разбиране и разсъждение на изображения, поддържаща множество визуални задачи."
|
||||
},
|
||||
@@ -1464,7 +1431,7 @@
|
||||
"description": "GPT-4.1 mini предлага баланс между интелигентност, скорост и разходи, което го прави привлекателен модел за много случаи на употреба."
|
||||
},
|
||||
"gpt-4.5-preview": {
|
||||
"description": "GPT-4.5-preview е най-новият универсален модел, който притежава задълбочени световни познания и по-добро разбиране на намеренията на потребителите, отличава се в творчески задачи и при планирането на агенти. Знанията на модела са актуални до октомври 2023 г."
|
||||
"description": "Изследователската предварителна версия на GPT-4.5, която е нашият най-голям и мощен GPT модел до момента. Тя притежава обширни знания за света и може по-добре да разбира намеренията на потребителите, което я прави изключително ефективна в креативни задачи и автономно планиране. GPT-4.5 приема текстови и изображен вход и генерира текстови изход (включително структурирани изходи). Поддържа ключови функции за разработчици, като извикване на функции, пакетно API и потоков изход. В задачи, изискващи креативно, открито мислене и диалог (като писане, учене или изследване на нови идеи), GPT-4.5 показва особени способности. Крайната дата на знанията е октомври 2023."
|
||||
},
|
||||
"gpt-4o": {
|
||||
"description": "ChatGPT-4o е динамичен модел, който се актуализира в реално време, за да поддържа най-новата версия. Той комбинира мощно разбиране на езика и генериране на текст, подходящ за мащабни приложения, включително обслужване на клиенти, образование и техническа поддръжка."
|
||||
@@ -1514,18 +1481,6 @@
|
||||
"gpt-4o-transcribe": {
|
||||
"description": "GPT-4o Transcribe е модел за преобразуване на реч в текст, използващ GPT-4o за транскрибиране на аудио. В сравнение с оригиналния модел Whisper, той намалява процента на грешки в думите и подобрява разпознаването на езика и точността. Използвайте го за по-точни транскрипции."
|
||||
},
|
||||
"gpt-5": {
|
||||
"description": "Най-добрият модел за междуотраслово кодиране и задачи с агенти. GPT-5 постига пробиви в точност, скорост, разсъждение, разпознаване на контекст, структурирано мислене и решаване на проблеми."
|
||||
},
|
||||
"gpt-5-chat-latest": {
|
||||
"description": "Моделът GPT-5, използван в ChatGPT. Комбинира мощно разбиране и генериране на език, подходящ за диалогови приложения."
|
||||
},
|
||||
"gpt-5-mini": {
|
||||
"description": "По-бърза и по-икономична версия на GPT-5, подходяща за ясно дефинирани задачи. Осигурява по-бърз отговор, като същевременно поддържа високо качество на изхода."
|
||||
},
|
||||
"gpt-5-nano": {
|
||||
"description": "Най-бързата и най-икономична версия на GPT-5. Отлично подходяща за приложения, изискващи бърз отговор и чувствителни към разходите."
|
||||
},
|
||||
"gpt-image-1": {
|
||||
"description": "Роден мултимодален модел за генериране на изображения ChatGPT."
|
||||
},
|
||||
@@ -1667,23 +1622,14 @@
|
||||
"image-01-live": {
|
||||
"description": "Модел за генериране на изображения с фини детайли, поддържащ генериране от текст и настройка на стил."
|
||||
},
|
||||
"imagen-4.0-fast-generate-001": {
|
||||
"description": "Imagen — серия модели за преобразуване от текст към изображение от 4-то поколение, бърза версия"
|
||||
},
|
||||
"imagen-4.0-generate-001": {
|
||||
"description": "Imagen: серия от модели от 4-то поколение за генериране на изображения от текст"
|
||||
},
|
||||
"imagen-4.0-generate-preview-06-06": {
|
||||
"description": "Imagen 4-то поколение текст-към-изображение модел серия"
|
||||
},
|
||||
"imagen-4.0-ultra-generate-001": {
|
||||
"description": "Imagen, 4-то поколение модел за преобразуване на текст в изображение, серия Ultra"
|
||||
},
|
||||
"imagen-4.0-ultra-generate-preview-06-06": {
|
||||
"description": "Imagen 4-то поколение текст-към-изображение модел серия Ултра версия"
|
||||
},
|
||||
"imagen4/preview": {
|
||||
"description": "Висококачествен модел за генериране на изображения, предоставен от Google."
|
||||
"description": "Най-висококачественият модел за генериране на изображения на Google."
|
||||
},
|
||||
"internlm/internlm2_5-7b-chat": {
|
||||
"description": "InternLM2.5 предлага интелигентни решения за диалог в множество сценарии."
|
||||
@@ -1718,9 +1664,6 @@
|
||||
"kimi-k2-0711-preview": {
|
||||
"description": "kimi-k2 е базов модел с MoE архитектура с изключителни способности за кодиране и агентски функции, с общо 1 трилион параметри и 32 милиарда активни параметри. В тестове за общо знание, програмиране, математика и агентски задачи, моделът K2 превъзхожда други водещи отворени модели."
|
||||
},
|
||||
"kimi-k2-turbo-preview": {
|
||||
"description": "Kimi-k2 е базов модел с MoE архитектура, който притежава изключителни възможности за работа с код и агентни функции. Общият брой параметри е 1T, а активните параметри са 32B. В бенчмарковете за основни категории като общо знание и разсъждение, програмиране, математика и агентни задачи, моделът K2 превъзхожда другите водещи отворени модели."
|
||||
},
|
||||
"kimi-latest": {
|
||||
"description": "Kimi интелигентен асистент използва най-новия Kimi голям модел, който може да съдържа нестабилни функции. Поддържа разбиране на изображения и автоматично избира 8k/32k/128k модел за таксуване в зависимост от дължината на контекста на заявката."
|
||||
},
|
||||
@@ -1805,9 +1748,6 @@
|
||||
"llava:34b": {
|
||||
"description": "LLaVA е многомодален модел, комбиниращ визуален кодер и Vicuna, предназначен за мощно визуално и езиково разбиране."
|
||||
},
|
||||
"magistral-medium-latest": {
|
||||
"description": "Magistral Medium 1.1 е водещ модел за инференция, публикуван от Mistral AI през юли 2025 г."
|
||||
},
|
||||
"mathstral": {
|
||||
"description": "MathΣtral е проектиран за научни изследвания и математически разсъждения, предоставяйки ефективни изчислителни способности и интерпретация на резултати."
|
||||
},
|
||||
@@ -2139,7 +2079,7 @@
|
||||
"description": "o1-mini е бърз и икономичен модел за изводи, проектиран за приложения в програмирането, математиката и науката. Моделът разполага с контекст от 128K и дата на знание до октомври 2023."
|
||||
},
|
||||
"o1-preview": {
|
||||
"description": "Фокусиран върху усъвършенствано разсъждение и решаване на сложни проблеми, включително математически и научни задачи. Отлично подходящ за приложения, които изискват дълбоко разбиране на контекста и автономни работни процеси."
|
||||
"description": "o1 е новият модел за изводи на OpenAI, подходящ за сложни задачи, изискващи обширни общи знания. Моделът разполага с контекст от 128K и дата на знание до октомври 2023."
|
||||
},
|
||||
"o1-pro": {
|
||||
"description": "Моделите от серията o1 са обучени чрез подсилващо обучение, което им позволява да мислят преди да отговорят и да изпълняват сложни задачи за разсъждение. Моделът o1-pro използва повече изчислителни ресурси за по-задълбочено мислене, осигурявайки постоянно по-високо качество на отговорите."
|
||||
@@ -2258,15 +2198,6 @@
|
||||
"qwen-coder-turbo-latest": {
|
||||
"description": "Моделът на кода Qwen."
|
||||
},
|
||||
"qwen-flash": {
|
||||
"description": "Серията \"Tongyi Qianwen\" включва най-бързите и с изключително ниски разходи модели, подходящи за прости задачи."
|
||||
},
|
||||
"qwen-image": {
|
||||
"description": "Qwen-Image е универсален модел за генериране на изображения, който поддържа множество художествени стилове и е особено добър в рендериране на сложни текстове, включително на китайски и английски. Моделът поддържа многоредови оформления, генериране на текст на ниво абзац и изобразяване на детайли с висока прецизност, позволявайки създаване на сложни комбинирани оформления от изображение и текст."
|
||||
},
|
||||
"qwen-image-edit": {
|
||||
"description": "Професионален модел за редактиране на изображения, публикуван от екипа на Qwen, който поддържа семантично редактиране и редактиране на външния вид и може прецизно да обработва текст на китайски и английски, извършвайки висококачествени редакции на изображения като трансформация на стил и въртене на обекти."
|
||||
},
|
||||
"qwen-long": {
|
||||
"description": "Qwen е мащабен езиков модел, който поддържа дълги текстови контексти и диалогови функции, базирани на дълги документи и множество документи."
|
||||
},
|
||||
@@ -2292,7 +2223,7 @@
|
||||
"description": "通义千问(Qwen) е подобрена версия на мащабен езиков модел, който поддържа вход на различни езици, включително китайски и английски."
|
||||
},
|
||||
"qwen-turbo": {
|
||||
"description": "Версията „Tongyi Qianwen Turbo“ няма да получава повече актуализации; препоръчваме да я замените с „Tongyi Qianwen Flash“. Tongyi Qianwen е много голям езиков модел, който поддържа въвеждане на китайски, английски и други езици."
|
||||
"description": "通义千问(Qwen) е мащабен езиков модел, който поддържа вход на различни езици, включително китайски и английски."
|
||||
},
|
||||
"qwen-vl-chat-v1": {
|
||||
"description": "Qwen VL поддържа гъвкави интерактивни методи, включително множество изображения, многократни въпроси и отговори, творчество и др."
|
||||
@@ -2609,15 +2540,9 @@
|
||||
"step-2x-large": {
|
||||
"description": "Новото поколение модел за генериране на изображения Step Star, специализиран в генериране на висококачествени изображения според текстови описания от потребителя. Новият модел създава по-реалистични текстури и има по-силни способности за генериране на китайски и английски текст."
|
||||
},
|
||||
"step-3": {
|
||||
"description": "Този модел притежава мощни способности за визуално възприятие и сложни разсъждения. Той може точно да извършва междудисциплинарно разбиране на сложни знания, съвместен анализ на математическа и визуална информация, както и да решава различни визуални аналитични задачи от ежедневието."
|
||||
},
|
||||
"step-r1-v-mini": {
|
||||
"description": "Този модел е мощен модел за разсъждение с отлични способности за разбиране на изображения, способен да обработва информация от изображения и текст, и след дълбочинно разсъждение да генерира текстово съдържание. Моделът показва изключителни резултати в областта на визуалните разсъждения, като същевременно притежава първокласни способности в математиката, кода и текстовите разсъждения. Дължината на контекста е 100k."
|
||||
},
|
||||
"stepfun-ai/step3": {
|
||||
"description": "Step3 е авангарден мултимодален модел за разсъждение, публикуван от StepFun (阶跃星辰). Той е изграден върху архитектура на смес от експерти (MoE) с общо 321 милиарда параметъра и 38 милиарда активни параметъра. Моделът е с енд-ту-енд дизайн, целящ минимизиране на разходите за декодиране, като същевременно предоставя водещи резултати във визуално-лингвистичното разсъждение. Чрез кооперативния дизайн на многоматрично факторизирано внимание (MFA) и декуплиране на внимание и FFN (AFD), Step3 поддържа отлична ефективност както на флагмански, така и на по-бюджетни ускорители. По време на предварителното обучение Step3 е обработил над 20 трилиона текстови токена и 4 трилиона смесени текстово-изображенчески токена, обхващайки повече от десет езика. Моделът постига водещи резултати сред отворените модели в множество бенчмаркове, включително математика, код и мултимодални задачи."
|
||||
},
|
||||
"taichu_llm": {
|
||||
"description": "Моделът на езика TaiChu е с изключителни способности за разбиране на езика, текстово генериране, отговори на знания, програмиране, математически изчисления, логическо разсъждение, анализ на емоции, резюмиране на текст и др. Иновативно комбинира предварително обучение с големи данни и разнообразни източници на знания, чрез непрекъснато усъвършенстване на алгоритмичните технологии и усвояване на нови знания от масивни текстови данни, за да осигури на потребителите по-удобна информация и услуги, както и по-интелигентно изживяване."
|
||||
},
|
||||
@@ -2764,8 +2689,5 @@
|
||||
},
|
||||
"zai-org/GLM-4.5-Air": {
|
||||
"description": "GLM-4.5-Air е базов модел, специално създаден за интелигентни агенти, използващ архитектура с микс от експерти (Mixture-of-Experts). Той е дълбоко оптимизиран за използване на инструменти, уеб браузване, софтуерно инженерство и фронтенд програмиране, и поддържа безпроблемна интеграция с кодови агенти като Claude Code и Roo Code. GLM-4.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 публични мултимодални бенчмарка достига водещи резултати сред отворените модели от същия клас. Освен това моделът добавя превключвател за 'режим на мислене', който позволява на потребителите гъвкаво да избират между бърз отговор и дълбоко разсъждение, за да балансират ефективността и качеството."
|
||||
}
|
||||
}
|
||||
|
||||
@@ -26,9 +26,6 @@
|
||||
"bedrock": {
|
||||
"description": "Bedrock е услуга, предоставяна от Amazon AWS, фокусирана върху предоставянето на напреднали AI езикови и визуални модели за предприятия. Семейството на моделите включва серията Claude на Anthropic, серията Llama 3.1 на Meta и други, обхващащи разнообразие от опции от леки до високо производителни, поддържащи текстово генериране, диалог, обработка на изображения и много други задачи, подходящи за различни мащаби и нужди на бизнес приложения."
|
||||
},
|
||||
"bfl": {
|
||||
"description": "Водеща изследователска лаборатория за авангарден изкуствен интелект, която изгражда визуалната инфраструктура на утрешния ден."
|
||||
},
|
||||
"cloudflare": {
|
||||
"description": "Работа с модели на машинно обучение, задвижвани от безсървърни GPU, в глобалната мрежа на Cloudflare."
|
||||
},
|
||||
|
||||
@@ -183,21 +183,10 @@
|
||||
"title": "Информация за агента"
|
||||
},
|
||||
"settingAppearance": {
|
||||
"animationMode": {
|
||||
"agile": "Бързо",
|
||||
"desc": "Изберете скоростта на анимацията за отговор на действията в приложението",
|
||||
"disabled": "Изключено",
|
||||
"elegant": "Елегантно",
|
||||
"title": "Анимация на отговор"
|
||||
},
|
||||
"neutralColor": {
|
||||
"desc": "Персонализиране на сивата скала с различни цветови нюанси",
|
||||
"title": "Неутрални цветове"
|
||||
},
|
||||
"noAnimation": {
|
||||
"desc": "Деактивирайте всички анимационни ефекти в приложението",
|
||||
"title": "Режим без анимация"
|
||||
},
|
||||
"preview": {
|
||||
"title": "Цветова палитра"
|
||||
},
|
||||
|
||||
@@ -46,9 +46,6 @@
|
||||
"reasoningEffort": {
|
||||
"title": "Argumentationsstärke"
|
||||
},
|
||||
"textVerbosity": {
|
||||
"title": "Detaillierungsgrad des Ausgabetextes"
|
||||
},
|
||||
"thinking": {
|
||||
"title": "Tiefdenk-Schalter"
|
||||
},
|
||||
|
||||
@@ -1,9 +1,4 @@
|
||||
{
|
||||
"ArgsInput": {
|
||||
"addArgument": "Parameter hinzufügen",
|
||||
"argumentPlaceholder": "Parameter {{index}}",
|
||||
"enterFirstArgument": "Geben Sie den ersten Parameter ein..."
|
||||
},
|
||||
"DragUpload": {
|
||||
"dragDesc": "Ziehen Sie Dateien hierher, um mehrere Bilder hochzuladen.",
|
||||
"dragFileDesc": "Ziehen Sie Bilder und Dateien hierher, um mehrere Bilder und Dateien hochzuladen.",
|
||||
@@ -130,12 +125,6 @@
|
||||
},
|
||||
"progress": {
|
||||
"uploadingWithCount": "{{completed}}/{{total}} hochgeladen"
|
||||
},
|
||||
"validation": {
|
||||
"fileSizeExceeded": "Maximale Dateigröße überschritten",
|
||||
"fileSizeExceededDetail": "{{fileName}} ({{actualSize}}) überschreitet die maximal zulässige Größe von {{maxSize}}",
|
||||
"fileSizeExceededMultiple": "{{count}} Dateien überschreiten die maximal zulässige Größe von {{maxSize}}: {{fileList}}",
|
||||
"imageCountExceeded": "Maximale Anzahl an Bildern überschritten"
|
||||
}
|
||||
},
|
||||
"OllamaSetupGuide": {
|
||||
|
||||
@@ -85,17 +85,6 @@
|
||||
"CreateMessageError": "Es tut uns leid, die Nachricht konnte nicht erfolgreich gesendet werden. Bitte kopieren Sie den Inhalt und senden Sie ihn erneut. Nach dem Aktualisieren der Seite wird diese Nachricht nicht gespeichert.",
|
||||
"ExceededContextWindow": "Der aktuelle Anfrageinhalt überschreitet die von dem Modell verarbeitbare Länge. Bitte reduzieren Sie die Menge des Inhalts und versuchen Sie es erneut.",
|
||||
"FreePlanLimit": "Sie sind derzeit ein kostenloser Benutzer und können diese Funktion nicht nutzen. Bitte aktualisieren Sie auf ein kostenpflichtiges Abonnement, um fortzufahren.",
|
||||
"GoogleAIBlockReason": {
|
||||
"BLOCKLIST": "Ihr Inhalt enthält verbotene Begriffe. Bitte überprüfen und ändern Sie Ihre Eingabe und versuchen Sie es erneut.",
|
||||
"IMAGE_SAFETY": "Die erzeugten Bildinhalte wurden aus Sicherheitsgründen blockiert. Bitte versuchen Sie, Ihre Bildgenerierungsanfrage zu ändern.",
|
||||
"LANGUAGE": "Die von Ihnen verwendete Sprache wird derzeit nicht unterstützt. Bitte versuchen Sie es erneut auf Englisch oder in einer anderen unterstützten Sprache.",
|
||||
"OTHER": "Der Inhalt wurde aus einem unbekannten Grund blockiert. Bitte formulieren Sie Ihre Anfrage neu und versuchen Sie es erneut.",
|
||||
"PROHIBITED_CONTENT": "Ihre Anfrage könnte verbotene Inhalte enthalten. Bitte passen Sie Ihre Anfrage an und stellen Sie sicher, dass sie den Nutzungsrichtlinien entspricht.",
|
||||
"RECITATION": "Ihr Inhalt wurde möglicherweise wegen möglicher Urheberrechtsverletzungen blockiert. Bitte verwenden Sie eigene Inhalte oder formulieren Sie Ihre Anfrage um.",
|
||||
"SAFETY": "Ihr Inhalt wurde aufgrund der Sicherheitsrichtlinien blockiert. Bitte passen Sie Ihre Anfrage an und vermeiden Sie potenziell schädliche oder unangemessene Inhalte.",
|
||||
"SPII": "Ihr Inhalt könnte sensible personenbezogene Daten enthalten. Zum Schutz der Privatsphäre entfernen Sie bitte die betreffenden Informationen und versuchen Sie es erneut.",
|
||||
"default": "Inhalt blockiert: {{blockReason}}。请调整您的请求内容后重试。"
|
||||
},
|
||||
"InsufficientQuota": "Es tut uns leid, das Kontingent (Quota) für diesen Schlüssel ist erreicht. Bitte überprüfen Sie Ihr Kontoguthaben oder erhöhen Sie das Kontingent des Schlüssels und versuchen Sie es erneut.",
|
||||
"InvalidAccessCode": "Das Passwort ist ungültig oder leer. Bitte geben Sie das richtige Zugangspasswort ein oder fügen Sie einen benutzerdefinierten API-Schlüssel hinzu.",
|
||||
"InvalidBedrockCredentials": "Die Bedrock-Authentifizierung ist fehlgeschlagen. Bitte überprüfen Sie AccessKeyId/SecretAccessKey und versuchen Sie es erneut.",
|
||||
|
||||
@@ -21,10 +21,6 @@
|
||||
"desc": "Treten Sie in den Bearbeitungsmodus, indem Sie die Alt-Taste gedrückt halten und auf die Nachricht doppelklicken",
|
||||
"title": "Nachricht bearbeiten"
|
||||
},
|
||||
"navigateToChat": {
|
||||
"desc": "Zum Chat-Tab wechseln und einfach plaudern",
|
||||
"title": "Zum Standard-Chat wechseln"
|
||||
},
|
||||
"openChatSettings": {
|
||||
"desc": "Aktuelle Sitzungseinstellungen anzeigen und ändern",
|
||||
"title": "Chat-Einstellungen öffnen"
|
||||
|
||||
@@ -332,21 +332,12 @@
|
||||
"Qwen/Qwen3-30B-A3B-Instruct-2507": {
|
||||
"description": "Qwen3-30B-A3B-Instruct-2507 ist eine aktualisierte Version des Qwen3-30B-A3B im Nicht-Denkmodus. Es handelt sich um ein Mixture-of-Experts (MoE)-Modell mit insgesamt 30,5 Milliarden Parametern und 3,3 Milliarden Aktivierungsparametern. Das Modell wurde in mehreren Bereichen entscheidend verbessert, darunter eine signifikante Steigerung der Befolgung von Anweisungen, logisches Denken, Textverständnis, Mathematik, Wissenschaft, Programmierung und Werkzeugnutzung. Gleichzeitig wurden substanzielle Fortschritte bei der Abdeckung von Langschwanzwissen in mehreren Sprachen erzielt, und es kann besser auf die Präferenzen der Nutzer bei subjektiven und offenen Aufgaben abgestimmt werden, um hilfreichere Antworten und qualitativ hochwertigere Texte zu generieren. Darüber hinaus wurde die Fähigkeit zum Verständnis langer Texte auf 256K erweitert. Dieses Modell unterstützt ausschließlich den Nicht-Denkmodus und generiert keine `<think></think>`-Tags in der Ausgabe."
|
||||
},
|
||||
"Qwen/Qwen3-30B-A3B-Thinking-2507": {
|
||||
"description": "Qwen3-30B-A3B-Thinking-2507 ist das neueste Denkmodell der Qwen3‑Serie, veröffentlicht vom Alibaba Tongyi Qianwen‑Team. Als ein Mixture-of-Experts-(MoE)-Modell mit 30,5 Milliarden Gesamtparametern und 3,3 Milliarden aktiven Parametern konzentriert es sich auf die Verbesserung der Bewältigung komplexer Aufgaben. Das Modell zeigt deutliche Leistungssteigerungen in akademischen Benchmarks für logisches Schließen, Mathematik, Naturwissenschaften, Programmierung sowie Aufgaben, die menschliche Fachkenntnisse erfordern. Gleichzeitig wurden seine allgemeinen Fähigkeiten bei der Befolgung von Anweisungen, der Nutzung von Werkzeugen, der Textgenerierung und der Anpassung an menschliche Präferenzen erheblich gestärkt. Das Modell unterstützt nativ ein langes Kontextverständnis von 256K und ist auf bis zu 1 Million Tokens skalierbar. Diese Version ist speziell für den 'Denkmodus' konzipiert und zielt darauf ab, hochkomplexe Aufgaben durch ausführliches, schrittweises Denken zu lösen; auch seine Agent‑Fähigkeiten sind hervorragend."
|
||||
},
|
||||
"Qwen/Qwen3-32B": {
|
||||
"description": "Qwen3 ist ein neues, leistungsstark verbessertes Modell von Tongyi Qianwen, das in den Bereichen Denken, Allgemeinwissen, Agenten und Mehrsprachigkeit in mehreren Kernfähigkeiten branchenführende Standards erreicht und den Wechsel zwischen Denkmodi unterstützt."
|
||||
},
|
||||
"Qwen/Qwen3-8B": {
|
||||
"description": "Qwen3 ist ein neues, leistungsstark verbessertes Modell von Tongyi Qianwen, das in den Bereichen Denken, Allgemeinwissen, Agenten und Mehrsprachigkeit in mehreren Kernfähigkeiten branchenführende Standards erreicht und den Wechsel zwischen Denkmodi unterstützt."
|
||||
},
|
||||
"Qwen/Qwen3-Coder-30B-A3B-Instruct": {
|
||||
"description": "Qwen3-Coder-30B-A3B-Instruct ist ein Code-Modell der Qwen3-Serie, das vom Alibaba-Team Tongyi Qianwen entwickelt wurde. Als schlank optimiertes Modell konzentriert es sich darauf, die Code-Verarbeitungsfähigkeiten zu verbessern, während es hohe Leistung und Effizienz beibehält. Das Modell zeigt unter Open-Source-Modellen deutliche Leistungsvorteile bei komplexen Aufgaben wie agentischem Programmieren (Agentic Coding), automatisierten Browseroperationen und Werkzeugaufrufen. Es unterstützt nativ lange Kontexte mit 256K Tokens und lässt sich auf bis zu 1M Tokens erweitern, sodass es Verständnis- und Verarbeitungsaufgaben auf Ebene ganzer Codebasen besser bewältigen kann. Darüber hinaus bietet das Modell starke Agenten-Codierungsunterstützung für Plattformen wie Qwen Code und CLINE und verfügt über ein speziell entwickeltes Format für Funktionsaufrufe."
|
||||
},
|
||||
"Qwen/Qwen3-Coder-480B-A35B-Instruct": {
|
||||
"description": "Qwen3-Coder-480B-A35B-Instruct wurde von Alibaba veröffentlicht und ist bislang das agentischste Code-Modell. Es ist ein Mixture-of-Experts-(MoE)-Modell mit 480 Milliarden Gesamtparametern und 35 Milliarden aktivierten Parametern, das ein ausgewogenes Verhältnis von Effizienz und Leistung bietet. Das Modell unterstützt nativ eine Kontextlänge von 256K (≈260.000) Token und lässt sich mittels Extrapolationsverfahren wie YaRN auf bis zu 1.000.000 Token erweitern, sodass es große Codebasen und komplexe Programmieraufgaben verarbeiten kann. Qwen3-Coder wurde für agentenbasierte Coding-Workflows entwickelt: Es generiert nicht nur Code, sondern kann auch eigenständig mit Entwicklungswerkzeugen und -umgebungen interagieren, um komplexe Programmierprobleme zu lösen. In mehreren Benchmarks zu Coding- und Agentenaufgaben gehört das Modell zu den Spitzenreitern unter Open-Source-Modellen und erreicht eine Leistungsfähigkeit, die mit führenden Modellen wie Claude Sonnet 4 vergleichbar ist."
|
||||
},
|
||||
"Qwen2-72B-Instruct": {
|
||||
"description": "Qwen2 ist die neueste Reihe des Qwen-Modells, das 128k Kontext unterstützt. Im Vergleich zu den derzeit besten Open-Source-Modellen übertrifft Qwen2-72B in den Bereichen natürliche Sprachverständnis, Wissen, Code, Mathematik und Mehrsprachigkeit deutlich die führenden Modelle."
|
||||
},
|
||||
@@ -1112,27 +1103,12 @@
|
||||
"flux-dev": {
|
||||
"description": "FLUX.1 [dev] ist ein Open-Source-Gewichtungs- und Feinschlichtungsmodell für nicht-kommerzielle Anwendungen. Es bietet eine Bildqualität und Instruktionsbefolgung ähnlich der professionellen FLUX-Version, jedoch mit höherer Effizienz. Im Vergleich zu Standardmodellen gleicher Größe ist es ressourcenschonender."
|
||||
},
|
||||
"flux-kontext-max": {
|
||||
"description": "Modernste kontextbezogene Bildgenerierung und -bearbeitung – verbindet Text und Bilder, um präzise, kohärente Ergebnisse zu erzielen."
|
||||
},
|
||||
"flux-kontext-pro": {
|
||||
"description": "Modernste kontextbezogene Bildgenerierung und -bearbeitung – verbindet Text und Bild zu präzisen, kohärenten Ergebnissen."
|
||||
},
|
||||
"flux-kontext/dev": {
|
||||
"description": "FLUX.1 Modell, spezialisiert auf Bildbearbeitungsaufgaben, unterstützt Text- und Bildeingaben."
|
||||
"description": "Frontier Bildbearbeitungsmodell."
|
||||
},
|
||||
"flux-merged": {
|
||||
"description": "Das FLUX.1-merged Modell kombiniert die tiefgehenden Eigenschaften, die in der Entwicklungsphase von „DEV“ erforscht wurden, mit der hohen Ausführungsgeschwindigkeit von „Schnell“. Dadurch werden sowohl die Leistungsgrenzen des Modells erweitert als auch dessen Anwendungsbereich vergrößert."
|
||||
},
|
||||
"flux-pro": {
|
||||
"description": "Premium-kommerzielles KI-Bildgenerierungsmodell — unvergleichliche Bildqualität und vielfältige Ausgabemöglichkeiten."
|
||||
},
|
||||
"flux-pro-1.1": {
|
||||
"description": "Verbessertes professionelles KI-Modell zur Bildgenerierung — bietet herausragende Bildqualität und eine präzise Umsetzung von Eingabeaufforderungen."
|
||||
},
|
||||
"flux-pro-1.1-ultra": {
|
||||
"description": "Ultrahochauflösende KI-Bildgenerierung — unterstützt Ausgaben mit 4 Megapixeln und erstellt hochauflösende Bilder innerhalb von 10 Sekunden."
|
||||
},
|
||||
"flux-pro/kontext": {
|
||||
"description": "FLUX.1 Kontext [pro] kann Text und Referenzbilder als Eingabe verarbeiten und ermöglicht nahtlose zielgerichtete lokale Bearbeitungen sowie komplexe umfassende Szenenveränderungen."
|
||||
},
|
||||
@@ -1142,11 +1118,8 @@
|
||||
"flux.1-schnell": {
|
||||
"description": "Ein Rectified Flow Transformer mit 12 Milliarden Parametern, der Bilder basierend auf Textbeschreibungen generieren kann."
|
||||
},
|
||||
"flux/krea": {
|
||||
"description": "Flux Krea [dev] ist ein bildgenerierendes Modell mit ästhetischer Präferenz, das darauf abzielt, realistischere und natürlichere Bilder zu erzeugen."
|
||||
},
|
||||
"flux/schnell": {
|
||||
"description": "FLUX.1 [schnell] ist ein bildgenerierendes Modell mit 12 Milliarden Parametern, das sich auf die schnelle Erstellung hochwertiger Bilder konzentriert."
|
||||
"description": "FLUX.1 [schnell] ist ein Streaming-Transformator-Modell mit 12 Milliarden Parametern, das in 1 bis 4 Schritten hochwertige Bilder aus Text generiert und sich für private und kommerzielle Nutzung eignet."
|
||||
},
|
||||
"gemini-1.0-pro-001": {
|
||||
"description": "Gemini 1.0 Pro 001 (Tuning) bietet stabile und anpassbare Leistung und ist die ideale Wahl für Lösungen komplexer Aufgaben."
|
||||
@@ -1217,9 +1190,6 @@
|
||||
"gemini-2.5-flash": {
|
||||
"description": "Gemini 2.5 Flash ist Googles kosteneffizientestes Modell und bietet umfassende Funktionen."
|
||||
},
|
||||
"gemini-2.5-flash-image-preview": {
|
||||
"description": "Gemini 2.5 Flash Image Preview ist Googles neuestes, schnellstes und effizientestes natives multimodales Modell. Es ermöglicht Ihnen, Bilder im Dialog zu erstellen und zu bearbeiten."
|
||||
},
|
||||
"gemini-2.5-flash-lite": {
|
||||
"description": "Gemini 2.5 Flash-Lite ist Googles kleinstes und kosteneffizientestes Modell, das speziell für den großflächigen Einsatz entwickelt wurde."
|
||||
},
|
||||
@@ -1322,9 +1292,6 @@
|
||||
"glm-4.5-x": {
|
||||
"description": "Die Turbo-Version von GLM-4.5, die bei starker Leistung eine Generierungsgeschwindigkeit von bis zu 100 Tokens pro Sekunde erreicht."
|
||||
},
|
||||
"glm-4.5v": {
|
||||
"description": "Das neue visuelle Inferenzmodell der nächsten Generation von Zhipu, basierend auf der MOE-Architektur, verfügt über 106B Gesamtparameter und 12B aktivierte Parameter und erzielt in verschiedenen Benchmarks State-of-the-Art‑Ergebnisse (SOTA) unter weltweit vergleichbaren Open‑Source‑multimodalen Modellen. Es deckt gängige Aufgaben wie Bild-, Video- und Dokumentenverständnis sowie GUI‑Aufgaben ab."
|
||||
},
|
||||
"glm-4v": {
|
||||
"description": "GLM-4V bietet starke Fähigkeiten zur Bildverständnis und -schlussfolgerung und unterstützt eine Vielzahl visueller Aufgaben."
|
||||
},
|
||||
@@ -1464,7 +1431,7 @@
|
||||
"description": "GPT-4.1 mini bietet ein Gleichgewicht zwischen Intelligenz, Geschwindigkeit und Kosten, was es zu einem attraktiven Modell für viele Anwendungsfälle macht."
|
||||
},
|
||||
"gpt-4.5-preview": {
|
||||
"description": "GPT-4.5-preview ist das neueste Allzweckmodell, verfügt über fundiertes Weltwissen und ein verbessertes Verständnis der Nutzerintentionen und ist besonders leistungsfähig bei kreativen Aufgaben sowie in der Planung von Agenten. Das Wissen des Modells reicht bis Oktober 2023."
|
||||
"description": "Die Forschungs-Vorschau von GPT-4.5, unserem bisher größten und leistungsstärksten GPT-Modell. Es verfügt über umfangreiches Weltwissen und kann die Absichten der Benutzer besser verstehen, was es in kreativen Aufgaben und autonomer Planung herausragend macht. GPT-4.5 akzeptiert Text- und Bild-Eingaben und generiert Textausgaben (einschließlich strukturierter Ausgaben). Es unterstützt wichtige Entwicklerfunktionen wie Funktionsaufrufe, Batch-APIs und Streaming-Ausgaben. In Aufgaben, die kreatives, offenes Denken und Dialog erfordern (wie Schreiben, Lernen oder das Erkunden neuer Ideen), zeigt GPT-4.5 besonders gute Leistungen. Der Wissensstand ist bis Oktober 2023."
|
||||
},
|
||||
"gpt-4o": {
|
||||
"description": "ChatGPT-4o ist ein dynamisches Modell, das in Echtzeit aktualisiert wird, um die neueste Version zu gewährleisten. Es kombiniert starke Sprachverständnis- und Generierungsfähigkeiten und eignet sich für großangelegte Anwendungsszenarien, einschließlich Kundenservice, Bildung und technische Unterstützung."
|
||||
@@ -1514,18 +1481,6 @@
|
||||
"gpt-4o-transcribe": {
|
||||
"description": "GPT-4o Transcribe ist ein Sprach-zu-Text-Modell, das GPT-4o zur Transkription von Audio verwendet. Im Vergleich zum ursprünglichen Whisper-Modell verbessert es die Wortfehlerrate sowie die Spracherkennung und Genauigkeit. Verwenden Sie es für genauere Transkriptionen."
|
||||
},
|
||||
"gpt-5": {
|
||||
"description": "Das beste Modell für bereichsübergreifende Codierungs- und Agentenaufgaben. GPT-5 erzielt Durchbrüche in Genauigkeit, Geschwindigkeit, Schlussfolgerungen, Kontextverständnis, strukturiertem Denken und Problemlösung."
|
||||
},
|
||||
"gpt-5-chat-latest": {
|
||||
"description": "Das in ChatGPT verwendete GPT-5 Modell. Vereint starke Sprachverständnis- und Generierungsfähigkeiten, ideal für dialogorientierte Anwendungen."
|
||||
},
|
||||
"gpt-5-mini": {
|
||||
"description": "Eine schnellere und kosteneffizientere Version von GPT-5, geeignet für klar definierte Aufgaben. Bietet schnellere Reaktionszeiten bei gleichbleibend hoher Ausgabequalität."
|
||||
},
|
||||
"gpt-5-nano": {
|
||||
"description": "Die schnellste und kostengünstigste Version von GPT-5. Besonders geeignet für Anwendungen, die schnelle Reaktionen und Kostenbewusstsein erfordern."
|
||||
},
|
||||
"gpt-image-1": {
|
||||
"description": "ChatGPT natives multimodales Bildgenerierungsmodell"
|
||||
},
|
||||
@@ -1667,23 +1622,14 @@
|
||||
"image-01-live": {
|
||||
"description": "Bildgenerierungsmodell mit feiner Bilddarstellung, unterstützt Text-zu-Bild und Stil-Einstellungen."
|
||||
},
|
||||
"imagen-4.0-fast-generate-001": {
|
||||
"description": "Imagen – Text-zu-Bild-Modellreihe der 4. Generation (Fast-Version)"
|
||||
},
|
||||
"imagen-4.0-generate-001": {
|
||||
"description": "Imagen, Text-zu-Bild-Modellreihe der 4. Generation"
|
||||
},
|
||||
"imagen-4.0-generate-preview-06-06": {
|
||||
"description": "Imagen 4. Generation Text-zu-Bild Modellserie"
|
||||
},
|
||||
"imagen-4.0-ultra-generate-001": {
|
||||
"description": "Imagen, Text-zu-Bild-Modell der 4. Generation (Ultra-Version)"
|
||||
},
|
||||
"imagen-4.0-ultra-generate-preview-06-06": {
|
||||
"description": "Imagen 4. Generation Text-zu-Bild Modellserie Ultra-Version"
|
||||
},
|
||||
"imagen4/preview": {
|
||||
"description": "Hochwertiges bildgenerierendes Modell von Google."
|
||||
"description": "Googles hochwertigstes Bildgenerierungsmodell"
|
||||
},
|
||||
"internlm/internlm2_5-7b-chat": {
|
||||
"description": "InternLM2.5 bietet intelligente Dialoglösungen in mehreren Szenarien."
|
||||
@@ -1718,9 +1664,6 @@
|
||||
"kimi-k2-0711-preview": {
|
||||
"description": "kimi-k2 ist ein MoE-Architektur-Basis-Modell mit außergewöhnlichen Fähigkeiten in Code und Agentenfunktionen, mit insgesamt 1 Billion Parametern und 32 Milliarden aktiven Parametern. In Benchmark-Tests zu allgemeinem Wissen, Programmierung, Mathematik und Agenten übertrifft das K2-Modell andere führende Open-Source-Modelle."
|
||||
},
|
||||
"kimi-k2-turbo-preview": {
|
||||
"description": "kimi-k2 ist ein Basis-Modell mit MoE-Architektur und besonders starken Fähigkeiten im Bereich Code und Agenten. Es verfügt über insgesamt 1T Parameter und 32B aktivierte Parameter. In Benchmark-Tests der wichtigsten Kategorien – allgemeines Wissens-Reasoning, Programmierung, Mathematik und Agenten – übertrifft das K2-Modell die Leistung anderer gängiger Open‑Source‑Modelle."
|
||||
},
|
||||
"kimi-latest": {
|
||||
"description": "Das Kimi intelligente Assistenzprodukt verwendet das neueste Kimi Großmodell, das möglicherweise noch instabile Funktionen enthält. Es unterstützt die Bildverarbeitung und wählt automatisch das Abrechnungsmodell 8k/32k/128k basierend auf der Länge des angeforderten Kontexts aus."
|
||||
},
|
||||
@@ -1805,9 +1748,6 @@
|
||||
"llava:34b": {
|
||||
"description": "LLaVA ist ein multimodales Modell, das visuelle Encoder und Vicuna kombiniert und für starke visuelle und sprachliche Verständnisse sorgt."
|
||||
},
|
||||
"magistral-medium-latest": {
|
||||
"description": "Magistral Medium 1.1 ist ein fortschrittliches Inferenzmodell, das Mistral AI im Juli 2025 veröffentlicht hat."
|
||||
},
|
||||
"mathstral": {
|
||||
"description": "MathΣtral ist für wissenschaftliche Forschung und mathematische Schlussfolgerungen konzipiert und bietet effektive Rechenfähigkeiten und Ergebnisinterpretationen."
|
||||
},
|
||||
@@ -2139,7 +2079,7 @@
|
||||
"description": "o1-mini ist ein schnelles und kosteneffizientes Inferenzmodell, das für Programmier-, Mathematik- und Wissenschaftsanwendungen entwickelt wurde. Das Modell hat einen Kontext von 128K und einen Wissensstand bis Oktober 2023."
|
||||
},
|
||||
"o1-preview": {
|
||||
"description": "Konzentriert auf fortgeschrittenes Schlussfolgern und die Lösung komplexer Probleme, einschließlich mathematischer und naturwissenschaftlicher Aufgaben. Sehr gut geeignet für Anwendungen, die ein tiefes Kontextverständnis und autonome Arbeitsabläufe benötigen."
|
||||
"description": "o1 ist OpenAIs neues Inferenzmodell, das für komplexe Aufgaben geeignet ist, die umfangreiches Allgemeinwissen erfordern. Das Modell hat einen Kontext von 128K und einen Wissensstand bis Oktober 2023."
|
||||
},
|
||||
"o1-pro": {
|
||||
"description": "Die o1-Serie wurde durch verstärkendes Lernen trainiert, um vor der Antwort nachzudenken und komplexe Schlussfolgerungen zu ziehen. Das o1-pro Modell nutzt mehr Rechenressourcen für tiefere Überlegungen und liefert dadurch kontinuierlich qualitativ hochwertigere Antworten."
|
||||
@@ -2258,15 +2198,6 @@
|
||||
"qwen-coder-turbo-latest": {
|
||||
"description": "Das Tongyi Qianwen Code-Modell."
|
||||
},
|
||||
"qwen-flash": {
|
||||
"description": "Die Tongyi-Qianwen-Reihe bietet besonders schnelle und sehr kostengünstige Modelle und eignet sich für einfache Aufgaben."
|
||||
},
|
||||
"qwen-image": {
|
||||
"description": "Qwen-Image ist ein universelles Bildgenerierungsmodell, das zahlreiche Kunststile unterstützt und sich besonders bei der Wiedergabe komplexer Texte auszeichnet, insbesondere bei chinesischen und englischen Schriftzügen. Das Modell unterstützt mehrzeilige Layouts, absatzweises Textgenerieren sowie die präzise Darstellung feiner Details und ermöglicht die Erstellung komplexer Bild-Text-Kombinationen."
|
||||
},
|
||||
"qwen-image-edit": {
|
||||
"description": "Das Qwen-Team hat ein professionelles Modell zur Bildbearbeitung veröffentlicht, das semantische Bearbeitungen und Aussehensbearbeitungen unterstützt. Es kann chinesische und englische Texte präzise bearbeiten und ermöglicht Stiltransformationen, Objektrotationen sowie weitere hochwertige Bildbearbeitungen."
|
||||
},
|
||||
"qwen-long": {
|
||||
"description": "Qwen ist ein groß angelegtes Sprachmodell, das lange Textkontexte unterstützt und Dialogfunktionen für verschiedene Szenarien wie lange Dokumente und mehrere Dokumente bietet."
|
||||
},
|
||||
@@ -2292,7 +2223,7 @@
|
||||
"description": "Qwen Plus ist die verbesserte Version des großangelegten Sprachmodells, das Eingaben in verschiedenen Sprachen wie Chinesisch und Englisch unterstützt."
|
||||
},
|
||||
"qwen-turbo": {
|
||||
"description": "通义千问 Turbo wird künftig nicht mehr aktualisiert. Es wird empfohlen, auf 通义千问 Flash umzusteigen. 通义千问 ist ein äußerst groß angelegtes Sprachmodell und unterstützt Eingaben in Chinesisch, Englisch und weiteren Sprachen."
|
||||
"description": "Qwen Turbo ist ein großangelegtes Sprachmodell, das Eingaben in verschiedenen Sprachen wie Chinesisch und Englisch unterstützt."
|
||||
},
|
||||
"qwen-vl-chat-v1": {
|
||||
"description": "Qwen VL unterstützt flexible Interaktionsmethoden, einschließlich Mehrbild-, Mehrfachfragen und kreativen Fähigkeiten."
|
||||
@@ -2609,15 +2540,9 @@
|
||||
"step-2x-large": {
|
||||
"description": "Das neue Generationen-Bildmodell von Step Star konzentriert sich auf Bildgenerierung und kann basierend auf Textbeschreibungen des Nutzers hochwertige Bilder erzeugen. Das neue Modell erzeugt realistischere Bildtexturen und bietet verbesserte Fähigkeiten bei der Erzeugung chinesischer und englischer Schriftzeichen."
|
||||
},
|
||||
"step-3": {
|
||||
"description": "Dieses Modell verfügt über eine leistungsfähige visuelle Wahrnehmung und ausgeprägte Fähigkeiten zum komplexen Schlussfolgern. Es kann fachübergreifendes Verständnis komplexer Zusammenhänge, die kombinierte Analyse von mathematischen und visuellen Informationen sowie vielfältige visuelle Analyseaufgaben des Alltags präzise bewältigen."
|
||||
},
|
||||
"step-r1-v-mini": {
|
||||
"description": "Dieses Modell ist ein leistungsstarkes Schlussfolgerungsmodell mit starker Bildverständnisfähigkeit, das in der Lage ist, Bild- und Textinformationen zu verarbeiten und nach tiefem Denken Textinhalte zu generieren. Es zeigt herausragende Leistungen im Bereich der visuellen Schlussfolgerung und verfügt über erstklassige Fähigkeiten in Mathematik, Programmierung und Textschlussfolgerung. Die Kontextlänge beträgt 100k."
|
||||
},
|
||||
"stepfun-ai/step3": {
|
||||
"description": "Step3 ist ein wegweisendes multimodales Inferenzmodell, veröffentlicht von StepFun (阶跃星辰). Es basiert auf einer Mixture-of-Experts-(MoE)-Architektur mit insgesamt 321 Milliarden Parametern und 38 Milliarden Aktivierungsparametern. Das Modell ist als End-to-End-System konzipiert, um die Decodierungskosten zu minimieren und gleichzeitig erstklassige Leistung bei visuell-sprachlicher Inferenz zu bieten. Durch die synergistische Kombination von Multi-Matrix-Factorization-Attention (MFA) und Attention-FFN-Dekopplung (AFD) erzielt Step3 sowohl auf High-End- als auch auf ressourcenbeschränkten Beschleunigern hohe Effizienz. In der Vortrainingsphase verarbeitete Step3 mehr als 20 Billionen Text-Tokens und 4 Billionen multimodale (Bild‑Text) Tokens und deckt dabei über zehn Sprachen ab. Das Modell erzielt in zahlreichen Benchmarks — etwa in Mathematik, Programmierung und Multimodalität — führende Ergebnisse unter den Open‑Source‑Modellen."
|
||||
},
|
||||
"taichu_llm": {
|
||||
"description": "Das Zīdōng Taichu Sprachmodell verfügt über außergewöhnliche Sprachverständnisfähigkeiten sowie Fähigkeiten in Textgenerierung, Wissensabfrage, Programmierung, mathematischen Berechnungen, logischem Denken, Sentimentanalyse und Textzusammenfassung. Es kombiniert innovativ große Datenvortrainings mit reichhaltigem Wissen aus mehreren Quellen, verfeinert kontinuierlich die Algorithmen und absorbiert ständig neues Wissen aus umfangreichen Textdaten in Bezug auf Vokabular, Struktur, Grammatik und Semantik, um die Leistung des Modells kontinuierlich zu verbessern. Es bietet den Nutzern bequemere Informationen und Dienstleistungen sowie ein intelligenteres Erlebnis."
|
||||
},
|
||||
@@ -2764,8 +2689,5 @@
|
||||
},
|
||||
"zai-org/GLM-4.5-Air": {
|
||||
"description": "GLM-4.5-Air ist ein speziell für Agentenanwendungen entwickeltes Basismodell mit Mixture-of-Experts-Architektur. Es ist tief optimiert für Werkzeugaufrufe, Web-Browsing, Softwareentwicklung und Frontend-Programmierung und unterstützt nahtlos die Integration in Code-Agenten wie Claude Code und Roo Code. GLM-4.5 verwendet einen hybriden Inferenzmodus und ist für komplexe Schlussfolgerungen sowie den Alltagsgebrauch geeignet."
|
||||
},
|
||||
"zai-org/GLM-4.5V": {
|
||||
"description": "GLM-4.5V ist das neueste visuell-sprachliche Modell (VLM), das von Zhipu AI veröffentlicht wurde. Das Modell basiert auf dem Flaggschiff-Textmodell GLM-4.5-Air mit insgesamt 106 Milliarden Parametern und 12 Milliarden Aktivierungsparametern und verwendet eine Mixture-of-Experts-(MoE)-Architektur. Es zielt darauf ab, bei geringeren Inferenzkosten herausragende Leistung zu erzielen. Technisch setzt es die Entwicklungslinie von GLM-4.1V-Thinking fort und führt Innovationen wie die dreidimensionale Rotations-Positionskodierung (3D-RoPE) ein, wodurch die Wahrnehmung und das Schließen über dreidimensionale Raumbeziehungen deutlich verbessert werden. Durch Optimierungen in den Phasen des Pre-Trainings, der überwachten Feinabstimmung und des Reinforcement Learnings ist das Modell in der Lage, verschiedene visuelle Inhalte wie Bilder, Videos und lange Dokumente zu verarbeiten; in 41 öffentlichen multimodalen Benchmarks erreichte es Spitzenwerte unter frei verfügbaren Modellen derselben Klasse. Zudem wurde ein \"Denkmodus\"-Schalter hinzugefügt, der es Nutzern erlaubt, flexibel zwischen schneller Reaktion und tiefgehendem Schlussfolgern zu wählen, um Effizienz und Ergebnisqualität auszubalancieren."
|
||||
}
|
||||
}
|
||||
|
||||
@@ -26,9 +26,6 @@
|
||||
"bedrock": {
|
||||
"description": "Bedrock ist ein Service von Amazon AWS, der sich darauf konzentriert, Unternehmen fortschrittliche KI-Sprach- und visuelle Modelle bereitzustellen. Die Modellfamilie umfasst die Claude-Serie von Anthropic, die Llama 3.1-Serie von Meta und mehr, und bietet eine Vielzahl von Optionen von leichtgewichtig bis hochleistungsfähig, die Textgenerierung, Dialoge, Bildverarbeitung und andere Aufgaben unterstützen und für Unternehmensanwendungen unterschiedlicher Größen und Anforderungen geeignet sind."
|
||||
},
|
||||
"bfl": {
|
||||
"description": "Ein führendes, an vorderster Front tätiges KI-Forschungslabor, das die visuelle Infrastruktur von morgen gestaltet."
|
||||
},
|
||||
"cloudflare": {
|
||||
"description": "Führen Sie von serverlosen GPUs betriebene Machine-Learning-Modelle im globalen Netzwerk von Cloudflare aus."
|
||||
},
|
||||
|
||||
@@ -183,21 +183,10 @@
|
||||
"title": "Assistenteninformationen"
|
||||
},
|
||||
"settingAppearance": {
|
||||
"animationMode": {
|
||||
"agile": "Agil",
|
||||
"desc": "Wählen Sie die Animationsgeschwindigkeit für die Reaktion der Anwendung",
|
||||
"disabled": "Aus",
|
||||
"elegant": "Elegant",
|
||||
"title": "Reaktionsanimation"
|
||||
},
|
||||
"neutralColor": {
|
||||
"desc": "Anpassung der Graustufen mit unterschiedlichen Farbneigungen",
|
||||
"title": "Neutrale Farben"
|
||||
},
|
||||
"noAnimation": {
|
||||
"desc": "Deaktivieren Sie alle Animationseffekte in der Anwendung",
|
||||
"title": "Kein Animationsmodus"
|
||||
},
|
||||
"preview": {
|
||||
"title": "Farbauswahl"
|
||||
},
|
||||
|
||||
@@ -46,9 +46,6 @@
|
||||
"reasoningEffort": {
|
||||
"title": "Reasoning Intensity"
|
||||
},
|
||||
"textVerbosity": {
|
||||
"title": "Output Text Detail Level"
|
||||
},
|
||||
"thinking": {
|
||||
"title": "Deep Thinking Switch"
|
||||
},
|
||||
|
||||
@@ -1,9 +1,4 @@
|
||||
{
|
||||
"ArgsInput": {
|
||||
"addArgument": "Add Argument",
|
||||
"argumentPlaceholder": "Argument {{index}}",
|
||||
"enterFirstArgument": "Enter first argument..."
|
||||
},
|
||||
"DragUpload": {
|
||||
"dragDesc": "Drag and drop files here to upload multiple images.",
|
||||
"dragFileDesc": "Drag and drop images and files here to upload multiple images and files.",
|
||||
@@ -130,12 +125,6 @@
|
||||
},
|
||||
"progress": {
|
||||
"uploadingWithCount": "{{completed}}/{{total}} uploaded"
|
||||
},
|
||||
"validation": {
|
||||
"fileSizeExceeded": "File size exceeds the maximum allowed",
|
||||
"fileSizeExceededDetail": "{{fileName}} ({{actualSize}}) exceeds the maximum allowed size of {{maxSize}}",
|
||||
"fileSizeExceededMultiple": "{{count}} files exceed the maximum allowed size of {{maxSize}}: {{fileList}}",
|
||||
"imageCountExceeded": "Maximum number of images exceeded"
|
||||
}
|
||||
},
|
||||
"OllamaSetupGuide": {
|
||||
|
||||
@@ -85,17 +85,6 @@
|
||||
"CreateMessageError": "Sorry, the message could not be sent successfully. Please copy the content and try sending it again. This message will not be retained after refreshing the page.",
|
||||
"ExceededContextWindow": "The current request content exceeds the length that the model can handle. Please reduce the amount of content and try again.",
|
||||
"FreePlanLimit": "You are currently a free user and cannot use this feature. Please upgrade to a paid plan to continue using it.",
|
||||
"GoogleAIBlockReason": {
|
||||
"BLOCKLIST": "Your content contains prohibited terms. Please review and modify your input, then try again.",
|
||||
"IMAGE_SAFETY": "The generated image content was blocked for safety reasons. Please try changing your image generation request.",
|
||||
"LANGUAGE": "The language you used is not currently supported. Please try again in English or another supported language.",
|
||||
"OTHER": "The content was blocked for an unknown reason. Please try rephrasing your request.",
|
||||
"PROHIBITED_CONTENT": "Your request may contain prohibited content. Please adjust your request to comply with the usage guidelines.",
|
||||
"RECITATION": "Your content was blocked due to potential copyright concerns. Please try using original content or rephrase your request.",
|
||||
"SAFETY": "Your content was blocked by safety policies. Please modify your request to avoid potentially harmful or inappropriate content.",
|
||||
"SPII": "Your content may contain sensitive personal identifying information. To protect privacy, please remove such information and try again.",
|
||||
"default": "Content blocked: {{blockReason}}. Please adjust your request and try again."
|
||||
},
|
||||
"InsufficientQuota": "Sorry, the quota for this key has been reached. Please check your account balance or increase the key quota and try again.",
|
||||
"InvalidAccessCode": "Invalid access code or empty. Please enter the correct access code or add a custom API Key.",
|
||||
"InvalidBedrockCredentials": "Bedrock authentication failed. Please check the AccessKeyId/SecretAccessKey and retry.",
|
||||
|
||||
@@ -21,10 +21,6 @@
|
||||
"desc": "Enter edit mode by holding Alt and double-clicking the message",
|
||||
"title": "Edit Message"
|
||||
},
|
||||
"navigateToChat": {
|
||||
"desc": "Switch to the chat tab and start a casual conversation",
|
||||
"title": "Switch to Default Chat"
|
||||
},
|
||||
"openChatSettings": {
|
||||
"desc": "View and modify the settings for the current conversation",
|
||||
"title": "Open Chat Settings"
|
||||
|
||||
@@ -332,21 +332,12 @@
|
||||
"Qwen/Qwen3-30B-A3B-Instruct-2507": {
|
||||
"description": "Qwen3-30B-A3B-Instruct-2507 is an updated version of the Qwen3-30B-A3B non-thinking mode. It is a Mixture of Experts (MoE) model with a total of 30.5 billion parameters and 3.3 billion active parameters. The model features key enhancements across multiple areas, including significant improvements in instruction following, logical reasoning, text comprehension, mathematics, science, coding, and tool usage. Additionally, it has made substantial progress in covering long-tail multilingual knowledge and better aligns with user preferences in subjective and open-ended tasks, enabling it to generate more helpful responses and higher-quality text. Furthermore, its long-text comprehension capability has been extended to 256K tokens. This model supports only the non-thinking mode and does not generate `<think></think>` tags in its output."
|
||||
},
|
||||
"Qwen/Qwen3-30B-A3B-Thinking-2507": {
|
||||
"description": "Qwen3-30B-A3B-Thinking-2507 is the latest “thinking” model in the Qwen3 series released by Alibaba’s Tongyi Qianwen team. As a mixture-of-experts (MoE) model with 30.5 billion total parameters and 3.3 billion active parameters, it is designed to improve capabilities for handling complex tasks. The model demonstrates significant performance gains on academic benchmarks requiring logical reasoning, mathematics, science, programming, and domain expertise. At the same time, its general abilities—such as instruction following, tool use, text generation, and alignment with human preferences—have been substantially enhanced. The model natively supports long-context understanding of 256K tokens and can scale up to 1 million tokens. This version is tailored for “thinking mode,” intended to solve highly complex problems through detailed step-by-step reasoning, and it also exhibits strong agent capabilities."
|
||||
},
|
||||
"Qwen/Qwen3-32B": {
|
||||
"description": "Qwen3 is a next-generation model with significantly enhanced capabilities, achieving industry-leading levels in reasoning, general tasks, agent functions, and multilingual support, with a switchable thinking mode."
|
||||
},
|
||||
"Qwen/Qwen3-8B": {
|
||||
"description": "Qwen3 is a next-generation model with significantly enhanced capabilities, achieving industry-leading levels in reasoning, general tasks, agent functions, and multilingual support, with a switchable thinking mode."
|
||||
},
|
||||
"Qwen/Qwen3-Coder-30B-A3B-Instruct": {
|
||||
"description": "Qwen3-Coder-30B-A3B-Instruct is a code model in the Qwen3 series developed by Alibaba's Tongyi Qianwen team. As a streamlined and optimized model, it focuses on enhancing code-handling capabilities while maintaining high performance and efficiency. The model demonstrates notable advantages among open-source models on complex tasks such as agentic coding, automated browser operations, and tool invocation. It natively supports a long context of 256K tokens and can be extended up to 1M tokens, enabling better understanding and processing at the codebase level. Additionally, the model provides robust agentic coding support for platforms like Qwen Code and CLINE, and it employs a dedicated function-calling format."
|
||||
},
|
||||
"Qwen/Qwen3-Coder-480B-A35B-Instruct": {
|
||||
"description": "Qwen3-Coder-480B-A35B-Instruct, released by Alibaba, is the most agentic code model to date. It is a mixture-of-experts (MoE) model with 480 billion total parameters and 35 billion active parameters, striking a balance between efficiency and performance. The model natively supports a 256K (~260k) token context window and can be extended to 1,000,000 tokens through extrapolation methods such as YaRN, enabling it to handle large codebases and complex programming tasks. Qwen3-Coder is designed for agent-style coding workflows: it not only generates code but can autonomously interact with development tools and environments to solve complex programming problems. On multiple benchmarks for coding and agent tasks, this model achieves top-tier results among open-source models, with performance comparable to leading models like Claude Sonnet 4."
|
||||
},
|
||||
"Qwen2-72B-Instruct": {
|
||||
"description": "Qwen2 is the latest series of the Qwen model, supporting 128k context. Compared to the current best open-source models, Qwen2-72B significantly surpasses leading models in natural language understanding, knowledge, coding, mathematics, and multilingual capabilities."
|
||||
},
|
||||
@@ -1112,27 +1103,12 @@
|
||||
"flux-dev": {
|
||||
"description": "FLUX.1 [dev] is an open-source weight and fine-tuned model for non-commercial applications. It maintains image quality and instruction-following capabilities close to the FLUX professional version while offering higher operational efficiency. Compared to standard models of the same size, it is more resource-efficient."
|
||||
},
|
||||
"flux-kontext-max": {
|
||||
"description": "State-of-the-art contextual image generation and editing — combining text and images for precise, coherent results."
|
||||
},
|
||||
"flux-kontext-pro": {
|
||||
"description": "State-of-the-art contextual image generation and editing — combining text and images for precise, coherent results."
|
||||
},
|
||||
"flux-kontext/dev": {
|
||||
"description": "FLUX.1 model focused on image editing tasks, supporting both text and image inputs."
|
||||
"description": "Frontier image editing model."
|
||||
},
|
||||
"flux-merged": {
|
||||
"description": "The FLUX.1-merged model combines the deep features explored during the development phase of “DEV” with the high-speed execution advantages represented by “Schnell.” This integration not only pushes the model's performance boundaries but also broadens its application scope."
|
||||
},
|
||||
"flux-pro": {
|
||||
"description": "A top-tier commercial AI image generation model — delivering unparalleled image quality and a wide variety of outputs."
|
||||
},
|
||||
"flux-pro-1.1": {
|
||||
"description": "Upgraded professional-grade AI image generation model — delivers outstanding image quality and precise adherence to prompts."
|
||||
},
|
||||
"flux-pro-1.1-ultra": {
|
||||
"description": "Ultra-high-resolution AI image generation — supports up to 4-megapixel output, producing ultra-high-definition images in under 10 seconds."
|
||||
},
|
||||
"flux-pro/kontext": {
|
||||
"description": "FLUX.1 Kontext [pro] can process text and reference images as input, seamlessly enabling targeted local edits and complex overall scene transformations."
|
||||
},
|
||||
@@ -1142,11 +1118,8 @@
|
||||
"flux.1-schnell": {
|
||||
"description": "A 12-billion-parameter rectified flow transformer capable of generating images based on text descriptions."
|
||||
},
|
||||
"flux/krea": {
|
||||
"description": "Flux Krea [dev] is an image generation model with an aesthetic preference, aimed at producing more realistic and natural images."
|
||||
},
|
||||
"flux/schnell": {
|
||||
"description": "FLUX.1 [schnell] is an image generation model with 12 billion parameters, specializing in fast generation of high-quality images."
|
||||
"description": "FLUX.1 [schnell] is a streaming transformer model with 12 billion parameters, capable of generating high-quality images from text in 1 to 4 steps, suitable for personal and commercial use."
|
||||
},
|
||||
"gemini-1.0-pro-001": {
|
||||
"description": "Gemini 1.0 Pro 001 (Tuning) offers stable and tunable performance, making it an ideal choice for complex task solutions."
|
||||
@@ -1217,9 +1190,6 @@
|
||||
"gemini-2.5-flash": {
|
||||
"description": "Gemini 2.5 Flash is Google's most cost-effective model, offering comprehensive capabilities."
|
||||
},
|
||||
"gemini-2.5-flash-image-preview": {
|
||||
"description": "Gemini 2.5 Flash Image Preview is Google's newest, fastest, and most efficient native multimodal model, enabling you to generate and edit images through conversation."
|
||||
},
|
||||
"gemini-2.5-flash-lite": {
|
||||
"description": "Gemini 2.5 Flash-Lite is Google's smallest and most cost-effective model, designed for large-scale use."
|
||||
},
|
||||
@@ -1322,9 +1292,6 @@
|
||||
"glm-4.5-x": {
|
||||
"description": "The high-speed version of GLM-4.5, combining strong performance with generation speeds up to 100 tokens per second."
|
||||
},
|
||||
"glm-4.5v": {
|
||||
"description": "Zhipu's next-generation visual reasoning model is built on a Mixture-of-Experts (MoE) architecture. With 106B total parameters and 12B activated parameters, it achieves state-of-the-art performance among open-source multimodal models of similar scale across various benchmarks, supporting common tasks such as image, video, document understanding, and GUI-related tasks."
|
||||
},
|
||||
"glm-4v": {
|
||||
"description": "GLM-4V provides strong image understanding and reasoning capabilities, supporting various visual tasks."
|
||||
},
|
||||
@@ -1464,7 +1431,7 @@
|
||||
"description": "GPT-4.1 nano provides a balance of intelligence, speed, and cost, making it an appealing model for numerous applications."
|
||||
},
|
||||
"gpt-4.5-preview": {
|
||||
"description": "GPT-4.5-preview is the latest general-purpose model, offering extensive world knowledge and an improved understanding of user intent. It excels at creative tasks and agent-style planning. The model's knowledge cutoff is October 2023."
|
||||
"description": "The research preview of GPT-4.5, our largest and most powerful GPT model to date. It possesses extensive world knowledge and better understands user intent, excelling in creative tasks and autonomous planning. GPT-4.5 accepts both text and image inputs and generates text outputs (including structured outputs). It supports key developer features such as function calling, batch API, and streaming output. GPT-4.5 particularly shines in tasks that require creativity, open-ended thinking, and dialogue, such as writing, learning, or exploring new ideas. Knowledge cutoff date is October 2023."
|
||||
},
|
||||
"gpt-4o": {
|
||||
"description": "ChatGPT-4o is a dynamic model that updates in real-time to stay current with the latest version. It combines powerful language understanding and generation capabilities, making it suitable for large-scale applications, including customer service, education, and technical support."
|
||||
@@ -1514,18 +1481,6 @@
|
||||
"gpt-4o-transcribe": {
|
||||
"description": "GPT-4o Transcribe is a speech-to-text model that uses GPT-4o to transcribe audio. Compared to the original Whisper model, it improves word error rate, language recognition, and accuracy. Use it for more precise transcriptions."
|
||||
},
|
||||
"gpt-5": {
|
||||
"description": "The best model for cross-domain coding and agent tasks. GPT-5 achieves breakthroughs in accuracy, speed, reasoning, context recognition, structured thinking, and problem-solving."
|
||||
},
|
||||
"gpt-5-chat-latest": {
|
||||
"description": "The GPT-5 model used in ChatGPT. Combines powerful language understanding and generation capabilities, ideal for conversational interaction applications."
|
||||
},
|
||||
"gpt-5-mini": {
|
||||
"description": "A faster, more cost-effective version of GPT-5, suitable for well-defined tasks. Provides quicker response times while maintaining high-quality output."
|
||||
},
|
||||
"gpt-5-nano": {
|
||||
"description": "The fastest and most cost-efficient version of GPT-5. Perfectly suited for applications requiring rapid responses and cost sensitivity."
|
||||
},
|
||||
"gpt-image-1": {
|
||||
"description": "ChatGPT native multimodal image generation model."
|
||||
},
|
||||
@@ -1667,23 +1622,14 @@
|
||||
"image-01-live": {
|
||||
"description": "An image generation model with delicate visual performance, supporting text-to-image generation and style setting."
|
||||
},
|
||||
"imagen-4.0-fast-generate-001": {
|
||||
"description": "Imagen 4th-generation text-to-image model, Fast version"
|
||||
},
|
||||
"imagen-4.0-generate-001": {
|
||||
"description": "Imagen 4th-generation text-to-image model series"
|
||||
},
|
||||
"imagen-4.0-generate-preview-06-06": {
|
||||
"description": "Imagen 4th generation text-to-image model series"
|
||||
},
|
||||
"imagen-4.0-ultra-generate-001": {
|
||||
"description": "Imagen 4th-generation text-to-image model, Ultra version"
|
||||
},
|
||||
"imagen-4.0-ultra-generate-preview-06-06": {
|
||||
"description": "Imagen 4th generation text-to-image model series Ultra version"
|
||||
},
|
||||
"imagen4/preview": {
|
||||
"description": "A high-quality image generation model provided by Google."
|
||||
"description": "Google's highest quality image generation model."
|
||||
},
|
||||
"internlm/internlm2_5-7b-chat": {
|
||||
"description": "InternLM2.5 offers intelligent dialogue solutions across multiple scenarios."
|
||||
@@ -1718,9 +1664,6 @@
|
||||
"kimi-k2-0711-preview": {
|
||||
"description": "kimi-k2 is a MoE architecture base model with powerful coding and agent capabilities, totaling 1 trillion parameters with 32 billion active parameters. In benchmark tests across general knowledge reasoning, programming, mathematics, and agent tasks, the K2 model outperforms other mainstream open-source models."
|
||||
},
|
||||
"kimi-k2-turbo-preview": {
|
||||
"description": "Kimi-K2 is a Mixture-of-Experts (MoE) foundation model with exceptional coding and agent capabilities, featuring 1T total parameters and 32B activated parameters. In benchmark evaluations across core categories — general knowledge reasoning, programming, mathematics, and agent tasks — the K2 model outperforms other leading open-source models."
|
||||
},
|
||||
"kimi-latest": {
|
||||
"description": "The Kimi Smart Assistant product uses the latest Kimi large model, which may include features that are not yet stable. It supports image understanding and will automatically select the 8k/32k/128k model as the billing model based on the length of the request context."
|
||||
},
|
||||
@@ -1805,9 +1748,6 @@
|
||||
"llava:34b": {
|
||||
"description": "LLaVA is a multimodal model that combines a visual encoder with Vicuna for powerful visual and language understanding."
|
||||
},
|
||||
"magistral-medium-latest": {
|
||||
"description": "Magistral Medium 1.1 is a state-of-the-art inference model released by Mistral AI in July 2025."
|
||||
},
|
||||
"mathstral": {
|
||||
"description": "MathΣtral is designed for scientific research and mathematical reasoning, providing effective computational capabilities and result interpretation."
|
||||
},
|
||||
@@ -2139,7 +2079,7 @@
|
||||
"description": "o1-mini is a fast and cost-effective reasoning model designed for programming, mathematics, and scientific applications. This model features a 128K context and has a knowledge cutoff date of October 2023."
|
||||
},
|
||||
"o1-preview": {
|
||||
"description": "Focused on advanced reasoning and solving complex problems, including mathematical and scientific tasks. Ideal for applications that require deep contextual understanding and autonomous workflows."
|
||||
"description": "o1 is OpenAI's new reasoning model, suitable for complex tasks that require extensive general knowledge. This model features a 128K context and has a knowledge cutoff date of October 2023."
|
||||
},
|
||||
"o1-pro": {
|
||||
"description": "The o1 series models are trained with reinforcement learning to think before answering and perform complex reasoning tasks. The o1-pro model uses more computational resources for deeper thinking, consistently delivering higher-quality responses."
|
||||
@@ -2258,15 +2198,6 @@
|
||||
"qwen-coder-turbo-latest": {
|
||||
"description": "The Tongyi Qianwen Coder model."
|
||||
},
|
||||
"qwen-flash": {
|
||||
"description": "The Tongyi Qianwen Flash series offers the fastest, most cost-effective models, suitable for simple tasks."
|
||||
},
|
||||
"qwen-image": {
|
||||
"description": "Qwen-Image is a general-purpose image generation model that supports a wide range of artistic styles and is particularly adept at rendering complex text, especially Chinese and English. The model supports multi-line layouts, paragraph-level text generation, and fine-grained detail rendering, enabling complex mixed text-and-image layout designs."
|
||||
},
|
||||
"qwen-image-edit": {
|
||||
"description": "A professional image-editing model released by the Qwen team, supporting semantic editing and appearance editing. It can precisely edit Chinese and English text and perform high-quality image edits such as style transfer and object rotation."
|
||||
},
|
||||
"qwen-long": {
|
||||
"description": "Qwen is a large-scale language model that supports long text contexts and dialogue capabilities based on long documents and multiple documents."
|
||||
},
|
||||
@@ -2292,7 +2223,7 @@
|
||||
"description": "Qwen Plus is an enhanced large-scale language model supporting input in various languages including Chinese and English."
|
||||
},
|
||||
"qwen-turbo": {
|
||||
"description": "Tongyi Qianwen Turbo will no longer receive updates; it is recommended to switch to Tongyi Qianwen Flash. Tongyi Qianwen is an ultra-large language model that supports input in Chinese, English, and other languages."
|
||||
"description": "Qwen Turbo is a large-scale language model supporting input in various languages including Chinese and English."
|
||||
},
|
||||
"qwen-vl-chat-v1": {
|
||||
"description": "Qwen VL supports flexible interaction methods, including multi-image, multi-turn Q&A, and creative capabilities."
|
||||
@@ -2609,15 +2540,9 @@
|
||||
"step-2x-large": {
|
||||
"description": "Step Star next-generation image generation model, focusing on image generation tasks. It can generate high-quality images based on user-provided text descriptions. The new model produces more realistic textures and stronger Chinese and English text generation capabilities."
|
||||
},
|
||||
"step-3": {
|
||||
"description": "This model has powerful visual perception and advanced reasoning capabilities. It can accurately handle complex cross-domain knowledge comprehension, perform integrated analysis of mathematical and visual information, and solve a wide range of visual analysis tasks encountered in everyday life."
|
||||
},
|
||||
"step-r1-v-mini": {
|
||||
"description": "This model is a powerful reasoning model with strong image understanding capabilities, able to process both image and text information, generating text content after deep reasoning. It excels in visual reasoning while also possessing first-tier capabilities in mathematics, coding, and text reasoning. The context length is 100k."
|
||||
},
|
||||
"stepfun-ai/step3": {
|
||||
"description": "Step3 is a cutting-edge multimodal reasoning model released by StepFun. It is built on a mixture-of-experts (MoE) architecture with 321B total parameters and 38B active parameters. The model adopts an end-to-end design to minimize decoding cost while delivering top-tier performance in visual-language reasoning. Through the combined design of Multi-Matrix Factorized Attention (MFA) and Attention-FFN Decoupling (AFD), Step3 maintains exceptional efficiency on both high-end and low-end accelerators. During pretraining, Step3 processed over 20 trillion text tokens and 4 trillion image-text mixed tokens, covering more than a dozen languages. The model achieves leading performance among open-source models across benchmarks in mathematics, code, and multimodal tasks."
|
||||
},
|
||||
"taichu_llm": {
|
||||
"description": "The ZD Taichu language model possesses strong language understanding capabilities and excels in text creation, knowledge Q&A, code programming, mathematical calculations, logical reasoning, sentiment analysis, and text summarization. It innovatively combines large-scale pre-training with rich knowledge from multiple sources, continuously refining algorithmic techniques and absorbing new knowledge in vocabulary, structure, grammar, and semantics from vast text data, resulting in an evolving model performance. It provides users with more convenient information and services, as well as a more intelligent experience."
|
||||
},
|
||||
@@ -2764,8 +2689,5 @@
|
||||
},
|
||||
"zai-org/GLM-4.5-Air": {
|
||||
"description": "GLM-4.5-Air is a foundational model designed specifically for agent applications, using a Mixture-of-Experts (MoE) architecture. It is deeply optimized for tool invocation, web browsing, software engineering, and front-end programming, supporting seamless integration with code agents like Claude Code and Roo Code. GLM-4.5 employs a hybrid inference mode, adaptable to complex reasoning and everyday use scenarios."
|
||||
},
|
||||
"zai-org/GLM-4.5V": {
|
||||
"description": "GLM-4.5V is the latest-generation vision-language model (VLM) released by Zhipu AI. It is built on the flagship text model GLM-4.5-Air, which has 106B total parameters and 12B active parameters, and adopts a Mixture-of-Experts (MoE) architecture to deliver outstanding performance at reduced inference cost. Technically, GLM-4.5V continues the trajectory of GLM-4.1V-Thinking and introduces innovations such as three-dimensional rotary position encoding (3D-RoPE), significantly improving perception and reasoning of three-dimensional spatial relationships. Through optimizations across pretraining, supervised fine-tuning, and reinforcement learning stages, the model can handle a wide range of visual content including images, video, and long documents, and has achieved top-tier performance among comparable open-source models across 41 public multimodal benchmarks. The model also adds a \"Thinking Mode\" toggle that lets users flexibly choose between fast responses and deep reasoning to balance efficiency and effectiveness."
|
||||
}
|
||||
}
|
||||
|
||||
@@ -26,9 +26,6 @@
|
||||
"bedrock": {
|
||||
"description": "Bedrock is a service provided by Amazon AWS, focusing on delivering advanced AI language and visual models for enterprises. Its model family includes Anthropic's Claude series, Meta's Llama 3.1 series, and more, offering a range of options from lightweight to high-performance, supporting tasks such as text generation, conversation, and image processing for businesses of varying scales and needs."
|
||||
},
|
||||
"bfl": {
|
||||
"description": "A leading, cutting-edge artificial intelligence research lab building the visual infrastructure of tomorrow."
|
||||
},
|
||||
"cloudflare": {
|
||||
"description": "Run serverless GPU-powered machine learning models on Cloudflare's global network."
|
||||
},
|
||||
|
||||
@@ -183,21 +183,10 @@
|
||||
"title": "Assistant Information"
|
||||
},
|
||||
"settingAppearance": {
|
||||
"animationMode": {
|
||||
"agile": "Agile",
|
||||
"desc": "Select the animation speed for application response actions",
|
||||
"disabled": "Off",
|
||||
"elegant": "Elegant",
|
||||
"title": "Response Animation"
|
||||
},
|
||||
"neutralColor": {
|
||||
"desc": "Custom grayscale with different color tendencies",
|
||||
"title": "Neutral Color"
|
||||
},
|
||||
"noAnimation": {
|
||||
"desc": "Disable all animation effects in the application",
|
||||
"title": "No Animation Mode"
|
||||
},
|
||||
"preview": {
|
||||
"title": "Color Palette"
|
||||
},
|
||||
|
||||
@@ -46,9 +46,6 @@
|
||||
"reasoningEffort": {
|
||||
"title": "Intensidad de razonamiento"
|
||||
},
|
||||
"textVerbosity": {
|
||||
"title": "Nivel de detalle del texto de salida"
|
||||
},
|
||||
"thinking": {
|
||||
"title": "Interruptor de pensamiento profundo"
|
||||
},
|
||||
|
||||
@@ -1,9 +1,4 @@
|
||||
{
|
||||
"ArgsInput": {
|
||||
"addArgument": "Añadir argumento",
|
||||
"argumentPlaceholder": "Argumento {{index}}",
|
||||
"enterFirstArgument": "Introduce el primer argumento..."
|
||||
},
|
||||
"DragUpload": {
|
||||
"dragDesc": "Arrastra los archivos aquí, se admite la carga de múltiples imágenes.",
|
||||
"dragFileDesc": "Arrastra imágenes y archivos aquí, se admite la carga de múltiples imágenes y archivos.",
|
||||
@@ -130,12 +125,6 @@
|
||||
},
|
||||
"progress": {
|
||||
"uploadingWithCount": "{{completed}}/{{total}} subidas"
|
||||
},
|
||||
"validation": {
|
||||
"fileSizeExceeded": "El tamaño del archivo supera el límite permitido",
|
||||
"fileSizeExceededDetail": "{{fileName}} ({{actualSize}}) supera el tamaño máximo permitido de {{maxSize}}",
|
||||
"fileSizeExceededMultiple": "{{count}} archivos superan el tamaño máximo permitido de {{maxSize}}: {{fileList}}",
|
||||
"imageCountExceeded": "Se ha superado el límite de imágenes permitido"
|
||||
}
|
||||
},
|
||||
"OllamaSetupGuide": {
|
||||
|
||||
@@ -85,17 +85,6 @@
|
||||
"CreateMessageError": "Lo sentimos, el mensaje no se pudo enviar correctamente. Por favor, copia el contenido y vuelve a enviarlo. Después de actualizar la página, este mensaje no se conservará.",
|
||||
"ExceededContextWindow": "El contenido de la solicitud actual excede la longitud que el modelo puede procesar. Por favor, reduzca la cantidad de contenido y vuelva a intentarlo.",
|
||||
"FreePlanLimit": "Actualmente eres un usuario gratuito y no puedes utilizar esta función. Por favor, actualiza a un plan de pago para seguir utilizando.",
|
||||
"GoogleAIBlockReason": {
|
||||
"BLOCKLIST": "Su contenido contiene palabras prohibidas. Por favor, compruebe y modifique su entrada e inténtelo de nuevo.",
|
||||
"IMAGE_SAFETY": "El contenido de la imagen generada ha sido bloqueado por motivos de seguridad. Intente modificar su solicitud de generación de imágenes.",
|
||||
"LANGUAGE": "El idioma que está utilizando no es compatible por el momento. Intente volver a preguntar en inglés u otro idioma compatible.",
|
||||
"OTHER": "El contenido ha sido bloqueado por una razón desconocida. Intente reformular su solicitud.",
|
||||
"PROHIBITED_CONTENT": "Su solicitud puede contener contenido prohibido. Ajústela para garantizar que cumple las políticas de uso.",
|
||||
"RECITATION": "Su contenido ha sido bloqueado porque podría implicar problemas de derechos de autor. Intente usar contenido original o reformular su solicitud.",
|
||||
"SAFETY": "Su contenido ha sido bloqueado por las políticas de seguridad. Intente ajustar su solicitud para evitar contenidos potencialmente dañinos o inapropiados.",
|
||||
"SPII": "Su contenido puede contener información personal sensible. Para proteger la privacidad, elimine la información sensible antes de intentar de nuevo.",
|
||||
"default": "Contenido bloqueado: {{blockReason}}。请调整您的请求内容后重试。"
|
||||
},
|
||||
"InsufficientQuota": "Lo sentimos, la cuota de esta clave ha alcanzado su límite. Por favor, verifique si el saldo de su cuenta es suficiente o aumente la cuota de la clave y vuelva a intentarlo.",
|
||||
"InvalidAccessCode": "La contraseña no es válida o está vacía. Por favor, introduce una contraseña de acceso válida o añade una clave API personalizada",
|
||||
"InvalidBedrockCredentials": "La autenticación de Bedrock no se ha completado con éxito, por favor, verifica AccessKeyId/SecretAccessKey e inténtalo de nuevo",
|
||||
|
||||
@@ -21,10 +21,6 @@
|
||||
"desc": "Entrar en modo de edición manteniendo presionada la tecla Alt y haciendo doble clic en el mensaje",
|
||||
"title": "Editar mensaje"
|
||||
},
|
||||
"navigateToChat": {
|
||||
"desc": "Cambiar a la pestaña de conversación y entrar en charla casual",
|
||||
"title": "Cambiar a la conversación predeterminada"
|
||||
},
|
||||
"openChatSettings": {
|
||||
"desc": "Ver y modificar la configuración de la conversación actual",
|
||||
"title": "Abrir configuración de la conversación"
|
||||
|
||||
@@ -332,21 +332,12 @@
|
||||
"Qwen/Qwen3-30B-A3B-Instruct-2507": {
|
||||
"description": "Qwen3-30B-A3B-Instruct-2507 es una versión actualizada del modelo Qwen3-30B-A3B en modo no reflexivo. Es un modelo de expertos mixtos (MoE) con un total de 30.5 mil millones de parámetros y 3.3 mil millones de parámetros activados. El modelo ha mejorado significativamente en varios aspectos, incluyendo el seguimiento de instrucciones, razonamiento lógico, comprensión de texto, matemáticas, ciencias, codificación y uso de herramientas. Además, ha logrado avances sustanciales en la cobertura de conocimientos multilingües de cola larga y se alinea mejor con las preferencias del usuario en tareas subjetivas y abiertas, generando respuestas más útiles y textos de mayor calidad. También se ha mejorado la capacidad de comprensión de textos largos hasta 256K. Este modelo solo soporta el modo no reflexivo y no genera etiquetas `<think></think>` en su salida."
|
||||
},
|
||||
"Qwen/Qwen3-30B-A3B-Thinking-2507": {
|
||||
"description": "Qwen3-30B-A3B-Thinking-2507 es el último modelo de pensamiento de la serie Qwen3, publicado por el equipo Tongyi Qianwen de Alibaba. Como un modelo Mixture of Experts (MoE) con 30.500 millones de parámetros en total y 3.300 millones de parámetros activados, está enfocado en mejorar la capacidad de abordar tareas complejas. Este modelo muestra mejoras significativas en razonamiento lógico, matemáticas, ciencias, programación y en evaluaciones académicas que requieren conocimientos humanos especializados. Al mismo tiempo, presenta avances notables en capacidades generales como el cumplimiento de instrucciones, el uso de herramientas, la generación de texto y la alineación con las preferencias humanas. El modelo soporta de forma nativa la comprensión de contextos largos de 256K tokens y puede ampliarse hasta 1 millón de tokens. Esta versión está diseñada específicamente para el “modo de pensamiento”, con el objetivo de resolver tareas altamente complejas mediante razonamientos detallados y paso a paso; asimismo, sus capacidades como agente (Agent) también resultan sobresalientes."
|
||||
},
|
||||
"Qwen/Qwen3-32B": {
|
||||
"description": "Qwen3 es un nuevo modelo de Tongyi Qianwen de próxima generación con capacidades significativamente mejoradas, alcanzando niveles líderes en la industria en razonamiento, general, agente y múltiples idiomas, y admite el cambio de modo de pensamiento."
|
||||
},
|
||||
"Qwen/Qwen3-8B": {
|
||||
"description": "Qwen3 es un nuevo modelo de Tongyi Qianwen de próxima generación con capacidades significativamente mejoradas, alcanzando niveles líderes en la industria en razonamiento, general, agente y múltiples idiomas, y admite el cambio de modo de pensamiento."
|
||||
},
|
||||
"Qwen/Qwen3-Coder-30B-A3B-Instruct": {
|
||||
"description": "Qwen3-Coder-30B-A3B-Instruct es un modelo de código de la serie Qwen3 desarrollado por el equipo Tongyi Qianwen (通义千问) de Alibaba. Como un modelo depurado y optimizado, mantiene un alto rendimiento y eficiencia a la vez que se centra en mejorar la capacidad de procesamiento de código. Este modelo muestra una ventaja de rendimiento notable frente a otros modelos de código abierto en tareas complejas como la programación agente (Agentic Coding), la automatización de operaciones en navegadores y la invocación de herramientas. Soporta de forma nativa contextos largos de 256K tokens y puede ampliarse hasta 1M tokens, lo que le permite entender y gestionar mejor repositorios de código a escala. Además, proporciona un sólido soporte de codificación por agentes para plataformas como Qwen Code y CLINE, y está diseñado con un formato específico para llamadas a funciones."
|
||||
},
|
||||
"Qwen/Qwen3-Coder-480B-A35B-Instruct": {
|
||||
"description": "Qwen3-Coder-480B-A35B-Instruct es un modelo de código publicado por Alibaba, hasta la fecha el más capaz en términos de agencia (agentic). Es un modelo de expertos mixtos (MoE) con 480 000 millones de parámetros en total y 35 000 millones de parámetros de activación, que logra un equilibrio entre eficiencia y rendimiento. El modelo admite de forma nativa una longitud de contexto de 256K (aprox. 260 000) tokens y puede ampliarse hasta 1 000 000 tokens mediante métodos de extrapolación como YaRN, lo que le permite manejar bases de código a gran escala y tareas de programación complejas. Qwen3-Coder está diseñado para flujos de trabajo de codificación orientados a agentes: no solo genera código, sino que puede interactuar de forma autónoma con herramientas y entornos de desarrollo para resolver problemas de programación complejos. En múltiples pruebas de referencia de tareas de codificación y de agente, este modelo ha alcanzado un nivel superior entre los modelos de código abierto, y su rendimiento puede compararse con el de modelos líderes como Claude Sonnet 4."
|
||||
},
|
||||
"Qwen2-72B-Instruct": {
|
||||
"description": "Qwen2 es la última serie del modelo Qwen, que admite un contexto de 128k. En comparación con los modelos de código abierto más óptimos actuales, Qwen2-72B supera significativamente a los modelos líderes actuales en comprensión del lenguaje natural, conocimiento, código, matemáticas y capacidades multilingües."
|
||||
},
|
||||
@@ -1112,27 +1103,12 @@
|
||||
"flux-dev": {
|
||||
"description": "FLUX.1 [dev] es un modelo refinado y de pesos abiertos para aplicaciones no comerciales. Mantiene una calidad de imagen y capacidad de seguimiento de instrucciones similar a la versión profesional de FLUX, pero con mayor eficiencia operativa. En comparación con modelos estándar de tamaño similar, es más eficiente en el uso de recursos."
|
||||
},
|
||||
"flux-kontext-max": {
|
||||
"description": "Generación y edición de imágenes contextuales de vanguardia — combinando texto e imágenes para obtener resultados precisos y coherentes."
|
||||
},
|
||||
"flux-kontext-pro": {
|
||||
"description": "Generación y edición de imágenes contextuales de vanguardia: combina texto e imágenes para obtener resultados precisos y coherentes."
|
||||
},
|
||||
"flux-kontext/dev": {
|
||||
"description": "Modelo FLUX.1 centrado en tareas de edición de imágenes, compatible con entradas de texto e imagen."
|
||||
"description": "Modelo de edición de imágenes Frontier."
|
||||
},
|
||||
"flux-merged": {
|
||||
"description": "El modelo FLUX.1-merged combina las características profundas exploradas durante la fase de desarrollo de “DEV” con las ventajas de ejecución rápida representadas por “Schnell”. Esta combinación no solo amplía los límites de rendimiento del modelo, sino que también amplía su rango de aplicaciones."
|
||||
},
|
||||
"flux-pro": {
|
||||
"description": "Modelo comercial de generación de imágenes por IA de primer nivel — calidad de imagen incomparable y gran diversidad de resultados."
|
||||
},
|
||||
"flux-pro-1.1": {
|
||||
"description": "Modelo profesional mejorado de generación de imágenes con IA — ofrece una calidad de imagen excepcional y una capacidad precisa para seguir las indicaciones."
|
||||
},
|
||||
"flux-pro-1.1-ultra": {
|
||||
"description": "Generación de imágenes por IA de ultra alta resolución — compatible con salida de 4 megapíxeles; genera imágenes en alta definición en menos de 10 segundos."
|
||||
},
|
||||
"flux-pro/kontext": {
|
||||
"description": "FLUX.1 Kontext [pro] puede procesar texto e imágenes de referencia como entrada, logrando sin problemas ediciones locales específicas y transformaciones complejas de escenas completas."
|
||||
},
|
||||
@@ -1142,11 +1118,8 @@
|
||||
"flux.1-schnell": {
|
||||
"description": "Transformador de flujo rectificado con 12 mil millones de parámetros, capaz de generar imágenes basadas en descripciones textuales."
|
||||
},
|
||||
"flux/krea": {
|
||||
"description": "Flux Krea [dev] es un modelo generador de imágenes con preferencia estética, diseñado para crear imágenes más realistas y naturales."
|
||||
},
|
||||
"flux/schnell": {
|
||||
"description": "FLUX.1 [schnell] es un modelo generador de imágenes con 12 mil millones de parámetros, enfocado en la generación rápida de imágenes de alta calidad."
|
||||
"description": "FLUX.1 [schnell] es un modelo transformador de flujo con 12 mil millones de parámetros, capaz de generar imágenes de alta calidad a partir de texto en 1 a 4 pasos, adecuado para uso personal y comercial."
|
||||
},
|
||||
"gemini-1.0-pro-001": {
|
||||
"description": "Gemini 1.0 Pro 001 (Ajuste) ofrece un rendimiento estable y ajustable, siendo una opción ideal para soluciones de tareas complejas."
|
||||
@@ -1217,9 +1190,6 @@
|
||||
"gemini-2.5-flash": {
|
||||
"description": "Gemini 2.5 Flash es el modelo de mejor relación calidad-precio de Google, que ofrece funcionalidades completas."
|
||||
},
|
||||
"gemini-2.5-flash-image-preview": {
|
||||
"description": "Gemini 2.5 Flash Image Preview es el modelo multimodal nativo más reciente, rápido y eficiente de Google; le permite generar y editar imágenes a través de conversaciones."
|
||||
},
|
||||
"gemini-2.5-flash-lite": {
|
||||
"description": "Gemini 2.5 Flash-Lite es el modelo más pequeño y rentable de Google, diseñado para un uso a gran escala."
|
||||
},
|
||||
@@ -1322,9 +1292,6 @@
|
||||
"glm-4.5-x": {
|
||||
"description": "Versión ultra rápida de GLM-4.5, que combina un rendimiento potente con una velocidad de generación de hasta 100 tokens por segundo."
|
||||
},
|
||||
"glm-4.5v": {
|
||||
"description": "La nueva generación del modelo de razonamiento visual de Zhipu, basada en la arquitectura MOE, cuenta con 106B de parámetros totales y 12B de parámetros de activación; alcanza el estado del arte (SOTA) entre los modelos multimodales de código abierto de la misma categoría a nivel mundial en diversas pruebas de referencia, y cubre tareas comunes como comprensión de imágenes, vídeo, documentos y tareas de interfaz gráfica de usuario (GUI)."
|
||||
},
|
||||
"glm-4v": {
|
||||
"description": "GLM-4V proporciona una poderosa capacidad de comprensión e inferencia de imágenes, soportando diversas tareas visuales."
|
||||
},
|
||||
@@ -1463,7 +1430,9 @@
|
||||
"gpt-4.1-nano": {
|
||||
"description": "GPT-4.1 mini ofrece un equilibrio entre inteligencia, velocidad y costo, lo que lo convierte en un modelo atractivo para muchos casos de uso."
|
||||
},
|
||||
"gpt-4.5-preview": "GPT-4.5-preview es el modelo de propósito general más reciente, con un profundo conocimiento del mundo y una mejor comprensión de las intenciones de los usuarios; destaca en tareas creativas y en la planificación de agentes. El conocimiento de este modelo está actualizado hasta octubre de 2023.",
|
||||
"gpt-4.5-preview": {
|
||||
"description": "Versión de investigación de GPT-4.5, que es nuestro modelo GPT más grande y potente hasta la fecha. Posee un amplio conocimiento del mundo y puede comprender mejor la intención del usuario, lo que lo hace destacar en tareas creativas y planificación autónoma. GPT-4.5 acepta entradas de texto e imagen y genera salidas de texto (incluidas salidas estructuradas). Soporta funciones clave para desarrolladores, como llamadas a funciones, API por lotes y salida en streaming. En tareas que requieren pensamiento creativo, abierto y diálogo (como escritura, aprendizaje o exploración de nuevas ideas), GPT-4.5 brilla especialmente. La fecha límite de conocimiento es octubre de 2023."
|
||||
},
|
||||
"gpt-4o": {
|
||||
"description": "ChatGPT-4o es un modelo dinámico que se actualiza en tiempo real para mantener la versión más actual. Combina una poderosa comprensión y generación de lenguaje, adecuado para aplicaciones a gran escala, incluyendo servicio al cliente, educación y soporte técnico."
|
||||
},
|
||||
@@ -1512,18 +1481,6 @@
|
||||
"gpt-4o-transcribe": {
|
||||
"description": "GPT-4o Transcribe es un modelo de conversión de voz a texto que utiliza GPT-4o para transcribir audio. En comparación con el modelo Whisper original, mejora la tasa de error de palabras y aumenta la precisión y el reconocimiento del idioma. Úselo para obtener transcripciones más precisas."
|
||||
},
|
||||
"gpt-5": {
|
||||
"description": "El mejor modelo para tareas de codificación y agentes multidisciplinarios. GPT-5 logra avances en precisión, velocidad, razonamiento, reconocimiento contextual, pensamiento estructurado y resolución de problemas."
|
||||
},
|
||||
"gpt-5-chat-latest": {
|
||||
"description": "Modelo GPT-5 utilizado en ChatGPT. Combina una potente comprensión y generación del lenguaje, ideal para aplicaciones de interacción conversacional."
|
||||
},
|
||||
"gpt-5-mini": {
|
||||
"description": "Versión más rápida y económica de GPT-5, adecuada para tareas bien definidas. Ofrece respuestas más rápidas manteniendo una salida de alta calidad."
|
||||
},
|
||||
"gpt-5-nano": {
|
||||
"description": "Versión más rápida y económica de GPT-5. Perfecta para escenarios que requieren respuestas rápidas y son sensibles al costo."
|
||||
},
|
||||
"gpt-image-1": {
|
||||
"description": "Modelo nativo multimodal de generación de imágenes de ChatGPT."
|
||||
},
|
||||
@@ -1665,23 +1622,14 @@
|
||||
"image-01-live": {
|
||||
"description": "Modelo de generación de imágenes con detalles finos, soporta generación a partir de texto y configuración de estilo artístico."
|
||||
},
|
||||
"imagen-4.0-fast-generate-001": {
|
||||
"description": "Versión Fast de la serie de modelos Imagen de texto a imagen de cuarta generación"
|
||||
},
|
||||
"imagen-4.0-generate-001": {
|
||||
"description": "Serie Imagen de cuarta generación para generar imágenes a partir de texto."
|
||||
},
|
||||
"imagen-4.0-generate-preview-06-06": {
|
||||
"description": "Serie de modelos de texto a imagen de cuarta generación de Imagen"
|
||||
},
|
||||
"imagen-4.0-ultra-generate-001": {
|
||||
"description": "Imagen, serie de modelos de texto a imagen de cuarta generación, versión Ultra"
|
||||
},
|
||||
"imagen-4.0-ultra-generate-preview-06-06": {
|
||||
"description": "Serie de modelos de texto a imagen de cuarta generación de Imagen, versión Ultra"
|
||||
},
|
||||
"imagen4/preview": {
|
||||
"description": "Modelo generador de imágenes de alta calidad proporcionado por Google."
|
||||
"description": "El modelo de generación de imágenes de mayor calidad de Google."
|
||||
},
|
||||
"internlm/internlm2_5-7b-chat": {
|
||||
"description": "InternLM2.5 ofrece soluciones de diálogo inteligente en múltiples escenarios."
|
||||
@@ -1716,9 +1664,6 @@
|
||||
"kimi-k2-0711-preview": {
|
||||
"description": "kimi-k2 es un modelo base con arquitectura MoE que posee capacidades excepcionales en código y agentes, con un total de 1T parámetros y 32B parámetros activados. En pruebas de rendimiento en categorías principales como razonamiento general, programación, matemáticas y agentes, el modelo K2 supera a otros modelos de código abierto populares."
|
||||
},
|
||||
"kimi-k2-turbo-preview": {
|
||||
"description": "kimi-k2 es un modelo base con arquitectura MoE que ofrece potentes capacidades para código y agentes, con 1T parámetros totales y 32B parámetros activados. En las pruebas de referencia en categorías principales como razonamiento de conocimiento general, programación, matemáticas y agentes, el rendimiento del modelo K2 supera al de otros modelos de código abierto más extendidos."
|
||||
},
|
||||
"kimi-latest": {
|
||||
"description": "El producto asistente inteligente Kimi utiliza el último modelo grande de Kimi, que puede incluir características que aún no están estables. Soporta la comprensión de imágenes y seleccionará automáticamente el modelo de facturación de 8k/32k/128k según la longitud del contexto de la solicitud."
|
||||
},
|
||||
@@ -1803,9 +1748,6 @@
|
||||
"llava:34b": {
|
||||
"description": "LLaVA es un modelo multimodal que combina un codificador visual y Vicuna, utilizado para una poderosa comprensión visual y lingüística."
|
||||
},
|
||||
"magistral-medium-latest": {
|
||||
"description": "Magistral Medium 1.1 es un modelo de inferencia de última generación lanzado por Mistral AI en julio de 2025."
|
||||
},
|
||||
"mathstral": {
|
||||
"description": "MathΣtral está diseñado para la investigación científica y el razonamiento matemático, proporcionando capacidades de cálculo efectivas y explicación de resultados."
|
||||
},
|
||||
@@ -2137,7 +2079,7 @@
|
||||
"description": "o1-mini es un modelo de inferencia rápido y rentable diseñado para aplicaciones de programación, matemáticas y ciencias. Este modelo tiene un contexto de 128K y una fecha de corte de conocimiento en octubre de 2023."
|
||||
},
|
||||
"o1-preview": {
|
||||
"description": "Enfocado en el razonamiento avanzado y en la resolución de problemas complejos, incluidas tareas de matemáticas y de ciencias. Es ideal para aplicaciones que requieren una comprensión profunda del contexto y flujos de trabajo autónomos."
|
||||
"description": "o1 es el nuevo modelo de inferencia de OpenAI, adecuado para tareas complejas que requieren un amplio conocimiento general. Este modelo tiene un contexto de 128K y una fecha de corte de conocimiento en octubre de 2023."
|
||||
},
|
||||
"o1-pro": {
|
||||
"description": "La serie o1 ha sido entrenada mediante aprendizaje reforzado para pensar antes de responder y ejecutar tareas de razonamiento complejas. El modelo o1-pro utiliza más recursos computacionales para un pensamiento más profundo, proporcionando respuestas de calidad superior de manera constante."
|
||||
@@ -2256,15 +2198,6 @@
|
||||
"qwen-coder-turbo-latest": {
|
||||
"description": "El modelo de código Tongyi Qwen."
|
||||
},
|
||||
"qwen-flash": {
|
||||
"description": "La serie Tongyi Qianwen ofrece modelos de la mayor rapidez y de coste extremadamente bajo, adecuados para tareas sencillas."
|
||||
},
|
||||
"qwen-image": {
|
||||
"description": "Qwen-Image es un modelo de generación de imágenes de uso general que admite diversos estilos artísticos y destaca por su capacidad para renderizar textos complejos, especialmente textos en chino e inglés. El modelo soporta maquetación en varias líneas, generación de texto a nivel de párrafo y representación de detalles finos, lo que permite crear diseños complejos que combinan texto e imagen."
|
||||
},
|
||||
"qwen-image-edit": {
|
||||
"description": "Modelo profesional de edición de imágenes lanzado por el equipo Qwen. Admite edición semántica y de apariencia, puede editar con precisión texto en chino e inglés y realizar ediciones de alta calidad, como transferencia de estilo y rotación de objetos."
|
||||
},
|
||||
"qwen-long": {
|
||||
"description": "Qwen es un modelo de lenguaje a gran escala que admite contextos de texto largos y funciones de conversación basadas en documentos largos y múltiples."
|
||||
},
|
||||
@@ -2290,7 +2223,7 @@
|
||||
"description": "La versión mejorada del modelo de lenguaje a gran escala Qwen admite entradas en diferentes idiomas como chino e inglés."
|
||||
},
|
||||
"qwen-turbo": {
|
||||
"description": "通义千问 Turbo dejará de recibir actualizaciones; se recomienda sustituirlo por 通义千问 Flash. 通义千问 es un modelo de lenguaje a gran escala que admite entradas en chino, inglés y otros idiomas."
|
||||
"description": "El modelo de lenguaje a gran escala Qwen-Turbo admite entradas en diferentes idiomas como chino e inglés."
|
||||
},
|
||||
"qwen-vl-chat-v1": {
|
||||
"description": "Qwen VL admite formas de interacción flexibles, incluyendo múltiples imágenes, preguntas y respuestas en múltiples rondas, y capacidades creativas."
|
||||
@@ -2607,15 +2540,9 @@
|
||||
"step-2x-large": {
|
||||
"description": "Nueva generación del modelo Step Star para generación de imágenes, enfocado en tareas de generación basadas en texto, capaz de crear imágenes de alta calidad según descripciones proporcionadas por el usuario. El nuevo modelo produce imágenes con texturas más realistas y mejor capacidad para generar texto en chino e inglés."
|
||||
},
|
||||
"step-3": {
|
||||
"description": "Este modelo cuenta con una destacada capacidad de percepción visual y de razonamiento complejo. Es capaz de realizar con precisión la comprensión de conocimientos complejos entre distintos ámbitos, el análisis cruzado de información matemática y visual, así como una amplia variedad de problemas de análisis visual en la vida cotidiana."
|
||||
},
|
||||
"step-r1-v-mini": {
|
||||
"description": "Este modelo es un gran modelo de inferencia con una poderosa capacidad de comprensión de imágenes, capaz de procesar información de imágenes y texto, generando contenido textual tras un profundo razonamiento. Este modelo destaca en el campo del razonamiento visual, además de poseer capacidades de razonamiento matemático, de código y textual de primer nivel. La longitud del contexto es de 100k."
|
||||
},
|
||||
"stepfun-ai/step3": {
|
||||
"description": "Step3 es un modelo de inferencia multimodal de vanguardia publicado por 阶跃星辰 (StepFun), construido sobre una arquitectura Mixture-of-Experts (MoE) con 321B de parámetros totales y 38B de parámetros de activación. El modelo presenta un diseño de extremo a extremo orientado a minimizar el coste de decodificación, al tiempo que ofrece un rendimiento de primer nivel en razonamiento visual-lingüístico. Gracias al diseño sinérgico entre la atención por descomposición de múltiples matrices (MFA) y el desacoplamiento atención‑FFN (AFD), Step3 mantiene una eficiencia sobresaliente tanto en aceleradores de gama alta como de gama baja. En la fase de preentrenamiento, Step3 procesó más de 20T de tokens de texto y 4T de tokens mixtos imagen-texto, abarcando más de una decena de idiomas. El modelo ha alcanzado niveles líderes entre los modelos de código abierto en múltiples benchmarks, incluidos matemáticas, código y tareas multimodales."
|
||||
},
|
||||
"taichu_llm": {
|
||||
"description": "El modelo de lenguaje Taichu de Zīdōng tiene una poderosa capacidad de comprensión del lenguaje, así como habilidades en creación de textos, preguntas y respuestas, programación de código, cálculos matemáticos, razonamiento lógico, análisis de sentimientos y resúmenes de texto. Combina de manera innovadora el preentrenamiento con grandes datos y un conocimiento rico de múltiples fuentes, perfeccionando continuamente la tecnología algorítmica y absorbiendo nuevos conocimientos en vocabulario, estructura, gramática y semántica de grandes volúmenes de datos textuales, logrando una evolución constante del modelo. Proporciona a los usuarios información y servicios más convenientes, así como una experiencia más inteligente."
|
||||
},
|
||||
@@ -2762,8 +2689,5 @@
|
||||
},
|
||||
"zai-org/GLM-4.5-Air": {
|
||||
"description": "GLM-4.5-Air es un modelo base diseñado para aplicaciones de agentes inteligentes, utilizando arquitectura Mixture-of-Experts (MoE). Está profundamente optimizado para llamadas a herramientas, navegación web, ingeniería de software y programación frontend, soportando integración fluida con agentes de código como Claude Code y Roo Code. GLM-4.5 emplea un modo de inferencia híbrido que se adapta a escenarios de razonamiento complejo y uso cotidiano."
|
||||
},
|
||||
"zai-org/GLM-4.5V": {
|
||||
"description": "GLM-4.5V es la última generación de modelo de lenguaje visual (VLM) publicada por Zhipu AI. Este modelo se basa en el modelo de texto insignia GLM-4.5-Air, que cuenta con 106.000 millones de parámetros totales y 12.000 millones de parámetros de activación, y emplea una arquitectura de expertos mixtos (MoE) para lograr un rendimiento excelente con un coste de inferencia reducido. Técnicamente, GLM-4.5V continúa la línea de GLM-4.1V-Thinking e introduce innovaciones como el codificado rotacional de posiciones en 3D (3D-RoPE), que mejora de forma notable la percepción y el razonamiento sobre las relaciones en el espacio tridimensional. Gracias a optimizaciones en preentrenamiento, ajuste supervisado y aprendizaje por refuerzo, este modelo es capaz de procesar diversos tipos de contenido visual, como imágenes, vídeo y documentos largos, y ha alcanzado niveles punteros entre los modelos open source de su categoría en 41 benchmarks multimodales públicos. Además, el modelo incorpora un interruptor de 'modo de pensamiento' que permite a los usuarios alternar entre respuestas rápidas y razonamiento profundo para equilibrar eficiencia y rendimiento."
|
||||
}
|
||||
}
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user