mirror of
https://github.com/lobehub/lobe-chat.git
synced 2026-06-18 21:36:12 +00:00
Compare commits
205 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| dfa2a2c279 | |||
| d82e7bb9b0 | |||
| 3fbbfc6d96 | |||
| faefe71c9a | |||
| 30a4734577 | |||
| 9e7bea6d88 | |||
| d0ceab9dd6 | |||
| 09055595e4 | |||
| 86a28d9615 | |||
| 164c8b344e | |||
| 9b354af18c | |||
| 62f5a1b93c | |||
| 2e9ad20675 | |||
| 15e15e84ca | |||
| 05cb6bb7de | |||
| a1c66c81fc | |||
| c1ddb6fa23 | |||
| 439fb6eb9d | |||
| 27d48e89e9 | |||
| 54b08fd139 | |||
| 8e2d47d595 | |||
| 75bde54d95 | |||
| b69e75cfca | |||
| 1d466e514f | |||
| a51b33f154 | |||
| 485e6cf47e | |||
| b0d59f8b1b | |||
| 8ceb25f8c2 | |||
| 1fae49042d | |||
| 96ae8034fb | |||
| b3120167ce | |||
| 51ad3998e4 | |||
| 6435935f10 | |||
| 45f71478c4 | |||
| 0a724aae32 | |||
| 1cf4355e94 | |||
| 74a702a5ff | |||
| 6c83807218 | |||
| e5eb7a280d | |||
| a21c05bf64 | |||
| 1e61e79034 | |||
| 4556bdf1c2 | |||
| dbc4b10837 | |||
| 0f10efcb5d | |||
| 68aad95c04 | |||
| 7b12e54646 | |||
| e10a433610 | |||
| 327a56474e | |||
| abb93a6f79 | |||
| d861bb0421 | |||
| 7f00b530fa | |||
| 4cefafd5c5 | |||
| 135c9bea7f | |||
| 862ab713e1 | |||
| e1424ad797 | |||
| 652bf08ab8 | |||
| 025d00202c | |||
| 04db9c59ff | |||
| d9642fc6c5 | |||
| efc7eaf537 | |||
| acec55f605 | |||
| e96750cff3 | |||
| 4eee917d45 | |||
| 96b7508e01 | |||
| f44bf9180b | |||
| 18eee1f75d | |||
| 769fda060d | |||
| 8a88bd099b | |||
| 6b0a411caf | |||
| 600c29b13f | |||
| 2b93efff5a | |||
| 05b99d6c97 | |||
| b46fa8ee99 | |||
| b764c4258d | |||
| 7b726f2846 | |||
| ff94ef0fea | |||
| dfe300622e | |||
| 2b4d657f28 | |||
| 47227cc486 | |||
| 0ee89ff96f | |||
| 0b37014c95 | |||
| 6cc49259c2 | |||
| 8e8505702e | |||
| 5b409ccfa2 | |||
| b525728da9 | |||
| 76d8d502e9 | |||
| 4e71af77f5 | |||
| 7abeee2416 | |||
| f7effe92a2 | |||
| 88e7d2ada1 | |||
| 8c0101e67c | |||
| d796b85ee8 | |||
| 641dfca67c | |||
| aa126fe06f | |||
| 3dcc5da11a | |||
| 6d531d7cc1 | |||
| 0b30d05aaa | |||
| c13e11ce3f | |||
| 8777a4e42a | |||
| 41b4363802 | |||
| d34ba6496e | |||
| 6bdc75781f | |||
| 022d858cbc | |||
| f7302b5886 | |||
| 2077251a16 | |||
| d95c7f4142 | |||
| ceb5289d57 | |||
| 926fa9a1a2 | |||
| d2fba0fb7f | |||
| c883ad1a13 | |||
| 6e0c386090 | |||
| ef599cff43 | |||
| 151e75ef60 | |||
| 3a3e73e419 | |||
| 539932af69 | |||
| de94b3ecd0 | |||
| 2a7e8a89e0 | |||
| 7eae4308ec | |||
| b4ac89d281 | |||
| 223b0c7fa9 | |||
| 9ed268cd36 | |||
| 7c33ccaf53 | |||
| 0a5ae9f1a8 | |||
| e172055a52 | |||
| db57461337 | |||
| 2c6df10136 | |||
| 65609dd1e9 | |||
| f97c62e196 | |||
| 526e0bf473 | |||
| 0a3ff2ce9e | |||
| e208b01472 | |||
| 904ee138ba | |||
| 1e3597200b | |||
| 89b93b396d | |||
| 9c28a88561 | |||
| 7c1ca41c53 | |||
| 740a28e4aa | |||
| ddddb1e881 | |||
| bba3179b47 | |||
| ce159a33f0 | |||
| b0be9be7c0 | |||
| 6db157ed64 | |||
| af071015d0 | |||
| 0458190d16 | |||
| 4306558781 | |||
| 954eb2cb18 | |||
| 3cc4a54d6f | |||
| bb1a3d9a08 | |||
| adcedf41ca | |||
| d79f2f99fd | |||
| 3b87fe70b2 | |||
| 29417d5e18 | |||
| 9b74e172a0 | |||
| 0c00c89374 | |||
| 4db6485410 | |||
| 1257d905c7 | |||
| 896020a7ba | |||
| 411ed7eac1 | |||
| c36ec9bdbd | |||
| b8d51a9c87 | |||
| 433e679844 | |||
| fe7062f796 | |||
| b278458f2d | |||
| d136b6eb55 | |||
| ef42644d03 | |||
| dfb8687f0e | |||
| 14c41c488f | |||
| bc984529a6 | |||
| f72eadee09 | |||
| 21cac39e72 | |||
| b7f8e6e521 | |||
| 6e7035e1e5 | |||
| 0dd157b2f6 | |||
| a796495e1c | |||
| 4f4620c3c3 | |||
| 96301670c4 | |||
| d7763c38c5 | |||
| b1e01d377a | |||
| 0ed73685dc | |||
| f92b86b194 | |||
| 1cf58899d8 | |||
| c1dfa7ab49 | |||
| f8a01aacb0 | |||
| c29559cb2e | |||
| 16dd71b5e9 | |||
| ad8f5e451b | |||
| 67abdfe153 | |||
| 672580737f | |||
| 778152f966 | |||
| 018ca7598c | |||
| 6bfba72dce | |||
| b7dbcfd310 | |||
| 3264cf2106 | |||
| 9a372f622d | |||
| de05d4165f | |||
| 57118b031e | |||
| c4b2bb59c3 | |||
| 2211cd7632 | |||
| 2a3754a436 | |||
| e448d52d5c | |||
| 04edfca6e0 | |||
| b9e3e6633e | |||
| 17a289066e | |||
| 5e99b815f7 | |||
| 07472e0555 |
@@ -26,28 +26,11 @@ Gather the modified code and context. Please strictly follow the process below:
|
||||
|
||||
### Code Style
|
||||
|
||||
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.
|
||||
read [typescript.mdc](mdc:.cursor/rules/typescript.mdc) for the consolidated project code style and optimization rules.
|
||||
|
||||
### Code Optimization
|
||||
|
||||
- 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.
|
||||
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.
|
||||
|
||||
### Obvious Bugs
|
||||
|
||||
|
||||
@@ -30,75 +30,3 @@ 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!**
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
---
|
||||
description: i18n workflow and troubleshooting
|
||||
globs:
|
||||
globs: *.tsx
|
||||
alwaysApply: false
|
||||
---
|
||||
# LobeChat 国际化指南
|
||||
|
||||
@@ -43,16 +43,16 @@ The project uses the following technologies:
|
||||
|
||||
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
|
||||
## Often used npm scripts and commands
|
||||
|
||||
```bash
|
||||
# !: don't any build script to check weather code can work after modify
|
||||
# type check
|
||||
bun type-check
|
||||
bun run type-check
|
||||
|
||||
# install dependencies
|
||||
pnpm install
|
||||
|
||||
# !: don't any build script to check weather code can work after modify
|
||||
# run tests
|
||||
npx vitest run --config vitest.config.ts '[file-path-pattern]'
|
||||
```
|
||||
|
||||
check [testing guide](./testing-guide/testing-guide.mdc) to learn test scripts.
|
||||
|
||||
@@ -3,6 +3,7 @@ description:
|
||||
globs: *.tsx
|
||||
alwaysApply: false
|
||||
---
|
||||
|
||||
# react component 编写指南
|
||||
|
||||
- 如果要写复杂样式的话用 antd-style ,简单的话可以用 style 属性直接写内联样式
|
||||
@@ -20,18 +21,20 @@ 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
|
||||
@@ -53,13 +56,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>
|
||||
@@ -74,80 +77,96 @@ 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
|
||||
Icon
|
||||
- ActionIcon
|
||||
- ActionIconGroup
|
||||
- Block
|
||||
- Button
|
||||
- DownloadButton
|
||||
- Icon
|
||||
- Data Display
|
||||
Avatar
|
||||
Collapse
|
||||
FileTypeIcon
|
||||
FluentEmoji
|
||||
GuideCard
|
||||
Highlighter
|
||||
Hotkey
|
||||
Image
|
||||
List
|
||||
Markdown
|
||||
MaterialFileTypeIcon
|
||||
Mermaid
|
||||
Segmented
|
||||
Snippet
|
||||
SortableList
|
||||
Tag
|
||||
Tooltip
|
||||
Video
|
||||
- Avatar
|
||||
- AvatarGroup
|
||||
- GroupAvatar
|
||||
- Collapse
|
||||
- FileTypeIcon
|
||||
- FluentEmoji
|
||||
- GuideCard
|
||||
- Highlighter
|
||||
- Hotkey
|
||||
- Image
|
||||
- List
|
||||
- Markdown
|
||||
- SearchResultCards
|
||||
- MaterialFileTypeIcon
|
||||
- Mermaid
|
||||
- Typography
|
||||
- Text
|
||||
- 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
|
||||
Footer
|
||||
Grid
|
||||
Header
|
||||
Layout
|
||||
MaskShadow
|
||||
ScrollShadow
|
||||
- DraggablePanel
|
||||
- DraggablePanelBody
|
||||
- DraggablePanelContainer
|
||||
- DraggablePanelFooter
|
||||
- DraggablePanelHeader
|
||||
- Footer
|
||||
- Grid
|
||||
- Header
|
||||
- Layout
|
||||
- LayoutFooter
|
||||
- LayoutHeader
|
||||
- LayoutMain
|
||||
- LayoutSidebar
|
||||
- LayoutSidebarInner
|
||||
- LayoutToc
|
||||
- MaskShadow
|
||||
- ScrollShadow
|
||||
- Navigation
|
||||
Burger
|
||||
Dropdown
|
||||
Menu
|
||||
SideNav
|
||||
Tabs
|
||||
Toc
|
||||
- Burger
|
||||
- Dropdown
|
||||
- Menu
|
||||
- SideNav
|
||||
- Tabs
|
||||
- Toc
|
||||
- Theme
|
||||
ConfigProvider
|
||||
FontLoader
|
||||
ThemeProvider
|
||||
- ConfigProvider
|
||||
- FontLoader
|
||||
- ThemeProvider
|
||||
|
||||
@@ -4,82 +4,49 @@ globs:
|
||||
alwaysApply: true
|
||||
---
|
||||
|
||||
# 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
|
||||
# 📋 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
|
||||
- `testing-guide.mdc` – Comprehensive testing guide for Vitest environment
|
||||
- `i18n.mdc` – Internationalization guide using react-i18next
|
||||
- `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
|
||||
|
||||
## ❌ Common Misunderstandings to Avoid
|
||||
## Desktop (Electron)
|
||||
|
||||
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
|
||||
- `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
|
||||
|
||||
## 🛠️ Practical Workflow
|
||||
## Debugging
|
||||
|
||||
```
|
||||
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)
|
||||
```
|
||||
- `debug.mdc` – General debugging guide
|
||||
- `debug-usage.mdc` – Using the debug package and namespace conventions
|
||||
|
||||
## Example Decision Flow
|
||||
## Testing
|
||||
|
||||
**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 ✅
|
||||
- `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
|
||||
|
||||
@@ -6,38 +6,26 @@ alwaysApply: true
|
||||
|
||||
## System Role
|
||||
|
||||
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 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 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 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 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
|
||||
- Admit when you don't know something instead of guessing
|
||||
- Express uncertainty when there might not be a correct answer, instead of take action by guessing and assuming
|
||||
|
||||
## 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
|
||||
- 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.
|
||||
- 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
|
||||
|
||||
@@ -430,6 +430,22 @@ expect(result!.status).toBe('success');
|
||||
// ✅ 使用 any 类型简化复杂的 Mock 设置
|
||||
const mockStream = new ReadableStream() as any;
|
||||
mockStream.toReadableStream = () => mockStream;
|
||||
|
||||
// ✅ 使用中括号访问私有属性和方法(推荐)
|
||||
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); // ❌ 不推荐
|
||||
```
|
||||
|
||||
#### 🎯 适用场景
|
||||
@@ -437,11 +453,13 @@ mockStream.toReadableStream = () => mockStream;
|
||||
- **Mock 对象**: 对于测试用的 Mock 数据,使用 `as any` 避免复杂的类型定义
|
||||
- **第三方库**: 处理复杂的第三方库类型时,适当使用 `any` 提高效率
|
||||
- **测试断言**: 在确定对象存在的测试场景中,使用 `!` 非空断言
|
||||
- **私有成员访问**: 优先使用中括号 `instance['privateMethod']()` 而不是 `(instance as any).privateMethod()`
|
||||
- **临时调试**: 快速编写测试时,先用 `any` 保证功能,后续可选择性地优化类型
|
||||
|
||||
#### ⚠️ 注意事项
|
||||
|
||||
- **适度使用**: 不要过度依赖 `any`,核心业务逻辑的类型仍应保持严格
|
||||
- **私有成员访问优先级**: 中括号访问 > `as any` 转换,保持更好的类型安全性
|
||||
- **文档说明**: 对于使用 `any` 的复杂场景,添加注释说明原因
|
||||
- **测试覆盖**: 确保即使使用了 `any`,测试仍能有效验证功能正确性
|
||||
|
||||
|
||||
@@ -1,21 +1,62 @@
|
||||
---
|
||||
description:
|
||||
description: TypeScript code style and optimization guidelines
|
||||
globs: *.ts,*.tsx,*.mts
|
||||
alwaysApply: false
|
||||
---
|
||||
|
||||
TypeScript Code Style Guide:
|
||||
# TypeScript Code Style Guide
|
||||
|
||||
## Types and Type Safety
|
||||
|
||||
- Avoid explicit type annotations when TypeScript can infer types.
|
||||
- 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'
|
||||
- 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.
|
||||
|
||||
@@ -140,6 +140,20 @@ OPENAI_API_KEY=sk-xxxxxxxxx
|
||||
|
||||
# INFINIAI_API_KEY=sk-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
|
||||
|
||||
|
||||
### 302.AI ###
|
||||
|
||||
# AI302_API_KEY=sk-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
|
||||
|
||||
### ModelScope ###
|
||||
|
||||
# MODELSCOPE_API_KEY=sk-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
|
||||
|
||||
### AiHubMix ###
|
||||
|
||||
# AIHUBMIX_API_KEY=sk-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
|
||||
|
||||
|
||||
########################################
|
||||
############ Market Service ############
|
||||
########################################
|
||||
|
||||
@@ -0,0 +1,78 @@
|
||||
name: Claude Code Review
|
||||
|
||||
on:
|
||||
pull_request:
|
||||
types: [opened, synchronize]
|
||||
# Optional: Only run on specific file changes
|
||||
# paths:
|
||||
# - "src/**/*.ts"
|
||||
# - "src/**/*.tsx"
|
||||
# - "src/**/*.js"
|
||||
# - "src/**/*.jsx"
|
||||
|
||||
jobs:
|
||||
claude-review:
|
||||
# Optional: Filter by PR author
|
||||
# if: |
|
||||
# github.event.pull_request.user.login == 'external-contributor' ||
|
||||
# github.event.pull_request.user.login == 'new-developer' ||
|
||||
# github.event.pull_request.author_association == 'FIRST_TIME_CONTRIBUTOR'
|
||||
|
||||
runs-on: ubuntu-latest
|
||||
permissions:
|
||||
contents: read
|
||||
pull-requests: read
|
||||
issues: read
|
||||
id-token: write
|
||||
|
||||
steps:
|
||||
- name: Checkout repository
|
||||
uses: actions/checkout@v4
|
||||
with:
|
||||
fetch-depth: 1
|
||||
|
||||
- name: Run Claude Code Review
|
||||
id: claude-review
|
||||
uses: anthropics/claude-code-action@beta
|
||||
with:
|
||||
claude_code_oauth_token: ${{ secrets.CLAUDE_CODE_OAUTH_TOKEN }}
|
||||
|
||||
# Optional: Specify model (defaults to Claude Sonnet 4, uncomment for Claude Opus 4)
|
||||
model: 'claude-opus-4-1-20250805'
|
||||
allowed_bots: 'bot'
|
||||
|
||||
# Direct prompt for automated review (no @claude mention needed)
|
||||
direct_prompt: |
|
||||
Please review this pull request and provide feedback on:
|
||||
- Code quality and best practices
|
||||
- Potential bugs or issues
|
||||
- Performance considerations
|
||||
- Security concerns
|
||||
- Test coverage
|
||||
|
||||
Be constructive and helpful in your feedback.
|
||||
|
||||
# Optional: Use sticky comments to make Claude reuse the same comment on subsequent pushes to the same PR
|
||||
# use_sticky_comment: true
|
||||
|
||||
# Optional: Customize review based on file types
|
||||
# direct_prompt: |
|
||||
# Review this PR focusing on:
|
||||
# - For TypeScript files: Type safety and proper interface usage
|
||||
# - For API endpoints: Security, input validation, and error handling
|
||||
# - For React components: Performance, accessibility, and best practices
|
||||
# - For tests: Coverage, edge cases, and test quality
|
||||
|
||||
# Optional: Different prompts for different authors
|
||||
# direct_prompt: |
|
||||
# ${{ github.event.pull_request.author_association == 'FIRST_TIME_CONTRIBUTOR' &&
|
||||
# 'Welcome! Please review this PR from a first-time contributor. Be encouraging and provide detailed explanations for any suggestions.' ||
|
||||
# 'Please provide a thorough code review focusing on our coding standards and best practices.' }}
|
||||
|
||||
# Optional: Add specific tools for running tests or linting
|
||||
allowed_tools: 'Bash(bun run:*),Bash(pnpm run:*),Bash(npm run:*),Bash(npx vitest:*),Bash(rg:*),Bash(find:*),Bash(sed:*),Bash(grep:*),Bash(awk:*),Bash(wc:*),Bash(xargs:*)'
|
||||
|
||||
# Optional: Skip review for certain conditions
|
||||
# if: |
|
||||
# !contains(github.event.pull_request.title, '[skip-review]') &&
|
||||
# !contains(github.event.pull_request.title, '[WIP]')
|
||||
@@ -0,0 +1,64 @@
|
||||
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@v4
|
||||
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 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
|
||||
@@ -35,7 +35,7 @@ jobs:
|
||||
- name: Setup pnpm
|
||||
uses: pnpm/action-setup@v2
|
||||
with:
|
||||
version: 9
|
||||
version: 10
|
||||
|
||||
- name: Install deps
|
||||
run: pnpm install
|
||||
@@ -107,7 +107,7 @@ jobs:
|
||||
- name: Setup pnpm
|
||||
uses: pnpm/action-setup@v2
|
||||
with:
|
||||
version: 9
|
||||
version: 10
|
||||
|
||||
# node-linker=hoisted 模式将可以确保 asar 压缩可用
|
||||
- name: Install deps
|
||||
|
||||
@@ -31,7 +31,7 @@ jobs:
|
||||
- name: Setup pnpm
|
||||
uses: pnpm/action-setup@v2
|
||||
with:
|
||||
version: 9
|
||||
version: 10
|
||||
|
||||
- name: Install deps
|
||||
run: pnpm install
|
||||
@@ -94,7 +94,7 @@ jobs:
|
||||
- name: Setup pnpm
|
||||
uses: pnpm/action-setup@v2
|
||||
with:
|
||||
version: 9
|
||||
version: 10
|
||||
|
||||
# node-linker=hoisted 模式将可以确保 asar 压缩可用
|
||||
- name: Install deps
|
||||
|
||||
+90
-56
@@ -1,77 +1,111 @@
|
||||
# Gitignore for LobeHub
|
||||
################################################################
|
||||
|
||||
# general
|
||||
# System files
|
||||
.DS_Store
|
||||
.idea
|
||||
.vscode
|
||||
.history
|
||||
.temp
|
||||
.env.local
|
||||
venv
|
||||
temp
|
||||
tmp
|
||||
.windsurfrules
|
||||
Thumbs.db
|
||||
ehthumbs.db
|
||||
Desktop.ini
|
||||
|
||||
# dependencies
|
||||
node_modules
|
||||
# Linux/Ubuntu system files
|
||||
*~
|
||||
*.swp
|
||||
*.swo
|
||||
.fuse_hidden*
|
||||
.directory
|
||||
.Trash-*
|
||||
.nfs*
|
||||
.gvfs-fuse-daemon-*
|
||||
|
||||
# IDE and editors
|
||||
.idea/
|
||||
*.sublime-*
|
||||
.history/
|
||||
.windsurfrules
|
||||
*.code-workspace
|
||||
|
||||
# Temporary files
|
||||
.temp/
|
||||
temp/
|
||||
tmp/
|
||||
*.tmp
|
||||
*.temp
|
||||
*.log
|
||||
*.cache
|
||||
.cache/
|
||||
|
||||
# Environment files
|
||||
.env
|
||||
.env.local
|
||||
.env*.local
|
||||
venv/
|
||||
.venv/
|
||||
|
||||
# Dependencies
|
||||
node_modules/
|
||||
*.lock
|
||||
package-lock.json
|
||||
bun.lockb
|
||||
.pnpm-store/
|
||||
|
||||
# ci
|
||||
coverage
|
||||
.coverage
|
||||
# Build outputs
|
||||
dist/
|
||||
es/
|
||||
lib/
|
||||
.next/
|
||||
logs/
|
||||
test-output/
|
||||
*.tsbuildinfo
|
||||
next-env.d.ts
|
||||
|
||||
# Framework specific
|
||||
# Umi
|
||||
.umi/
|
||||
.umi-production/
|
||||
.umi-test/
|
||||
.dumi/tmp*/
|
||||
|
||||
# Vercel
|
||||
.vercel/
|
||||
|
||||
# Testing and CI
|
||||
coverage/
|
||||
.coverage/
|
||||
.nyc_output/
|
||||
.eslintcache
|
||||
.stylelintcache
|
||||
|
||||
# production
|
||||
dist
|
||||
es
|
||||
lib
|
||||
logs
|
||||
test-output
|
||||
|
||||
# umi
|
||||
.umi
|
||||
.umi-production
|
||||
.umi-test
|
||||
.dumi/tmp*
|
||||
|
||||
# husky
|
||||
.husky/prepare-commit-msg
|
||||
|
||||
# local env files
|
||||
.env*.local
|
||||
|
||||
# vercel
|
||||
.vercel
|
||||
|
||||
# typescript
|
||||
*.tsbuildinfo
|
||||
next-env.d.ts
|
||||
.next
|
||||
.env
|
||||
public/*.js
|
||||
public/sitemap.xml
|
||||
public/sitemap-index.xml
|
||||
bun.lockb
|
||||
sitemap*.xml
|
||||
robots.txt
|
||||
|
||||
# Service Worker
|
||||
# Serwist
|
||||
public/sw*
|
||||
public/swe-worker*
|
||||
|
||||
# Generated files
|
||||
public/*.js
|
||||
public/sitemap.xml
|
||||
public/sitemap-index.xml
|
||||
sitemap*.xml
|
||||
robots.txt
|
||||
|
||||
# Git hooks
|
||||
.husky/prepare-commit-msg
|
||||
|
||||
# Documents and media
|
||||
*.patch
|
||||
*.pdf
|
||||
|
||||
# Cloud service keys
|
||||
vertex-ai-key.json
|
||||
.pnpm-store
|
||||
./packages/lobe-ui
|
||||
|
||||
|
||||
# local use ai coding files
|
||||
docs/.prd
|
||||
.claude
|
||||
# AI coding tools
|
||||
.local/
|
||||
.claude/
|
||||
.mcp.json
|
||||
CLAUDE.md
|
||||
|
||||
CLAUDE.local.md
|
||||
|
||||
# Misc
|
||||
./packages/lobe-ui
|
||||
*.ppt*
|
||||
*.doc*
|
||||
*.xls*
|
||||
|
||||
+1
-1
@@ -25,7 +25,7 @@ module.exports = defineConfig({
|
||||
],
|
||||
temperature: 0,
|
||||
saveImmediately: true,
|
||||
modelName: 'gpt-4.1-mini',
|
||||
modelName: 'gpt-5-mini',
|
||||
experimental: {
|
||||
jsonMode: true,
|
||||
},
|
||||
|
||||
Vendored
+13
@@ -0,0 +1,13 @@
|
||||
{
|
||||
"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
+89
@@ -0,0 +1,89 @@
|
||||
{
|
||||
"npm.packageManager": "pnpm",
|
||||
// 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" }
|
||||
],
|
||||
"stylelint.validate": [
|
||||
"css",
|
||||
"postcss",
|
||||
// make stylelint work with tsx antd-style css template string
|
||||
"typescriptreact"
|
||||
],
|
||||
"search.exclude": {
|
||||
"**/node_modules": true,
|
||||
// useless to search this big folder
|
||||
"locales": true
|
||||
},
|
||||
"vitest.maximumConfigs": 6,
|
||||
"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",
|
||||
"**/src/libs/model-runtime/*/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",
|
||||
},
|
||||
"eslint.validate": [
|
||||
"javascript",
|
||||
"javascriptreact",
|
||||
"typescript",
|
||||
"typescriptreact",
|
||||
"markdown",
|
||||
// support mdx
|
||||
"mdx"
|
||||
]
|
||||
}
|
||||
+1349
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,117 @@
|
||||
# CLAUDE.md
|
||||
|
||||
This document serves as a shared guideline for all team members when using Claude Code in this repository.
|
||||
|
||||
## Suggestions
|
||||
|
||||
- When searching the project source code, it is recommended to exclude: `src/database/migrations/meta`, `**/*.test.*`, `**/__snapshots__`, `**/fixtures`
|
||||
- Please store all temporary scripts (such as migration and refactoring scripts) in the `docs/.local/` directory; the contents of this folder will not be committed.
|
||||
|
||||
## Technologies Stack
|
||||
|
||||
read @.cursor/rules/project-introduce.mdc for more details.
|
||||
|
||||
### Directory Structure
|
||||
|
||||
```plaintext
|
||||
src/
|
||||
├── app/ # Next.js App Router
|
||||
├── features/ # Feature-based UI components
|
||||
├── store/ # Zustand state stores
|
||||
├── services/ # Client services (tRPC/Model calls)
|
||||
├── server/ # Server-side (tRPC routers, services)
|
||||
├── database/ # Schemas, models, repositories
|
||||
├── libs/ # External library integrations
|
||||
```
|
||||
|
||||
### Data Flow
|
||||
|
||||
- **Client DB Version**: UI → Zustand → Service → Model → PGLite
|
||||
- **Server DB Version**: UI → Zustand → Service → tRPC → Repository/Model → PostgreSQL
|
||||
|
||||
## 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 is a monorepo project and we use `pnpm` as package manager
|
||||
|
||||
### 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**: `npx vitest run --config vitest.config.ts '[file-path-pattern]'`, wrapped in single quotes to avoid shell expansion
|
||||
|
||||
**Important**:
|
||||
|
||||
- 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
|
||||
|
||||
**State & UI**
|
||||
|
||||
- `zustand-slice-organization.mdc` - Store organization
|
||||
- `zustand-action-patterns.mdc` - Action patterns
|
||||
- `packages/react-layout-kit.mdc` - 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
|
||||
|
||||
**Development Tools**
|
||||
|
||||
- `i18n.mdc` - Internationalization workflow
|
||||
- `debug.mdc` - Debugging strategies
|
||||
+5
-1
@@ -150,6 +150,8 @@ ENV \
|
||||
AI21_API_KEY="" AI21_MODEL_LIST="" \
|
||||
# Ai360
|
||||
AI360_API_KEY="" AI360_MODEL_LIST="" \
|
||||
# AiHubMix
|
||||
AIHUBMIX_API_KEY="" AIHUBMIX_MODEL_LIST="" \
|
||||
# Anthropic
|
||||
ANTHROPIC_API_KEY="" ANTHROPIC_MODEL_LIST="" ANTHROPIC_PROXY_URL="" \
|
||||
# Amazon Bedrock
|
||||
@@ -245,7 +247,9 @@ ENV \
|
||||
# Tencent Cloud
|
||||
TENCENT_CLOUD_API_KEY="" TENCENT_CLOUD_MODEL_LIST="" \
|
||||
# Infini-AI
|
||||
INFINIAI_API_KEY="" INFINIAI_MODEL_LIST=""
|
||||
INFINIAI_API_KEY="" INFINIAI_MODEL_LIST="" \
|
||||
# 302.AI
|
||||
AI302_API_KEY="" AI302_MODEL_LIST=""
|
||||
|
||||
USER nextjs
|
||||
|
||||
|
||||
+5
-1
@@ -192,6 +192,8 @@ ENV \
|
||||
AI21_API_KEY="" AI21_MODEL_LIST="" \
|
||||
# Ai360
|
||||
AI360_API_KEY="" AI360_MODEL_LIST="" \
|
||||
# AiHubMix
|
||||
AIHUBMIX_API_KEY="" AIHUBMIX_MODEL_LIST="" \
|
||||
# Anthropic
|
||||
ANTHROPIC_API_KEY="" ANTHROPIC_MODEL_LIST="" ANTHROPIC_PROXY_URL="" \
|
||||
# Amazon Bedrock
|
||||
@@ -287,7 +289,9 @@ ENV \
|
||||
# Tencent Cloud
|
||||
TENCENT_CLOUD_API_KEY="" TENCENT_CLOUD_MODEL_LIST="" \
|
||||
# Infini-AI
|
||||
INFINIAI_API_KEY="" INFINIAI_MODEL_LIST=""
|
||||
INFINIAI_API_KEY="" INFINIAI_MODEL_LIST="" \
|
||||
# 302.AI
|
||||
AI302_API_KEY="" AI302_MODEL_LIST=""
|
||||
|
||||
USER nextjs
|
||||
|
||||
|
||||
+5
-1
@@ -152,6 +152,8 @@ ENV \
|
||||
AI21_API_KEY="" AI21_MODEL_LIST="" \
|
||||
# Ai360
|
||||
AI360_API_KEY="" AI360_MODEL_LIST="" \
|
||||
# AiHubMix
|
||||
AIHUBMIX_API_KEY="" AIHUBMIX_MODEL_LIST="" \
|
||||
# Anthropic
|
||||
ANTHROPIC_API_KEY="" ANTHROPIC_MODEL_LIST="" ANTHROPIC_PROXY_URL="" \
|
||||
# Amazon Bedrock
|
||||
@@ -243,7 +245,9 @@ ENV \
|
||||
# Tencent Cloud
|
||||
TENCENT_CLOUD_API_KEY="" TENCENT_CLOUD_MODEL_LIST="" \
|
||||
# Infini-AI
|
||||
INFINIAI_API_KEY="" INFINIAI_MODEL_LIST=""
|
||||
INFINIAI_API_KEY="" INFINIAI_MODEL_LIST="" \
|
||||
# 302.AI
|
||||
AI302_API_KEY="" AI302_MODEL_LIST=""
|
||||
|
||||
USER nextjs
|
||||
|
||||
|
||||
@@ -245,13 +245,14 @@ We have implemented support for the following model service providers:
|
||||
- **[Bedrock](https://lobechat.com/discover/provider/bedrock)**: 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.
|
||||
- **[Google](https://lobechat.com/discover/provider/google)**: Google's Gemini series represents its most advanced, versatile AI models, developed by Google DeepMind, designed for multimodal capabilities, supporting seamless understanding and processing of text, code, images, audio, and video. Suitable for various environments from data centers to mobile devices, it significantly enhances the efficiency and applicability of AI models.
|
||||
- **[DeepSeek](https://lobechat.com/discover/provider/deepseek)**: DeepSeek is a company focused on AI technology research and application, with its latest model DeepSeek-V2.5 integrating general dialogue and code processing capabilities, achieving significant improvements in human preference alignment, writing tasks, and instruction following.
|
||||
- **[HuggingFace](https://lobechat.com/discover/provider/huggingface)**: The HuggingFace Inference API provides a fast and free way for you to explore thousands of models for various tasks. Whether you are prototyping for a new application or experimenting with the capabilities of machine learning, this API gives you instant access to high-performance models across multiple domains.
|
||||
- **[Moonshot](https://lobechat.com/discover/provider/moonshot)**: Moonshot is an open-source platform launched by Beijing Dark Side Technology Co., Ltd., providing various natural language processing models with a wide range of applications, including but not limited to content creation, academic research, intelligent recommendations, and medical diagnosis, supporting long text processing and complex generation tasks.
|
||||
- **[OpenRouter](https://lobechat.com/discover/provider/openrouter)**: OpenRouter is a service platform providing access to various cutting-edge large model interfaces, supporting OpenAI, Anthropic, LLaMA, and more, suitable for diverse development and application needs. Users can flexibly choose the optimal model and pricing based on their requirements, enhancing the AI experience.
|
||||
- **[HuggingFace](https://lobechat.com/discover/provider/huggingface)**: The HuggingFace Inference API provides a fast and free way for you to explore thousands of models for various tasks. Whether you are prototyping for a new application or experimenting with the capabilities of machine learning, this API gives you instant access to high-performance models across multiple domains.
|
||||
- **[Cloudflare Workers AI](https://lobechat.com/discover/provider/cloudflare)**: Run serverless GPU-powered machine learning models on Cloudflare's global network.
|
||||
|
||||
<details><summary><kbd>See more providers (+32)</kbd></summary>
|
||||
|
||||
- **[GitHub](https://lobechat.com/discover/provider/github)**: With GitHub Models, developers can become AI engineers and leverage the industry's leading AI models.
|
||||
|
||||
<details><summary><kbd>See more providers (+31)</kbd></summary>
|
||||
|
||||
- **[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.
|
||||
- **[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.
|
||||
@@ -272,7 +273,6 @@ We have implemented support for the following model service providers:
|
||||
- **[Spark](https://lobechat.com/discover/provider/spark)**: iFlytek's Spark model provides powerful AI capabilities across multiple domains and languages, utilizing advanced natural language processing technology to build innovative applications suitable for smart hardware, smart healthcare, smart finance, and other vertical scenarios.
|
||||
- **[SenseNova](https://lobechat.com/discover/provider/sensenova)**: SenseNova, backed by SenseTime's robust infrastructure, offers efficient and user-friendly full-stack large model services.
|
||||
- **[Stepfun](https://lobechat.com/discover/provider/stepfun)**: StepFun's large model possesses industry-leading multimodal and complex reasoning capabilities, supporting ultra-long text understanding and powerful autonomous scheduling search engine functions.
|
||||
- **[Moonshot](https://lobechat.com/discover/provider/moonshot)**: Moonshot is an open-source platform launched by Beijing Dark Side Technology Co., Ltd., providing various natural language processing models with a wide range of applications, including but not limited to content creation, academic research, intelligent recommendations, and medical diagnosis, supporting long text processing and complex generation tasks.
|
||||
- **[Baichuan](https://lobechat.com/discover/provider/baichuan)**: Baichuan Intelligence is a company focused on the research and development of large AI models, with its models excelling in domestic knowledge encyclopedias, long text processing, and generative creation tasks in Chinese, surpassing mainstream foreign models. Baichuan Intelligence also possesses industry-leading multimodal capabilities, performing excellently in multiple authoritative evaluations. Its models include Baichuan 4, Baichuan 3 Turbo, and Baichuan 3 Turbo 128k, each optimized for different application scenarios, providing cost-effective solutions.
|
||||
- **[Minimax](https://lobechat.com/discover/provider/minimax)**: MiniMax is a general artificial intelligence technology company established in 2021, dedicated to co-creating intelligence with users. MiniMax has independently developed general large models of different modalities, including trillion-parameter MoE text models, voice models, and image models, and has launched applications such as Conch AI.
|
||||
- **[InternLM](https://lobechat.com/discover/provider/internlm)**: An open-source organization dedicated to the research and development of large model toolchains. It provides an efficient and user-friendly open-source platform for all AI developers, making cutting-edge large models and algorithm technologies easily accessible.
|
||||
@@ -283,10 +283,11 @@ 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>
|
||||
|
||||
> 📊 Total providers: [<kbd>**41**</kbd>](https://lobechat.com/discover/providers)
|
||||
> 📊 Total providers: [<kbd>**42**</kbd>](https://lobechat.com/discover/providers)
|
||||
|
||||
<!-- PROVIDER LIST -->
|
||||
|
||||
@@ -384,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>**43**</kbd>](https://lobechat.com/discover/plugins)
|
||||
> 📊 Total plugins: [<kbd>**42**</kbd>](https://lobechat.com/discover/plugins)
|
||||
|
||||
<!-- PLUGIN LIST -->
|
||||
|
||||
|
||||
+9
-8
@@ -245,13 +245,14 @@ LobeChat 支持文件上传与知识库功能,你可以上传文件、图片
|
||||
- **[Bedrock](https://lobechat.com/discover/provider/bedrock)**: Bedrock 是亚马逊 AWS 提供的一项服务,专注于为企业提供先进的 AI 语言模型和视觉模型。其模型家族包括 Anthropic 的 Claude 系列、Meta 的 Llama 3.1 系列等,涵盖从轻量级到高性能的多种选择,支持文本生成、对话、图像处理等多种任务,适用于不同规模和需求的企业应用。
|
||||
- **[Google](https://lobechat.com/discover/provider/google)**: Google 的 Gemini 系列是其最先进、通用的 AI 模型,由 Google DeepMind 打造,专为多模态设计,支持文本、代码、图像、音频和视频的无缝理解与处理。适用于从数据中心到移动设备的多种环境,极大提升了 AI 模型的效率与应用广泛性。
|
||||
- **[DeepSeek](https://lobechat.com/discover/provider/deepseek)**: DeepSeek 是一家专注于人工智能技术研究和应用的公司,其最新模型 DeepSeek-V3 多项评测成绩超越 Qwen2.5-72B 和 Llama-3.1-405B 等开源模型,性能对齐领军闭源模型 GPT-4o 与 Claude-3.5-Sonnet。
|
||||
- **[HuggingFace](https://lobechat.com/discover/provider/huggingface)**: HuggingFace Inference API 提供了一种快速且免费的方式,让您可以探索成千上万种模型,适用于各种任务。无论您是在为新应用程序进行原型设计,还是在尝试机器学习的功能,这个 API 都能让您即时访问多个领域的高性能模型。
|
||||
- **[Moonshot](https://lobechat.com/discover/provider/moonshot)**: Moonshot 是由北京月之暗面科技有限公司推出的开源平台,提供多种自然语言处理模型,应用领域广泛,包括但不限于内容创作、学术研究、智能推荐、医疗诊断等,支持长文本处理和复杂生成任务。
|
||||
- **[OpenRouter](https://lobechat.com/discover/provider/openrouter)**: OpenRouter 是一个提供多种前沿大模型接口的服务平台,支持 OpenAI、Anthropic、LLaMA 及更多,适合多样化的开发和应用需求。用户可根据自身需求灵活选择最优的模型和价格,助力 AI 体验的提升。
|
||||
- **[HuggingFace](https://lobechat.com/discover/provider/huggingface)**: HuggingFace Inference API 提供了一种快速且免费的方式,让您可以探索成千上万种模型,适用于各种任务。无论您是在为新应用程序进行原型设计,还是在尝试机器学习的功能,这个 API 都能让您即时访问多个领域的高性能模型。
|
||||
- **[Cloudflare Workers AI](https://lobechat.com/discover/provider/cloudflare)**: 在 Cloudflare 的全球网络上运行由无服务器 GPU 驱动的机器学习模型。
|
||||
|
||||
<details><summary><kbd>See more providers (+32)</kbd></summary>
|
||||
|
||||
- **[GitHub](https://lobechat.com/discover/provider/github)**: 通过 GitHub 模型,开发人员可以成为 AI 工程师,并使用行业领先的 AI 模型进行构建。
|
||||
|
||||
<details><summary><kbd>See more providers (+31)</kbd></summary>
|
||||
|
||||
- **[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 等行业领先大模型。
|
||||
- **[Together AI](https://lobechat.com/discover/provider/togetherai)**: Together AI 致力于通过创新的 AI 模型实现领先的性能,提供广泛的自定义能力,包括快速扩展支持和直观的部署流程,满足企业的各种需求。
|
||||
@@ -272,7 +273,6 @@ LobeChat 支持文件上传与知识库功能,你可以上传文件、图片
|
||||
- **[Spark](https://lobechat.com/discover/provider/spark)**: 科大讯飞星火大模型提供多领域、多语言的强大 AI 能力,利用先进的自然语言处理技术,构建适用于智能硬件、智慧医疗、智慧金融等多种垂直场景的创新应用。
|
||||
- **[SenseNova](https://lobechat.com/discover/provider/sensenova)**: 商汤日日新,依托商汤大装置的强大的基础支撑,提供高效易用的全栈大模型服务。
|
||||
- **[Stepfun](https://lobechat.com/discover/provider/stepfun)**: 阶级星辰大模型具备行业领先的多模态及复杂推理能力,支持超长文本理解和强大的自主调度搜索引擎功能。
|
||||
- **[Moonshot](https://lobechat.com/discover/provider/moonshot)**: Moonshot 是由北京月之暗面科技有限公司推出的开源平台,提供多种自然语言处理模型,应用领域广泛,包括但不限于内容创作、学术研究、智能推荐、医疗诊断等,支持长文本处理和复杂生成任务。
|
||||
- **[Baichuan](https://lobechat.com/discover/provider/baichuan)**: 百川智能是一家专注于人工智能大模型研发的公司,其模型在国内知识百科、长文本处理和生成创作等中文任务上表现卓越,超越了国外主流模型。百川智能还具备行业领先的多模态能力,在多项权威评测中表现优异。其模型包括 Baichuan 4、Baichuan 3 Turbo 和 Baichuan 3 Turbo 128k 等,分别针对不同应用场景进行优化,提供高性价比的解决方案。
|
||||
- **[Minimax](https://lobechat.com/discover/provider/minimax)**: MiniMax 是 2021 年成立的通用人工智能科技公司,致力于与用户共创智能。MiniMax 自主研发了不同模态的通用大模型,其中包括万亿参数的 MoE 文本大模型、语音大模型以及图像大模型。并推出了海螺 AI 等应用。
|
||||
- **[InternLM](https://lobechat.com/discover/provider/internlm)**: 致力于大模型研究与开发工具链的开源组织。为所有 AI 开发者提供高效、易用的开源平台,让最前沿的大模型与算法技术触手可及
|
||||
@@ -283,10 +283,11 @@ 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>
|
||||
|
||||
> 📊 Total providers: [<kbd>**41**</kbd>](https://lobechat.com/discover/providers)
|
||||
> 📊 Total providers: [<kbd>**42**</kbd>](https://lobechat.com/discover/providers)
|
||||
|
||||
<!-- PROVIDER LIST -->
|
||||
|
||||
@@ -377,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>**43**</kbd>](https://lobechat.com/discover/plugins)
|
||||
> 📊 Total plugins: [<kbd>**42**</kbd>](https://lobechat.com/discover/plugins)
|
||||
|
||||
<!-- PLUGIN LIST -->
|
||||
|
||||
|
||||
@@ -23,8 +23,9 @@ module.exports = defineConfig({
|
||||
'vi-VN',
|
||||
'fa-IR',
|
||||
],
|
||||
saveImmediately: true,
|
||||
temperature: 0,
|
||||
modelName: 'gpt-4o-mini',
|
||||
modelName: 'gpt-4.1-mini',
|
||||
experimental: {
|
||||
jsonMode: true,
|
||||
},
|
||||
|
||||
@@ -11,6 +11,16 @@ console.log(`🚄 Build Version ${packageJSON.version}, Channel: ${channel}`);
|
||||
const isNightly = channel === 'nightly';
|
||||
const isBeta = packageJSON.name.includes('beta');
|
||||
|
||||
// 根据版本类型确定协议 scheme
|
||||
const getProtocolScheme = () => {
|
||||
if (isNightly) return 'lobehub-nightly';
|
||||
if (isBeta) return 'lobehub-beta';
|
||||
|
||||
return 'lobehub';
|
||||
};
|
||||
|
||||
const protocolScheme = getProtocolScheme();
|
||||
|
||||
/**
|
||||
* @type {import('electron-builder').Configuration}
|
||||
* @see https://www.electron.build/configuration
|
||||
@@ -60,6 +70,12 @@ const config = {
|
||||
compression: 'maximum',
|
||||
entitlementsInherit: 'build/entitlements.mac.plist',
|
||||
extendInfo: {
|
||||
CFBundleURLTypes: [
|
||||
{
|
||||
CFBundleURLName: 'LobeHub Protocol',
|
||||
CFBundleURLSchemes: [protocolScheme],
|
||||
},
|
||||
],
|
||||
NSCameraUsageDescription: "Application requests access to the device's camera.",
|
||||
NSDocumentsFolderUsageDescription:
|
||||
"Application requests access to the user's Documents folder.",
|
||||
@@ -91,6 +107,12 @@ const config = {
|
||||
uninstallDisplayName: '${productName}',
|
||||
uninstallerSidebar: './build/nsis-sidebar.bmp',
|
||||
},
|
||||
protocols: [
|
||||
{
|
||||
name: 'LobeHub Protocol',
|
||||
schemes: [protocolScheme],
|
||||
},
|
||||
],
|
||||
publish: [
|
||||
{
|
||||
owner: 'lobehub',
|
||||
|
||||
@@ -20,11 +20,10 @@
|
||||
"electron:dev": "electron-vite dev",
|
||||
"electron:run-unpack": "electron .",
|
||||
"format": "prettier --write ",
|
||||
"i18n": "bun run scripts/i18nWorkflow/index.ts && lobe-i18n",
|
||||
"i18n": "tsx scripts/i18nWorkflow/index.ts && lobe-i18n",
|
||||
"postinstall": "electron-builder install-app-deps",
|
||||
"install-isolated": "pnpm install",
|
||||
"lint": "eslint --cache ",
|
||||
"pg-server": "bun run scripts/pglite-server.ts",
|
||||
"start": "electron-vite preview",
|
||||
"test": "vitest --run",
|
||||
"typecheck": "tsgo --noEmit -p tsconfig.json"
|
||||
@@ -52,7 +51,7 @@
|
||||
"@typescript/native-preview": "7.0.0-dev.20250711.1",
|
||||
"consola": "^3.1.0",
|
||||
"cookie": "^1.0.2",
|
||||
"electron": "~37.1.0",
|
||||
"electron": "^37.2.0",
|
||||
"electron-builder": "^26.0.12",
|
||||
"electron-is": "^3.0.0",
|
||||
"electron-log": "^5.3.3",
|
||||
|
||||
@@ -14,6 +14,7 @@
|
||||
"edit": {
|
||||
"copy": "نسخ",
|
||||
"cut": "قص",
|
||||
"delete": "حذف",
|
||||
"paste": "لصق",
|
||||
"redo": "إعادة",
|
||||
"selectAll": "تحديد الكل",
|
||||
|
||||
@@ -14,6 +14,7 @@
|
||||
"edit": {
|
||||
"copy": "Копиране",
|
||||
"cut": "Изрязване",
|
||||
"delete": "Изтрий",
|
||||
"paste": "Поставяне",
|
||||
"redo": "Повторно",
|
||||
"selectAll": "Избери всичко",
|
||||
|
||||
@@ -14,6 +14,7 @@
|
||||
"edit": {
|
||||
"copy": "Kopieren",
|
||||
"cut": "Ausschneiden",
|
||||
"delete": "Löschen",
|
||||
"paste": "Einfügen",
|
||||
"redo": "Wiederherstellen",
|
||||
"selectAll": "Alles auswählen",
|
||||
|
||||
@@ -14,6 +14,7 @@
|
||||
"edit": {
|
||||
"copy": "Copy",
|
||||
"cut": "Cut",
|
||||
"delete": "Delete",
|
||||
"paste": "Paste",
|
||||
"redo": "Redo",
|
||||
"selectAll": "Select All",
|
||||
|
||||
@@ -14,6 +14,7 @@
|
||||
"edit": {
|
||||
"copy": "Copiar",
|
||||
"cut": "Cortar",
|
||||
"delete": "Eliminar",
|
||||
"paste": "Pegar",
|
||||
"redo": "Rehacer",
|
||||
"selectAll": "Seleccionar todo",
|
||||
|
||||
@@ -14,6 +14,7 @@
|
||||
"edit": {
|
||||
"copy": "کپی",
|
||||
"cut": "برش",
|
||||
"delete": "حذف",
|
||||
"paste": "چسباندن",
|
||||
"redo": "انجام مجدد",
|
||||
"selectAll": "انتخاب همه",
|
||||
|
||||
@@ -14,6 +14,7 @@
|
||||
"edit": {
|
||||
"copy": "Copier",
|
||||
"cut": "Couper",
|
||||
"delete": "Supprimer",
|
||||
"paste": "Coller",
|
||||
"redo": "Rétablir",
|
||||
"selectAll": "Tout sélectionner",
|
||||
|
||||
@@ -14,6 +14,7 @@
|
||||
"edit": {
|
||||
"copy": "Copia",
|
||||
"cut": "Taglia",
|
||||
"delete": "Elimina",
|
||||
"paste": "Incolla",
|
||||
"redo": "Ripeti",
|
||||
"selectAll": "Seleziona tutto",
|
||||
|
||||
@@ -14,6 +14,7 @@
|
||||
"edit": {
|
||||
"copy": "コピー",
|
||||
"cut": "切り取り",
|
||||
"delete": "削除",
|
||||
"paste": "貼り付け",
|
||||
"redo": "やり直し",
|
||||
"selectAll": "すべて選択",
|
||||
|
||||
@@ -14,6 +14,7 @@
|
||||
"edit": {
|
||||
"copy": "복사",
|
||||
"cut": "잘라내기",
|
||||
"delete": "삭제",
|
||||
"paste": "붙여넣기",
|
||||
"redo": "다시 실행",
|
||||
"selectAll": "모두 선택",
|
||||
|
||||
@@ -14,6 +14,7 @@
|
||||
"edit": {
|
||||
"copy": "Kopiëren",
|
||||
"cut": "Knippen",
|
||||
"delete": "Verwijderen",
|
||||
"paste": "Plakken",
|
||||
"redo": "Opnieuw doen",
|
||||
"selectAll": "Alles selecteren",
|
||||
|
||||
@@ -14,6 +14,7 @@
|
||||
"edit": {
|
||||
"copy": "Kopiuj",
|
||||
"cut": "Wytnij",
|
||||
"delete": "Usuń",
|
||||
"paste": "Wklej",
|
||||
"redo": "Ponów",
|
||||
"selectAll": "Zaznacz wszystko",
|
||||
|
||||
@@ -14,6 +14,7 @@
|
||||
"edit": {
|
||||
"copy": "Copiar",
|
||||
"cut": "Cortar",
|
||||
"delete": "Excluir",
|
||||
"paste": "Colar",
|
||||
"redo": "Refazer",
|
||||
"selectAll": "Selecionar Tudo",
|
||||
|
||||
@@ -14,6 +14,7 @@
|
||||
"edit": {
|
||||
"copy": "Копировать",
|
||||
"cut": "Вырезать",
|
||||
"delete": "Удалить",
|
||||
"paste": "Вставить",
|
||||
"redo": "Повторить",
|
||||
"selectAll": "Выбрать все",
|
||||
|
||||
@@ -14,6 +14,7 @@
|
||||
"edit": {
|
||||
"copy": "Kopyala",
|
||||
"cut": "Kes",
|
||||
"delete": "Sil",
|
||||
"paste": "Yapıştır",
|
||||
"redo": "Yinele",
|
||||
"selectAll": "Tümünü Seç",
|
||||
|
||||
@@ -14,6 +14,7 @@
|
||||
"edit": {
|
||||
"copy": "Sao chép",
|
||||
"cut": "Cắt",
|
||||
"delete": "Xóa",
|
||||
"paste": "Dán",
|
||||
"redo": "Làm lại",
|
||||
"selectAll": "Chọn tất cả",
|
||||
|
||||
@@ -14,6 +14,7 @@
|
||||
"edit": {
|
||||
"copy": "复制",
|
||||
"cut": "剪切",
|
||||
"delete": "删除",
|
||||
"paste": "粘贴",
|
||||
"redo": "重做",
|
||||
"selectAll": "全选",
|
||||
|
||||
@@ -14,6 +14,7 @@
|
||||
"edit": {
|
||||
"copy": "複製",
|
||||
"cut": "剪下",
|
||||
"delete": "刪除",
|
||||
"paste": "貼上",
|
||||
"redo": "重做",
|
||||
"selectAll": "全選",
|
||||
|
||||
@@ -0,0 +1,153 @@
|
||||
import { createLogger } from '@/utils/logger';
|
||||
|
||||
import { ControllerModule, createProtocolHandler } from '.';
|
||||
import { McpSchema } from '../types/protocol';
|
||||
|
||||
const logger = createLogger('controllers:McpInstallCtr');
|
||||
|
||||
const protocolHandler = createProtocolHandler('plugin');
|
||||
|
||||
/**
|
||||
* 验证 MCP Schema 对象结构
|
||||
*/
|
||||
function validateMcpSchema(schema: any): schema is McpSchema {
|
||||
if (!schema || typeof schema !== 'object') return false;
|
||||
|
||||
// 必填字段验证
|
||||
if (typeof schema.identifier !== 'string' || !schema.identifier) return false;
|
||||
if (typeof schema.name !== 'string' || !schema.name) return false;
|
||||
if (typeof schema.author !== 'string' || !schema.author) return false;
|
||||
if (typeof schema.description !== 'string' || !schema.description) return false;
|
||||
if (typeof schema.version !== 'string' || !schema.version) return false;
|
||||
|
||||
// 可选字段验证
|
||||
if (schema.homepage !== undefined && typeof schema.homepage !== 'string') return false;
|
||||
if (schema.icon !== undefined && typeof schema.icon !== 'string') return false;
|
||||
|
||||
// config 字段验证
|
||||
if (!schema.config || typeof schema.config !== 'object') return false;
|
||||
const config = schema.config;
|
||||
|
||||
if (config.type === 'stdio') {
|
||||
if (typeof config.command !== 'string' || !config.command) return false;
|
||||
if (config.args !== undefined && !Array.isArray(config.args)) return false;
|
||||
if (config.env !== undefined && typeof config.env !== 'object') return false;
|
||||
} else if (config.type === 'http') {
|
||||
if (typeof config.url !== 'string' || !config.url) return false;
|
||||
try {
|
||||
new URL(config.url); // 验证URL格式
|
||||
} catch {
|
||||
return false;
|
||||
}
|
||||
if (config.headers !== undefined && typeof config.headers !== 'object') return false;
|
||||
} else {
|
||||
return false; // 未知的 config type
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
interface McpInstallParams {
|
||||
id: string;
|
||||
marketId?: string;
|
||||
schema?: any;
|
||||
}
|
||||
|
||||
/**
|
||||
* MCP 插件安装控制器
|
||||
* 负责处理 MCP 插件安装流程
|
||||
*/
|
||||
export default class McpInstallController extends ControllerModule {
|
||||
/**
|
||||
* 处理 MCP 插件安装请求
|
||||
* @param parsedData 解析后的协议数据
|
||||
* @returns 是否处理成功
|
||||
*/
|
||||
@protocolHandler('install')
|
||||
public async handleInstallRequest(parsedData: McpInstallParams): Promise<boolean> {
|
||||
try {
|
||||
// 从参数中提取必需字段
|
||||
const { id, schema: schemaParam, marketId } = parsedData;
|
||||
|
||||
if (!id) {
|
||||
logger.warn(`🔧 [McpInstall] Missing required MCP parameters:`, {
|
||||
id: !!id,
|
||||
});
|
||||
return false;
|
||||
}
|
||||
|
||||
// 映射协议来源
|
||||
|
||||
const isOfficialMarket = marketId === 'lobehub';
|
||||
|
||||
// 对于官方市场,schema 是可选的;对于第三方市场,schema 是必需的
|
||||
if (!isOfficialMarket && !schemaParam) {
|
||||
logger.warn(`🔧 [McpInstall] Schema is required for third-party marketplace:`, {
|
||||
marketId,
|
||||
});
|
||||
return false;
|
||||
}
|
||||
|
||||
let mcpSchema: McpSchema | undefined;
|
||||
|
||||
// 如果提供了 schema 参数,则解析和验证
|
||||
if (schemaParam) {
|
||||
try {
|
||||
mcpSchema = JSON.parse(schemaParam);
|
||||
} catch (error) {
|
||||
logger.error(`🔧 [McpInstall] Failed to parse MCP schema:`, error);
|
||||
return false;
|
||||
}
|
||||
|
||||
if (!validateMcpSchema(mcpSchema)) {
|
||||
logger.error(`🔧 [McpInstall] Invalid MCP Schema structure`);
|
||||
return false;
|
||||
}
|
||||
|
||||
// 验证 identifier 与 id 参数匹配
|
||||
if (mcpSchema.identifier !== id) {
|
||||
logger.error(`🔧 [McpInstall] Schema identifier does not match URL id parameter:`, {
|
||||
schemaId: mcpSchema.identifier,
|
||||
urlId: id,
|
||||
});
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
logger.debug(`🔧 [McpInstall] MCP install request validated:`, {
|
||||
hasSchema: !!mcpSchema,
|
||||
marketId,
|
||||
pluginId: id,
|
||||
pluginName: mcpSchema?.name || 'Unknown',
|
||||
pluginVersion: mcpSchema?.version || 'Unknown',
|
||||
});
|
||||
|
||||
// 广播安装请求到前端
|
||||
const installRequest = {
|
||||
marketId,
|
||||
pluginId: id,
|
||||
schema: mcpSchema,
|
||||
};
|
||||
|
||||
logger.debug(`🔧 [McpInstall] Broadcasting install request:`, {
|
||||
hasSchema: !!installRequest.schema,
|
||||
marketId: installRequest.marketId,
|
||||
pluginId: installRequest.pluginId,
|
||||
pluginName: installRequest.schema?.name || 'Unknown',
|
||||
});
|
||||
|
||||
// 通过应用实例广播到前端
|
||||
if (this.app?.browserManager) {
|
||||
this.app.browserManager.broadcastToWindow('chat', 'mcpInstallRequest', installRequest);
|
||||
logger.debug(`🔧 [McpInstall] Install request broadcasted successfully`);
|
||||
return true;
|
||||
} else {
|
||||
logger.error(`🔧 [McpInstall] App or browserManager not available`);
|
||||
return false;
|
||||
}
|
||||
} catch (error) {
|
||||
logger.error(`🔧 [McpInstall] Error processing install request:`, error);
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -14,8 +14,8 @@ export default class MenuController extends ControllerModule {
|
||||
* 显示上下文菜单
|
||||
*/
|
||||
@ipcClientEvent('showContextMenu')
|
||||
showContextMenu(type: string, data?: any) {
|
||||
return this.app.menuManager.showContextMenu(type, data);
|
||||
showContextMenu(params: { data?: any; type: string }) {
|
||||
return this.app.menuManager.showContextMenu(params.type, params.data);
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -29,9 +29,9 @@ describe('MenuController', () => {
|
||||
it('should call menuManager.refreshMenus', () => {
|
||||
// 模拟返回值
|
||||
mockRefreshMenus.mockReturnValueOnce(true);
|
||||
|
||||
|
||||
const result = menuController.refreshAppMenu();
|
||||
|
||||
|
||||
expect(mockRefreshMenus).toHaveBeenCalled();
|
||||
expect(result).toBe(true);
|
||||
});
|
||||
@@ -41,9 +41,9 @@ describe('MenuController', () => {
|
||||
it('should call menuManager.showContextMenu with type only', () => {
|
||||
const menuType = 'chat';
|
||||
mockShowContextMenu.mockReturnValueOnce({ shown: true });
|
||||
|
||||
const result = menuController.showContextMenu(menuType);
|
||||
|
||||
|
||||
const result = menuController.showContextMenu({ type: menuType });
|
||||
|
||||
expect(mockShowContextMenu).toHaveBeenCalledWith(menuType, undefined);
|
||||
expect(result).toEqual({ shown: true });
|
||||
});
|
||||
@@ -52,9 +52,9 @@ describe('MenuController', () => {
|
||||
const menuType = 'file';
|
||||
const menuData = { fileId: '123', filePath: '/path/to/file.txt' };
|
||||
mockShowContextMenu.mockReturnValueOnce({ shown: true });
|
||||
|
||||
const result = menuController.showContextMenu(menuType, menuData);
|
||||
|
||||
|
||||
const result = menuController.showContextMenu({ type: menuType, data: menuData });
|
||||
|
||||
expect(mockShowContextMenu).toHaveBeenCalledWith(menuType, menuData);
|
||||
expect(result).toEqual({ shown: true });
|
||||
});
|
||||
@@ -63,20 +63,20 @@ describe('MenuController', () => {
|
||||
describe('setDevMenuVisibility', () => {
|
||||
it('should call menuManager.rebuildAppMenu with showDevItems true', () => {
|
||||
mockRebuildAppMenu.mockReturnValueOnce(true);
|
||||
|
||||
|
||||
const result = menuController.setDevMenuVisibility(true);
|
||||
|
||||
|
||||
expect(mockRebuildAppMenu).toHaveBeenCalledWith({ showDevItems: true });
|
||||
expect(result).toBe(true);
|
||||
});
|
||||
|
||||
it('should call menuManager.rebuildAppMenu with showDevItems false', () => {
|
||||
mockRebuildAppMenu.mockReturnValueOnce(true);
|
||||
|
||||
|
||||
const result = menuController.setDevMenuVisibility(false);
|
||||
|
||||
|
||||
expect(mockRebuildAppMenu).toHaveBeenCalledWith({ showDevItems: false });
|
||||
expect(result).toBe(true);
|
||||
});
|
||||
});
|
||||
});
|
||||
});
|
||||
|
||||
@@ -44,11 +44,30 @@ const shortcutDecorator = (name: string) => (target: any, methodName: string, de
|
||||
*/
|
||||
export const shortcut = (method: ShortcutActionType) => shortcutDecorator(method);
|
||||
|
||||
const protocolDecorator =
|
||||
(urlType: string, action: string) => (target: any, methodName: string, descriptor?: any) => {
|
||||
const handlers = IoCContainer.protocolHandlers.get(target.constructor) || [];
|
||||
handlers.push({ action, methodName, urlType });
|
||||
|
||||
IoCContainer.protocolHandlers.set(target.constructor, handlers);
|
||||
|
||||
return descriptor;
|
||||
};
|
||||
|
||||
/**
|
||||
* Protocol handler decorator
|
||||
* @param urlType 协议URL类型 (如: 'plugin')
|
||||
* @param action 操作类型 (如: 'install')
|
||||
*/
|
||||
export const createProtocolHandler = (urlType: string) => (action: string) =>
|
||||
protocolDecorator(urlType, action);
|
||||
|
||||
interface IControllerModule {
|
||||
afterAppReady?(): void;
|
||||
app: App;
|
||||
beforeAppReady?(): void;
|
||||
}
|
||||
|
||||
export class ControllerModule implements IControllerModule {
|
||||
constructor(public app: App) {
|
||||
this.app = app;
|
||||
|
||||
@@ -16,6 +16,7 @@ import { CustomRequestHandler, createHandler } from '@/utils/next-electron-rsc';
|
||||
import { BrowserManager } from './browser/BrowserManager';
|
||||
import { I18nManager } from './infrastructure/I18nManager';
|
||||
import { IoCContainer } from './infrastructure/IoCContainer';
|
||||
import { ProtocolManager } from './infrastructure/ProtocolManager';
|
||||
import { StaticFileServerManager } from './infrastructure/StaticFileServerManager';
|
||||
import { StoreManager } from './infrastructure/StoreManager';
|
||||
import { UpdaterManager } from './infrastructure/UpdaterManager';
|
||||
@@ -27,6 +28,7 @@ const logger = createLogger('core:App');
|
||||
|
||||
export type IPCEventMap = Map<string, { controller: any; methodName: string }>;
|
||||
export type ShortcutMethodMap = Map<string, () => Promise<void>>;
|
||||
export type ProtocolHandlerMap = Map<string, { controller: any; methodName: string }>;
|
||||
|
||||
type Class<T> = new (...args: any[]) => T;
|
||||
|
||||
@@ -43,6 +45,7 @@ export class App {
|
||||
shortcutManager: ShortcutManager;
|
||||
trayManager: TrayManager;
|
||||
staticFileServerManager: StaticFileServerManager;
|
||||
protocolManager: ProtocolManager;
|
||||
chromeFlags: string[] = ['OverlayScrollbar', 'FluentOverlayScrollbar', 'FluentScrollbar'];
|
||||
|
||||
/**
|
||||
@@ -100,11 +103,15 @@ export class App {
|
||||
this.shortcutManager = new ShortcutManager(this);
|
||||
this.trayManager = new TrayManager(this);
|
||||
this.staticFileServerManager = new StaticFileServerManager(this);
|
||||
this.protocolManager = new ProtocolManager(this);
|
||||
|
||||
// register the schema to interceptor url
|
||||
// it should register before app ready
|
||||
this.registerNextHandler();
|
||||
|
||||
// initialize protocol handlers
|
||||
this.protocolManager.initialize();
|
||||
|
||||
// 统一处理 before-quit 事件
|
||||
app.on('before-quit', this.handleBeforeQuit);
|
||||
|
||||
@@ -160,6 +167,10 @@ export class App {
|
||||
});
|
||||
|
||||
app.on('activate', this.onActivate);
|
||||
|
||||
// Process any pending protocol URLs after everything is ready
|
||||
await this.protocolManager.processPendingUrls();
|
||||
|
||||
logger.info('Application bootstrap completed');
|
||||
};
|
||||
|
||||
@@ -171,6 +182,32 @@ export class App {
|
||||
return this.controllers.get(controllerClass);
|
||||
}
|
||||
|
||||
/**
|
||||
* Handle protocol request by dispatching to registered handlers
|
||||
* @param urlType 协议URL类型 (如: 'plugin')
|
||||
* @param action 操作类型 (如: 'install')
|
||||
* @param data 解析后的协议数据
|
||||
* @returns 是否成功处理
|
||||
*/
|
||||
async handleProtocolRequest(urlType: string, action: string, data: any): Promise<boolean> {
|
||||
const key = `${urlType}:${action}`;
|
||||
const handler = this.protocolHandlerMap.get(key);
|
||||
|
||||
if (!handler) {
|
||||
logger.warn(`No protocol handler found for ${key}`);
|
||||
return false;
|
||||
}
|
||||
|
||||
try {
|
||||
logger.debug(`Dispatching protocol request ${key} to controller`);
|
||||
const result = await handler.controller[handler.methodName](data);
|
||||
return result !== false; // 假设控制器返回 false 表示处理失败
|
||||
} catch (error) {
|
||||
logger.error(`Error handling protocol request ${key}:`, error);
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
private onActivate = () => {
|
||||
logger.debug('Application activated');
|
||||
this.browserManager.showMainWindow();
|
||||
@@ -233,6 +270,7 @@ export class App {
|
||||
private ipcClientEventMap: IPCEventMap = new Map();
|
||||
private ipcServerEventMap: IPCEventMap = new Map();
|
||||
shortcutMethodMap: ShortcutMethodMap = new Map();
|
||||
protocolHandlerMap: ProtocolHandlerMap = new Map();
|
||||
|
||||
/**
|
||||
* use in next router interceptor in prod browser render
|
||||
@@ -308,6 +346,14 @@ export class App {
|
||||
controller[shortcut.methodName]();
|
||||
});
|
||||
});
|
||||
|
||||
IoCContainer.protocolHandlers.get(ControllerClass)?.forEach((handler) => {
|
||||
const key = `${handler.urlType}:${handler.action}`;
|
||||
this.protocolHandlerMap.set(key, {
|
||||
controller,
|
||||
methodName: handler.methodName,
|
||||
});
|
||||
});
|
||||
};
|
||||
|
||||
private addService = (ServiceClass: IServiceModule) => {
|
||||
|
||||
@@ -9,7 +9,7 @@ import {
|
||||
import { join } from 'node:path';
|
||||
|
||||
import { buildDir, preloadDir, resourcesDir } from '@/const/dir';
|
||||
import { isDev, isWindows } from '@/const/env';
|
||||
import { isDev, isMac, isWindows } from '@/const/env';
|
||||
import {
|
||||
BACKGROUND_DARK,
|
||||
BACKGROUND_LIGHT,
|
||||
@@ -269,7 +269,20 @@ export default class Browser {
|
||||
|
||||
hide() {
|
||||
logger.debug(`Hiding window: ${this.identifier}`);
|
||||
this.browserWindow.hide();
|
||||
|
||||
// Fix for macOS fullscreen black screen issue
|
||||
// See: https://github.com/electron/electron/issues/20263
|
||||
if (isMac && this.browserWindow.isFullScreen()) {
|
||||
logger.debug(
|
||||
`[${this.identifier}] Window is in fullscreen mode, exiting fullscreen before hiding.`,
|
||||
);
|
||||
this.browserWindow.once('leave-full-screen', () => {
|
||||
this.browserWindow.hide();
|
||||
});
|
||||
this.browserWindow.setFullScreen(false);
|
||||
} else {
|
||||
this.browserWindow.hide();
|
||||
}
|
||||
}
|
||||
|
||||
close() {
|
||||
@@ -413,7 +426,7 @@ export default class Browser {
|
||||
// logger.error(`[${this.identifier}] Failed to save window state on hide:`, error);
|
||||
// }
|
||||
e.preventDefault();
|
||||
browserWindow.hide();
|
||||
this.hide();
|
||||
} else {
|
||||
// Window is actually closing (not keepAlive)
|
||||
logger.debug(
|
||||
@@ -465,7 +478,7 @@ export default class Browser {
|
||||
toggleVisible() {
|
||||
logger.debug(`Toggling visibility for window: ${this.identifier}`);
|
||||
if (this._browserWindow.isVisible() && this._browserWindow.isFocused()) {
|
||||
this._browserWindow.hide();
|
||||
this.hide(); // Use the hide() method which handles fullscreen
|
||||
} else {
|
||||
this._browserWindow.show();
|
||||
this._browserWindow.focus();
|
||||
|
||||
@@ -8,5 +8,9 @@ export class IoCContainer {
|
||||
> = new WeakMap();
|
||||
|
||||
static shortcuts: WeakMap<any, { methodName: string; name: string }[]> = new WeakMap();
|
||||
|
||||
static protocolHandlers: WeakMap<any, { action: string; methodName: string; urlType: string }[]> =
|
||||
new WeakMap();
|
||||
|
||||
init() {}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,256 @@
|
||||
import { app } from 'electron';
|
||||
|
||||
import { isDev } from '@/const/env';
|
||||
import { createLogger } from '@/utils/logger';
|
||||
import { getProtocolScheme, parseProtocolUrl } from '@/utils/protocol';
|
||||
|
||||
import { App } from '../App';
|
||||
|
||||
// Create logger
|
||||
const logger = createLogger('core:ProtocolManager');
|
||||
|
||||
/**
|
||||
* Protocol handler manager for custom URI schemes
|
||||
*/
|
||||
export class ProtocolManager {
|
||||
private app: App;
|
||||
private protocolScheme: string;
|
||||
private pendingUrls: string[] = [];
|
||||
|
||||
constructor(app: App) {
|
||||
logger.debug('Initializing ProtocolManager');
|
||||
this.app = app;
|
||||
this.protocolScheme = getProtocolScheme();
|
||||
logger.info(`ProtocolManager initialized for scheme: ${this.protocolScheme}://`);
|
||||
}
|
||||
|
||||
/**
|
||||
* Register protocol handlers and set up event listeners
|
||||
*/
|
||||
public initialize(): void {
|
||||
logger.debug('Setting up protocol handlers');
|
||||
|
||||
this.registerProtocolHandlers();
|
||||
this.setupEventListeners();
|
||||
|
||||
logger.debug('Protocol initialization completed');
|
||||
}
|
||||
|
||||
/**
|
||||
* Register the application as default protocol client
|
||||
*/
|
||||
private registerProtocolHandlers(): void {
|
||||
logger.debug(`🔗 [Protocol] Registering protocol handlers for ${this.protocolScheme}://`);
|
||||
|
||||
// Debug info about current app
|
||||
logger.debug(`🔗 [Protocol] App name: ${app.name}`);
|
||||
logger.debug(`🔗 [Protocol] App path: ${app.getPath('exe')}`);
|
||||
logger.debug(`🔗 [Protocol] Is development: ${isDev}`);
|
||||
logger.debug(`🔗 [Protocol] Process argv[0]: ${process.argv[0]}`);
|
||||
|
||||
// Check if already registered
|
||||
const isCurrentlyRegistered = app.isDefaultProtocolClient(this.protocolScheme);
|
||||
logger.debug(`🔗 [Protocol] Is currently default protocol client: ${isCurrentlyRegistered}`);
|
||||
|
||||
// Register as default protocol client
|
||||
let registrationResult: boolean;
|
||||
|
||||
if (isDev) {
|
||||
// In development, use explicit parameters to ensure proper registration
|
||||
const appPath = process.cwd(); // Current working directory (our app)
|
||||
logger.debug(`🔗 [Protocol] Development mode: using explicit registration parameters`);
|
||||
logger.debug(`🔗 [Protocol] Executable path: ${process.execPath}`);
|
||||
logger.debug(`🔗 [Protocol] App path: ${appPath}`);
|
||||
logger.debug(`🔗 [Protocol] Arguments: ${JSON.stringify([appPath])}`);
|
||||
|
||||
registrationResult = app.setAsDefaultProtocolClient(this.protocolScheme, process.execPath, [
|
||||
appPath,
|
||||
]);
|
||||
} else {
|
||||
// In production, use simple registration
|
||||
registrationResult = app.setAsDefaultProtocolClient(this.protocolScheme);
|
||||
}
|
||||
|
||||
logger.debug(`🔗 [Protocol] Registration result: ${registrationResult}`);
|
||||
|
||||
if (!registrationResult) {
|
||||
logger.error(
|
||||
`🔗 [Protocol] Failed to register as default protocol client for ${this.protocolScheme}://`,
|
||||
);
|
||||
} else {
|
||||
logger.debug(`🔗 [Protocol] Successfully registered ${this.protocolScheme}:// protocol`);
|
||||
}
|
||||
|
||||
// Verify registration
|
||||
const isRegisteredAfter = app.isDefaultProtocolClient(this.protocolScheme);
|
||||
logger.debug(`🔗 [Protocol] Final registration status: ${isRegisteredAfter}`);
|
||||
}
|
||||
|
||||
/**
|
||||
* Set up protocol event listeners
|
||||
*/
|
||||
private setupEventListeners(): void {
|
||||
// Handle protocol URL from cold start (Windows/Linux)
|
||||
const protocolUrl = this.getProtocolUrlFromArgs(process.argv);
|
||||
if (protocolUrl) {
|
||||
logger.debug(`🔗 [Protocol] Found protocol URL from cold start: ${protocolUrl}`);
|
||||
this.pendingUrls.push(protocolUrl);
|
||||
}
|
||||
|
||||
// Handle protocol URL from macOS open-url event
|
||||
app.on('open-url', (event, url) => {
|
||||
event.preventDefault();
|
||||
logger.debug(`🔗 [Protocol] Received URL from open-url event: ${url}`);
|
||||
logger.debug(`🔗 [Protocol] App ready state: ${app.isReady()}`);
|
||||
logger.debug(`🔗 [Protocol] Event prevented, processing URL...`);
|
||||
this.handleProtocolUrl(url);
|
||||
});
|
||||
|
||||
// Handle protocol URL from second instance (Windows/Linux)
|
||||
app.on('second-instance', (event, commandLine) => {
|
||||
const url = this.getProtocolUrlFromArgs(commandLine);
|
||||
if (url) {
|
||||
logger.debug(`🔗 [Protocol] Received protocol URL from second instance: ${url}`);
|
||||
this.handleProtocolUrl(url);
|
||||
}
|
||||
// Show main window when second instance is triggered
|
||||
this.app.browserManager.showMainWindow();
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* Extract protocol URL from command line arguments
|
||||
*/
|
||||
private getProtocolUrlFromArgs(args: string[]): string | null {
|
||||
const protocolPrefix = `${this.protocolScheme}://`;
|
||||
|
||||
logger.debug(`🔗 [Protocol] Searching for protocol URLs in args: ${JSON.stringify(args)}`);
|
||||
logger.debug(`🔗 [Protocol] Looking for prefix: ${protocolPrefix}`);
|
||||
|
||||
for (const arg of args) {
|
||||
if (arg.startsWith(protocolPrefix)) {
|
||||
logger.debug(`🔗 [Protocol] Found protocol URL in args: ${arg}`);
|
||||
return arg;
|
||||
}
|
||||
}
|
||||
logger.debug(`🔗 [Protocol] No protocol URL found in args`);
|
||||
return null;
|
||||
}
|
||||
|
||||
/**
|
||||
* Handle protocol URL - either immediately or store for later processing
|
||||
*/
|
||||
private handleProtocolUrl(url: string): void {
|
||||
try {
|
||||
logger.debug(`🔗 [Protocol] handleProtocolUrl called with: ${url}`);
|
||||
logger.debug(`🔗 [Protocol] App ready state: ${app.isReady()}`);
|
||||
logger.debug(`🔗 [Protocol] Current pending URLs count: ${this.pendingUrls.length}`);
|
||||
|
||||
if (!app.isReady()) {
|
||||
// App not ready yet, store for later processing
|
||||
logger.debug('🔗 [Protocol] App not ready, storing protocol URL for later processing');
|
||||
this.pendingUrls.push(url);
|
||||
logger.debug(`🔗 [Protocol] Pending URLs after push: ${this.pendingUrls.length}`);
|
||||
return;
|
||||
}
|
||||
|
||||
// App is ready, process immediately
|
||||
logger.debug('🔗 [Protocol] App is ready, processing URL immediately');
|
||||
this.processProtocolUrl(url);
|
||||
} catch (error) {
|
||||
logger.error('🔗 [Protocol] Failed to handle protocol URL:', error);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Process protocol URL by showing main window and sending to renderer
|
||||
*/
|
||||
private async processProtocolUrl(url: string): Promise<void> {
|
||||
try {
|
||||
logger.debug(`🔗 [Protocol] processProtocolUrl called with: ${url}`);
|
||||
|
||||
// Basic URL validation - just check if it's our protocol
|
||||
if (!url.startsWith(`${this.protocolScheme}://`)) {
|
||||
logger.warn(`🔗 [Protocol] Invalid protocol scheme in URL: ${url}`);
|
||||
return;
|
||||
}
|
||||
|
||||
// Show main window
|
||||
logger.debug('🔗 [Protocol] Showing main window...');
|
||||
this.app.browserManager.showMainWindow();
|
||||
|
||||
// Parse protocol URL to extract urlType and action
|
||||
const parsed = parseProtocolUrl(url);
|
||||
|
||||
if (!parsed) {
|
||||
logger.warn(`🔗 [Protocol] Failed to parse protocol URL: ${url}`);
|
||||
return;
|
||||
}
|
||||
|
||||
logger.debug(
|
||||
`🔗 [Protocol] Parsed URL - type: ${parsed.urlType}, action: ${parsed.action}, data: %s`,
|
||||
parsed.params,
|
||||
);
|
||||
|
||||
// Dispatch to registered protocol handlers via App with parsed data
|
||||
logger.debug('🔗 [Protocol] Dispatching to protocol handlers...');
|
||||
const handled = await this.app.handleProtocolRequest(
|
||||
parsed.urlType,
|
||||
parsed.action,
|
||||
parsed.params,
|
||||
);
|
||||
|
||||
if (handled) {
|
||||
logger.debug('🔗 [Protocol] Protocol URL processed successfully by handler');
|
||||
} else {
|
||||
logger.warn(
|
||||
`🔗 [Protocol] No handler found for protocol: ${parsed.urlType}:${parsed.action}`,
|
||||
);
|
||||
}
|
||||
} catch (error) {
|
||||
logger.error('🔗 [Protocol] Failed to process protocol URL:', error);
|
||||
logger.error('🔗 [Protocol] Error details:', error);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Process any pending protocol URLs after app is ready
|
||||
*/
|
||||
public async processPendingUrls(): Promise<void> {
|
||||
logger.debug(`🔗 [Protocol] processPendingUrls called`);
|
||||
logger.debug(`🔗 [Protocol] Pending URLs count: ${this.pendingUrls.length}`);
|
||||
|
||||
if (this.pendingUrls.length === 0) {
|
||||
logger.debug(`🔗 [Protocol] No pending URLs to process`);
|
||||
return;
|
||||
}
|
||||
|
||||
logger.debug(
|
||||
`🔗 [Protocol] Processing ${this.pendingUrls.length} pending protocol URLs:`,
|
||||
this.pendingUrls,
|
||||
);
|
||||
|
||||
for (const url of this.pendingUrls) {
|
||||
logger.debug(`🔗 [Protocol] Processing pending URL: ${url}`);
|
||||
await this.processProtocolUrl(url);
|
||||
}
|
||||
|
||||
// Clear pending URLs
|
||||
this.pendingUrls = [];
|
||||
logger.debug(`🔗 [Protocol] All pending URLs processed and cleared`);
|
||||
}
|
||||
|
||||
/**
|
||||
* Get current protocol scheme
|
||||
*/
|
||||
public getScheme(): string {
|
||||
return this.protocolScheme;
|
||||
}
|
||||
|
||||
/**
|
||||
* Check if protocol is registered
|
||||
*/
|
||||
public isRegistered(): boolean {
|
||||
return app.isDefaultProtocolClient(this.protocolScheme);
|
||||
}
|
||||
}
|
||||
@@ -14,6 +14,7 @@ const menu = {
|
||||
edit: {
|
||||
copy: '复制',
|
||||
cut: '剪切',
|
||||
delete: '删除',
|
||||
paste: '粘贴',
|
||||
redo: '重做',
|
||||
selectAll: '全选',
|
||||
|
||||
@@ -181,29 +181,15 @@ export class LinuxMenu extends BaseMenuPlatform implements IMenuPlatform {
|
||||
}
|
||||
|
||||
private getChatContextMenuTemplate(data?: any): MenuItemConstructorOptions[] {
|
||||
console.log(data);
|
||||
const t = this.app.i18n.ns('menu');
|
||||
const commonT = this.app.i18n.ns('common');
|
||||
|
||||
const items: MenuItemConstructorOptions[] = [
|
||||
{ label: t('edit.copy'), role: 'copy' },
|
||||
{ label: t('edit.paste'), role: 'paste' },
|
||||
return [
|
||||
{ accelerator: 'Ctrl+C', label: t('edit.copy'), role: 'copy' },
|
||||
{ accelerator: 'Ctrl+V', label: t('edit.paste'), role: 'paste' },
|
||||
{ type: 'separator' },
|
||||
{ label: t('edit.selectAll'), role: 'selectAll' },
|
||||
];
|
||||
|
||||
if (data?.messageId) {
|
||||
items.push(
|
||||
{ type: 'separator' },
|
||||
{
|
||||
click: () => {
|
||||
console.log('尝试删除消息:', data.messageId);
|
||||
},
|
||||
label: commonT('actions.delete'),
|
||||
},
|
||||
);
|
||||
}
|
||||
|
||||
return items;
|
||||
}
|
||||
|
||||
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
||||
@@ -211,14 +197,13 @@ export class LinuxMenu extends BaseMenuPlatform implements IMenuPlatform {
|
||||
const t = this.app.i18n.ns('menu');
|
||||
|
||||
return [
|
||||
{ label: t('edit.cut'), role: 'cut' },
|
||||
{ label: t('edit.copy'), role: 'copy' },
|
||||
{ label: t('edit.paste'), role: 'paste' },
|
||||
{ accelerator: 'Ctrl+X', label: t('edit.cut'), role: 'cut' },
|
||||
{ accelerator: 'Ctrl+C', label: t('edit.copy'), role: 'copy' },
|
||||
{ accelerator: 'Ctrl+V', label: t('edit.paste'), role: 'paste' },
|
||||
{ type: 'separator' },
|
||||
{ label: t('edit.undo'), role: 'undo' },
|
||||
{ label: t('edit.redo'), role: 'redo' },
|
||||
{ accelerator: 'Ctrl+A', label: t('edit.selectAll'), role: 'selectAll' },
|
||||
{ type: 'separator' },
|
||||
{ label: t('edit.selectAll'), role: 'selectAll' },
|
||||
{ label: t('edit.delete'), role: 'delete' },
|
||||
];
|
||||
}
|
||||
|
||||
|
||||
@@ -301,48 +301,29 @@ export class MacOSMenu extends BaseMenuPlatform implements IMenuPlatform {
|
||||
}
|
||||
|
||||
private getChatContextMenuTemplate(data?: any): MenuItemConstructorOptions[] {
|
||||
console.log(data);
|
||||
const t = this.app.i18n.ns('menu');
|
||||
const commonT = this.app.i18n.ns('common');
|
||||
|
||||
const items: MenuItemConstructorOptions[] = [
|
||||
{ label: t('edit.cut'), role: 'cut' },
|
||||
{ label: t('edit.copy'), role: 'copy' },
|
||||
{ label: t('edit.paste'), role: 'paste' },
|
||||
return [
|
||||
{ accelerator: 'Command+C', label: t('edit.copy'), role: 'copy' },
|
||||
{ accelerator: 'Command+V', label: t('edit.paste'), role: 'paste' },
|
||||
{ type: 'separator' },
|
||||
{ label: t('edit.selectAll'), role: 'selectAll' },
|
||||
];
|
||||
|
||||
if (data?.messageId) {
|
||||
items.push(
|
||||
{ type: 'separator' },
|
||||
{
|
||||
click: () => {
|
||||
console.log('尝试删除消息:', data.messageId);
|
||||
// 调用 MessageService (假设存在)
|
||||
// const messageService = this.app.getService(MessageService);
|
||||
// messageService?.deleteMessage(data.messageId);
|
||||
},
|
||||
label: commonT('actions.delete'),
|
||||
},
|
||||
);
|
||||
}
|
||||
return items;
|
||||
}
|
||||
|
||||
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
||||
private getEditorContextMenuTemplate(_data?: any): MenuItemConstructorOptions[] {
|
||||
const t = this.app.i18n.ns('menu');
|
||||
|
||||
// 编辑器特定的上下文菜单
|
||||
return [
|
||||
{ label: t('edit.cut'), role: 'cut' },
|
||||
{ label: t('edit.copy'), role: 'copy' },
|
||||
{ label: t('edit.paste'), role: 'paste' },
|
||||
{ accelerator: 'Command+X', label: t('edit.cut'), role: 'cut' },
|
||||
{ accelerator: 'Command+C', label: t('edit.copy'), role: 'copy' },
|
||||
{ accelerator: 'Command+V', label: t('edit.paste'), role: 'paste' },
|
||||
{ type: 'separator' },
|
||||
{ label: t('edit.undo'), role: 'undo' },
|
||||
{ label: t('edit.redo'), role: 'redo' },
|
||||
{ accelerator: 'Command+A', label: t('edit.selectAll'), role: 'selectAll' },
|
||||
{ type: 'separator' },
|
||||
{ label: t('edit.selectAll'), role: 'selectAll' },
|
||||
{ label: t('edit.delete'), role: 'delete' },
|
||||
];
|
||||
}
|
||||
|
||||
|
||||
@@ -161,32 +161,15 @@ export class WindowsMenu extends BaseMenuPlatform implements IMenuPlatform {
|
||||
}
|
||||
|
||||
private getChatContextMenuTemplate(data?: any): MenuItemConstructorOptions[] {
|
||||
console.log(data);
|
||||
const t = this.app.i18n.ns('menu');
|
||||
const commonT = this.app.i18n.ns('common');
|
||||
|
||||
const items: MenuItemConstructorOptions[] = [
|
||||
{ label: t('edit.copy'), role: 'copy' },
|
||||
{ label: t('edit.paste'), role: 'paste' },
|
||||
return [
|
||||
{ accelerator: 'Ctrl+C', label: t('edit.copy'), role: 'copy' },
|
||||
{ accelerator: 'Ctrl+V', label: t('edit.paste'), role: 'paste' },
|
||||
{ type: 'separator' },
|
||||
{ label: t('edit.selectAll'), role: 'selectAll' },
|
||||
];
|
||||
|
||||
if (data?.messageId) {
|
||||
items.push(
|
||||
{ type: 'separator' },
|
||||
{
|
||||
click: () => {
|
||||
console.log('尝试删除消息:', data.messageId);
|
||||
// 调用 MessageService (假设存在)
|
||||
// const messageService = this.app.getService(MessageService);
|
||||
// messageService?.deleteMessage(data.messageId);
|
||||
},
|
||||
label: commonT('actions.delete'),
|
||||
},
|
||||
);
|
||||
}
|
||||
|
||||
return items;
|
||||
}
|
||||
|
||||
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
||||
@@ -194,14 +177,13 @@ export class WindowsMenu extends BaseMenuPlatform implements IMenuPlatform {
|
||||
const t = this.app.i18n.ns('menu');
|
||||
|
||||
return [
|
||||
{ label: t('edit.cut'), role: 'cut' },
|
||||
{ label: t('edit.copy'), role: 'copy' },
|
||||
{ label: t('edit.paste'), role: 'paste' },
|
||||
{ accelerator: 'Ctrl+X', label: t('edit.cut'), role: 'cut' },
|
||||
{ accelerator: 'Ctrl+C', label: t('edit.copy'), role: 'copy' },
|
||||
{ accelerator: 'Ctrl+V', label: t('edit.paste'), role: 'paste' },
|
||||
{ type: 'separator' },
|
||||
{ label: t('edit.undo'), role: 'undo' },
|
||||
{ label: t('edit.redo'), role: 'redo' },
|
||||
{ accelerator: 'Ctrl+A', label: t('edit.selectAll'), role: 'selectAll' },
|
||||
{ type: 'separator' },
|
||||
{ label: t('edit.selectAll'), role: 'selectAll' },
|
||||
{ label: t('edit.delete'), role: 'delete' },
|
||||
];
|
||||
}
|
||||
|
||||
|
||||
@@ -0,0 +1,60 @@
|
||||
/**
|
||||
* MCP Schema - stdio 配置类型
|
||||
*/
|
||||
export interface McpStdioConfig {
|
||||
args?: string[];
|
||||
command: string;
|
||||
env?: Record<string, string>;
|
||||
type: 'stdio';
|
||||
}
|
||||
|
||||
/**
|
||||
* MCP Schema - http 配置类型
|
||||
*/
|
||||
export interface McpHttpConfig {
|
||||
headers?: Record<string, string>;
|
||||
type: 'http';
|
||||
url: string;
|
||||
}
|
||||
|
||||
/**
|
||||
* MCP Schema 配置类型
|
||||
*/
|
||||
export type McpConfig = McpStdioConfig | McpHttpConfig;
|
||||
|
||||
/**
|
||||
* MCP Schema 对象
|
||||
* 符合 RFC 0001 定义
|
||||
*/
|
||||
export interface McpSchema {
|
||||
/** 插件作者 */
|
||||
author: string;
|
||||
/** 插件配置 */
|
||||
config: McpConfig;
|
||||
/** 插件描述 */
|
||||
description: string;
|
||||
/** 插件主页 */
|
||||
homepage?: string;
|
||||
/** 插件图标 */
|
||||
icon?: string;
|
||||
/** 插件唯一标识符,必须与URL中的id参数匹配 */
|
||||
identifier: string;
|
||||
/** 插件名称 */
|
||||
name: string;
|
||||
/** 插件版本 (semver) */
|
||||
version: string;
|
||||
}
|
||||
|
||||
/**
|
||||
* 协议URL解析结果
|
||||
*/
|
||||
export interface ProtocolUrlParsed {
|
||||
/** 操作类型 (如: 'install') */
|
||||
action: string;
|
||||
/** 原始URL */
|
||||
originalUrl: string;
|
||||
/** 解析后的所有查询参数 */
|
||||
params: Record<string, string>;
|
||||
/** URL类型 (如: 'plugin') */
|
||||
urlType: string;
|
||||
}
|
||||
@@ -0,0 +1,203 @@
|
||||
import { describe, expect, it } from 'vitest';
|
||||
|
||||
import { McpSchema } from '../../types/protocol';
|
||||
import { generateRFCProtocolUrl, parseProtocolUrl } from '../protocol';
|
||||
|
||||
describe('Protocol', () => {
|
||||
describe('generateRFCProtocolUrl', () => {
|
||||
it('should generate valid RFC protocol URL for stdio type', () => {
|
||||
const schema: McpSchema = {
|
||||
identifier: 'edgeone-mcp',
|
||||
name: 'EdgeOne MCP',
|
||||
author: 'Higress Team',
|
||||
description: 'EdgeOne API integration for LobeChat',
|
||||
version: '1.0.0',
|
||||
homepage: 'https://github.com/higress/edgeone-mcp',
|
||||
config: {
|
||||
type: 'stdio',
|
||||
command: 'npx',
|
||||
args: ['-y', '@higress/edgeone-mcp'],
|
||||
env: { NODE_ENV: 'production' },
|
||||
},
|
||||
};
|
||||
|
||||
const url = generateRFCProtocolUrl({
|
||||
id: 'edgeone-mcp',
|
||||
schema,
|
||||
marketId: 'higress',
|
||||
});
|
||||
|
||||
expect(url).toMatch(/^lobehub:\/\/plugin\/install\?/);
|
||||
expect(url).toContain('id=edgeone-mcp');
|
||||
expect(url).toContain('marketId=higress');
|
||||
|
||||
// Verify schema is URL encoded
|
||||
const urlObj = new URL(url);
|
||||
const schemaParam = urlObj.searchParams.get('schema');
|
||||
expect(schemaParam).toBeTruthy();
|
||||
// URLSearchParams.get() 自动解码,所以这里得到的是解码后的JSON
|
||||
expect(schemaParam).toContain('"'); // 解码后的引号
|
||||
});
|
||||
|
||||
it('should generate valid RFC protocol URL for http type', () => {
|
||||
const schema: McpSchema = {
|
||||
identifier: 'awesome-api',
|
||||
name: 'Awesome API',
|
||||
author: 'Smithery',
|
||||
description: 'Awesome API integration',
|
||||
version: '2.0.0',
|
||||
config: {
|
||||
type: 'http',
|
||||
url: 'https://api.smithery.ai/v1/mcp',
|
||||
headers: {
|
||||
'Authorization': 'Bearer token123',
|
||||
'X-Custom-Header': 'value',
|
||||
},
|
||||
},
|
||||
};
|
||||
|
||||
const url = generateRFCProtocolUrl({
|
||||
id: 'awesome-api',
|
||||
schema,
|
||||
marketId: 'smithery',
|
||||
});
|
||||
|
||||
expect(url).toMatch(/^lobehub:\/\/plugin\/install\?/);
|
||||
expect(url).toContain('id=awesome-api');
|
||||
expect(url).toContain('marketId=smithery');
|
||||
});
|
||||
|
||||
it('should throw error if schema identifier does not match id', () => {
|
||||
const schema: McpSchema = {
|
||||
identifier: 'wrong-id',
|
||||
name: 'Test',
|
||||
author: 'Test',
|
||||
description: 'Test',
|
||||
version: '1.0.0',
|
||||
config: { type: 'stdio', command: 'test' },
|
||||
};
|
||||
|
||||
expect(() => generateRFCProtocolUrl({ id: 'different-id', schema })).toThrowError(
|
||||
'Schema identifier must match the id parameter',
|
||||
);
|
||||
});
|
||||
});
|
||||
|
||||
describe('parseProtocolUrl', () => {
|
||||
it('should parse RFC protocol URL correctly', () => {
|
||||
const schema: McpSchema = {
|
||||
identifier: 'test-mcp',
|
||||
name: 'Test MCP',
|
||||
author: 'Test Author',
|
||||
description: 'Test Description',
|
||||
version: '1.0.0',
|
||||
config: {
|
||||
type: 'stdio',
|
||||
command: 'test',
|
||||
args: ['arg1', 'arg2'],
|
||||
},
|
||||
};
|
||||
|
||||
const url = generateRFCProtocolUrl({
|
||||
id: 'test-mcp',
|
||||
schema,
|
||||
marketId: 'lobehub',
|
||||
});
|
||||
|
||||
const parsed = parseProtocolUrl(url);
|
||||
|
||||
expect(parsed).toBeTruthy();
|
||||
expect(parsed?.urlType).toBe('plugin');
|
||||
expect(parsed?.action).toBe('install');
|
||||
expect(parsed?.params.type).toBe('mcp');
|
||||
expect(parsed?.params.id).toBe('test-mcp');
|
||||
expect(parsed?.params.marketId).toBe('lobehub');
|
||||
expect(parsed?.originalUrl).toBe(url);
|
||||
|
||||
// 验证 schema 可以被解析
|
||||
const parsedSchema = JSON.parse(parsed?.params.schema || '{}');
|
||||
expect(parsedSchema).toEqual(schema);
|
||||
});
|
||||
|
||||
it('should return null for invalid protocol', () => {
|
||||
const result = parseProtocolUrl('http://example.com');
|
||||
expect(result).toBeNull();
|
||||
});
|
||||
|
||||
it('should parse URLs with any action', () => {
|
||||
const result = parseProtocolUrl('lobehub://plugin/configure?id=test');
|
||||
expect(result).toBeTruthy();
|
||||
expect(result?.urlType).toBe('plugin');
|
||||
expect(result?.action).toBe('configure');
|
||||
expect(result?.params.id).toBe('test');
|
||||
});
|
||||
|
||||
it('should parse URLs with any query parameters', () => {
|
||||
const result = parseProtocolUrl('lobehub://plugin/install?custom=value&another=param');
|
||||
expect(result).toBeTruthy();
|
||||
expect(result?.urlType).toBe('plugin');
|
||||
expect(result?.action).toBe('install');
|
||||
expect(result?.params.custom).toBe('value');
|
||||
expect(result?.params.another).toBe('param');
|
||||
});
|
||||
|
||||
it('should handle URLs without query parameters', () => {
|
||||
const result = parseProtocolUrl('lobehub://plugin/install');
|
||||
expect(result).toBeTruthy();
|
||||
expect(result?.urlType).toBe('plugin');
|
||||
expect(result?.action).toBe('install');
|
||||
expect(Object.keys(result?.params || {})).toHaveLength(0);
|
||||
});
|
||||
|
||||
it('should return null for URLs without action', () => {
|
||||
const result = parseProtocolUrl('lobehub://plugin/');
|
||||
expect(result).toBeNull();
|
||||
});
|
||||
});
|
||||
|
||||
describe('URL encoding/decoding', () => {
|
||||
it('should handle special characters correctly', () => {
|
||||
const schema: McpSchema = {
|
||||
identifier: 'special-chars',
|
||||
name: '特殊字符 ñ 🚀',
|
||||
author: 'Test <test@example.com>',
|
||||
description: 'Description with "quotes" and \'apostrophes\'',
|
||||
version: '1.0.0',
|
||||
config: {
|
||||
type: 'stdio',
|
||||
command: 'cmd',
|
||||
args: ['arg with spaces', 'arg/with/slashes'],
|
||||
},
|
||||
};
|
||||
|
||||
const url = generateRFCProtocolUrl({ id: 'special-chars', schema });
|
||||
const parsed = parseProtocolUrl(url);
|
||||
|
||||
expect(parsed).toBeTruthy();
|
||||
expect(parsed?.params.id).toBe('special-chars');
|
||||
expect(parsed?.params.type).toBe('mcp');
|
||||
|
||||
// 验证 schema 可以正确解析
|
||||
const parsedSchema = JSON.parse(parsed?.params.schema || '{}');
|
||||
expect(parsedSchema).toEqual(schema);
|
||||
});
|
||||
|
||||
it('should handle different protocol schemes', () => {
|
||||
const testCases = [
|
||||
'lobehub://plugin/install?test=value',
|
||||
'lobehub-dev://plugin/install?test=value',
|
||||
'lobehub-beta://plugin/install?test=value',
|
||||
'lobehub-nightly://plugin/install?test=value',
|
||||
];
|
||||
|
||||
testCases.forEach((url) => {
|
||||
const parsed = parseProtocolUrl(url);
|
||||
expect(parsed).toBeTruthy();
|
||||
expect(parsed?.urlType).toBe('plugin');
|
||||
expect(parsed?.action).toBe('install');
|
||||
expect(parsed?.params.test).toBe('value');
|
||||
expect(parsed?.originalUrl).toBe(url);
|
||||
});
|
||||
});
|
||||
});
|
||||
});
|
||||
@@ -0,0 +1,210 @@
|
||||
import { app } from 'electron';
|
||||
|
||||
import { McpSchema, ProtocolUrlParsed } from '../types/protocol';
|
||||
|
||||
export type AppChannel = 'stable' | 'beta' | 'nightly';
|
||||
|
||||
export const getProtocolScheme = (): string => {
|
||||
// 在 Electron 环境中可以通过多种方式判断版本
|
||||
const bundleId = app.name;
|
||||
const appPath = app.getPath('exe');
|
||||
|
||||
// 通过 bundle identifier 判断
|
||||
if (bundleId?.toLowerCase().includes('nightly')) return 'lobehub-nightly';
|
||||
if (bundleId?.toLowerCase().includes('beta')) return 'lobehub-beta';
|
||||
if (bundleId?.includes('dev')) return 'lobehub-dev';
|
||||
|
||||
// 通过可执行文件路径判断
|
||||
if (appPath?.toLowerCase().includes('nightly')) return 'lobehub-nightly';
|
||||
if (appPath?.toLowerCase().includes('beta')) return 'lobehub-beta';
|
||||
if (appPath?.includes('dev')) return 'lobehub-dev';
|
||||
|
||||
return 'lobehub';
|
||||
};
|
||||
|
||||
export const getVersionInfo = (): { channel: AppChannel; protocolScheme: string } => {
|
||||
const protocolScheme = getProtocolScheme();
|
||||
|
||||
let appChannel: AppChannel = 'stable';
|
||||
if (protocolScheme.includes('nightly')) {
|
||||
appChannel = 'nightly';
|
||||
} else if (protocolScheme.includes('beta')) {
|
||||
appChannel = 'beta';
|
||||
}
|
||||
|
||||
return {
|
||||
channel: appChannel,
|
||||
protocolScheme,
|
||||
};
|
||||
};
|
||||
|
||||
/**
|
||||
* 验证 MCP Schema 对象结构
|
||||
* @param schema 待验证的对象
|
||||
* @returns 是否为有效的 MCP Schema
|
||||
*/
|
||||
function validateMcpSchema(schema: any): schema is McpSchema {
|
||||
if (!schema || typeof schema !== 'object') return false;
|
||||
|
||||
// 必填字段验证
|
||||
if (typeof schema.identifier !== 'string' || !schema.identifier) return false;
|
||||
if (typeof schema.name !== 'string' || !schema.name) return false;
|
||||
if (typeof schema.author !== 'string' || !schema.author) return false;
|
||||
if (typeof schema.description !== 'string' || !schema.description) return false;
|
||||
if (typeof schema.version !== 'string' || !schema.version) return false;
|
||||
|
||||
// 可选字段验证
|
||||
if (schema.homepage !== undefined && typeof schema.homepage !== 'string') return false;
|
||||
if (schema.icon !== undefined && typeof schema.icon !== 'string') return false;
|
||||
|
||||
// config 字段验证
|
||||
if (!schema.config || typeof schema.config !== 'object') return false;
|
||||
const config = schema.config;
|
||||
|
||||
if (config.type === 'stdio') {
|
||||
if (typeof config.command !== 'string' || !config.command) return false;
|
||||
if (config.args !== undefined && !Array.isArray(config.args)) return false;
|
||||
if (config.env !== undefined && typeof config.env !== 'object') return false;
|
||||
} else if (config.type === 'http') {
|
||||
if (typeof config.url !== 'string' || !config.url) return false;
|
||||
try {
|
||||
new URL(config.url); // 验证URL格式
|
||||
} catch {
|
||||
return false;
|
||||
}
|
||||
if (config.headers !== undefined && typeof config.headers !== 'object') return false;
|
||||
} else {
|
||||
return false; // 未知的 config type
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
/**
|
||||
* 解析 lobehub:// 协议 URL (支持多版本协议)
|
||||
*
|
||||
* 支持的URL格式:
|
||||
* - lobehub://plugin/install?id=figma&schema=xxx&marketId=lobehub
|
||||
* - lobehub://plugin/configure?id=xxx&...
|
||||
* - lobehub-bet://plugin/install?id=figma&schema=xxx&marketId=lobehub
|
||||
* - lobehub-nightly://plugin/install?id=figma&schema=xxx&marketId=lobehub
|
||||
* - lobehub-dev://plugin/install?id=figma&schema=xxx&marketId=lobehub
|
||||
*
|
||||
* @param url 协议 URL
|
||||
* @returns 解析结果,包含基本结构和所有查询参数
|
||||
*/
|
||||
export const parseProtocolUrl = (url: string): ProtocolUrlParsed | null => {
|
||||
try {
|
||||
const parsedUrl = new URL(url);
|
||||
|
||||
// 支持多种协议 scheme
|
||||
const validProtocols = ['lobehub:', 'lobehub-dev:', 'lobehub-nightly:', 'lobehub-beta:'];
|
||||
if (!validProtocols.includes(parsedUrl.protocol)) {
|
||||
return null;
|
||||
}
|
||||
|
||||
// 对于自定义协议,URL 解析后:
|
||||
// lobehub://plugin/install -> hostname: "plugin", pathname: "/install"
|
||||
const urlType = parsedUrl.hostname; // "plugin"
|
||||
const pathParts = parsedUrl.pathname.split('/').filter(Boolean); // ["install"]
|
||||
|
||||
if (pathParts.length < 1) {
|
||||
return null;
|
||||
}
|
||||
|
||||
const action = pathParts[0]; // "install"
|
||||
|
||||
// 解析所有查询参数
|
||||
const params: Record<string, string> = {};
|
||||
const searchParams = new URLSearchParams(parsedUrl.search);
|
||||
|
||||
for (const [key, value] of searchParams.entries()) {
|
||||
params[key] = value;
|
||||
}
|
||||
|
||||
return {
|
||||
action,
|
||||
originalUrl: url,
|
||||
params,
|
||||
urlType,
|
||||
};
|
||||
} catch (error) {
|
||||
console.error('Failed to parse protocol URL:', error);
|
||||
return null;
|
||||
}
|
||||
};
|
||||
|
||||
/**
|
||||
* 生成符合 RFC 0001 的协议 URL
|
||||
*
|
||||
* @param params 协议参数
|
||||
* @returns 生成的协议URL
|
||||
*/
|
||||
export function generateRFCProtocolUrl(params: {
|
||||
/** 插件唯一标识符 */
|
||||
id: string;
|
||||
/** Marketplace ID */
|
||||
marketId?: string;
|
||||
/** MCP Schema 对象 */
|
||||
schema: McpSchema;
|
||||
/** 协议 scheme (默认: lobehub) */
|
||||
scheme?: string;
|
||||
}): string {
|
||||
const { id, schema, marketId, scheme = 'lobehub' } = params;
|
||||
|
||||
// 验证 schema.identifier 与 id 匹配
|
||||
if (schema.identifier !== id) {
|
||||
throw new Error('Schema identifier must match the id parameter');
|
||||
}
|
||||
|
||||
// 验证 schema 结构
|
||||
if (!validateMcpSchema(schema)) {
|
||||
throw new Error('Invalid MCP Schema structure');
|
||||
}
|
||||
|
||||
// 构建基础 URL
|
||||
const baseUrl = `${scheme}://plugin/install`;
|
||||
|
||||
// 构建查询参数
|
||||
const searchParams = new URLSearchParams();
|
||||
|
||||
// 必需参数
|
||||
searchParams.set('type', 'mcp');
|
||||
searchParams.set('id', id);
|
||||
|
||||
// 编码 schema - 直接传 JSON 字符串,让 URLSearchParams 自动编码
|
||||
const schemaJson = JSON.stringify(schema);
|
||||
searchParams.set('schema', schemaJson);
|
||||
|
||||
// 可选参数
|
||||
if (marketId) {
|
||||
searchParams.set('marketId', marketId);
|
||||
}
|
||||
|
||||
return `${baseUrl}?${searchParams.toString()}`;
|
||||
}
|
||||
|
||||
/**
|
||||
* 生成协议 URL 示例
|
||||
*
|
||||
* @example
|
||||
* ```typescript
|
||||
* const url = generateRFCProtocolUrl({
|
||||
* id: 'edgeone-mcp',
|
||||
* schema: {
|
||||
* identifier: 'edgeone-mcp',
|
||||
* name: 'EdgeOne MCP',
|
||||
* author: 'Higress Team',
|
||||
* description: 'EdgeOne API integration for LobeChat',
|
||||
* version: '1.0.0',
|
||||
* config: {
|
||||
* type: 'stdio',
|
||||
* command: 'npx',
|
||||
* args: ['-y', '@higress/edgeone-mcp']
|
||||
* }
|
||||
* },
|
||||
* marketId: 'higress'
|
||||
* });
|
||||
* // Result: lobehub://plugin/install?id=edgeone-mcp&schema=%7B%22identifier%22%3A...&marketId=higress
|
||||
* ```
|
||||
*/
|
||||
@@ -25,6 +25,34 @@ export const setupRouteInterceptors = function () {
|
||||
// 存储被阻止的路径,避免pushState重复触发
|
||||
const preventedPaths = new Set<string>();
|
||||
|
||||
// 重写 window.open 方法来拦截 JavaScript 调用
|
||||
const originalWindowOpen = window.open;
|
||||
window.open = function (url?: string | URL, target?: string, features?: string) {
|
||||
if (url) {
|
||||
try {
|
||||
const urlString = typeof url === 'string' ? url : url.toString();
|
||||
const urlObj = new URL(urlString, window.location.href);
|
||||
|
||||
// 检查是否为外部链接
|
||||
if (urlObj.origin !== window.location.origin) {
|
||||
console.log(`[preload] Intercepted window.open for external URL:`, urlString);
|
||||
// 调用主进程处理外部链接
|
||||
invoke('openExternalLink', urlString);
|
||||
return null; // 返回 null 表示没有打开新窗口
|
||||
}
|
||||
} catch (error) {
|
||||
// 处理无效 URL 或特殊协议
|
||||
console.error(`[preload] Intercepted window.open for special protocol:`, url);
|
||||
console.error(error);
|
||||
invoke('openExternalLink', typeof url === 'string' ? url : url.toString());
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
// 对于内部链接,调用原始的 window.open
|
||||
return originalWindowOpen.call(window, url, target, features);
|
||||
};
|
||||
|
||||
// 拦截所有a标签的点击事件 - 针对Next.js的Link组件
|
||||
document.addEventListener(
|
||||
'click',
|
||||
|
||||
@@ -1,4 +1,358 @@
|
||||
[
|
||||
{
|
||||
"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."]
|
||||
},
|
||||
"date": "2025-08-06",
|
||||
"version": "1.110.4"
|
||||
},
|
||||
{
|
||||
"children": {
|
||||
"improvements": ["Fix provider setting page hydration error."]
|
||||
},
|
||||
"date": "2025-08-06",
|
||||
"version": "1.110.3"
|
||||
},
|
||||
{
|
||||
"children": {
|
||||
"fixes": ["Fix fail to fetch aihubmix model on client mode."],
|
||||
"improvements": ["Add context menu for desktop, support different model tabs."]
|
||||
},
|
||||
"date": "2025-08-06",
|
||||
"version": "1.110.2"
|
||||
},
|
||||
{
|
||||
"children": {
|
||||
"fixes": ["Fix remote avatar broken in desktop again."]
|
||||
},
|
||||
"date": "2025-08-06",
|
||||
"version": "1.110.1"
|
||||
},
|
||||
{
|
||||
"children": {
|
||||
"features": ["Support mcp plugin install from web."]
|
||||
},
|
||||
"date": "2025-08-06",
|
||||
"version": "1.110.0"
|
||||
},
|
||||
{
|
||||
"children": {
|
||||
"fixes": ["Fix ollama model output without thinking."],
|
||||
"improvements": ["Add Claude Opus 4.1 model, update i18n."]
|
||||
},
|
||||
"date": "2025-08-06",
|
||||
"version": "1.109.1"
|
||||
},
|
||||
{
|
||||
"children": {
|
||||
"features": ["Support gpt-oss in ollama provider."]
|
||||
},
|
||||
"date": "2025-08-05",
|
||||
"version": "1.109.0"
|
||||
},
|
||||
{
|
||||
"children": {
|
||||
"fixes": ["Provider config checker uses outdated API key."]
|
||||
},
|
||||
"date": "2025-08-05",
|
||||
"version": "1.108.2"
|
||||
},
|
||||
{
|
||||
"children": {
|
||||
"fixes": ["Fix remote avatar broken in desktop."],
|
||||
"improvements": ["Update mask style."]
|
||||
},
|
||||
"date": "2025-08-05",
|
||||
"version": "1.108.1"
|
||||
},
|
||||
{
|
||||
"children": {
|
||||
"features": ["Support 302ai provider."]
|
||||
},
|
||||
"date": "2025-08-05",
|
||||
"version": "1.108.0"
|
||||
},
|
||||
{
|
||||
"children": {
|
||||
"fixes": ["Break line for Gemini Artifacts."]
|
||||
},
|
||||
"date": "2025-08-05",
|
||||
"version": "1.107.6"
|
||||
},
|
||||
{
|
||||
"children": {
|
||||
"improvements": ["Update models."]
|
||||
},
|
||||
"date": "2025-08-04",
|
||||
"version": "1.107.5"
|
||||
},
|
||||
{
|
||||
"children": {
|
||||
"fixes": ["When s3 files not exist , global files should delete."]
|
||||
},
|
||||
"date": "2025-08-04",
|
||||
"version": "1.107.4"
|
||||
},
|
||||
{
|
||||
"children": {
|
||||
"fixes": ["Aihubmix provider request headers."]
|
||||
},
|
||||
"date": "2025-08-03",
|
||||
"version": "1.107.3"
|
||||
},
|
||||
{
|
||||
"children": {
|
||||
"improvements": ["Move types to separate package."]
|
||||
},
|
||||
"date": "2025-08-02",
|
||||
"version": "1.107.2"
|
||||
},
|
||||
{
|
||||
"children": {
|
||||
"improvements": ["Update i18n."]
|
||||
},
|
||||
"date": "2025-08-01",
|
||||
"version": "1.107.1"
|
||||
},
|
||||
{
|
||||
"children": {
|
||||
"features": ["Support aihubmix provider."]
|
||||
},
|
||||
"date": "2025-08-01",
|
||||
"version": "1.107.0"
|
||||
},
|
||||
{
|
||||
"children": {
|
||||
"improvements": ["Support SenseNova V6.5 models."]
|
||||
},
|
||||
"date": "2025-07-31",
|
||||
"version": "1.106.8"
|
||||
},
|
||||
{
|
||||
"children": {
|
||||
"improvements": ["Update Aliyun Bailian models."]
|
||||
},
|
||||
"date": "2025-07-31",
|
||||
"version": "1.106.7"
|
||||
},
|
||||
{
|
||||
"children": {
|
||||
"fixes": ["Fix oidc oauth callback pages 404."]
|
||||
},
|
||||
"date": "2025-07-31",
|
||||
"version": "1.106.6"
|
||||
},
|
||||
{
|
||||
"children": {
|
||||
"improvements": ["Improve mcp plugin calling and display."]
|
||||
},
|
||||
"date": "2025-07-30",
|
||||
"version": "1.106.5"
|
||||
},
|
||||
{
|
||||
"children": {
|
||||
"fixes": ["Fix mcp calling missing array content."],
|
||||
"improvements": ["Update i18n."]
|
||||
},
|
||||
"date": "2025-07-30",
|
||||
"version": "1.106.4"
|
||||
},
|
||||
{
|
||||
"children": {
|
||||
"fixes": ["Moonshot assistant messages must not be empty."],
|
||||
"improvements": ["Add volcengine kimi-k2 model, Add Zhipu GLM-4.5 models."]
|
||||
},
|
||||
"date": "2025-07-29",
|
||||
"version": "1.106.3"
|
||||
},
|
||||
{
|
||||
"children": {
|
||||
"fixes": ["Fix desktop auth redirect url error."]
|
||||
},
|
||||
"date": "2025-07-29",
|
||||
"version": "1.106.2"
|
||||
},
|
||||
{
|
||||
"children": {
|
||||
"improvements": ["Support Minimax T2I models."]
|
||||
},
|
||||
"date": "2025-07-29",
|
||||
"version": "1.106.1"
|
||||
},
|
||||
{
|
||||
"children": {
|
||||
"features": ["Add support for Okta Authentication."]
|
||||
},
|
||||
"date": "2025-07-29",
|
||||
"version": "1.106.0"
|
||||
},
|
||||
{
|
||||
"children": {
|
||||
"improvements": ["Open new topic by tap Just Chat again."]
|
||||
},
|
||||
"date": "2025-07-29",
|
||||
"version": "1.105.6"
|
||||
},
|
||||
{
|
||||
"children": {
|
||||
"fixes": ["Reorder AppTheme and Locale to fix modal i18n."]
|
||||
},
|
||||
"date": "2025-07-29",
|
||||
"version": "1.105.5"
|
||||
},
|
||||
{
|
||||
"children": {
|
||||
"fixes": ["Revert jose to ^5 to fix auth issue on desktop."]
|
||||
},
|
||||
"date": "2025-07-29",
|
||||
"version": "1.105.4"
|
||||
},
|
||||
{
|
||||
"children": {
|
||||
"fixes": ["Fix subscription plan tag display."]
|
||||
},
|
||||
"date": "2025-07-29",
|
||||
"version": "1.105.3"
|
||||
},
|
||||
{
|
||||
"children": {
|
||||
"improvements": ["Add more OpenAI SDK Text2Image providers, update i18n."]
|
||||
},
|
||||
"date": "2025-07-29",
|
||||
"version": "1.105.2"
|
||||
},
|
||||
{
|
||||
"children": {
|
||||
"improvements": ["Support more Text2Image from Qwen."]
|
||||
|
||||
@@ -27,6 +27,7 @@ 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,6 +27,7 @@ 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:v1.843.0
|
||||
image: casbin/casdoor:v2.13.0
|
||||
container_name: lobe-casdoor
|
||||
entrypoint: /bin/sh -c './server --createDatabase=true'
|
||||
network_mode: 'service:network-service'
|
||||
|
||||
+1360
-854
File diff suppressed because it is too large
Load Diff
@@ -450,7 +450,7 @@ ENV_EXAMPLES=(
|
||||
"$SUB_DIR/.env.example"
|
||||
)
|
||||
# Default values
|
||||
CASDOOR_PASSWORD="123"
|
||||
CASDOOR_PASSWORD="pswd123"
|
||||
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="123"
|
||||
CASDOOR_PASSWORD="pswd123"
|
||||
else
|
||||
# replace `password` in init_data.json
|
||||
sed "${SED_INPLACE_ARGS[@]}" "s/"123"/${CASDOOR_PASSWORD}/" init_data.json
|
||||
sed "${SED_INPLACE_ARGS[@]}" "s/"pswd123"/${CASDOOR_PASSWORD}/" init_data.json
|
||||
if [ $? -ne 0 ]; then
|
||||
echo $(show_message "security_secrect_regenerate_failed") "CASDOOR_PASSWORD in \`init_data.json\`"
|
||||
fi
|
||||
|
||||
@@ -1,5 +1,3 @@
|
||||
{/* 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.
|
||||
@@ -111,6 +109,8 @@ 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,5 +1,3 @@
|
||||
{/* eslint-disable no-irregular-whitespace */}
|
||||
|
||||
# 状态管理最佳实践
|
||||
|
||||
LobeChat 不同于传统 CRUD 的网页,存在大量的富交互能力,如何设计一个易于开发与易于维护的数据流架构非常重要。本篇文档将介绍 LobeChat 中的数据流管理最佳实践。
|
||||
@@ -111,6 +109,8 @@ 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 的聚合导出文件
|
||||
|
||||
@@ -55,6 +55,8 @@ Currently supported identity verification services include:
|
||||
<Card href={'/docs/self-hosting/advanced/auth/next-auth/keycloak'} title={'Keycloak'} />
|
||||
|
||||
<Card href={'/docs/self-hosting/advanced/auth/next-auth/google'} title={'Google'} />
|
||||
|
||||
<Card href={'/docs/self-hosting/advanced/auth/next-auth/okta'} title={'Okta'} />
|
||||
</Cards>
|
||||
|
||||
Click on the links to view the corresponding platform's configuration documentation.
|
||||
@@ -78,6 +80,7 @@ The order corresponds to the display order of the SSO providers.
|
||||
| ZITADEL | `zitadel` |
|
||||
| Keycloak | `keycloak` |
|
||||
| Google | `google` |
|
||||
| Okta | `okta` |
|
||||
|
||||
## Other SSO Providers
|
||||
|
||||
|
||||
@@ -51,6 +51,8 @@ LobeChat 与 Clerk 做了深度集成,能够为用户提供一个更加安全
|
||||
<Card href={'/zh/docs/self-hosting/advanced/auth/next-auth/logto'} title={'Logto'} />
|
||||
|
||||
<Card href={'/zh/docs/self-hosting/advanced/auth/next-auth/keycloak'} title={'Keycloak'} />
|
||||
|
||||
<Card href={'/zh/docs/self-hosting/advanced/auth/next-auth/okta'} title={'Okta'} />
|
||||
</Cards>
|
||||
|
||||
点击即可查看对应平台的配置文档。
|
||||
@@ -73,6 +75,7 @@ LobeChat 与 Clerk 做了深度集成,能够为用户提供一个更加安全
|
||||
| Microsoft Entra ID | `microsoft-entra-id` |
|
||||
| ZITADEL | `zitadel` |
|
||||
| Keycloak | `keycloak` |
|
||||
| Okta | `okta` |
|
||||
|
||||
## 其他 SSO 提供商
|
||||
|
||||
|
||||
@@ -0,0 +1,65 @@
|
||||
---
|
||||
title: Configure Okta Identity Verification Service for LobeChat
|
||||
description: >-
|
||||
Learn how to configure Okta Identity Verification Service for LobeChat for your organization, including creating applications, adding users, and configuring environment variables.
|
||||
|
||||
tags:
|
||||
- Okta
|
||||
- Identity Verification
|
||||
- Single Sign-On
|
||||
- Environment Variables
|
||||
- User Management
|
||||
- SSO Integrations
|
||||
- Social Login
|
||||
---
|
||||
|
||||
# Configure Okta Identity Verification Service
|
||||
|
||||
<Steps>
|
||||
### Create Okta Application
|
||||
|
||||
Register and log in to [Okta][okta-client-page], open the "Applications" subtab in the left navigation bar, and click "Applications" to switch to the application management interface. click "Create App Integration" in the upper left corner to create an application.
|
||||
|
||||
Select "OIDC - OpenID Connect" in Sign-In Method and then select "Web Application" in Application Type.
|
||||
|
||||
Fill in the following settings:
|
||||
|
||||
| Setting Name | Description | Sample Information |
|
||||
| ---------------------- | ------------------------------------------------------------------------------------------------------------ | --------------------------------------------- |
|
||||
| App Integration Name | The Application Name your users will see | LobeChat Instance |
|
||||
| Sign-in redirect URIs | Okta sends the authentication response and ID token for the user's sign-in request to these URIs | (http(s)://your-domain/api/auth/callback/okta |
|
||||
| Sign-out redirect URIs | After your application contacts Okta to close the user session, Okta redirects the user to one of these URIs | (http(s)://your-domain |
|
||||
|
||||
<Callout type={'important'}>
|
||||
You can fill in or modify all the fields after deployment, but make sure the filled URL is
|
||||
consistent with the deployed URL.
|
||||
</Callout>
|
||||
|
||||
### Add Users
|
||||
|
||||
Click on the "Assignments" in the top navigation bar to enter the user management interface, where you can create or assign users in your organization to log in to LobeChat.
|
||||
|
||||
### Configure Environment Variables
|
||||
|
||||
When deploying LobeChat, you need to configure the following environment variables:
|
||||
|
||||
| Environment Variable | Type | Description |
|
||||
| ------------------------- | -------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||
| `NEXT_AUTH_SECRET` | Required | Key used to encrypt Auth.js session tokens. You can generate a key using the following command: `openssl rand -base64 32` |
|
||||
| `NEXT_AUTH_SSO_PROVIDERS` | Required | Select the single sign-on provider for LoboChat. Use `okta` for Okta. |
|
||||
| `AUTH_OKTA_ID` | Required | Client ID of the Okta application |
|
||||
| `AUTH_OKTA_SECRET` | Required | Client Secret of the Okta application |
|
||||
| `AUTH_OKTA_ISSUER` | Required | Domain of the Okta application, `https://example.oktapreview.com` |
|
||||
| `NEXTAUTH_URL` | Optional | The URL is used to specify the callback address for the execution of OAuth authentication in Auth.js. It needs to be set only when the default address is incorrect. `https://example.com/api/auth` |
|
||||
|
||||
<Callout type={'tip'}>
|
||||
You can refer to the related variable details at [📘Environment Variables](/docs/self-hosting/environment-variable/auth#okta).
|
||||
</Callout>
|
||||
</Steps>
|
||||
|
||||
<Callout>
|
||||
After successful deployment, users will be able to authenticate and use LobeChat using the users
|
||||
configured in Okta.
|
||||
</Callout>
|
||||
|
||||
[okta-client-page]: https://login.okta.com
|
||||
@@ -0,0 +1,63 @@
|
||||
---
|
||||
title: 在 LobeChat 中配置 Okta 身份验证服务 - 详细步骤和环境变量设置
|
||||
description: >-
|
||||
学习如何在 LobeChat 中为您的组织配置 Okta 身份验证服务,包括创建应用程序、添加用户和配置环境变量等。
|
||||
|
||||
tags:
|
||||
- Okta
|
||||
- 身份验证
|
||||
- 单点登录
|
||||
- 环境变量
|
||||
- 用户管理
|
||||
- SSO 集成
|
||||
- 社交登录
|
||||
---
|
||||
|
||||
# 配置 Okta 身份验证服务
|
||||
|
||||
<Steps>
|
||||
### 创建 Okta 应用程序
|
||||
|
||||
注册并登录 [Okta][okta-client-page],打开左侧导航栏中的「Applications」子选项卡,点击「Applications」切换到应用程序管理界面。点击左上角的「Create App Integration」创建应用程序。
|
||||
|
||||
在登录方法中选择「OIDC - OpenID Connect」,然后在应用程序类型中选择「Web Application」。
|
||||
|
||||
填写以下设置:
|
||||
|
||||
| 设置名称 | 描述 | 示例信息 |
|
||||
| ---------------------- | ------------------------------------------- | --------------------------------------------- |
|
||||
| App Integration Name | 您的用户将看到的应用程序名称 | LobeChat Instance |
|
||||
| Sign-in redirect URIs | Okta 将用户登录请求的身份验证响应和 ID 令牌发送到这些 URI | (http(s)://your-domain/api/auth/callback/okta |
|
||||
| Sign-out redirect URIs | 您的应用程序联系 Okta 关闭用户会话后,Okta 将用户重定向到这些 URI 之一 | (http(s)://your-domain |
|
||||
|
||||
<Callout type={'important'}>
|
||||
您可以在部署后填写或修改所有字段,但请确保填写的 URL 与部署的 URL 一致。
|
||||
</Callout>
|
||||
|
||||
### 添加用户
|
||||
|
||||
点击顶部导航栏中的「Assignments」进入用户管理界面,您可以在此创建或分配组织中的用户来登录 LobeChat。
|
||||
|
||||
### 配置环境变量
|
||||
|
||||
在部署 LobeChat 时,您需要配置以下环境变量:
|
||||
|
||||
| 环境变量 | 类型 | 描述 |
|
||||
| ------------------------- | -- | ------------------------------------------------------------------------------------ |
|
||||
| `NEXT_AUTH_SECRET` | 必选 | 用于加密 Auth.js 会话令牌的密钥。您可以使用以下命令生成密钥:`openssl rand -base64 32` |
|
||||
| `NEXT_AUTH_SSO_PROVIDERS` | 必选 | 选择 LoboChat 的单点登录提供商。使用 Okta 请填写 `okta`。 |
|
||||
| `AUTH_OKTA_ID` | 必选 | Okta 应用程序的客户端 ID |
|
||||
| `AUTH_OKTA_SECRET` | 必选 | Okta 应用程序的客户端密钥 |
|
||||
| `AUTH_OKTA_ISSUER` | 必选 | Okta 应用程序的域名,`https://example.oktapreview.com` |
|
||||
| `NEXTAUTH_URL` | 可选 | 该 URL 用于指定 Auth.js 在执行 OAuth 认证时的回调地址。仅当默认地址不正确时才需要设置。`https://example.com/api/auth` |
|
||||
|
||||
<Callout type={'tip'}>
|
||||
您可以在 [📘环境变量](/zh/docs/self-hosting/environment-variables/auth#okta) 查阅相关变量详情。
|
||||
</Callout>
|
||||
</Steps>
|
||||
|
||||
<Callout>
|
||||
部署成功后,用户将能够使用在 Okta 中配置的用户进行身份验证并使用 LobeChat。
|
||||
</Callout>
|
||||
|
||||
[okta-client-page]: https://login.okta.com
|
||||
@@ -84,12 +84,16 @@ 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"],
|
||||
"AllowedOrigins": ["https://your-project.vercel.app", "http://localhost:3015"],
|
||||
"AllowedMethods": ["GET", "PUT", "HEAD", "POST", "DELETE"],
|
||||
"AllowedHeaders": ["*"]
|
||||
}
|
||||
|
||||
@@ -82,13 +82,17 @@ 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"],
|
||||
"AllowedOrigins": ["https://your-project.vercel.app", "http://localhost:3015"],
|
||||
"AllowedMethods": ["GET", "PUT", "HEAD", "POST", "DELETE"],
|
||||
"AllowedHeaders": ["*"]
|
||||
}
|
||||
|
||||
@@ -249,6 +249,29 @@ LobeChat provides a complete authentication service capability when deployed. Th
|
||||
- Default: `-`
|
||||
- Example: `https://your-instance-abc123.zitadel.cloud`
|
||||
|
||||
### Okta
|
||||
|
||||
#### `AUTH_OKTA_ID`
|
||||
|
||||
- Type: Required
|
||||
- Description: Client ID of the Okta application. This can be found under your application settings in the Okta console.
|
||||
- Default: `-`
|
||||
- Example: `ac12c950f3ce48c8a45a`
|
||||
|
||||
#### `AUTH_OKTA_SECRET`
|
||||
|
||||
- Type: Required
|
||||
- Description: Client Secret of the Okta application. This can be found under your application settings in the Okta console.
|
||||
- Default: `-`
|
||||
- Example: `ex1HqvSOOkC5INqo42grOSqNvHoD4p84em1yy5QU7v88IZlaWGywFjYkrkpkSopt`
|
||||
|
||||
#### `AUTH_OKTA_ISSUER`
|
||||
|
||||
- Type: Required
|
||||
- Description: Issuer of the Okta application. This is the URL of the Okta instance -- If branding is set up, it can be your custom domain.
|
||||
- Default: `-`
|
||||
- Example: `https://your-instance.okta.com`
|
||||
|
||||
### Generic OIDC
|
||||
|
||||
#### `AUTH_GENERIC_OIDC_ID`
|
||||
|
||||
@@ -245,6 +245,29 @@ LobeChat 在部署时提供了完善的身份验证服务能力,以下是相
|
||||
- 默认值:`-`
|
||||
- 示例:`https://your-instance-abc123.zitadel.cloud`
|
||||
|
||||
### Okta
|
||||
|
||||
#### `AUTH_OKTA_ID`
|
||||
|
||||
- 类型:必选
|
||||
- 描述:Okta 应用程序的 Client ID。您可以在 Okta 控制台的应用程序设置中找到。
|
||||
- 默认值:`-`
|
||||
- 示例:`ac12c950f3ce48c8a45a`
|
||||
|
||||
#### `AUTH_OKTA_SECRET`
|
||||
|
||||
- 类型:必选
|
||||
- 描述:Okta 应用程序的 Client Secret。您可以在 Okta 控制台的应用程序设置中找到。
|
||||
- 默认值:`-`
|
||||
- 示例:`ex1HqvSOOkC5INqo42grOSqNvHoD4p84em1yy5QU7v88IZlaWGywFjYkrkpkSopt`
|
||||
|
||||
#### `AUTH_OKTA_ISSUER`
|
||||
|
||||
- 类型:必选
|
||||
- 描述:Okta 应用程序的 OpenID Connect 颁发者(issuer)。这是 Okta 实例的 URL—— 如果设置了品牌化,也可以是您的自定义域名。
|
||||
- 默认值:`-`
|
||||
- 示例:`https://your-instance.okta.com`
|
||||
|
||||
### Generic OIDC
|
||||
|
||||
#### `AUTH_GENERIC_OIDC_ID`
|
||||
|
||||
@@ -0,0 +1,45 @@
|
||||
---
|
||||
title: Using 302.AI in LobeChat
|
||||
description: Learn how to configure and use 302.AI's API Key in LobeChat to start conversations and interactions.
|
||||
tags:
|
||||
- LobeChat
|
||||
- 302.AI
|
||||
- API Key
|
||||
- Web UI
|
||||
---
|
||||
|
||||
# Using 302.AI in LobeChat
|
||||
|
||||
<Image cover src={'https://file.302.ai/gpt/imgs/20250722/c7a6ee9959a8490fa00481dae0fbb339.jpg'} />
|
||||
|
||||
[302.AI](https://www.302.ai/) is a pay-as-you-go AI application platform that provides the most comprehensive AI APIs and AI online applications on the market.
|
||||
|
||||
This article will guide you on how to use 302.AI in LobeChat.
|
||||
|
||||
<Steps>
|
||||
### Step 1: Obtain [302.AI](https://www.302.ai/) API Key
|
||||
|
||||
- Click `Get Started`, register and log in to [302.AI](https://www.302.ai/)
|
||||
- Click `API Keys` on the left side
|
||||
- Click `Add API KEY`, copy and save the generated API key
|
||||
|
||||
<Image alt={'Get API Key'} inStep src={'https://file.302.ai/gpt/imgs/20250722/7a3597061d9a484ca7358867930a8316.jpg'} />
|
||||
|
||||
### Step 2: Configure 302.AI in LobeChat
|
||||
|
||||
- Access LobeChat's `Settings` interface
|
||||
- Find the `302.AI` configuration item under `Language Models`
|
||||
|
||||
<Image alt={'Enter API Key'} inStep src={'https://file.302.ai/gpt/imgs/20250722/b056ca4e63374668b7e3e093726fa6f0.jpg'} />
|
||||
|
||||
- Enter the obtained API key
|
||||
- Select a 302.AI model for your AI assistant to start conversations
|
||||
|
||||
<Image alt={'Select 302.AI model and start conversation'} inStep src={'https://file.302.ai/gpt/imgs/20250722/c7a6ee9959a8490fa00481dae0fbb339.jpg'} />
|
||||
|
||||
<Callout type={'warning'}>
|
||||
During usage, you may need to pay the API service provider. Please refer to 302.AI's relevant pricing policy.
|
||||
</Callout>
|
||||
</Steps>
|
||||
|
||||
Now you can use 302.AI's models for conversations in LobeChat.
|
||||
@@ -0,0 +1,45 @@
|
||||
---
|
||||
title: 在 LobeChat 中使用 302.AI
|
||||
description: 学习如何在 LobeChat 中配置和使用 302.AI 的API Key,以便开始对话和交互。
|
||||
tags:
|
||||
- LobeChat
|
||||
- 302.AI
|
||||
- API密钥
|
||||
- Web UI
|
||||
---
|
||||
|
||||
# 在 LobeChat 中使用 302.AI
|
||||
|
||||
<Image cover src={'https://file.302.ai/gpt/imgs/20250722/d346c796faa4443eb0bd4218f84205f6.jpg'} />
|
||||
|
||||
[302.AI](https://www.302.ai/) 是一个按需付费的 AI 应用平台,提供市面上最全的 AI API 和 AI 在线应用。
|
||||
|
||||
本文将指导你如何在 LobeChat 中使用 302.AI。
|
||||
|
||||
<Steps>
|
||||
### 步骤一:获得 [302.AI](https://www.302.ai/) 的 API Key
|
||||
|
||||
- 点击 `开始使用`,注册并登录 [302.AI](https://www.302.ai/)
|
||||
- 点击左侧的 `API Keys`
|
||||
- 点击 `添加API KEY`,复制并保存生成的 API 密钥
|
||||
|
||||
<Image alt={'获取 API 密钥'} inStep src={'https://file.302.ai/gpt/imgs/20250722/01abd69fd61540489781fd963e504a04.jpg'} />
|
||||
|
||||
### 步骤二:在 LobeChat 中配置 302.AI
|
||||
|
||||
- 访问 LobeChat 的`设置`界面
|
||||
- 在`语言模型`下找到 `302.AI` 的设置项
|
||||
|
||||
<Image alt={'填入 API 密钥'} inStep src={'https://file.302.ai/gpt/imgs/20250722/5247463e74c742f79bef416bbb0722bf.jpg'} />
|
||||
|
||||
- 填入获得的 API 密钥
|
||||
- 为你的 AI 助手选择一个 302.AI 的模型即可开始对话
|
||||
|
||||
<Image alt={'选择 302.AI 模型并开始对话'} inStep src={'https://file.302.ai/gpt/imgs/20250722/d346c796faa4443eb0bd4218f84205f6.jpg'} />
|
||||
|
||||
<Callout type={'warning'}>
|
||||
在使用过程中你可能需要向 API 服务提供商付费,请参考 302.AI 的相关费用政策。
|
||||
</Callout>
|
||||
</Steps>
|
||||
|
||||
至此你已经可以在 LobeChat 中使用 302.AI 提供的模型进行对话了。
|
||||
@@ -0,0 +1,101 @@
|
||||
---
|
||||
title: AiHubMix 提供商配置
|
||||
description: 学习如何在 LobeChat 中配置和使用 AiHubMix 提供商
|
||||
tags:
|
||||
- AiHubMix
|
||||
- 提供商配置
|
||||
- 配置指南
|
||||
---
|
||||
|
||||
# AiHubMix 提供商配置
|
||||
|
||||
AiHubMix 是一个 AI 模型聚合平台,通过统一的 OpenAI 兼容 API 接口提供多种 AI 模型的访问服务。本指南将帮助您在 LobeChat 中设置 AiHubMix 提供商。
|
||||
|
||||
## 前置条件
|
||||
|
||||
在使用 AiHubMix API 之前,您需要:
|
||||
|
||||
1. **创建 AiHubMix 账户**
|
||||
- 访问 [AiHubMix](https://lobe.li/MZmv94N)
|
||||
- 注册账户
|
||||
|
||||
2. **获取 API 密钥**
|
||||
- 登录您的 AiHubMix 控制台
|
||||
- 导航到 API 设置
|
||||
- 生成用于 LobeChat 的 API 密钥
|
||||
|
||||
## 配置
|
||||
|
||||
### 环境变量
|
||||
|
||||
在您的 `.env` 文件中添加以下环境变量:
|
||||
|
||||
```bash
|
||||
# 启用 AiHubMix 提供商
|
||||
ENABLED_AIHUBMIX=1
|
||||
|
||||
# AiHubMix API 密钥(必需)
|
||||
AIHUBMIX_API_KEY=your_aihubmix_api_key
|
||||
```
|
||||
|
||||
### 可用模型
|
||||
|
||||
AiHubMix 提供多种热门 AI 模型的访问,包括:
|
||||
|
||||
- **GPT-4o Mini** - OpenAI 的高性价比小型模型
|
||||
- **GPT-4o** - OpenAI 的旗舰多模态模型
|
||||
- **Claude 3.5 Sonnet** - Anthropic 的高级推理模型
|
||||
- **Claude 3.5 Haiku** - 快速高效的 Claude 模型
|
||||
- **Gemini Pro 1.5** - Google 的长上下文支持模型
|
||||
- **DeepSeek V3** - 具有高级推理能力的模型
|
||||
|
||||
## 使用方法
|
||||
|
||||
1. **配置 API 密钥**
|
||||
- 在环境变量中设置您的 AiHubMix API 密钥
|
||||
- 重启您的 LobeChat 实例
|
||||
|
||||
2. **选择模型**
|
||||
- 进入 LobeChat 设置
|
||||
- 导航到语言模型
|
||||
- 选择 AiHubMix 作为您的提供商
|
||||
- 从可用模型中选择
|
||||
|
||||
3. **开始对话**
|
||||
- 创建新对话
|
||||
- 选择 AiHubMix 模型
|
||||
- 开始您的对话
|
||||
|
||||
## 功能特性
|
||||
|
||||
- **多模型访问**:通过单一 API 访问各种 AI 模型
|
||||
- **OpenAI 兼容**:使用标准 OpenAI API 格式
|
||||
- **函数调用**:支持兼容模型的函数调用功能
|
||||
- **视觉能力**:部分模型支持图像分析
|
||||
- **模型获取**:自动获取可用模型列表
|
||||
|
||||
## 故障排除
|
||||
|
||||
### 常见问题
|
||||
|
||||
1. **401 认证错误**
|
||||
- 验证您的 API 密钥是否正确
|
||||
- 确保 API 密钥具有适当的权限
|
||||
- 检查您的账户是否有足够的积分
|
||||
|
||||
2. **模型不可用**
|
||||
- 某些模型可能有使用限制
|
||||
- 查看 AiHubMix 文档了解模型可用性
|
||||
- 验证您的账户等级是否支持请求的模型
|
||||
|
||||
3. **速率限制**
|
||||
- AiHubMix 可能根据您的计划有速率限制
|
||||
- 考虑升级您的计划以获得更高的限制
|
||||
|
||||
## 支持
|
||||
|
||||
如需更多支持:
|
||||
|
||||
- 访问 [AiHubMix 文档](https://docs.aihubmix.com/)
|
||||
- 查看 [模型列表](https://docs.aihubmix.com/cn/api/Model-List)
|
||||
- 联系 AiHubMix 支持团队解决 API 相关问题
|
||||
@@ -46,6 +46,9 @@
|
||||
"reasoningEffort": {
|
||||
"title": "شدة الاستدلال"
|
||||
},
|
||||
"textVerbosity": {
|
||||
"title": "مستوى تفصيل المخرجات النصية"
|
||||
},
|
||||
"thinking": {
|
||||
"title": "مفتاح التفكير العميق"
|
||||
},
|
||||
|
||||
@@ -21,6 +21,10 @@
|
||||
"desc": "الدخول إلى وضع التحرير عن طريق الضغط على مفتاح Alt والنقر المزدوج على الرسالة",
|
||||
"title": "تحرير الرسالة"
|
||||
},
|
||||
"navigateToChat": {
|
||||
"desc": "التبديل إلى علامة تبويب المحادثة والدخول إلى دردشة عشوائية",
|
||||
"title": "التبديل إلى المحادثة الافتراضية"
|
||||
},
|
||||
"openChatSettings": {
|
||||
"desc": "عرض وتعديل إعدادات المحادثة الحالية",
|
||||
"title": "فتح إعدادات المحادثة"
|
||||
|
||||
@@ -189,6 +189,7 @@
|
||||
"aesGcm": "سيتم استخدام خوارزمية التشفير <1>AES-GCM</1> لتشفير مفتاحك وعنوان الوكيل وما إلى ذلك",
|
||||
"apiKey": {
|
||||
"desc": "يرجى إدخال مفتاح API الخاص بك {{name}}",
|
||||
"descWithUrl": "يرجى إدخال مفتاح API الخاص بـ {{name}}، <3>انقر هنا للحصول عليه</3>",
|
||||
"placeholder": "{{name}} مفتاح API",
|
||||
"title": "مفتاح API"
|
||||
},
|
||||
@@ -305,6 +306,7 @@
|
||||
"latestTime": "آخر تحديث: {{time}}",
|
||||
"noLatestTime": "لم يتم الحصول على القائمة بعد"
|
||||
},
|
||||
"noModelsInCategory": "لا توجد نماذج مفعلة في هذا التصنيف",
|
||||
"resetAll": {
|
||||
"conform": "هل أنت متأكد من إعادة تعيين جميع التعديلات على النموذج الحالي؟ بعد إعادة التعيين، ستعود قائمة النماذج الحالية إلى الحالة الافتراضية",
|
||||
"success": "تمت إعادة التعيين بنجاح",
|
||||
@@ -315,7 +317,15 @@
|
||||
"title": "قائمة النماذج",
|
||||
"total": "إجمالي {{count}} نموذج متاح"
|
||||
},
|
||||
"searchNotFound": "لم يتم العثور على نتائج البحث"
|
||||
"searchNotFound": "لم يتم العثور على نتائج البحث",
|
||||
"tabs": {
|
||||
"all": "الكل",
|
||||
"chat": "الدردشة",
|
||||
"embedding": "التضمين",
|
||||
"image": "صورة",
|
||||
"stt": "تحويل الكلام إلى نص",
|
||||
"tts": "تحويل النص إلى كلام"
|
||||
}
|
||||
},
|
||||
"sortModal": {
|
||||
"success": "تم تحديث الترتيب بنجاح",
|
||||
|
||||
+230
-8
@@ -32,6 +32,9 @@
|
||||
"4.0Ultra": {
|
||||
"description": "Spark4.0 Ultra هو أقوى إصدار في سلسلة نماذج Spark، حيث يعزز فهم النصوص وقدرات التلخيص مع تحسين روابط البحث عبر الإنترنت. إنه حل شامل يهدف إلى تعزيز إنتاجية المكتب والاستجابة الدقيقة للاحتياجات، ويعتبر منتجًا ذكيًا رائدًا في الصناعة."
|
||||
},
|
||||
"AnimeSharp": {
|
||||
"description": "AnimeSharp (المعروف أيضًا باسم \"4x‑AnimeSharp\") هو نموذج مفتوح المصدر للتكبير الفائق الدقة طوره Kim2091 استنادًا إلى بنية ESRGAN، يركز على تكبير وتوضيح الصور بأسلوب الأنمي. تم إعادة تسميته في فبراير 2022 من \"4x-TextSharpV1\"، وكان في الأصل مناسبًا أيضًا لصور النصوص لكنه تم تحسين أداؤه بشكل كبير لمحتوى الأنمي."
|
||||
},
|
||||
"Baichuan2-Turbo": {
|
||||
"description": "يستخدم تقنية تعزيز البحث لتحقيق الربط الشامل بين النموذج الكبير والمعرفة الميدانية والمعرفة من جميع أنحاء الشبكة. يدعم تحميل مستندات PDF وWord وغيرها من المدخلات، مما يضمن الحصول على المعلومات بشكل سريع وشامل، ويقدم نتائج دقيقة واحترافية."
|
||||
},
|
||||
@@ -71,6 +74,9 @@
|
||||
"DeepSeek-V3": {
|
||||
"description": "DeepSeek-V3 هو نموذج MoE تم تطويره ذاتيًا بواسطة شركة DeepSeek. حقق DeepSeek-V3 نتائج تقييم تفوقت على نماذج مفتوحة المصدر الأخرى مثل Qwen2.5-72B و Llama-3.1-405B، وفي الأداء ينافس النماذج المغلقة الرائدة عالميًا مثل GPT-4o و Claude-3.5-Sonnet."
|
||||
},
|
||||
"DeepSeek-V3-Fast": {
|
||||
"description": "مزود النموذج: منصة sophnet. DeepSeek V3 Fast هو النسخة السريعة عالية TPS من إصدار DeepSeek V3 0324، غير مكوّن بالكامل، يتمتع بقدرات برمجية ورياضية أقوى واستجابة أسرع!"
|
||||
},
|
||||
"Doubao-lite-128k": {
|
||||
"description": "Doubao-lite يتميز بسرعة استجابة فائقة وقيمة أفضل مقابل المال، ويوفر خيارات أكثر مرونة للعملاء في سيناريوهات مختلفة. يدعم الاستدلال والتخصيص مع نافذة سياق 128k."
|
||||
},
|
||||
@@ -89,6 +95,9 @@
|
||||
"Doubao-pro-4k": {
|
||||
"description": "النموذج الرئيسي الأكثر فعالية، مناسب لمعالجة المهام المعقدة، ويحقق أداءً ممتازًا في سيناريوهات مثل الأسئلة المرجعية، التلخيص، الإبداع، تصنيف النصوص، ولعب الأدوار. يدعم الاستدلال والتخصيص مع نافذة سياق 4k."
|
||||
},
|
||||
"DreamO": {
|
||||
"description": "DreamO هو نموذج توليد صور مخصص مفتوح المصدر تم تطويره بالتعاون بين ByteDance وجامعة بكين، يهدف إلى دعم مهام توليد الصور المتعددة من خلال بنية موحدة. يستخدم طريقة نمذجة مركبة فعالة لتوليد صور متسقة ومخصصة بناءً على شروط متعددة مثل الهوية، الموضوع، الأسلوب، والخلفية التي يحددها المستخدم."
|
||||
},
|
||||
"ERNIE-3.5-128K": {
|
||||
"description": "نموذج اللغة الكبير الرائد الذي طورته بايدو، يغطي كمية هائلة من البيانات باللغة الصينية والإنجليزية، ويتميز بقدرات عامة قوية، يمكنه تلبية معظم متطلبات الحوار، والإجابة على الأسئلة، وإنشاء المحتوى، وتطبيقات الإضافات؛ يدعم الاتصال التلقائي بإضافات بحث بايدو، مما يضمن تحديث معلومات الإجابة."
|
||||
},
|
||||
@@ -122,15 +131,39 @@
|
||||
"ERNIE-Speed-Pro-128K": {
|
||||
"description": "نموذج اللغة الكبير عالي الأداء الذي طورته بايدو، والذي تم إصداره في عام 2024، يتمتع بقدرات عامة ممتازة، ويتميز بأداء أفضل من ERNIE Speed، مناسب كنموذج أساسي للتعديل الدقيق، مما يساعد على معالجة مشكلات السيناريوهات المحددة بشكل أفضل، مع أداء استدلال ممتاز."
|
||||
},
|
||||
"FLUX.1-Kontext-dev": {
|
||||
"description": "FLUX.1-Kontext-dev هو نموذج متعدد الوسائط لتوليد وتحرير الصور طورته Black Forest Labs، يعتمد على بنية Rectified Flow Transformer ويحتوي على 12 مليار معلمة، يركز على توليد وإعادة بناء وتعزيز أو تحرير الصور بناءً على شروط سياقية محددة. يجمع النموذج بين مزايا التوليد القابل للتحكم في نماذج الانتشار وقدرات نمذجة السياق في Transformer، ويدعم إخراج صور عالية الجودة، ويستخدم على نطاق واسع في إصلاح الصور، إكمال الصور، وإعادة بناء المشاهد البصرية."
|
||||
},
|
||||
"FLUX.1-dev": {
|
||||
"description": "FLUX.1-dev هو نموذج لغة متعدد الوسائط مفتوح المصدر طورته Black Forest Labs، مُحسّن لمهام النص والصورة، يدمج قدرات فهم وتوليد الصور والنصوص. يعتمد على نماذج اللغة الكبيرة المتقدمة مثل Mistral-7B، ويحقق معالجة متزامنة للنص والصورة واستدلالًا معقدًا من خلال مشفر بصري مصمم بعناية وضبط دقيق متعدد المراحل."
|
||||
},
|
||||
"Gryphe/MythoMax-L2-13b": {
|
||||
"description": "MythoMax-L2 (13B) هو نموذج مبتكر، مناسب لتطبيقات متعددة المجالات والمهام المعقدة."
|
||||
},
|
||||
"HelloMeme": {
|
||||
"description": "HelloMeme هو أداة ذكاء اصطناعي يمكنها تلقائيًا إنشاء ملصقات تعبيرية، صور متحركة أو مقاطع فيديو قصيرة بناءً على الصور أو الحركات التي تقدمها. لا تحتاج إلى مهارات رسم أو برمجة، فقط قدم صورة مرجعية، وستساعدك في إنشاء محتوى جميل، ممتع ومتناسق في الأسلوب."
|
||||
},
|
||||
"HiDream-I1-Full": {
|
||||
"description": "HiDream-E1-Full هو نموذج تحرير صور متعدد الوسائط مفتوح المصدر أطلقته HiDream.ai، يعتمد على بنية Diffusion Transformer المتقدمة، ويجمع بين قدرات فهم اللغة القوية (مضمن LLaMA 3.1-8B-Instruct)، يدعم توليد الصور، نقل الأسلوب، التحرير الجزئي وإعادة رسم المحتوى عبر أوامر اللغة الطبيعية، ويتميز بفهم وتنفيذ ممتاز للنص والصورة."
|
||||
},
|
||||
"HunyuanDiT-v1.2-Diffusers-Distilled": {
|
||||
"description": "hunyuandit-v1.2-distilled هو نموذج توليد صور نصية خفيف الوزن، محسن بالتقطير، قادر على توليد صور عالية الجودة بسرعة، ومناسب بشكل خاص للبيئات ذات الموارد المحدودة والمهام التي تتطلب توليدًا فوريًا."
|
||||
},
|
||||
"InstantCharacter": {
|
||||
"description": "InstantCharacter هو نموذج توليد شخصيات مخصص بدون ضبط دقيق أصدره فريق Tencent AI في 2025، يهدف إلى تحقيق توليد شخصيات متسقة وعالية الدقة عبر مشاهد مختلفة. يدعم بناء نموذج الشخصية استنادًا إلى صورة مرجعية واحدة فقط، ويمكن نقل الشخصية بمرونة إلى أنماط، حركات وخلفيات متنوعة."
|
||||
},
|
||||
"InternVL2-8B": {
|
||||
"description": "InternVL2-8B هو نموذج قوي للغة البصرية، يدعم المعالجة متعددة الوسائط للصورة والنص، قادر على التعرف بدقة على محتوى الصورة وتوليد أوصاف أو إجابات ذات صلة."
|
||||
},
|
||||
"InternVL2.5-26B": {
|
||||
"description": "InternVL2.5-26B هو نموذج قوي للغة البصرية، يدعم المعالجة متعددة الوسائط للصورة والنص، قادر على التعرف بدقة على محتوى الصورة وتوليد أوصاف أو إجابات ذات صلة."
|
||||
},
|
||||
"Kolors": {
|
||||
"description": "Kolors هو نموذج توليد صور نصية طوره فريق Kolors في Kuaishou. تم تدريبه على مليارات المعلمات، ويتميز بجودة بصرية عالية، وفهم دقيق للغة الصينية، وقدرة ممتازة على عرض النصوص."
|
||||
},
|
||||
"Kwai-Kolors/Kolors": {
|
||||
"description": "Kolors هو نموذج توليد صور نصية واسع النطاق يعتمد على الانتشار الكامن طوره فريق Kolors في Kuaishou. تم تدريبه على مليارات أزواج نص-صورة، ويظهر تفوقًا ملحوظًا في جودة الصور، دقة الفهم الدلالي المعقد، وعرض الأحرف الصينية والإنجليزية. يدعم الإدخال باللغتين الصينية والإنجليزية، ويبرع في فهم وتوليد المحتوى الخاص باللغة الصينية."
|
||||
},
|
||||
"Llama-3.2-11B-Vision-Instruct": {
|
||||
"description": "قدرات استدلال الصور الممتازة على الصور عالية الدقة، مناسبة لتطبيقات الفهم البصري."
|
||||
},
|
||||
@@ -164,9 +197,15 @@
|
||||
"MiniMaxAI/MiniMax-M1-80k": {
|
||||
"description": "MiniMax-M1 هو نموذج استدلال كبير الحجم مفتوح المصدر يعتمد على الانتباه المختلط، يحتوي على 456 مليار معلمة، حيث يمكن لكل رمز تفعيل حوالي 45.9 مليار معلمة. يدعم النموذج أصلاً سياقًا فائق الطول يصل إلى مليون رمز، ومن خلال آلية الانتباه السريع، يوفر 75% من العمليات الحسابية العائمة في مهام التوليد التي تصل إلى 100 ألف رمز مقارنة بـ DeepSeek R1. بالإضافة إلى ذلك، يعتمد MiniMax-M1 على بنية MoE (الخبراء المختلطون)، ويجمع بين خوارزمية CISPO وتصميم الانتباه المختلط لتدريب تعلم معزز فعال، محققًا أداءً رائدًا في الصناعة في استدلال الإدخالات الطويلة وسيناريوهات هندسة البرمجيات الحقيقية."
|
||||
},
|
||||
"Moonshot-Kimi-K2-Instruct": {
|
||||
"description": "يحتوي على 1 تريليون معلمة و32 مليار معلمة مفعلة. من بين النماذج غير المعتمدة على التفكير، يحقق مستويات متقدمة في المعرفة الحديثة، الرياضيات والبرمجة، ويتفوق في مهام الوكيل العامة. تم تحسينه بعناية لمهام الوكيل، لا يجيب فقط على الأسئلة بل يتخذ إجراءات. مثالي للدردشة العفوية، التجارب العامة والوكيل، وهو نموذج سريع الاستجابة لا يتطلب تفكيرًا طويلًا."
|
||||
},
|
||||
"NousResearch/Nous-Hermes-2-Mixtral-8x7B-DPO": {
|
||||
"description": "Nous Hermes 2 - Mixtral 8x7B-DPO (46.7B) هو نموذج تعليمات عالي الدقة، مناسب للحسابات المعقدة."
|
||||
},
|
||||
"OmniConsistency": {
|
||||
"description": "يعزز OmniConsistency اتساق الأسلوب والقدرة على التعميم في مهام تحويل الصور إلى صور من خلال إدخال Transformers الانتشارية واسعة النطاق (DiTs) وبيانات نمطية مزدوجة، مما يمنع تدهور الأسلوب."
|
||||
},
|
||||
"Phi-3-medium-128k-instruct": {
|
||||
"description": "نموذج Phi-3-medium نفسه، ولكن مع حجم سياق أكبر لـ RAG أو التوجيه القليل."
|
||||
},
|
||||
@@ -218,6 +257,9 @@
|
||||
"Pro/deepseek-ai/DeepSeek-V3": {
|
||||
"description": "DeepSeek-V3 هو نموذج لغوي مختلط الخبراء (MoE) يحتوي على 6710 مليار معلمة، يستخدم الانتباه المتعدد الرؤوس (MLA) وهيكل DeepSeekMoE، ويجمع بين استراتيجيات توازن الحمل بدون خسائر مساعدة، مما يحسن كفاءة الاستدلال والتدريب. تم تدريبه مسبقًا على 14.8 تريليون توكن عالية الجودة، وتم إجراء تعديل دقيق تحت الإشراف والتعلم المعزز، مما يجعل DeepSeek-V3 يتفوق على نماذج مفتوحة المصدر الأخرى، ويقترب من النماذج المغلقة الرائدة."
|
||||
},
|
||||
"Pro/moonshotai/Kimi-K2-Instruct": {
|
||||
"description": "Kimi K2 هو نموذج أساسي يعتمد على بنية MoE مع قدرات قوية في البرمجة والوكيل، يحتوي على 1 تريليون معلمة و32 مليار معلمة مفعلة. يتفوق نموذج K2 في اختبارات الأداء الأساسية في مجالات المعرفة العامة، البرمجة، الرياضيات والوكيل مقارنة بالنماذج المفتوحة المصدر الأخرى."
|
||||
},
|
||||
"QwQ-32B-Preview": {
|
||||
"description": "QwQ-32B-Preview هو نموذج معالجة اللغة الطبيعية المبتكر، قادر على معالجة مهام توليد الحوار وفهم السياق بشكل فعال."
|
||||
},
|
||||
@@ -278,9 +320,18 @@
|
||||
"Qwen/Qwen3-235B-A22B": {
|
||||
"description": "Qwen3 هو نموذج جديد من الجيل التالي مع تحسينات كبيرة في القدرات، حيث يصل إلى مستويات رائدة في الاستدلال، المهام العامة، الوكلاء، واللغات المتعددة، ويدعم تبديل وضع التفكير."
|
||||
},
|
||||
"Qwen/Qwen3-235B-A22B-Instruct-2507": {
|
||||
"description": "Qwen3-235B-A22B-Instruct-2507 هو نموذج لغة كبير من سلسلة Qwen3 طوره فريق Alibaba Tongyi Qianwen، وهو نموذج خبير مختلط (MoE) رائد. يحتوي على 235 مليار معلمة إجمالية و22 مليار معلمة مفعلة في كل استدلال. تم إصداره كنسخة محدثة من Qwen3-235B-A22B غير التفكير، مع تحسينات كبيرة في اتباع التعليمات، الاستدلال المنطقي، فهم النصوص، الرياضيات، العلوم، البرمجة واستخدام الأدوات. يعزز التغطية المعرفية متعددة اللغات ويدعم التوافق الأفضل مع تفضيلات المستخدم في المهام الذاتية والمفتوحة لتوليد نصوص أكثر فائدة وجودة."
|
||||
},
|
||||
"Qwen/Qwen3-235B-A22B-Thinking-2507": {
|
||||
"description": "Qwen3-235B-A22B-Thinking-2507 هو نموذج لغة كبير من سلسلة Qwen3 طوره فريق Alibaba Tongyi Qianwen، يركز على مهام الاستدلال المعقدة عالية الصعوبة. يعتمد على بنية MoE ويحتوي على 235 مليار معلمة إجمالية مع تفعيل حوالي 22 مليار معلمة لكل رمز، مما يحسن الكفاءة الحسابية مع الحفاظ على الأداء القوي. كنموذج \"تفكير\" متخصص، يظهر تحسينات كبيرة في الاستدلال المنطقي، الرياضيات، العلوم، البرمجة والاختبارات الأكاديمية، ويصل إلى مستوى رائد بين نماذج التفكير المفتوحة المصدر. يعزز القدرات العامة مثل اتباع التعليمات، استخدام الأدوات وتوليد النصوص، ويدعم فهم سياق طويل يصل إلى 256 ألف رمز، مما يجعله مناسبًا للمهام التي تتطلب استدلالًا عميقًا ومعالجة مستندات طويلة."
|
||||
},
|
||||
"Qwen/Qwen3-30B-A3B": {
|
||||
"description": "Qwen3 هو نموذج جديد من الجيل التالي مع تحسينات كبيرة في القدرات، حيث يصل إلى مستويات رائدة في الاستدلال، المهام العامة، الوكلاء، واللغات المتعددة، ويدعم تبديل وضع التفكير."
|
||||
},
|
||||
"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-32B": {
|
||||
"description": "Qwen3 هو نموذج جديد من الجيل التالي مع تحسينات كبيرة في القدرات، حيث يصل إلى مستويات رائدة في الاستدلال، المهام العامة، الوكلاء، واللغات المتعددة، ويدعم تبديل وضع التفكير."
|
||||
},
|
||||
@@ -314,6 +365,12 @@
|
||||
"Qwen2.5-Coder-32B-Instruct": {
|
||||
"description": "Qwen2.5-Coder-32B-Instruct هو نموذج لغوي كبير مصمم خصيصًا لتوليد الشيفرات، وفهم الشيفرات، ومشاهد التطوير الفعالة، مع استخدام حجم 32B من المعلمات الرائدة في الصناعة، مما يلبي احتياجات البرمجة المتنوعة."
|
||||
},
|
||||
"Qwen3-235B": {
|
||||
"description": "Qwen3-235B-A22B هو نموذج MoE (نموذج خبير مختلط) يقدم \"وضع الاستدلال المختلط\"، ويدعم المستخدمين في التبديل السلس بين \"وضع التفكير\" و\"وضع عدم التفكير\". يدعم فهم واستدلال 119 لغة ولهجة، ويتميز بقدرات قوية على استدعاء الأدوات. في اختبارات الأداء الشاملة، والبرمجة والرياضيات، واللغات المتعددة، والمعرفة والاستدلال، ينافس هذا النموذج النماذج الرائدة في السوق مثل DeepSeek R1، OpenAI o1، o3-mini، Grok 3، وGoogle Gemini 2.5 Pro."
|
||||
},
|
||||
"Qwen3-32B": {
|
||||
"description": "Qwen3-32B هو نموذج كثيف (Dense Model) يقدم \"وضع الاستدلال المختلط\"، ويدعم التبديل السلس بين \"وضع التفكير\" و\"وضع عدم التفكير\". بفضل تحسينات في بنية النموذج، وزيادة بيانات التدريب، وأساليب تدريب أكثر فعالية، يقدم أداءً يعادل تقريبًا Qwen2.5-72B."
|
||||
},
|
||||
"SenseChat": {
|
||||
"description": "نموذج الإصدار الأساسي (V4)، بطول سياق 4K، يمتلك قدرات قوية وعامة."
|
||||
},
|
||||
@@ -350,6 +407,12 @@
|
||||
"SenseChat-Vision": {
|
||||
"description": "النموذج الأحدث (V5.5) يدعم إدخال صور متعددة، ويحقق تحسينات شاملة في القدرات الأساسية للنموذج، مع تحسينات كبيرة في التعرف على خصائص الكائنات، والعلاقات المكانية، والتعرف على الأحداث، وفهم المشاهد، والتعرف على المشاعر، واستنتاج المعرفة المنطقية، وفهم النصوص وتوليدها."
|
||||
},
|
||||
"SenseNova-V6-5-Pro": {
|
||||
"description": "من خلال تحديث شامل للبيانات متعددة الوسائط، واللغوية، والاستدلالية، وتحسين استراتيجيات التدريب، حقق النموذج الجديد تحسينات ملحوظة في الاستدلال متعدد الوسائط وقدرة متابعة التعليمات العامة، ويدعم نافذة سياق تصل إلى 128 ألف رمز، ويظهر أداءً متميزًا في مهام متخصصة مثل التعرف الضوئي على الحروف (OCR) والتعرف على حقوق الملكية الفكرية في السياحة والثقافة."
|
||||
},
|
||||
"SenseNova-V6-5-Turbo": {
|
||||
"description": "من خلال تحديث شامل للبيانات متعددة الوسائط، واللغوية، والاستدلالية، وتحسين استراتيجيات التدريب، حقق النموذج الجديد تحسينات ملحوظة في الاستدلال متعدد الوسائط وقدرة متابعة التعليمات العامة، ويدعم نافذة سياق تصل إلى 128 ألف رمز، ويظهر أداءً متميزًا في مهام متخصصة مثل التعرف الضوئي على الحروف (OCR) والتعرف على حقوق الملكية الفكرية في السياحة والثقافة."
|
||||
},
|
||||
"SenseNova-V6-Pro": {
|
||||
"description": "تحقيق توحيد أصلي لقدرات الصور والنصوص والفيديو، متجاوزًا حدود التعدد النمطي التقليدي المنفصل، وفاز بالبطولة المزدوجة في تقييمات OpenCompass وSuperCLUE."
|
||||
},
|
||||
@@ -548,6 +611,9 @@
|
||||
"aya:35b": {
|
||||
"description": "Aya 23 هو نموذج متعدد اللغات أطلقته Cohere، يدعم 23 لغة، مما يسهل التطبيقات اللغوية المتنوعة."
|
||||
},
|
||||
"azure-DeepSeek-R1-0528": {
|
||||
"description": "مقدم من مايكروسوفت؛ تم ترقية نموذج DeepSeek R1 بإصدار فرعي، الإصدار الحالي هو DeepSeek-R1-0528. في التحديث الأخير، حسّن DeepSeek R1 بشكل كبير عمق الاستدلال وقدرات التنبؤ من خلال زيادة موارد الحوسبة وإدخال آليات تحسين الخوارزميات في مرحلة ما بعد التدريب. النموذج يحقق أداءً ممتازًا في اختبارات معيارية متعددة مثل الرياضيات والبرمجة والمنطق العام، وأداؤه الكلي يقترب من النماذج الرائدة مثل O3 و Gemini 2.5 Pro."
|
||||
},
|
||||
"baichuan/baichuan2-13b-chat": {
|
||||
"description": "Baichuan-13B هو نموذج لغوي كبير مفتوح المصدر قابل للاستخدام التجاري تم تطويره بواسطة Baichuan Intelligence، ويحتوي على 13 مليار معلمة، وقد حقق أفضل النتائج في المعايير الصينية والإنجليزية."
|
||||
},
|
||||
@@ -608,6 +674,9 @@
|
||||
"claude-3-sonnet-20240229": {
|
||||
"description": "Claude 3 Sonnet يوفر توازنًا مثاليًا بين الذكاء والسرعة لحمولات العمل المؤسسية. يقدم أقصى فائدة بسعر أقل، موثوق ومناسب للنشر على نطاق واسع."
|
||||
},
|
||||
"claude-opus-4-1-20250805": {
|
||||
"description": "Claude Opus 4.1 هو أحدث وأقوى نموذج من Anthropic لمعالجة المهام المعقدة للغاية. يتميز بأداء ذكي وسلس وفهم عميق."
|
||||
},
|
||||
"claude-opus-4-20250514": {
|
||||
"description": "Claude Opus 4 هو أقوى نموذج من Anthropic لمعالجة المهام المعقدة للغاية. إنه يتفوق في الأداء والذكاء والسلاسة والفهم."
|
||||
},
|
||||
@@ -944,6 +1013,9 @@
|
||||
"doubao-seed-1.6-thinking": {
|
||||
"description": "نموذج Doubao-Seed-1.6-thinking يعزز قدرات التفكير بشكل كبير، مقارنة بـ Doubao-1.5-thinking-pro، مع تحسينات إضافية في القدرات الأساسية مثل البرمجة والرياضيات والاستدلال المنطقي، ويدعم الفهم البصري. يدعم نافذة سياق بحجم 256k وطول إخراج يصل إلى 16k رمز."
|
||||
},
|
||||
"doubao-seedream-3-0-t2i-250415": {
|
||||
"description": "نموذج توليد الصور Doubao طوره فريق Seed في ByteDance، يدعم إدخال النص والصورة، ويوفر تجربة توليد صور عالية الجودة وقابلة للتحكم. يولد الصور بناءً على أوامر نصية."
|
||||
},
|
||||
"doubao-vision-lite-32k": {
|
||||
"description": "نموذج Doubao-vision هو نموذج متعدد الوسائط أطلقته Doubao، يتمتع بقدرات قوية في فهم الصور والاستدلال، بالإضافة إلى دقة عالية في فهم التعليمات. أظهر النموذج أداءً قويًا في استخراج المعلومات من النصوص والصور، والمهام الاستدلالية القائمة على الصور، مما يجعله مناسبًا لمهام الأسئلة البصرية المعقدة والواسعة."
|
||||
},
|
||||
@@ -995,6 +1067,9 @@
|
||||
"ernie-char-fiction-8k": {
|
||||
"description": "نموذج اللغة الكبير المخصص الذي طورته بايدو، مناسب لتطبيقات مثل NPC في الألعاب، محادثات خدمة العملاء، وأدوار الحوار، حيث يتميز بأسلوب شخصيات واضح ومتسق، وقدرة قوية على اتباع التعليمات، وأداء استدلال ممتاز."
|
||||
},
|
||||
"ernie-irag-edit": {
|
||||
"description": "نموذج تحرير الصور ERNIE iRAG المطور ذاتيًا من Baidu يدعم عمليات مثل المسح (إزالة الكائنات)، إعادة الرسم (إعادة رسم الكائنات)، والتنوع (توليد متغيرات) بناءً على الصور."
|
||||
},
|
||||
"ernie-lite-8k": {
|
||||
"description": "ERNIE Lite هو نموذج اللغة الكبير الخفيف الذي طورته بايدو، يجمع بين أداء النموذج الممتاز وأداء الاستدلال، مناسب للاستخدام مع بطاقات تسريع الذكاء الاصطناعي ذات القدرة الحاسوبية المنخفضة."
|
||||
},
|
||||
@@ -1022,14 +1097,32 @@
|
||||
"ernie-x1-turbo-32k": {
|
||||
"description": "يتميز هذا النموذج بأداء أفضل مقارنةً بـ ERNIE-X1-32K."
|
||||
},
|
||||
"flux-1-schnell": {
|
||||
"description": "نموذج توليد صور نصية يحتوي على 12 مليار معلمة طورته Black Forest Labs، يستخدم تقنية تقطير الانتشار التنافسي الكامن، قادر على توليد صور عالية الجودة في 1 إلى 4 خطوات. أداء النموذج يضاهي البدائل المغلقة المصدر، ومتاح بموجب ترخيص Apache-2.0 للاستخدام الشخصي، البحثي والتجاري."
|
||||
},
|
||||
"flux-dev": {
|
||||
"description": "FLUX.1 [dev] هو نموذج مفتوح المصدر للأوزان المكررة موجه للتطبيقات غير التجارية. يحافظ على جودة الصور وقدرة اتباع التعليمات مماثلة لإصدار FLUX الاحترافي، مع كفاءة تشغيل أعلى. مقارنة بالنماذج القياسية ذات الحجم المماثل، يستخدم الموارد بشكل أكثر فعالية."
|
||||
},
|
||||
"flux-kontext/dev": {
|
||||
"description": "نموذج تحرير الصور Frontier."
|
||||
"description": "نموذج FLUX.1 مخصص لمهام تحرير الصور، يدعم إدخال النصوص والصور."
|
||||
},
|
||||
"flux-merged": {
|
||||
"description": "نموذج FLUX.1-merged يجمع بين ميزات العمق التي استكشفتها نسخة \"DEV\" أثناء التطوير ومزايا التنفيذ السريع التي تمثلها نسخة \"Schnell\". من خلال هذا الدمج، يعزز FLUX.1-merged حدود أداء النموذج ويوسع نطاق تطبيقاته."
|
||||
},
|
||||
"flux-pro/kontext": {
|
||||
"description": "FLUX.1 Kontext [pro] قادر على معالجة النصوص والصور المرجعية كمدخلات، مما يتيح تحريرًا محليًا مستهدفًا وتحولات معقدة للمشهد الكلي بسلاسة."
|
||||
},
|
||||
"flux-schnell": {
|
||||
"description": "FLUX.1 [schnell] هو النموذج المفتوح المصدر الأكثر تقدمًا حاليًا في فئة النماذج قليلة الخطوات، متفوقًا على المنافسين وحتى على نماذج غير مكررة قوية مثل Midjourney v6.0 وDALL·E 3 (HD). تم ضبط النموذج خصيصًا للحفاظ على تنوع المخرجات الكامل من مرحلة ما قبل التدريب، ويحقق تحسينات ملحوظة في جودة الصورة، الالتزام بالتعليمات، التغيرات في الحجم/النسبة، معالجة الخطوط وتنوع المخرجات مقارنة بأحدث النماذج في السوق، مما يوفر تجربة توليد صور إبداعية أكثر ثراءً وتنوعًا للمستخدمين."
|
||||
},
|
||||
"flux.1-schnell": {
|
||||
"description": "محول تدفق مصحح يحتوي على 12 مليار معلمة، قادر على توليد الصور بناءً على الوصف النصي."
|
||||
},
|
||||
"flux/krea": {
|
||||
"description": "Flux Krea [dev] هو نموذج توليد صور ذو تفضيلات جمالية، يهدف إلى إنتاج صور أكثر واقعية وطبيعية."
|
||||
},
|
||||
"flux/schnell": {
|
||||
"description": "FLUX.1 [schnell] هو نموذج محول متدفق يحتوي على 12 مليار معلمة، قادر على توليد صور عالية الجودة من النص في 1 إلى 4 خطوات، مناسب للاستخدام الشخصي والتجاري."
|
||||
"description": "FLUX.1 [schnell] هو نموذج توليد صور يحتوي على 12 مليار معلمة، يركز على توليد صور عالية الجودة بسرعة."
|
||||
},
|
||||
"gemini-1.0-pro-001": {
|
||||
"description": "Gemini 1.0 Pro 001 (تعديل) يوفر أداءً مستقرًا وقابلًا للتعديل، وهو الخيار المثالي لحلول المهام المعقدة."
|
||||
@@ -1109,9 +1202,6 @@
|
||||
"gemini-2.5-flash-preview-04-17": {
|
||||
"description": "معاينة فلاش جمنّي 2.5 هي النموذج الأكثر كفاءة من جوجل، حيث تقدم مجموعة شاملة من الميزات."
|
||||
},
|
||||
"gemini-2.5-flash-preview-04-17-thinking": {
|
||||
"description": "Gemini 2.5 Flash Preview هو نموذج Google الأكثر فعالية من حيث التكلفة، يقدم وظائف شاملة."
|
||||
},
|
||||
"gemini-2.5-flash-preview-05-20": {
|
||||
"description": "Gemini 2.5 Flash Preview هو نموذج Google الأكثر فعالية من حيث التكلفة، يقدم وظائف شاملة."
|
||||
},
|
||||
@@ -1190,6 +1280,21 @@
|
||||
"glm-4.1v-thinking-flashx": {
|
||||
"description": "سلسلة نماذج GLM-4.1V-Thinking هي أقوى نماذج اللغة البصرية المعروفة على مستوى 10 مليارات معلمة، وتدمج مهام اللغة البصرية المتقدمة من نفس المستوى، بما في ذلك فهم الفيديو، الأسئلة والأجوبة على الصور، حل المسائل العلمية، التعرف على النصوص OCR، تفسير الوثائق والرسوم البيانية، وكلاء واجهة المستخدم الرسومية، ترميز صفحات الويب الأمامية، والتثبيت الأرضي، وغيرها. تتفوق قدرات هذه المهام على نموذج Qwen2.5-VL-72B الذي يحتوي على أكثر من 8 أضعاف عدد المعلمات. من خلال تقنيات التعلم المعزز الرائدة، يتقن النموذج تحسين دقة وإثراء الإجابات عبر استدلال سلسلة التفكير، متفوقًا بشكل ملحوظ على النماذج التقليدية غير المعتمدة على التفكير من حيث النتائج النهائية وقابلية التفسير."
|
||||
},
|
||||
"glm-4.5": {
|
||||
"description": "أحدث نموذج رائد من Zhizhu، يدعم تبديل وضع التفكير، ويحقق مستوى SOTA بين النماذج المفتوحة المصدر في القدرات الشاملة، مع طول سياق يصل إلى 128 ألف رمز."
|
||||
},
|
||||
"glm-4.5-air": {
|
||||
"description": "نسخة خفيفة من GLM-4.5، تجمع بين الأداء والقيمة، وتدعم التبديل المرن بين نماذج التفكير المختلطة."
|
||||
},
|
||||
"glm-4.5-airx": {
|
||||
"description": "نسخة فائقة السرعة من GLM-4.5-Air، تستجيب بسرعة أكبر، مصممة لتلبية الطلبات الكبيرة عالية السرعة."
|
||||
},
|
||||
"glm-4.5-flash": {
|
||||
"description": "نسخة مجانية من GLM-4.5، تقدم أداءً ممتازًا في الاستدلال، البرمجة، والوكيل."
|
||||
},
|
||||
"glm-4.5-x": {
|
||||
"description": "نسخة فائقة السرعة من GLM-4.5، تجمع بين أداء قوي وسرعة توليد تصل إلى 100 رمز في الثانية."
|
||||
},
|
||||
"glm-4v": {
|
||||
"description": "GLM-4V يوفر قدرات قوية في فهم الصور والاستدلال، ويدعم مجموعة متنوعة من المهام البصرية."
|
||||
},
|
||||
@@ -1209,7 +1314,7 @@
|
||||
"description": "استدلال فائق السرعة: يتمتع بسرعة استدلال فائقة وأداء استدلال قوي."
|
||||
},
|
||||
"glm-z1-flash": {
|
||||
"description": "سلسلة GLM-Z1 تتمتع بقدرة استدلال معقدة قوية، تظهر أداءً ممتازًا في مجالات الاستدلال المنطقي، الرياضيات، والبرمجة. الحد الأقصى لطول السياق هو 32K."
|
||||
"description": "سلسلة GLM-Z1 تتميز بقدرات استدلال معقدة قوية، وتتفوق في مجالات الاستدلال المنطقي، الرياضيات، والبرمجة."
|
||||
},
|
||||
"glm-z1-flashx": {
|
||||
"description": "سرعة عالية وتكلفة منخفضة: نسخة محسنة من Flash، سرعة استدلال فائقة، وضمان تزامن أسرع."
|
||||
@@ -1379,12 +1484,33 @@
|
||||
"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"
|
||||
},
|
||||
"gpt-oss": {
|
||||
"description": "GPT-OSS 20B هو نموذج لغة كبير مفتوح المصدر أصدرته OpenAI، يستخدم تقنية التكميم MXFP4، ومناسب للتشغيل على وحدات معالجة الرسومات الاستهلاكية المتقدمة أو أجهزة Mac بمعالج Apple Silicon. يتميز هذا النموذج بأداء ممتاز في توليد المحادثات، وكتابة الأكواد، ومهام الاستدلال، ويدعم استدعاء الدوال واستخدام الأدوات."
|
||||
},
|
||||
"gpt-oss:120b": {
|
||||
"description": "GPT-OSS 120B هو نموذج لغة كبير مفتوح المصدر أصدرته OpenAI، يستخدم تقنية التكميم MXFP4، ويعتبر نموذجًا رائدًا. يتطلب تشغيله بيئة متعددة وحدات معالجة الرسومات أو محطة عمل عالية الأداء، ويتميز بأداء متفوق في الاستدلال المعقد، وتوليد الأكواد، ومعالجة اللغات المتعددة، ويدعم استدعاء الدوال المتقدمة وتكامل الأدوات."
|
||||
},
|
||||
"grok-2-1212": {
|
||||
"description": "لقد تم تحسين هذا النموذج في الدقة، والامتثال للتعليمات، والقدرة على التعامل مع لغات متعددة."
|
||||
},
|
||||
"grok-2-image-1212": {
|
||||
"description": "نموذج توليد الصور الأحدث لدينا قادر على توليد صور حيوية وواقعية بناءً على الأوامر النصية. يبرع في مجالات التسويق، وسائل التواصل الاجتماعي، والترفيه."
|
||||
},
|
||||
"grok-2-vision-1212": {
|
||||
"description": "لقد تم تحسين هذا النموذج في الدقة، والامتثال للتعليمات، والقدرة على التعامل مع لغات متعددة."
|
||||
},
|
||||
@@ -1454,6 +1580,9 @@
|
||||
"hunyuan-t1-20250529": {
|
||||
"description": "محسن لإنشاء النصوص وكتابة المقالات، مع تحسين القدرات في البرمجة الأمامية، الرياضيات، والمنطق العلمي، بالإضافة إلى تعزيز القدرة على اتباع التعليمات."
|
||||
},
|
||||
"hunyuan-t1-20250711": {
|
||||
"description": "تحسين كبير في القدرات الرياضية، المنطقية والبرمجية عالية الصعوبة، مع تحسين استقرار مخرجات النموذج وتعزيز قدرات النصوص الطويلة."
|
||||
},
|
||||
"hunyuan-t1-latest": {
|
||||
"description": "أول نموذج استدلال هجين ضخم في الصناعة، يوسع قدرات الاستدلال، بسرعة فك تشفير فائقة، ويعزز التوافق مع تفضيلات البشر."
|
||||
},
|
||||
@@ -1502,6 +1631,12 @@
|
||||
"hunyuan-vision": {
|
||||
"description": "نموذج Hunyuan الأحدث متعدد الوسائط، يدعم إدخال الصور والنصوص لتوليد محتوى نصي."
|
||||
},
|
||||
"image-01": {
|
||||
"description": "نموذج توليد صور جديد يقدم تفاصيل دقيقة، يدعم توليد الصور من النصوص والصور."
|
||||
},
|
||||
"image-01-live": {
|
||||
"description": "نموذج توليد صور يقدم تفاصيل دقيقة، يدعم توليد الصور من النصوص مع إمكانية ضبط الأسلوب الفني."
|
||||
},
|
||||
"imagen-4.0-generate-preview-06-06": {
|
||||
"description": "سلسلة نموذج Imagen للجيل الرابع لتحويل النص إلى صورة"
|
||||
},
|
||||
@@ -1509,7 +1644,7 @@
|
||||
"description": "نسخة ألترا من سلسلة نموذج Imagen للجيل الرابع لتحويل النص إلى صورة"
|
||||
},
|
||||
"imagen4/preview": {
|
||||
"description": "نموذج توليد الصور الأعلى جودة من Google"
|
||||
"description": "نموذج توليد صور عالي الجودة مقدم من جوجل."
|
||||
},
|
||||
"internlm/internlm2_5-7b-chat": {
|
||||
"description": "InternLM2.5 يوفر حلول حوار ذكية في عدة سيناريوهات."
|
||||
@@ -1526,6 +1661,9 @@
|
||||
"internvl3-latest": {
|
||||
"description": "أحدث نموذج متعدد الوسائط تم إصداره، يتمتع بقدرات فهم أقوى للنصوص والصور، وفهم الصور على المدى الطويل، وأدائه يتساوى مع النماذج المغلقة الرائدة. يشير بشكل افتراضي إلى أحدث نموذج من سلسلة InternVL، الحالي هو internvl3-78b."
|
||||
},
|
||||
"irag-1.0": {
|
||||
"description": "نموذج iRAG (استرجاع معزز بالصور) المطور ذاتيًا من Baidu، يجمع بين موارد صور بحث Baidu الضخمة وقدرات النموذج الأساسي القوية لتوليد صور فائقة الواقعية، متفوقًا بشكل كبير على أنظمة توليد الصور النصية الأصلية، مع إزالة الطابع الاصطناعي وتقليل التكلفة. يتميز iRAG بعدم وجود هلوسة، واقعية فائقة، وسرعة في الحصول على النتائج."
|
||||
},
|
||||
"jamba-large": {
|
||||
"description": "أقوى وأحدث نموذج لدينا، مصمم لمعالجة المهام المعقدة على مستوى المؤسسات، ويتميز بأداء استثنائي."
|
||||
},
|
||||
@@ -1535,6 +1673,9 @@
|
||||
"jina-deepsearch-v1": {
|
||||
"description": "البحث العميق يجمع بين البحث عبر الإنترنت، والقراءة، والاستدلال، مما يتيح إجراء تحقيق شامل. يمكنك اعتباره وكيلًا يتولى مهام البحث الخاصة بك - حيث يقوم بإجراء بحث واسع النطاق ويخضع لعدة تكرارات قبل تقديم الإجابة. تتضمن هذه العملية بحثًا مستمرًا، واستدلالًا، وحل المشكلات من زوايا متعددة. وهذا يختلف اختلافًا جوهريًا عن النماذج الكبيرة القياسية التي تولد الإجابات مباشرة من البيانات المدربة مسبقًا، وكذلك عن أنظمة RAG التقليدية التي تعتمد على البحث السطحي لمرة واحدة."
|
||||
},
|
||||
"kimi-k2": {
|
||||
"description": "Kimi-K2 هو نموذج أساسي يعتمد على بنية MoE أطلقته Moonshot AI، يتمتع بقدرات قوية في البرمجة والوكيل، يحتوي على 1 تريليون معلمة و32 مليار معلمة مفعلة. يتفوق نموذج K2 في اختبارات الأداء الأساسية في مجالات المعرفة العامة، البرمجة، الرياضيات والوكيل مقارنة بالنماذج المفتوحة المصدر الأخرى."
|
||||
},
|
||||
"kimi-k2-0711-preview": {
|
||||
"description": "kimi-k2 هو نموذج أساسي بمعمارية MoE يتمتع بقدرات فائقة في البرمجة والوكيل، مع إجمالي 1 تريليون معلمة و32 مليار معلمة مفعلة. في اختبارات الأداء الأساسية في مجالات المعرفة العامة، البرمجة، الرياضيات، والوكيل، يتفوق نموذج K2 على النماذج المفتوحة المصدر الرئيسية الأخرى."
|
||||
},
|
||||
@@ -1928,6 +2069,9 @@
|
||||
"moonshotai/Kimi-Dev-72B": {
|
||||
"description": "Kimi-Dev-72B هو نموذج مفتوح المصدر للبرمجة، تم تحسينه عبر تعلم معزز واسع النطاق، قادر على إنتاج تصحيحات مستقرة وجاهزة للإنتاج مباشرة. حقق هذا النموذج نتيجة قياسية جديدة بنسبة 60.4% على SWE-bench Verified، محطماً الأرقام القياسية للنماذج المفتوحة المصدر في مهام هندسة البرمجيات الآلية مثل إصلاح العيوب ومراجعة الشيفرة."
|
||||
},
|
||||
"moonshotai/Kimi-K2-Instruct": {
|
||||
"description": "Kimi K2 هو نموذج أساسي يعتمد على بنية MoE يتمتع بقدرات قوية في البرمجة والوكيل، يحتوي على 1 تريليون معلمة و32 مليار معلمة مفعلة. يتفوق نموذج K2 في اختبارات الأداء الأساسية في مجالات المعرفة العامة، البرمجة، الرياضيات والوكيل مقارنة بالنماذج المفتوحة المصدر الأخرى."
|
||||
},
|
||||
"moonshotai/kimi-k2-instruct": {
|
||||
"description": "kimi-k2 هو نموذج أساسي مبني على بنية MoE يتمتع بقدرات فائقة في البرمجة والوكيل، مع إجمالي 1 تريليون معلمة و32 مليار معلمة مفعلة. في اختبارات الأداء المعيارية في مجالات المعرفة العامة، البرمجة، الرياضيات، والوكيل، يتفوق نموذج K2 على النماذج المفتوحة المصدر الرئيسية الأخرى."
|
||||
},
|
||||
@@ -2003,6 +2147,12 @@
|
||||
"openai/gpt-4o-mini": {
|
||||
"description": "GPT-4o mini هو أحدث نموذج من OpenAI تم إطلاقه بعد GPT-4 Omni، ويدعم إدخال النصوص والصور وإخراج النصوص. كأحد نماذجهم المتقدمة الصغيرة، فهو أرخص بكثير من النماذج الرائدة الأخرى في الآونة الأخيرة، وأرخص بأكثر من 60% من GPT-3.5 Turbo. يحتفظ بذكاء متقدم مع قيمة ممتازة. حصل GPT-4o mini على 82% في اختبار MMLU، وهو حاليًا يتفوق على GPT-4 في تفضيلات الدردشة."
|
||||
},
|
||||
"openai/gpt-oss-120b": {
|
||||
"description": "OpenAI GPT-OSS 120B هو نموذج لغوي رائد يحتوي على 120 مليار معلمة، مزود بميزات تصفح الإنترنت وتنفيذ الأكواد، ويتميز بقدرات استدلالية."
|
||||
},
|
||||
"openai/gpt-oss-20b": {
|
||||
"description": "OpenAI GPT-OSS 20B هو نموذج لغوي رائد يحتوي على 20 مليار معلمة، مزود بميزات تصفح الإنترنت وتنفيذ الأكواد، ويتميز بقدرات استدلالية."
|
||||
},
|
||||
"openai/o1": {
|
||||
"description": "o1 هو نموذج الاستدلال الجديد من OpenAI، يدعم إدخال الصور والنصوص ويخرج نصًا، مناسب للمهام المعقدة التي تتطلب معرفة عامة واسعة. يتميز هذا النموذج بسياق يصل إلى 200 ألف كلمة وتاريخ معرفة حتى أكتوبر 2023."
|
||||
},
|
||||
@@ -2063,6 +2213,9 @@
|
||||
"qwen-coder-turbo-latest": {
|
||||
"description": "نموذج Qwen للبرمجة."
|
||||
},
|
||||
"qwen-image": {
|
||||
"description": "نموذج قوي من فريق Qwen لتوليد الصور الخام، يتميز بقدرة مميزة على توليد النصوص الصينية وأنماط بصرية متنوعة للصور."
|
||||
},
|
||||
"qwen-long": {
|
||||
"description": "نموذج Qwen العملاق للغة، يدعم سياقات نصية طويلة، بالإضافة إلى وظائف الحوار المستندة إلى الوثائق الطويلة والعديد من الوثائق."
|
||||
},
|
||||
@@ -2264,9 +2417,21 @@
|
||||
"qwen3-235b-a22b": {
|
||||
"description": "Qwen3 هو نموذج جديد من الجيل التالي مع تحسينات كبيرة في القدرات، حيث يصل إلى مستويات رائدة في الصناعة في الاستدلال، والعموم، والوكلاء، واللغات المتعددة، ويدعم التبديل بين أنماط التفكير."
|
||||
},
|
||||
"qwen3-235b-a22b-instruct-2507": {
|
||||
"description": "نموذج مفتوح المصدر غير تفكيري مبني على Qwen3، مع تحسينات طفيفة في القدرات الإبداعية والسلامة مقارنة بالإصدار السابق (Tongyi Qianwen 3-235B-A22B)."
|
||||
},
|
||||
"qwen3-235b-a22b-thinking-2507": {
|
||||
"description": "نموذج مفتوح المصدر تفكيري مبني على Qwen3، مع تحسينات كبيرة في القدرات المنطقية، العامة، تعزيز المعرفة والإبداع مقارنة بالإصدار السابق (Tongyi Qianwen 3-235B-A22B)، مناسب للمهام المعقدة التي تتطلب استدلالًا قويًا."
|
||||
},
|
||||
"qwen3-30b-a3b": {
|
||||
"description": "Qwen3 هو نموذج جديد من الجيل التالي مع تحسينات كبيرة في القدرات، حيث يصل إلى مستويات رائدة في الصناعة في الاستدلال، والعموم، والوكلاء، واللغات المتعددة، ويدعم التبديل بين أنماط التفكير."
|
||||
},
|
||||
"qwen3-30b-a3b-instruct-2507": {
|
||||
"description": "تحسنت القدرات العامة للنموذج بشكل كبير في اللغتين الصينية والإنجليزية واللغات المتعددة مقارنة بالإصدار السابق (Qwen3-30B-A3B). تم تحسين المهام المفتوحة الذاتية بشكل خاص لتتوافق بشكل أفضل مع تفضيلات المستخدم، مما يمكنه من تقديم ردود أكثر فائدة."
|
||||
},
|
||||
"qwen3-30b-a3b-thinking-2507": {
|
||||
"description": "نموذج مفتوح المصدر لوضع التفكير مبني على Qwen3، مع تحسينات كبيرة في القدرات المنطقية، والقدرات العامة، وتعزيز المعرفة، والقدرة الإبداعية مقارنة بالإصدار السابق (Tongyi Qianwen 3-30B-A3B)، مناسب للسيناريوهات التي تتطلب استدلالًا عالي الصعوبة."
|
||||
},
|
||||
"qwen3-32b": {
|
||||
"description": "Qwen3 هو نموذج جديد من الجيل التالي مع تحسينات كبيرة في القدرات، حيث يصل إلى مستويات رائدة في الصناعة في الاستدلال، والعموم، والوكلاء، واللغات المتعددة، ويدعم التبديل بين أنماط التفكير."
|
||||
},
|
||||
@@ -2276,6 +2441,15 @@
|
||||
"qwen3-8b": {
|
||||
"description": "Qwen3 هو نموذج جديد من الجيل التالي مع تحسينات كبيرة في القدرات، حيث يصل إلى مستويات رائدة في الصناعة في الاستدلال، والعموم، والوكلاء، واللغات المتعددة، ويدعم التبديل بين أنماط التفكير."
|
||||
},
|
||||
"qwen3-coder-480b-a35b-instruct": {
|
||||
"description": "نسخة مفتوحة المصدر من نموذج كود Tongyi Qianwen. أحدث نموذج qwen3-coder-480b-a35b-instruct مبني على Qwen3 لتوليد الكود، يتمتع بقدرات قوية كوكيل برمجي، بارع في استدعاء الأدوات والتفاعل مع البيئة، قادر على البرمجة الذاتية مع أداء برمجي ممتاز وقدرات عامة."
|
||||
},
|
||||
"qwen3-coder-flash": {
|
||||
"description": "نموذج كود Tongyi Qianwen. أحدث سلسلة نماذج Qwen3-Coder مبنية على Qwen3 لتوليد الأكواد، تتمتع بقدرات وكيل ترميز قوية، بارعة في استدعاء الأدوات والتفاعل مع البيئة، قادرة على البرمجة الذاتية، وتجمع بين مهارات برمجية ممتازة وقدرات عامة."
|
||||
},
|
||||
"qwen3-coder-plus": {
|
||||
"description": "نموذج كود Tongyi Qianwen. أحدث سلسلة نماذج Qwen3-Coder مبنية على Qwen3 لتوليد الأكواد، تتمتع بقدرات وكيل ترميز قوية، بارعة في استدعاء الأدوات والتفاعل مع البيئة، قادرة على البرمجة الذاتية، وتجمع بين مهارات برمجية ممتازة وقدرات عامة."
|
||||
},
|
||||
"qwq": {
|
||||
"description": "QwQ هو نموذج بحث تجريبي يركز على تحسين قدرات الاستدلال للذكاء الاصطناعي."
|
||||
},
|
||||
@@ -2318,6 +2492,24 @@
|
||||
"sonar-reasoning-pro": {
|
||||
"description": "منتج API جديد مدعوم من نموذج الاستدلال DeepSeek."
|
||||
},
|
||||
"stable-diffusion-3-medium": {
|
||||
"description": "نموذج توليد صور نصية كبير أحدث من Stability AI. هذا الإصدار يحسن جودة الصور، فهم النصوص وتنوع الأساليب بشكل ملحوظ مقارنة بالأجيال السابقة، قادر على تفسير أوامر اللغة الطبيعية المعقدة بدقة وتوليد صور أكثر دقة وتنوعًا."
|
||||
},
|
||||
"stable-diffusion-3.5-large": {
|
||||
"description": "stable-diffusion-3.5-large هو نموذج مولد صور نصية متعدد الوسائط (MMDiT) يحتوي على 800 مليون معلمة، يتميز بجودة صور ممتازة وتوافق عالي مع الأوامر النصية، يدعم توليد صور عالية الدقة تصل إلى مليون بكسل، ويعمل بكفاءة على الأجهزة الاستهلاكية العادية."
|
||||
},
|
||||
"stable-diffusion-3.5-large-turbo": {
|
||||
"description": "stable-diffusion-3.5-large-turbo هو نموذج مبني على stable-diffusion-3.5-large يستخدم تقنية تقطير الانتشار التنافسي (ADD) لتحقيق سرعة أعلى."
|
||||
},
|
||||
"stable-diffusion-v1.5": {
|
||||
"description": "stable-diffusion-v1.5 تم تهيئته باستخدام أوزان نقطة التحقق stable-diffusion-v1.2، وتم ضبطه بدقة على \"laion-aesthetics v2 5+\" بدقة 512x512 عبر 595 ألف خطوة، مع تقليل شرطية النص بنسبة 10% لتحسين التوليد بدون مصنف."
|
||||
},
|
||||
"stable-diffusion-xl": {
|
||||
"description": "stable-diffusion-xl يحتوي على تحسينات كبيرة مقارنة بالإصدار v1.5، ويعادل أداء نموذج midjourney المفتوح المصدر الرائد. تشمل التحسينات: بنية unet أكبر بثلاثة أضعاف، إضافة وحدة تحسين لتحسين جودة الصور المولدة، وتقنيات تدريب أكثر كفاءة."
|
||||
},
|
||||
"stable-diffusion-xl-base-1.0": {
|
||||
"description": "نموذج توليد صور نصية كبير طورته Stability AI ومفتوح المصدر، يتميز بقدرات توليد صور إبداعية رائدة في الصناعة. يمتلك فهمًا ممتازًا للتعليمات ويدعم تعريف العكس (Reverse Prompt) لتوليد محتوى دقيق."
|
||||
},
|
||||
"step-1-128k": {
|
||||
"description": "يوفر توازنًا بين الأداء والتكلفة، مناسب لمجموعة متنوعة من السيناريوهات."
|
||||
},
|
||||
@@ -2348,6 +2540,12 @@
|
||||
"step-1v-8k": {
|
||||
"description": "نموذج بصري صغير، مناسب للمهام الأساسية المتعلقة بالنصوص والصور."
|
||||
},
|
||||
"step-1x-edit": {
|
||||
"description": "نموذج متخصص في مهام تحرير الصور، قادر على تعديل وتعزيز الصور بناءً على الصور والأوصاف النصية التي يقدمها المستخدم. يدعم تنسيقات إدخال متعددة، بما في ذلك الأوصاف النصية والصور النموذجية. يفهم نية المستخدم ويولد نتائج تحرير صور متوافقة مع المتطلبات."
|
||||
},
|
||||
"step-1x-medium": {
|
||||
"description": "نموذج قوي لتوليد الصور يدعم الإدخال عبر الأوصاف النصية. يدعم اللغة الصينية بشكل أصلي، قادر على فهم ومعالجة الأوصاف النصية الصينية بدقة، والتقاط المعاني الدلالية وتحويلها إلى ميزات صور لتحقيق توليد صور أكثر دقة. يولد صورًا عالية الدقة والجودة، ويمتلك قدرات نقل الأسلوب."
|
||||
},
|
||||
"step-2-16k": {
|
||||
"description": "يدعم تفاعلات سياق كبيرة، مناسب لمشاهد الحوار المعقدة."
|
||||
},
|
||||
@@ -2357,6 +2555,9 @@
|
||||
"step-2-mini": {
|
||||
"description": "نموذج كبير سريع يعتمد على بنية الانتباه الجديدة MFA، يحقق نتائج مشابهة لـ step1 بتكلفة منخفضة جداً، مع الحفاظ على قدرة أعلى على المعالجة وزمن استجابة أسرع. يمكنه التعامل مع المهام العامة، ويتميز بقدرات قوية في البرمجة."
|
||||
},
|
||||
"step-2x-large": {
|
||||
"description": "نموذج الجيل الجديد من Step Star، يركز على مهام توليد الصور، قادر على توليد صور عالية الجودة بناءً على الأوصاف النصية المقدمة من المستخدم. يتميز النموذج الجديد بجودة صور أكثر واقعية وقدرات أفضل في توليد النصوص الصينية والإنجليزية."
|
||||
},
|
||||
"step-r1-v-mini": {
|
||||
"description": "هذا النموذج هو نموذج استدلال كبير يتمتع بقدرة قوية على فهم الصور، يمكنه معالجة المعلومات النصية والصورية، ويخرج نصوصًا بعد تفكير عميق. يظهر هذا النموذج أداءً بارزًا في مجال الاستدلال البصري، كما يمتلك قدرات رياضية، برمجية، ونصية من الدرجة الأولى. طول السياق هو 100k."
|
||||
},
|
||||
@@ -2432,8 +2633,23 @@
|
||||
"v0-1.5-md": {
|
||||
"description": "نموذج v0-1.5-md مناسب للمهام اليومية وتوليد واجهات المستخدم (UI)"
|
||||
},
|
||||
"wan2.2-t2i-flash": {
|
||||
"description": "نسخة Wanxiang 2.2 فائقة السرعة، أحدث نموذج حاليًا. تم تحسين الإبداع، الاستقرار، والواقعية بشكل شامل، مع سرعة توليد عالية وقيمة ممتازة مقابل التكلفة."
|
||||
},
|
||||
"wan2.2-t2i-plus": {
|
||||
"description": "نسخة Wanxiang 2.2 الاحترافية، أحدث نموذج حاليًا. تم تحسين الإبداع، الاستقرار، والواقعية بشكل شامل، مع تفاصيل توليد غنية."
|
||||
},
|
||||
"wanx-v1": {
|
||||
"description": "نموذج أساسي لتوليد الصور النصية. يتوافق مع نموذج Tongyi Wanxiang 1.0 الرسمي."
|
||||
},
|
||||
"wanx2.0-t2i-turbo": {
|
||||
"description": "متخصص في توليد صور بورتريه واقعية، سرعة متوسطة وتكلفة منخفضة. يتوافق مع نموذج Tongyi Wanxiang 2.0 السريع الرسمي."
|
||||
},
|
||||
"wanx2.1-t2i-plus": {
|
||||
"description": "نسخة مطورة شاملة. توليد صور بتفاصيل أكثر ثراءً، سرعة أقل قليلاً. يتوافق مع نموذج Tongyi Wanxiang 2.1 الاحترافي الرسمي."
|
||||
},
|
||||
"wanx2.1-t2i-turbo": {
|
||||
"description": "نموذج توليد الصور التابع لشركة علي بابا كلاود Tongyi"
|
||||
"description": "نسخة مطورة شاملة. سرعة توليد عالية، أداء شامل، وقيمة ممتازة مقابل التكلفة. يتوافق مع نموذج Tongyi Wanxiang 2.1 السريع الرسمي."
|
||||
},
|
||||
"whisper-1": {
|
||||
"description": "نموذج التعرف على الصوت العام، يدعم التعرف على الصوت بعدة لغات، الترجمة الصوتية، والتعرف على اللغة."
|
||||
@@ -2485,5 +2701,11 @@
|
||||
},
|
||||
"yi-vision-v2": {
|
||||
"description": "نموذج مهام بصرية معقدة، يوفر فهمًا عالي الأداء وقدرات تحليلية بناءً على صور متعددة."
|
||||
},
|
||||
"zai-org/GLM-4.5": {
|
||||
"description": "GLM-4.5 هو نموذج أساسي مصمم لتطبيقات الوكلاء الذكية، يستخدم بنية Mixture-of-Experts (MoE). تم تحسينه بعمق في مجالات استدعاء الأدوات، تصفح الويب، هندسة البرمجيات، وبرمجة الواجهة الأمامية، ويدعم التكامل السلس مع وكلاء الكود مثل Claude Code وRoo Code. يستخدم وضع استدلال مختلط ليتكيف مع سيناريوهات الاستدلال المعقدة والاستخدام اليومي."
|
||||
},
|
||||
"zai-org/GLM-4.5-Air": {
|
||||
"description": "GLM-4.5-Air هو نموذج أساسي مصمم لتطبيقات الوكلاء الذكية، يستخدم بنية Mixture-of-Experts (MoE). تم تحسينه بعمق في مجالات استدعاء الأدوات، تصفح الويب، هندسة البرمجيات، وبرمجة الواجهة الأمامية، ويدعم التكامل السلس مع وكلاء الكود مثل Claude Code وRoo Code. يستخدم وضع استدلال مختلط ليتكيف مع سيناريوهات الاستدلال المعقدة والاستخدام اليومي."
|
||||
}
|
||||
}
|
||||
|
||||
+196
-136
@@ -1,20 +1,20 @@
|
||||
{
|
||||
"confirm": "تأكيد",
|
||||
"debug": {
|
||||
"arguments": "متغيرات الاستدعاء",
|
||||
"arguments": "معلمات الاستدعاء",
|
||||
"function_call": "استدعاء الدالة",
|
||||
"off": "إيقاف التصحيح",
|
||||
"on": "عرض معلومات استدعاء البرنامج المساعد",
|
||||
"payload": "حمولة البرنامج المساعد",
|
||||
"pluginState": "حالة المكون",
|
||||
"response": "الرد",
|
||||
"on": "عرض معلومات استدعاء الإضافة",
|
||||
"payload": "حمولة الإضافة",
|
||||
"pluginState": "حالة الإضافة",
|
||||
"response": "النتيجة المرجعة",
|
||||
"title": "تفاصيل الإضافة",
|
||||
"tool_call": "طلب استدعاء الأداة"
|
||||
},
|
||||
"detailModal": {
|
||||
"customPlugin": {
|
||||
"description": "يرجى الانتقال إلى صفحة التحرير لمشاهدة التفاصيل",
|
||||
"editBtn": "حرر الآن",
|
||||
"editBtn": "تحرير الآن",
|
||||
"title": "هذه إضافة مخصصة"
|
||||
},
|
||||
"emptyState": {
|
||||
@@ -22,48 +22,48 @@
|
||||
"title": "عرض تفاصيل الإضافة بعد التثبيت"
|
||||
},
|
||||
"info": {
|
||||
"description": "وصف واجهة برمجة التطبيقات",
|
||||
"name": "اسم واجهة برمجة التطبيقات"
|
||||
"description": "وصف API",
|
||||
"name": "اسم API"
|
||||
},
|
||||
"tabs": {
|
||||
"info": "قدرات البرنامج المساعد",
|
||||
"info": "قدرات الإضافة",
|
||||
"manifest": "ملف التثبيت",
|
||||
"settings": "الإعدادات"
|
||||
},
|
||||
"title": "تفاصيل البرنامج المساعد"
|
||||
"title": "تفاصيل الإضافة"
|
||||
},
|
||||
"dev": {
|
||||
"confirmDeleteDevPlugin": "سيتم حذف البرنامج المساعد المحلي، وبمجرد الحذف لن يمكن استعادته، هل ترغب في حذف هذا البرنامج المساعد؟",
|
||||
"confirmDeleteDevPlugin": "سيتم حذف هذه الإضافة المحلية ولن يمكن استعادتها، هل تريد حذف هذه الإضافة؟",
|
||||
"customParams": {
|
||||
"useProxy": {
|
||||
"label": "تثبيت عبر الوكيل (في حالة حدوث أخطاء الوصول عبر النطاقات المتقاطعة، يمكنك تجربة تفعيل هذا الخيار ثم إعادة التثبيت)"
|
||||
"label": "التثبيت عبر الوكيل (إذا واجهت خطأ وصول عبر النطاق، جرب تفعيل هذا الخيار ثم أعد التثبيت)"
|
||||
}
|
||||
},
|
||||
"deleteSuccess": "تم حذف البرنامج المساعد بنجاح",
|
||||
"deleteSuccess": "تم حذف الإضافة بنجاح",
|
||||
"manifest": {
|
||||
"identifier": {
|
||||
"desc": "العلامة المميزة للبرنامج المساعد",
|
||||
"desc": "المعرف الفريد للإضافة",
|
||||
"label": "المعرف"
|
||||
},
|
||||
"mode": {
|
||||
"mcp": "مكون MCP",
|
||||
"mcp": "إضافة MCP",
|
||||
"mcpExp": "تجريبي",
|
||||
"url": "رابط عبر الإنترنت"
|
||||
"url": "رابط مباشر"
|
||||
},
|
||||
"name": {
|
||||
"desc": "عنوان البرنامج المساعد",
|
||||
"desc": "عنوان الإضافة",
|
||||
"label": "العنوان",
|
||||
"placeholder": "محرك البحث"
|
||||
}
|
||||
},
|
||||
"mcp": {
|
||||
"advanced": {
|
||||
"title": "الإعدادات المتقدمة"
|
||||
"title": "إعدادات متقدمة"
|
||||
},
|
||||
"args": {
|
||||
"desc": "قائمة المعلمات المرسلة إلى الأمر المنفذ، عادةً ما يتم إدخال اسم خادم MCP هنا، أو مسار البرنامج النصي للتشغيل",
|
||||
"desc": "قائمة المعلمات الممررة لأمر التنفيذ، عادةً هنا يتم إدخال اسم خادم MCP أو مسار سكريبت التشغيل",
|
||||
"label": "معلمات الأمر",
|
||||
"placeholder": "على سبيل المثال: --port 8080 --debug",
|
||||
"placeholder": "مثال: mcp-hello-world",
|
||||
"required": "يرجى إدخال معلمات التشغيل"
|
||||
},
|
||||
"auth": {
|
||||
@@ -83,171 +83,171 @@
|
||||
"label": "أيقونة الإضافة"
|
||||
},
|
||||
"command": {
|
||||
"desc": "الملف القابل للتنفيذ أو البرنامج النصي المستخدم لبدء ملحق MCP STDIO",
|
||||
"desc": "الملف التنفيذي أو السكريبت المستخدم لتشغيل خادم MCP STDIO",
|
||||
"label": "الأمر",
|
||||
"placeholder": "على سبيل المثال: python main.py أو /path/to/executable",
|
||||
"placeholder": "مثال: npx / uv / docker إلخ",
|
||||
"required": "يرجى إدخال أمر التشغيل"
|
||||
},
|
||||
"desc": {
|
||||
"desc": "أضف وصفًا للإضافة",
|
||||
"label": "وصف الإضافة",
|
||||
"placeholder": "أضف معلومات حول كيفية استخدام هذه الإضافة وسيناريوهاتها وغيرها"
|
||||
"placeholder": "أضف معلومات عن استخدام الإضافة وسيناريوهاتها"
|
||||
},
|
||||
"endpoint": {
|
||||
"desc": "أدخل عنوان خادم MCP Streamable HTTP الخاص بك",
|
||||
"label": "عنوان URL لنقطة نهاية MCP"
|
||||
"label": "رابط نقطة نهاية MCP"
|
||||
},
|
||||
"env": {
|
||||
"add": "إضافة سطر جديد",
|
||||
"desc": "أدخل المتغيرات البيئية المطلوبة لخادم MCP الخاص بك",
|
||||
"duplicateKeyError": "يجب أن تكون مفاتيح الحقول فريدة",
|
||||
"formValidationFailed": "فشل التحقق من صحة النموذج، يرجى التحقق من تنسيق المعلمات",
|
||||
"keyRequired": "لا يمكن أن يكون مفتاح الحقل فارغًا",
|
||||
"label": "متغيرات البيئة لخادم MCP",
|
||||
"stringifyError": "تعذر تسلسل المعلمات، يرجى التحقق من تنسيق المعلمات"
|
||||
"add": "أضف سطرًا جديدًا",
|
||||
"desc": "أدخل متغيرات البيئة المطلوبة لخادم MCP",
|
||||
"duplicateKeyError": "مفتاح الحقل يجب أن يكون فريدًا",
|
||||
"formValidationFailed": "فشل التحقق من النموذج، يرجى مراجعة تنسيق المعلمات",
|
||||
"keyRequired": "مفتاح الحقل لا يمكن أن يكون فارغًا",
|
||||
"label": "متغيرات بيئة خادم MCP",
|
||||
"stringifyError": "تعذر تسلسل المعلمات، يرجى مراجعة التنسيق"
|
||||
},
|
||||
"headers": {
|
||||
"add": "أضف صفًا جديدًا",
|
||||
"add": "أضف سطرًا جديدًا",
|
||||
"desc": "أدخل رؤوس الطلب",
|
||||
"label": "رؤوس HTTP"
|
||||
},
|
||||
"identifier": {
|
||||
"desc": "حدد اسمًا لملحق MCP الخاص بك، يجب أن يكون باستخدام أحرف إنجليزية",
|
||||
"invalid": "يمكنك إدخال أحرف إنجليزية، أرقام، والرمزين - و _ فقط",
|
||||
"label": "اسم ملحق MCP",
|
||||
"placeholder": "على سبيل المثال: my-mcp-plugin",
|
||||
"desc": "حدد اسمًا لإضافة MCP الخاصة بك، يجب أن يكون بالأحرف الإنجليزية",
|
||||
"invalid": "المعرف يمكن أن يحتوي فقط على أحرف، أرقام، شرطات وشرطات سفلية",
|
||||
"label": "اسم إضافة MCP",
|
||||
"placeholder": "مثال: my-mcp-plugin",
|
||||
"required": "يرجى إدخال معرف خدمة MCP"
|
||||
},
|
||||
"previewManifest": "معاينة ملف وصف الإضافة",
|
||||
"quickImport": "استيراد إعدادات JSON بسرعة",
|
||||
"quickImport": "استيراد سريع لتكوين JSON",
|
||||
"quickImportError": {
|
||||
"empty": "لا يمكن أن تكون المدخلات فارغة",
|
||||
"empty": "لا يمكن أن يكون المحتوى فارغًا",
|
||||
"invalidJson": "تنسيق JSON غير صالح",
|
||||
"invalidStructure": "تنسيق JSON غير صحيح"
|
||||
"invalidStructure": "هيكل JSON غير صالح"
|
||||
},
|
||||
"stdioNotSupported": "البيئة الحالية لا تدعم مكون MCP من نوع stdio",
|
||||
"stdioNotSupported": "البيئة الحالية لا تدعم إضافات MCP من نوع stdio",
|
||||
"testConnection": "اختبار الاتصال",
|
||||
"testConnectionTip": "يمكن استخدام إضافة MCP بشكل طبيعي بعد نجاح اختبار الاتصال",
|
||||
"testConnectionTip": "يجب أن ينجح اختبار الاتصال لكي تعمل إضافة MCP بشكل صحيح",
|
||||
"type": {
|
||||
"desc": "اختر طريقة الاتصال لملحق MCP، النسخة الويب تدعم فقط Streamable HTTP",
|
||||
"httpFeature1": "متوافق مع النسخة الويب وسطح المكتب",
|
||||
"httpFeature2": "الاتصال بخادم MCP عن بُعد، دون الحاجة إلى تثبيت أو إعداد إضافي",
|
||||
"httpShortDesc": "بروتوكول الاتصال القائم على HTTP المتدفق",
|
||||
"label": "نوع ملحق MCP",
|
||||
"stdioFeature1": "زمن تأخير أقل في الاتصال، مناسب للتنفيذ المحلي",
|
||||
"stdioFeature2": "يجب تثبيت خادم MCP وتشغيله محليًا",
|
||||
"stdioNotAvailable": "وضع STDIO متاح فقط في النسخة المكتبية",
|
||||
"stdioShortDesc": "بروتوكول الاتصال القائم على الإدخال والإخراج القياسي",
|
||||
"title": "نوع ملحق MCP"
|
||||
"desc": "اختر طريقة اتصال إضافة MCP، النسخة الويب تدعم فقط Streamable HTTP",
|
||||
"httpFeature1": "متوافق مع الويب وسطح المكتب",
|
||||
"httpFeature2": "اتصال بخادم MCP عن بعد، لا حاجة لتثبيت إضافي",
|
||||
"httpShortDesc": "بروتوكول اتصال HTTP متدفق",
|
||||
"label": "نوع إضافة MCP",
|
||||
"stdioFeature1": "تأخير اتصال أقل، مناسب للتنفيذ المحلي",
|
||||
"stdioFeature2": "يجب تثبيت وتشغيل خادم MCP محليًا",
|
||||
"stdioNotAvailable": "وضع STDIO متاح فقط في نسخة سطح المكتب",
|
||||
"stdioShortDesc": "بروتوكول اتصال يعتمد على الإدخال والإخراج القياسي",
|
||||
"title": "نوع إضافة MCP"
|
||||
},
|
||||
"url": {
|
||||
"desc": "أدخل عنوان HTTP القابل للبث لخادم MCP الخاص بك، لا يدعم وضع SSE",
|
||||
"desc": "أدخل عنوان MCP Server Streamable HTTP الخاص بك، لا يدعم وضع SSE",
|
||||
"invalid": "يرجى إدخال عنوان URL صالح",
|
||||
"label": "عنوان URL لنقطة نهاية HTTP",
|
||||
"label": "رابط نقطة نهاية HTTP المتدفق",
|
||||
"required": "يرجى إدخال عنوان URL لخدمة MCP"
|
||||
}
|
||||
},
|
||||
"meta": {
|
||||
"author": {
|
||||
"desc": "مؤلف البرنامج المساعد",
|
||||
"desc": "مؤلف الإضافة",
|
||||
"label": "المؤلف"
|
||||
},
|
||||
"avatar": {
|
||||
"desc": "رمز البرنامج المساعد، يمكن استخدام الرموز التعبيرية أو روابط URL",
|
||||
"label": "الرمز"
|
||||
"desc": "أيقونة الإضافة، يمكن استخدام إيموجي أو رابط URL",
|
||||
"label": "الأيقونة"
|
||||
},
|
||||
"description": {
|
||||
"desc": "وصف البرنامج المساعد",
|
||||
"desc": "وصف الإضافة",
|
||||
"label": "الوصف",
|
||||
"placeholder": "البحث في محركات البحث للحصول على المعلومات"
|
||||
"placeholder": "ابحث في محرك البحث للحصول على معلومات"
|
||||
},
|
||||
"formFieldRequired": "هذا الحقل مطلوب",
|
||||
"homepage": {
|
||||
"desc": "صفحة البداية للبرنامج المساعد",
|
||||
"desc": "الصفحة الرئيسية للإضافة",
|
||||
"label": "الصفحة الرئيسية"
|
||||
},
|
||||
"identifier": {
|
||||
"desc": "العلامة المميزة للبرنامج المساعد، سيتم التعرف عليها تلقائيًا من خلال الملف التعريفي",
|
||||
"errorDuplicate": "تكرار العلامة المميزة مع برنامج مساعد موجود، يرجى تعديل العلامة المميزة",
|
||||
"desc": "المعرف الفريد للإضافة، سيتم التعرف عليه تلقائيًا من ملف manifest",
|
||||
"errorDuplicate": "المعرف مكرر مع إضافة موجودة، يرجى تغييره",
|
||||
"label": "المعرف",
|
||||
"pattenErrorMessage": "يمكن إدخال الأحرف الإنجليزية والأرقام والرمزين - و_ فقط"
|
||||
"pattenErrorMessage": "يمكن إدخال أحرف إنجليزية، أرقام، - و _ فقط"
|
||||
},
|
||||
"lobe": "إضافة {{appName}}",
|
||||
"manifest": {
|
||||
"desc": "{{appName}} سيتم تثبيت الإضافة من خلال هذا الرابط",
|
||||
"label": "ملف وصف البرنامج المساعد (Manifest) URL",
|
||||
"preview": "معاينة الملف التعريفي",
|
||||
"desc": "سيتم تثبيت {{appName}} عبر هذا الرابط",
|
||||
"label": "رابط ملف وصف الإضافة (Manifest)",
|
||||
"preview": "معاينة Manifest",
|
||||
"refresh": "تحديث"
|
||||
},
|
||||
"openai": "إضافة OpenAI",
|
||||
"title": {
|
||||
"desc": "عنوان البرنامج المساعد",
|
||||
"desc": "عنوان الإضافة",
|
||||
"label": "العنوان",
|
||||
"placeholder": "محرك البحث"
|
||||
}
|
||||
},
|
||||
"metaConfig": "تكوين معلومات البرنامج المساعد",
|
||||
"modalDesc": "بعد إضافة البرنامج المساعد المخصص، يمكن استخدامه للتحقق من تطوير البرنامج المساعد، كما يمكن استخدامه مباشرة في الدردشة. للحصول على معلومات حول تطوير البرنامج المساعد، يرجى الرجوع إلى <1>وثائق التطوير↗</>",
|
||||
"metaConfig": "تكوين معلومات الإضافة الأساسية",
|
||||
"modalDesc": "بعد إضافة إضافة مخصصة، يمكن استخدامها للتحقق من تطوير الإضافة أو استخدامها مباشرة في المحادثة. يرجى الرجوع إلى <1>وثائق التطوير↗</> لتطوير الإضافات.",
|
||||
"openai": {
|
||||
"importUrl": "استيراد من رابط URL",
|
||||
"schema": "مخطط"
|
||||
"schema": "المخطط"
|
||||
},
|
||||
"preview": {
|
||||
"api": {
|
||||
"noParams": "لا توجد معلمات لهذه الأداة",
|
||||
"noResults": "لم يتم العثور على واجهات برمجة التطبيقات التي تتوافق مع شروط البحث",
|
||||
"noParams": "هذه الأداة لا تحتوي على معلمات",
|
||||
"noResults": "لم يتم العثور على API تطابق شروط البحث",
|
||||
"params": "المعلمات:",
|
||||
"searchPlaceholder": "ابحث في الأدوات..."
|
||||
"searchPlaceholder": "ابحث عن أداة..."
|
||||
},
|
||||
"card": "معاينة عرض البرنامج المساعد",
|
||||
"desc": "معاينة وصف البرنامج المساعد",
|
||||
"card": "معاينة عرض الإضافة",
|
||||
"desc": "معاينة وصف الإضافة",
|
||||
"empty": {
|
||||
"desc": "بعد إكمال الإعداد، ستتمكن من معاينة قدرات الأدوات المدعومة من المكون الإضافي هنا",
|
||||
"title": "ابدأ المعاينة بعد تكوين المكون الإضافي"
|
||||
"desc": "بعد إكمال التكوين، يمكنك معاينة قدرات الأدوات المدعومة هنا",
|
||||
"title": "ابدأ المعاينة بعد تكوين الإضافة"
|
||||
},
|
||||
"title": "معاينة اسم البرنامج المساعد"
|
||||
"title": "معاينة اسم الإضافة"
|
||||
},
|
||||
"save": "تثبيت البرنامج المساعد",
|
||||
"saveSuccess": "تم حفظ إعدادات البرنامج المساعد بنجاح",
|
||||
"save": "تثبيت الإضافة",
|
||||
"saveSuccess": "تم حفظ إعدادات الإضافة بنجاح",
|
||||
"tabs": {
|
||||
"manifest": "قائمة وصف الوظائف (Manifest)",
|
||||
"meta": "معلومات البرنامج المساعد"
|
||||
"meta": "معلومات الإضافة الأساسية"
|
||||
},
|
||||
"title": {
|
||||
"create": "إضافة برنامج مساعد مخصص",
|
||||
"edit": "تحرير برنامج مساعد مخصص"
|
||||
"create": "إضافة إضافة مخصصة",
|
||||
"edit": "تحرير إضافة مخصصة"
|
||||
},
|
||||
"type": {
|
||||
"lobe": "برنامج مساعد LobeChat",
|
||||
"openai": "برنامج مساعد OpenAI"
|
||||
"lobe": "إضافة {{appName}}",
|
||||
"openai": "إضافة OpenAI"
|
||||
},
|
||||
"update": "تحديث",
|
||||
"updateSuccess": "تم تحديث إعدادات البرنامج المساعد بنجاح"
|
||||
"updateSuccess": "تم تحديث إعدادات الإضافة بنجاح"
|
||||
},
|
||||
"error": {
|
||||
"fetchError": "فشل طلب الرابط المعطى للملف، يرجى التأكد من صحة الرابط والسماح بالوصول عبر النطاقات المختلفة",
|
||||
"fetchError": "فشل طلب رابط manifest، يرجى التأكد من صلاحية الرابط وفحص ما إذا كان يسمح بالوصول عبر النطاق",
|
||||
"installError": "فشل تثبيت الإضافة {{name}}",
|
||||
"manifestInvalid": "الملف غير مطابق للمواصفات، نتيجة التحقق: \n\n {{error}}",
|
||||
"manifestInvalid": "الملف manifest غير مطابق للمواصفات، نتيجة التحقق: \n\n {{error}}",
|
||||
"noManifest": "ملف الوصف غير موجود",
|
||||
"openAPIInvalid": "فشل تحليل OpenAPI، الخطأ: \n\n {{error}}",
|
||||
"reinstallError": "فشل تحديث الإضافة {{name}}",
|
||||
"testConnectionFailed": "فشل في الحصول على ملف التعريف: {{error}}",
|
||||
"urlError": "الرابط لا يعيد محتوى بتنسيق JSON، يرجى التأكد من صحة الرابط"
|
||||
"testConnectionFailed": "فشل الحصول على Manifest: {{error}}",
|
||||
"urlError": "الرابط لم يرجع محتوى بصيغة JSON، يرجى التأكد من صحة الرابط"
|
||||
},
|
||||
"inspector": {
|
||||
"args": "عرض قائمة المعلمات",
|
||||
"pluginRender": "عرض واجهة المكون الإضافي"
|
||||
"pluginRender": "عرض واجهة الإضافة"
|
||||
},
|
||||
"list": {
|
||||
"item": {
|
||||
"deprecated.title": "مهجور",
|
||||
"local.config": "التكوين",
|
||||
"deprecated.title": "تم الحذف",
|
||||
"local.config": "الإعدادات",
|
||||
"local.title": "مخصص"
|
||||
}
|
||||
},
|
||||
"loading": {
|
||||
"content": "جاري استدعاء الإضافة...",
|
||||
"plugin": "جاري تشغيل الإضافة..."
|
||||
"content": "جارٍ استدعاء الإضافة...",
|
||||
"plugin": "تشغيل الإضافة..."
|
||||
},
|
||||
"localSystem": {
|
||||
"apiName": {
|
||||
@@ -255,7 +255,7 @@
|
||||
"moveLocalFiles": "نقل الملفات",
|
||||
"readLocalFile": "قراءة محتوى الملف",
|
||||
"renameLocalFile": "إعادة تسمية",
|
||||
"searchLocalFiles": "البحث عن الملفات",
|
||||
"searchLocalFiles": "بحث في الملفات",
|
||||
"writeLocalFile": "كتابة في الملف"
|
||||
},
|
||||
"title": "الملفات المحلية"
|
||||
@@ -263,23 +263,23 @@
|
||||
"mcpInstall": {
|
||||
"CHECKING_INSTALLATION": "جارٍ فحص بيئة التثبيت...",
|
||||
"COMPLETED": "اكتمل التثبيت",
|
||||
"CONFIGURATION_REQUIRED": "يرجى إكمال التكوينات المطلوبة للمتابعة في التثبيت",
|
||||
"CONFIGURATION_REQUIRED": "يرجى إكمال التكوين المطلوب للمتابعة بالتثبيت",
|
||||
"ERROR": "خطأ في التثبيت",
|
||||
"FETCHING_MANIFEST": "جارٍ جلب ملف وصف الإضافة...",
|
||||
"FETCHING_MANIFEST": "جارٍ الحصول على ملف وصف الإضافة...",
|
||||
"GETTING_SERVER_MANIFEST": "جارٍ تهيئة خادم MCP...",
|
||||
"INSTALLING_PLUGIN": "جارٍ تثبيت الإضافة...",
|
||||
"configurationDescription": "تتطلب هذه الإضافة من MCP إعداد معلمات لتعمل بشكل صحيح، يرجى ملء المعلومات الضرورية.",
|
||||
"configurationDescription": "تتطلب هذه الإضافة MCP إعداد معلمات لتعمل بشكل صحيح، يرجى ملء المعلومات اللازمة",
|
||||
"configurationRequired": "تكوين معلمات الإضافة",
|
||||
"continueInstall": "متابعة التثبيت",
|
||||
"dependenciesDescription": "تتطلب هذه الإضافة تثبيت الاعتمادات النظامية التالية لتعمل بشكل صحيح، يرجى تثبيت الاعتمادات المفقودة حسب التعليمات ثم النقر على إعادة الفحص للمتابعة.",
|
||||
"dependenciesRequired": "يرجى تثبيت الاعتمادات النظامية للإضافة",
|
||||
"dependenciesDescription": "تتطلب هذه الإضافة تثبيت تبعيات نظامية لتعمل بشكل صحيح، يرجى تثبيت التبعيات المفقودة حسب التعليمات ثم اضغط إعادة الفحص للمتابعة بالتثبيت.",
|
||||
"dependenciesRequired": "يرجى تثبيت تبعيات النظام للإضافة",
|
||||
"dependencyStatus": {
|
||||
"installed": "مثبّت",
|
||||
"notInstalled": "غير مثبّت",
|
||||
"installed": "مثبت",
|
||||
"notInstalled": "غير مثبت",
|
||||
"requiredVersion": "الإصدار المطلوب: {{version}}"
|
||||
},
|
||||
"errorDetails": {
|
||||
"args": "المعطيات",
|
||||
"args": "المعلمات",
|
||||
"command": "الأمر",
|
||||
"connectionParams": "معلمات الاتصال",
|
||||
"env": "متغيرات البيئة",
|
||||
@@ -295,34 +295,94 @@
|
||||
"INITIALIZATION_TIMEOUT": "انتهت مهلة التهيئة",
|
||||
"PROCESS_SPAWN_ERROR": "فشل بدء العملية",
|
||||
"UNKNOWN_ERROR": "خطأ غير معروف",
|
||||
"VALIDATION_ERROR": "فشل التحقق من المعطيات"
|
||||
"VALIDATION_ERROR": "فشل التحقق من المعلمات"
|
||||
},
|
||||
"installError": "فشل تثبيت إضافة MCP، سبب الفشل: {{detail}}",
|
||||
"installError": "فشل تثبيت إضافة MCP، السبب: {{detail}}",
|
||||
"installMethods": {
|
||||
"manual": "التثبيت اليدوي:",
|
||||
"manual": "تثبيت يدوي:",
|
||||
"recommended": "طريقة التثبيت الموصى بها:"
|
||||
},
|
||||
"recheckDependencies": "إعادة فحص",
|
||||
"skipDependencies": "تخطي الفحص"
|
||||
},
|
||||
"pluginList": "قائمة الإضافات",
|
||||
"protocolInstall": {
|
||||
"actions": {
|
||||
"install": "تثبيت",
|
||||
"installAnyway": "تثبيت على أي حال",
|
||||
"installed": "مثبت"
|
||||
},
|
||||
"config": {
|
||||
"args": "المعلمات",
|
||||
"command": "الأمر",
|
||||
"env": "متغيرات البيئة",
|
||||
"headers": "رؤوس الطلب",
|
||||
"title": "معلومات التكوين",
|
||||
"type": {
|
||||
"http": "النوع: HTTP",
|
||||
"label": "النوع",
|
||||
"stdio": "النوع: Stdio"
|
||||
},
|
||||
"url": "عنوان الخدمة"
|
||||
},
|
||||
"custom": {
|
||||
"badge": "إضافة مخصصة",
|
||||
"security": {
|
||||
"description": "هذه الإضافة لم يتم التحقق منها رسميًا، قد تحمل مخاطر أمنية! يرجى التأكد من ثقتك بمصدر الإضافة.",
|
||||
"title": "⚠️ تحذير أمني"
|
||||
},
|
||||
"title": "تثبيت إضافة مخصصة"
|
||||
},
|
||||
"marketplace": {
|
||||
"title": "تثبيت إضافات الطرف الثالث",
|
||||
"trustedBy": "مقدم من {{name}}",
|
||||
"unverified": {
|
||||
"title": "إضافات طرف ثالث غير موثوقة",
|
||||
"warning": "هذه الإضافة من سوق طرف ثالث غير موثوق، يرجى التأكد من ثقتك بالمصدر قبل التثبيت."
|
||||
},
|
||||
"verified": "موثوقة"
|
||||
},
|
||||
"messages": {
|
||||
"connectionTestFailed": "فشل اختبار الاتصال",
|
||||
"installError": "فشل تثبيت الإضافة، يرجى المحاولة مجددًا",
|
||||
"installSuccess": "تم تثبيت الإضافة {{name}} بنجاح!",
|
||||
"manifestError": "فشل الحصول على تفاصيل الإضافة، يرجى التحقق من الاتصال بالشبكة والمحاولة مجددًا",
|
||||
"manifestNotFound": "تعذر الحصول على ملف وصف الإضافة"
|
||||
},
|
||||
"meta": {
|
||||
"author": "المؤلف",
|
||||
"homepage": "الصفحة الرئيسية",
|
||||
"identifier": "المعرف",
|
||||
"source": "المصدر",
|
||||
"version": "الإصدار"
|
||||
},
|
||||
"official": {
|
||||
"badge": "إضافة رسمية من LobeHub",
|
||||
"description": "تم تطوير هذه الإضافة وصيانتها رسميًا من قبل LobeHub، وتمت مراجعتها أمنيًا بدقة، يمكن استخدامها بأمان.",
|
||||
"loadingMessage": "جارٍ الحصول على تفاصيل الإضافة...",
|
||||
"loadingTitle": "جارٍ التحميل",
|
||||
"title": "تثبيت إضافة رسمية"
|
||||
},
|
||||
"title": "تثبيت إضافة MCP",
|
||||
"warning": "⚠️ يرجى التأكد من ثقتك بمصدر هذه الإضافة، الإضافات الخبيثة قد تضر بأمان نظامك."
|
||||
},
|
||||
"search": {
|
||||
"apiName": {
|
||||
"crawlMultiPages": "قراءة محتوى صفحات متعددة",
|
||||
"crawlMultiPages": "قراءة محتوى عدة صفحات",
|
||||
"crawlSinglePage": "قراءة محتوى الصفحة",
|
||||
"search": "بحث في الصفحة"
|
||||
"search": "البحث في الصفحة"
|
||||
},
|
||||
"config": {
|
||||
"addKey": "إضافة مفتاح",
|
||||
"close": "حذف",
|
||||
"confirm": "تم تكوينه وإعادة المحاولة"
|
||||
"confirm": "تم إكمال التكوين وأعيد المحاولة"
|
||||
},
|
||||
"crawPages": {
|
||||
"crawling": "جاري التعرف على الروابط",
|
||||
"crawling": "جارٍ التعرف على الروابط",
|
||||
"detail": {
|
||||
"preview": "معاينة",
|
||||
"raw": "النص الأصلي",
|
||||
"tooLong": "محتوى النص طويل جدًا، سيتم الاحتفاظ بالسياق السابق فقط بأول {{characters}} حرف، ولن يتم احتساب الأجزاء الزائدة في سياق المحادثة"
|
||||
"raw": "نص خام",
|
||||
"tooLong": "النص طويل جدًا، يحتفظ سياق المحادثة فقط بأول {{characters}} حرفًا، الجزء الزائد غير مدرج في السياق"
|
||||
},
|
||||
"meta": {
|
||||
"crawler": "وضع الزحف",
|
||||
@@ -330,19 +390,19 @@
|
||||
}
|
||||
},
|
||||
"searchxng": {
|
||||
"baseURL": "الرجاء الإدخال",
|
||||
"description": "الرجاء إدخال عنوان URL لـ SearchXNG لبدء البحث عبر الإنترنت",
|
||||
"keyPlaceholder": "الرجاء إدخال المفتاح",
|
||||
"title": "تكوين محرك بحث SearchXNG",
|
||||
"unconfiguredDesc": "يرجى الاتصال بالمسؤول لإكمال تكوين محرك بحث SearchXNG لبدء البحث عبر الإنترنت",
|
||||
"unconfiguredTitle": "لم يتم تكوين محرك بحث SearchXNG بعد"
|
||||
"baseURL": "يرجى الإدخال",
|
||||
"description": "يرجى إدخال عنوان SearchXNG للبدء في البحث عبر الإنترنت",
|
||||
"keyPlaceholder": "يرجى إدخال المفتاح",
|
||||
"title": "تكوين محرك البحث SearchXNG",
|
||||
"unconfiguredDesc": "يرجى الاتصال بالمسؤول لإكمال تكوين محرك البحث SearchXNG للبدء في البحث عبر الإنترنت",
|
||||
"unconfiguredTitle": "لم يتم تكوين محرك البحث SearchXNG بعد"
|
||||
},
|
||||
"title": "البحث عبر الإنترنت"
|
||||
},
|
||||
"setting": "إعدادات الإضافة",
|
||||
"settings": {
|
||||
"capabilities": {
|
||||
"prompts": "نصوص التوجيه",
|
||||
"prompts": "عبارات التوجيه",
|
||||
"resources": "الموارد",
|
||||
"title": "قدرات الإضافة",
|
||||
"tools": "الأدوات"
|
||||
@@ -351,18 +411,18 @@
|
||||
"title": "تكوين الإضافة"
|
||||
},
|
||||
"connection": {
|
||||
"args": "معطيات التشغيل",
|
||||
"args": "معلمات التشغيل",
|
||||
"command": "أمر التشغيل",
|
||||
"title": "معلومات الاتصال",
|
||||
"type": "نوع الاتصال",
|
||||
"url": "عنوان الخدمة"
|
||||
},
|
||||
"edit": "تحرير",
|
||||
"envConfigDescription": "سيتم تمرير هذه الإعدادات كمتغيرات بيئية إلى العملية عند بدء تشغيل خادم MCP",
|
||||
"httpTypeNotice": "لا توجد متغيرات بيئية تحتاج إلى التكوين لإضافات MCP من نوع HTTP",
|
||||
"envConfigDescription": "سيتم تمرير هذه الإعدادات كمتغيرات بيئة عند بدء تشغيل خادم MCP",
|
||||
"httpTypeNotice": "إضافات MCP من نوع HTTP لا تحتاج إلى متغيرات بيئة للتكوين حاليًا",
|
||||
"indexUrl": {
|
||||
"title": "فهرس السوق",
|
||||
"tooltip": "غير مدعوم حاليا للتحرير عبر الإنترنت، يرجى ضبطه عند نشر المتغيرات البيئية"
|
||||
"tooltip": "لا يدعم التحرير عبر الإنترنت حاليًا، يرجى التكوين عبر متغيرات البيئة عند النشر"
|
||||
},
|
||||
"messages": {
|
||||
"connectionUpdateFailed": "فشل تحديث معلومات الاتصال",
|
||||
@@ -370,41 +430,41 @@
|
||||
"envUpdateFailed": "فشل حفظ متغيرات البيئة",
|
||||
"envUpdateSuccess": "تم حفظ متغيرات البيئة بنجاح"
|
||||
},
|
||||
"modalDesc": "بعد ضبط عنوان سوق الإضافات، يمكن استخدام سوق الإضافات المخصص",
|
||||
"modalDesc": "بعد تكوين عنوان سوق الإضافات، يمكنك استخدام سوق إضافات مخصص",
|
||||
"rules": {
|
||||
"argsRequired": "يرجى إدخال معلمات التشغيل",
|
||||
"commandRequired": "يرجى إدخال أمر التشغيل",
|
||||
"urlRequired": "يرجى إدخال عنوان الخدمة"
|
||||
},
|
||||
"saveSettings": "حفظ الإعدادات",
|
||||
"title": "ضبط سوق الإضافات"
|
||||
"title": "إعدادات سوق الإضافات"
|
||||
},
|
||||
"showInPortal": "يرجى الاطلاع على التفاصيل في مساحة العمل",
|
||||
"showInPortal": "يرجى عرض التفاصيل في مساحة العمل",
|
||||
"store": {
|
||||
"actions": {
|
||||
"cancel": "إلغاء التثبيت",
|
||||
"confirmUninstall": "سيتم إلغاء تثبيت الإضافة، وسيتم مسح تكوين الإضافة، يرجى تأكيد العملية",
|
||||
"confirmUninstall": "سيتم إلغاء تثبيت هذه الإضافة وسيتم حذف إعداداتها، يرجى تأكيد العملية",
|
||||
"detail": "التفاصيل",
|
||||
"install": "تثبيت",
|
||||
"manifest": "تحرير ملف التثبيت",
|
||||
"settings": "الإعدادات",
|
||||
"uninstall": "إلغاء التثبيت"
|
||||
},
|
||||
"communityPlugin": "مجتمع ثالث",
|
||||
"communityPlugin": "مجتمع الطرف الثالث",
|
||||
"customPlugin": "مخصص",
|
||||
"empty": "لا توجد إضافات مثبتة حاليا",
|
||||
"empty": "لا توجد إضافات مثبتة",
|
||||
"emptySelectHint": "اختر إضافة لمعاينة التفاصيل",
|
||||
"installAllPlugins": "تثبيت الكل",
|
||||
"networkError": "فشل الحصول على متجر الإضافات، يرجى التحقق من الاتصال بالشبكة وإعادة المحاولة",
|
||||
"placeholder": "ابحث عن اسم الإضافة أو الكلمات الرئيسية...",
|
||||
"releasedAt": "صدر في {{createdAt}}",
|
||||
"networkError": "فشل الحصول على متجر الإضافات، يرجى التحقق من الاتصال بالشبكة والمحاولة مجددًا",
|
||||
"placeholder": "ابحث عن اسم الإضافة أو الوصف أو الكلمات المفتاحية...",
|
||||
"releasedAt": "نُشر في {{createdAt}}",
|
||||
"tabs": {
|
||||
"installed": "مثبتة",
|
||||
"mcp": "إضافة MCP",
|
||||
"old": "إضافة LobeChat"
|
||||
"installed": "مثبت",
|
||||
"mcp": "إضافات MCP",
|
||||
"old": "إضافات LobeChat"
|
||||
},
|
||||
"title": "متجر الإضافات"
|
||||
},
|
||||
"unknownError": "خطأ غير معروف",
|
||||
"unknownPlugin": "البرنامج المساعد غير معروف"
|
||||
"unknownPlugin": "إضافة غير معروفة"
|
||||
}
|
||||
|
||||
@@ -2,9 +2,15 @@
|
||||
"ai21": {
|
||||
"description": "تقوم AI21 Labs ببناء نماذج أساسية وأنظمة ذكاء اصطناعي للشركات، مما يسرع من تطبيق الذكاء الاصطناعي التوليدي في الإنتاج."
|
||||
},
|
||||
"ai302": {
|
||||
"description": "302.AI هو منصة تطبيقات ذكاء اصطناعي تعتمد على الدفع حسب الاستخدام، تقدم أكثر واجهات برمجة التطبيقات للتعلم الآلي وتطبيقات الذكاء الاصطناعي عبر الإنترنت شمولاً في السوق"
|
||||
},
|
||||
"ai360": {
|
||||
"description": "AI 360 هي منصة نماذج وخدمات الذكاء الاصطناعي التي أطلقتها شركة 360، تقدم مجموعة متنوعة من نماذج معالجة اللغة الطبيعية المتقدمة، بما في ذلك 360GPT2 Pro و360GPT Pro و360GPT Turbo و360GPT Turbo Responsibility 8K. تجمع هذه النماذج بين المعلمات الكبيرة والقدرات متعددة الوسائط، وتستخدم على نطاق واسع في توليد النصوص، وفهم المعاني، وأنظمة الحوار، وتوليد الشيفرات. من خلال استراتيجيات تسعير مرنة، تلبي AI 360 احتياجات المستخدمين المتنوعة، وتدعم المطورين في التكامل، مما يعزز الابتكار والتطوير في التطبيقات الذكية."
|
||||
},
|
||||
"aihubmix": {
|
||||
"description": "يوفر AiHubMix الوصول إلى نماذج الذكاء الاصطناعي المتعددة من خلال واجهة برمجة تطبيقات موحدة."
|
||||
},
|
||||
"anthropic": {
|
||||
"description": "Anthropic هي شركة تركز على أبحاث وتطوير الذكاء الاصطناعي، وتقدم مجموعة من نماذج اللغة المتقدمة، مثل Claude 3.5 Sonnet وClaude 3 Sonnet وClaude 3 Opus وClaude 3 Haiku. تحقق هذه النماذج توازنًا مثاليًا بين الذكاء والسرعة والتكلفة، وتناسب مجموعة متنوعة من سيناريوهات التطبيقات، من أحمال العمل على مستوى المؤسسات إلى الاستجابات السريعة. يعتبر Claude 3.5 Sonnet أحدث نماذجها، وقد أظهر أداءً ممتازًا في العديد من التقييمات مع الحفاظ على نسبة تكلفة فعالة."
|
||||
},
|
||||
|
||||
@@ -183,10 +183,21 @@
|
||||
"title": "معلومات المساعد"
|
||||
},
|
||||
"settingAppearance": {
|
||||
"animationMode": {
|
||||
"agile": "سريع",
|
||||
"desc": "اختر سرعة استجابة حركة التطبيق",
|
||||
"disabled": "إيقاف",
|
||||
"elegant": "أنيق",
|
||||
"title": "حركة الاستجابة"
|
||||
},
|
||||
"neutralColor": {
|
||||
"desc": "تخصيص تدرجات الرمادي ذات الاتجاهات اللونية المختلفة",
|
||||
"title": "لون محايد"
|
||||
},
|
||||
"noAnimation": {
|
||||
"desc": "تعطيل جميع تأثيرات الحركة في التطبيق",
|
||||
"title": "وضع بدون حركة"
|
||||
},
|
||||
"preview": {
|
||||
"title": "لوحة الألوان"
|
||||
},
|
||||
|
||||
@@ -46,6 +46,9 @@
|
||||
"reasoningEffort": {
|
||||
"title": "Интензитет на разсъждение"
|
||||
},
|
||||
"textVerbosity": {
|
||||
"title": "Ниво на подробност на изходния текст"
|
||||
},
|
||||
"thinking": {
|
||||
"title": "Превключвател за дълбоко мислене"
|
||||
},
|
||||
|
||||
@@ -21,6 +21,10 @@
|
||||
"desc": "Влезте в режим на редактиране, като задържите Alt и два пъти кликнете върху съобщението",
|
||||
"title": "Редактиране на съобщение"
|
||||
},
|
||||
"navigateToChat": {
|
||||
"desc": "Превключване към раздела за разговори и влизане в случайна беседа",
|
||||
"title": "Превключване към стандартния разговор"
|
||||
},
|
||||
"openChatSettings": {
|
||||
"desc": "Прегледайте и променете настройките на текущия разговор",
|
||||
"title": "Отворете настройките на чата"
|
||||
|
||||
@@ -189,6 +189,7 @@
|
||||
"aesGcm": "Вашият ключ и адреса на прокси ще бъдат криптирани с <1>AES-GCM</1> алгоритъм",
|
||||
"apiKey": {
|
||||
"desc": "Моля, въведете вашия {{name}} API ключ",
|
||||
"descWithUrl": "Моля, въведете вашия {{name}} API ключ, <3>кликнете тук, за да го получите</3>",
|
||||
"placeholder": "{{name}} API ключ",
|
||||
"title": "API ключ"
|
||||
},
|
||||
@@ -305,6 +306,7 @@
|
||||
"latestTime": "Последно обновление: {{time}}",
|
||||
"noLatestTime": "Все още не е получен списък"
|
||||
},
|
||||
"noModelsInCategory": "В тази категория няма активирани модели",
|
||||
"resetAll": {
|
||||
"conform": "Потвърдете ли, че искате да нулирате всички промени в текущия модел? След нулирането списъкът с текущи модели ще се върне в първоначалното си състояние",
|
||||
"success": "Успешно нулирано",
|
||||
@@ -315,7 +317,15 @@
|
||||
"title": "Списък с модели",
|
||||
"total": "Общо {{count}} налични модела"
|
||||
},
|
||||
"searchNotFound": "Не са намерени резултати от търсенето"
|
||||
"searchNotFound": "Не са намерени резултати от търсенето",
|
||||
"tabs": {
|
||||
"all": "Всички",
|
||||
"chat": "Чат",
|
||||
"embedding": "Векторизация",
|
||||
"image": "Изображение",
|
||||
"stt": "ASR",
|
||||
"tts": "TTS"
|
||||
}
|
||||
},
|
||||
"sortModal": {
|
||||
"success": "Сортирането е успешно обновено",
|
||||
|
||||
+230
-8
@@ -32,6 +32,9 @@
|
||||
"4.0Ultra": {
|
||||
"description": "Spark4.0 Ultra е най-мощната версия в серията Starfire, която подобрява разбирането и обобщаването на текстовото съдържание, докато надгражда свързаните търсения. Това е всестранно решение за повишаване на производителността в офиса и точно отговаряне на нуждите, водещо в индустрията интелигентно решение."
|
||||
},
|
||||
"AnimeSharp": {
|
||||
"description": "AnimeSharp (известен още като “4x‑AnimeSharp”) е отворен модел за свръхрезолюция, разработен от Kim2091 на базата на архитектурата ESRGAN, фокусиран върху увеличаване и изостряне на изображения в аниме стил. През февруари 2022 г. моделът е преименуван от “4x-TextSharpV1” и първоначално е бил подходящ и за текстови изображения, но е оптимизиран значително за аниме съдържание."
|
||||
},
|
||||
"Baichuan2-Turbo": {
|
||||
"description": "Използва технологии за подобряване на търсенето, за да свърже голям модел с областни знания и знания от интернет. Поддържа качване на различни документи като PDF, Word и вход на уебсайтове, с бърз и цялостен достъп до информация, предоставяйки точни и професионални резултати."
|
||||
},
|
||||
@@ -71,6 +74,9 @@
|
||||
"DeepSeek-V3": {
|
||||
"description": "DeepSeek-V3 е MoE модел, разработен от компанията DeepSeek. DeepSeek-V3 постига резултати в множество оценки, които надминават други отворени модели като Qwen2.5-72B и Llama-3.1-405B, като по отношение на производителност е наравно с водещите затворени модели в света като GPT-4o и Claude-3.5-Sonnet."
|
||||
},
|
||||
"DeepSeek-V3-Fast": {
|
||||
"description": "Доставчик на модела: платформа sophnet. DeepSeek V3 Fast е високоскоростната версия с висока TPS на DeepSeek V3 0324, с пълна точност без квантизация, с по-силни кодови и математически възможности и по-бърз отговор!"
|
||||
},
|
||||
"Doubao-lite-128k": {
|
||||
"description": "Doubao-lite предлага изключително бърза реакция и по-добро съотношение цена-качество, осигурявайки по-гъвкави опции за различни сценарии на клиентите. Поддържа разсъждения и финна настройка с контекстен прозорец от 128k."
|
||||
},
|
||||
@@ -89,6 +95,9 @@
|
||||
"Doubao-pro-4k": {
|
||||
"description": "Най-ефективният основен модел, подходящ за обработка на сложни задачи, с отлични резултати в справки, обобщения, творчество, текстова класификация и ролеви игри. Поддържа разсъждения и финна настройка с контекстен прозорец от 4k."
|
||||
},
|
||||
"DreamO": {
|
||||
"description": "DreamO е отворен модел за персонализирано генериране на изображения, съвместно разработен от ByteDance и Пекинския университет, с цел поддържане на мултизадачно генериране на изображения чрез унифицирана архитектура. Той използва ефективен комбиниран модел, който може да генерира високо съгласувани и персонализирани изображения според множество условия, зададени от потребителя, като идентичност, обект, стил и фон."
|
||||
},
|
||||
"ERNIE-3.5-128K": {
|
||||
"description": "Флагманският модел на Baidu, разработен самостоятелно, е мащабен езиков модел, който обхваща огромно количество китайски и английски текстове. Той притежава мощни общи способности и може да отговори на почти всички изисквания за диалогови въпроси и отговори, генериране на съдържание и приложения с плъгини; поддържа автоматично свързване с плъгина за търсене на Baidu, осигурявайки актуалност на информацията за отговорите."
|
||||
},
|
||||
@@ -122,15 +131,39 @@
|
||||
"ERNIE-Speed-Pro-128K": {
|
||||
"description": "Най-новият модел на Baidu за големи езикови модели с висока производителност, разработен самостоятелно, с отлични общи способности, по-добри резултати в сравнение с ERNIE Speed, подходящ за основен модел за фина настройка, за по-добро справяне с конкретни проблеми, като същевременно предлага отлична производителност при извеждане."
|
||||
},
|
||||
"FLUX.1-Kontext-dev": {
|
||||
"description": "FLUX.1-Kontext-dev е мултимоделен модел за генериране и редактиране на изображения, разработен от Black Forest Labs, базиран на архитектурата Rectified Flow Transformer с 12 милиарда параметри. Моделът е специализиран в генериране, реконструкция, подобряване и редактиране на изображения при зададени контекстуални условия. Той съчетава предимствата на контролираното генериране на дифузионни модели с контекстуалното моделиране на Transformer, поддържайки висококачествен изход и широко приложение в задачи като възстановяване, допълване и реконструкция на визуални сцени."
|
||||
},
|
||||
"FLUX.1-dev": {
|
||||
"description": "FLUX.1-dev е отворен мултимодален езиков модел (Multimodal Language Model, MLLM), разработен от Black Forest Labs, оптимизиран за задачи с текст и изображения. Той интегрира разбиране и генериране на изображения и текст, базиран на напреднали големи езикови модели като Mistral-7B, с внимателно проектиран визуален енкодер и многостепенно фино настройване с инструкции, което позволява съвместна обработка на текст и изображения и сложни задачи за разсъждение."
|
||||
},
|
||||
"Gryphe/MythoMax-L2-13b": {
|
||||
"description": "MythoMax-L2 (13B) е иновативен модел, подходящ за приложения в множество области и сложни задачи."
|
||||
},
|
||||
"HelloMeme": {
|
||||
"description": "HelloMeme е AI инструмент, който автоматично генерира мемета, анимирани GIF файлове или кратки видеоклипове въз основа на предоставени от вас изображения или действия. Не е необходимо да имате умения за рисуване или програмиране – просто подгответе референтни изображения и инструментът ще създаде красиви, забавни и стилово съгласувани съдържания."
|
||||
},
|
||||
"HiDream-I1-Full": {
|
||||
"description": "HiDream-E1-Full е отворен мултимодален голям модел за редактиране на изображения, разработен от HiDream.ai, базиран на напредналата архитектура Diffusion Transformer и съчетаващ мощни езикови способности (вграден LLaMA 3.1-8B-Instruct). Поддържа генериране на изображения, трансфер на стил, локално редактиране и прерисуване чрез естествени езикови команди, с изключителни умения за разбиране и изпълнение на текстово-изобразителни задачи."
|
||||
},
|
||||
"HunyuanDiT-v1.2-Diffusers-Distilled": {
|
||||
"description": "hunyuandit-v1.2-distilled е лек модел за генериране на изображения от текст, оптимизиран чрез дистилация, който може бързо да създава висококачествени изображения, особено подходящ за среди с ограничени ресурси и задачи за реално време."
|
||||
},
|
||||
"InstantCharacter": {
|
||||
"description": "InstantCharacter е персонализиран модел за генериране на персонажи без нужда от фино настройване, пуснат от AI екипа на Tencent през 2025 г. Целта му е да осигури висококачествено и консистентно генериране на персонажи в различни сцени. Моделът поддържа моделиране на персонаж само на базата на една референтна снимка и позволява гъвкаво пренасяне на персонажа в различни стилове, пози и фонове."
|
||||
},
|
||||
"InternVL2-8B": {
|
||||
"description": "InternVL2-8B е мощен визуален езиков модел, който поддържа многомодално обработване на изображения и текст, способен да разпознава точно съдържанието на изображения и да генерира свързани описания или отговори."
|
||||
},
|
||||
"InternVL2.5-26B": {
|
||||
"description": "InternVL2.5-26B е мощен визуален езиков модел, който поддържа многомодално обработване на изображения и текст, способен да разпознава точно съдържанието на изображения и да генерира свързани описания или отговори."
|
||||
},
|
||||
"Kolors": {
|
||||
"description": "Kolors е модел за генериране на изображения от текст, разработен от екипа Kolors на Kuaishou. Той е обучен с милиарди параметри и има значителни предимства в качеството на визуализация, разбирането на китайски семантичен контекст и рендирането на текст."
|
||||
},
|
||||
"Kwai-Kolors/Kolors": {
|
||||
"description": "Kolors е голям модел за генериране на изображения от текст, базиран на латентна дифузия, разработен от екипа Kolors на Kuaishou. Обучен с милиарди двойки текст-изображение, моделът демонстрира значителни предимства в качеството на визуализация, точността на сложната семантика и рендирането на китайски и английски символи. Той поддържа вход на китайски и английски език и се представя отлично в разбирането и генерирането на специфично китайско съдържание."
|
||||
},
|
||||
"Llama-3.2-11B-Vision-Instruct": {
|
||||
"description": "Изключителни способности за визуално разсъждение върху изображения с висока резолюция, подходящи за приложения за визуално разбиране."
|
||||
},
|
||||
@@ -164,9 +197,15 @@
|
||||
"MiniMaxAI/MiniMax-M1-80k": {
|
||||
"description": "MiniMax-M1 е мащабен модел за разсъждение с отворени тегла и смесено внимание, с 456 милиарда параметри, като всеки токен активира около 45.9 милиарда параметри. Моделът поддържа естествено контекст с дължина до 1 милион токена и чрез механизма за светкавично внимание спестява 75% от изчисленията при задачи с генериране на 100 хиляди токена в сравнение с DeepSeek R1. Освен това MiniMax-M1 използва MoE (смесен експертен) архитектура, комбинирайки CISPO алгоритъм и ефективно обучение с подсилване с дизайн на смесено внимание, постигащи водещи в индустрията резултати при дълги входни разсъждения и реални софтуерни инженерни сценарии."
|
||||
},
|
||||
"Moonshot-Kimi-K2-Instruct": {
|
||||
"description": "Общ брой параметри 1 трилион, активирани параметри 32 милиарда. Сред немисловните модели постига водещи резултати в областта на актуални знания, математика и кодиране, с по-добри възможности за универсални агентски задачи. Специално оптимизиран за агентски задачи, не само отговаря на въпроси, но и може да предприема действия. Най-подходящ за импровизирани, универсални разговори и агентски преживявания, модел с рефлексна скорост без нужда от дълго мислене."
|
||||
},
|
||||
"NousResearch/Nous-Hermes-2-Mixtral-8x7B-DPO": {
|
||||
"description": "Nous Hermes 2 - Mixtral 8x7B-DPO (46.7B) е модел с висока точност за инструкции, подходящ за сложни изчисления."
|
||||
},
|
||||
"OmniConsistency": {
|
||||
"description": "OmniConsistency подобрява консистентността на стил и генерализацията в задачи за преобразуване на изображения чрез въвеждане на големи дифузионни трансформъри (DiTs) и двойни стилизирани данни, като предотвратява деградация на стила."
|
||||
},
|
||||
"Phi-3-medium-128k-instruct": {
|
||||
"description": "Същият модел Phi-3-medium, но с по-голям размер на контекста за RAG или малко подканване."
|
||||
},
|
||||
@@ -218,6 +257,9 @@
|
||||
"Pro/deepseek-ai/DeepSeek-V3": {
|
||||
"description": "DeepSeek-V3 е модел на езика с 6710 милиарда параметри, който използва архитектура на смесени експерти (MoE) с много глави на потенциално внимание (MLA) и стратегия за баланс на натоварването без помощни загуби, оптимизираща производителността на инференцията и обучението. Чрез предварително обучение на 14.8 трилиона висококачествени токени и последващо супервизирано фино настройване и обучение с подсилване, DeepSeek-V3 надминава производителността на други отворени модели и е близо до водещите затворени модели."
|
||||
},
|
||||
"Pro/moonshotai/Kimi-K2-Instruct": {
|
||||
"description": "Kimi K2 е базов модел с MoE архитектура с изключителни кодови и агентски способности, с общо 1 трилион параметри и 32 милиарда активирани параметри. В бенчмаркове за общо знание, програмиране, математика и агентски задачи моделът K2 превъзхожда други водещи отворени модели."
|
||||
},
|
||||
"QwQ-32B-Preview": {
|
||||
"description": "QwQ-32B-Preview е иновативен модел за обработка на естествен език, способен да обработва ефективно сложни задачи за генериране на диалог и разбиране на контекста."
|
||||
},
|
||||
@@ -278,9 +320,18 @@
|
||||
"Qwen/Qwen3-235B-A22B": {
|
||||
"description": "Qwen3 е ново поколение модел на Tongyi Qianwen с значително подобрени способности, достигащи водещо ниво в индустрията в разсъждения, общи, агенти и многоезични основни способности, и поддържа превключване на режим на мислене."
|
||||
},
|
||||
"Qwen/Qwen3-235B-A22B-Instruct-2507": {
|
||||
"description": "Qwen3-235B-A22B-Instruct-2507 е флагмански голям езиков модел с хибридни експерти (MoE) от серията Qwen3, разработен от екипа на Alibaba Cloud Tongyi Qianwen. Моделът има общо 235 милиарда параметри, като при всяко извеждане се активират 22 милиарда. Той е обновена версия на Qwen3-235B-A22B в не-мисловен режим, със значителни подобрения в следването на инструкции, логическо разсъждение, разбиране на текст, математика, наука, програмиране и използване на инструменти. Моделът също така разширява покритието на многоезикови дългоопашати знания и по-добре се адаптира към потребителските предпочитания в субективни и отворени задачи, за да генерира по-полезен и качествен текст."
|
||||
},
|
||||
"Qwen/Qwen3-235B-A22B-Thinking-2507": {
|
||||
"description": "Qwen3-235B-A22B-Thinking-2507 е член на серията големи езикови модели Qwen3, разработен от екипа на Alibaba Tongyi Qianwen, фокусиран върху сложни задачи за разсъждение. Моделът използва MoE архитектура с общо 235 милиарда параметри, като при обработка на всеки токен се активират около 22 милиарда, което повишава изчислителната ефективност без да се губи мощност. Като специализиран „мисловен“ модел, той постига значителни подобрения в логическо разсъждение, математика, наука, програмиране и академични бенчмаркове, достигайки водещи нива сред отворените мисловни модели. Освен това подобрява общите способности като следване на инструкции, използване на инструменти и генериране на текст, и поддържа нативно разбиране на дълги контексти до 256K токена, подходящ за дълбоко разсъждение и обработка на дълги документи."
|
||||
},
|
||||
"Qwen/Qwen3-30B-A3B": {
|
||||
"description": "Qwen3 е ново поколение модел на Tongyi Qianwen с значително подобрени способности, достигащи водещо ниво в индустрията в разсъждения, общи, агенти и многоезични основни способности, и поддържа превключване на режим на мислене."
|
||||
},
|
||||
"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-32B": {
|
||||
"description": "Qwen3 е ново поколение модел на Tongyi Qianwen с значително подобрени способности, достигащи водещо ниво в индустрията в разсъждения, общи, агенти и многоезични основни способности, и поддържа превключване на режим на мислене."
|
||||
},
|
||||
@@ -314,6 +365,12 @@
|
||||
"Qwen2.5-Coder-32B-Instruct": {
|
||||
"description": "Qwen2.5-Coder-32B-Instruct е голям езиков модел, проектиран специално за генериране на код, разбиране на код и ефективни сценарии за разработка, с водеща в индустрията параметрична стойност от 32B, способен да отговори на разнообразни програмни нужди."
|
||||
},
|
||||
"Qwen3-235B": {
|
||||
"description": "Qwen3-235B-A22B е MoE (хибриден експертен модел), който въвежда „хибриден режим на разсъждение“, позволяващ на потребителите безпроблемно превключване между „режим мислене“ и „режим без мислене“. Поддържа разбиране и разсъждение на 119 езика и диалекта и разполага с мощни възможности за извикване на инструменти. В множество базови тестове за общи способности, кодиране, математика, многоезичност, знания и разсъждение, той може да се конкурира с водещите големи модели на пазара като DeepSeek R1, OpenAI o1, o3-mini, Grok 3 и Google Gemini 2.5 Pro."
|
||||
},
|
||||
"Qwen3-32B": {
|
||||
"description": "Qwen3-32B е плътен модел (Dense Model), който въвежда „хибриден режим на разсъждение“, позволяващ на потребителите безпроблемно превключване между „режим мислене“ и „режим без мислене“. Благодарение на подобрения в архитектурата на модела, увеличени тренировъчни данни и по-ефективни методи за обучение, общата производителност е сравнима с тази на Qwen2.5-72B."
|
||||
},
|
||||
"SenseChat": {
|
||||
"description": "Основна версия на модела (V4), с контекстна дължина 4K, с мощни общи способности."
|
||||
},
|
||||
@@ -350,6 +407,12 @@
|
||||
"SenseChat-Vision": {
|
||||
"description": "Най-новата версия на модела (V5.5) поддържа вход с множество изображения и напълно реализира оптимизация на основните способности на модела, с голямо подобрение в разпознаването на свойства на обекти, пространствени отношения, разпознаване на действия и събития, разбиране на сцени, разпознаване на емоции, логическо разсъждение и генериране на текст."
|
||||
},
|
||||
"SenseNova-V6-5-Pro": {
|
||||
"description": "Чрез цялостно обновяване на мултимодалните, езиковите и разсъждаващите данни и оптимизация на тренировъчните стратегии, новият модел постига значително подобрение в мултимодалното разсъждение и способността за следване на общи инструкции. Поддържа контекстен прозорец до 128k и показва отлични резултати в специализирани задачи като OCR и разпознаване на културно-туристически IP."
|
||||
},
|
||||
"SenseNova-V6-5-Turbo": {
|
||||
"description": "Чрез цялостно обновяване на мултимодалните, езиковите и разсъждаващите данни и оптимизация на тренировъчните стратегии, новият модел постига значително подобрение в мултимодалното разсъждение и способността за следване на общи инструкции. Поддържа контекстен прозорец до 128k и показва отлични резултати в специализирани задачи като OCR и разпознаване на културно-туристически IP."
|
||||
},
|
||||
"SenseNova-V6-Pro": {
|
||||
"description": "Постигане на родно обединение на възможностите за изображения, текст и видео, преодолявайки ограниченията на традиционните мултимодални разделения, спечелвайки двойна титла в оценките OpenCompass и SuperCLUE."
|
||||
},
|
||||
@@ -548,6 +611,9 @@
|
||||
"aya:35b": {
|
||||
"description": "Aya 23 е многозначен модел, представен от Cohere, поддържащ 23 езика, предоставяйки удобство за многоезични приложения."
|
||||
},
|
||||
"azure-DeepSeek-R1-0528": {
|
||||
"description": "Доставен от Microsoft; моделът DeepSeek R1 е получил малка версия ъпгрейд, текущата версия е DeepSeek-R1-0528. В най-новата актуализация DeepSeek R1 значително подобрява дълбочината на разсъждение и способността за извод чрез увеличаване на изчислителните ресурси и въвеждане на алгоритмична оптимизация в следтренировъчния етап. Този модел се представя отлично в множество бенчмаркове като математика, програмиране и обща логика, като общата му производителност вече е близка до водещи модели като O3 и Gemini 2.5 Pro."
|
||||
},
|
||||
"baichuan/baichuan2-13b-chat": {
|
||||
"description": "Baichuan-13B е отворен, комерсиален голям езиков модел, разработен от Baichuan Intelligence, с 13 милиарда параметри, който постига най-добрите резултати в своя размер на авторитетни бенчмаркове на китайски и английски."
|
||||
},
|
||||
@@ -608,6 +674,9 @@
|
||||
"claude-3-sonnet-20240229": {
|
||||
"description": "Claude 3 Sonnet предлага идеален баланс между интелигентност и скорост за корпоративни работни натоварвания. Той предлага максимална полезност на по-ниска цена, надежден и подходящ за мащабно внедряване."
|
||||
},
|
||||
"claude-opus-4-1-20250805": {
|
||||
"description": "Claude Opus 4.1 е най-новият и най-мощен модел на Anthropic за справяне с изключително сложни задачи. Той се отличава с изключителна производителност, интелигентност, плавност и разбиране."
|
||||
},
|
||||
"claude-opus-4-20250514": {
|
||||
"description": "Claude Opus 4 е най-мощният модел на Anthropic, предназначен за обработка на изключително сложни задачи. Той се отличава с изключителна производителност, интелигентност, плавност и разбиране."
|
||||
},
|
||||
@@ -944,6 +1013,9 @@
|
||||
"doubao-seed-1.6-thinking": {
|
||||
"description": "Doubao-Seed-1.6-thinking моделът значително подобрява способностите за мислене в сравнение с Doubao-1.5-thinking-pro, с допълнителни подобрения в кодиране, математика и логическо разсъждение, като поддържа и визуално разбиране. Поддържа контекстен прозорец от 256k и максимална дължина на изхода до 16k токена."
|
||||
},
|
||||
"doubao-seedream-3-0-t2i-250415": {
|
||||
"description": "Моделът за генериране на изображения Doubao е разработен от екипа Seed на ByteDance, поддържа вход както от текст, така и от изображения, и предлага високо контролирано и качествено генериране на изображения. Генерира изображения въз основа на текстови подсказки."
|
||||
},
|
||||
"doubao-vision-lite-32k": {
|
||||
"description": "Моделът Doubao-vision е мултимодален голям модел, разработен от Doubao, с мощни способности за разбиране и разсъждение върху изображения, както и прецизно разбиране на инструкции. Моделът показва силна производителност при извличане на информация от изображения и текст, както и при задачи за разсъждение, базирани на изображения, подходящ за по-сложни и широки визуални въпроси."
|
||||
},
|
||||
@@ -995,6 +1067,9 @@
|
||||
"ernie-char-fiction-8k": {
|
||||
"description": "Специализиран голям езиков модел, разработен от Baidu, подходящ за приложения като NPC в игри, диалози на клиентска поддръжка и ролеви игри, с по-изразителен и последователен стил на персонажите, по-силна способност за следване на инструкции и по-добра производителност на разсъжденията."
|
||||
},
|
||||
"ernie-irag-edit": {
|
||||
"description": "Собствен модел за редактиране на изображения ERNIE iRAG на Baidu поддържа операции като изтриване (erase), прерисуване (repaint) и вариации (variation) върху изображения."
|
||||
},
|
||||
"ernie-lite-8k": {
|
||||
"description": "ERNIE Lite е лек голям езиков модел, разработен от Baidu, който съчетава отлични резултати с производителност на разсъжденията, подходящ за използване с AI ускорителни карти с ниска изчислителна мощ."
|
||||
},
|
||||
@@ -1022,14 +1097,32 @@
|
||||
"ernie-x1-turbo-32k": {
|
||||
"description": "В сравнение с ERNIE-X1-32K, моделът предлага по-добри резултати и производителност."
|
||||
},
|
||||
"flux-1-schnell": {
|
||||
"description": "Модел за генериране на изображения от текст с 12 милиарда параметри, разработен от Black Forest Labs, използващ латентна противоречива дифузионна дистилация, способен да генерира висококачествени изображения за 1 до 4 стъпки. Моделът постига производителност, сравнима с проприетарни алтернативи, и е пуснат под лиценз Apache-2.0, подходящ за лична, научна и търговска употреба."
|
||||
},
|
||||
"flux-dev": {
|
||||
"description": "FLUX.1 [dev] е отворен и пречистен модел, предназначен за нетърговска употреба. Той запазва качество на изображенията и способността за следване на инструкции, близки до професионалната версия на FLUX, като същевременно предлага по-висока ефективност на работа и по-добро използване на ресурсите в сравнение със стандартни модели със същия размер."
|
||||
},
|
||||
"flux-kontext/dev": {
|
||||
"description": "Модел за редактиране на изображения Frontier."
|
||||
"description": "FLUX.1 модел, фокусиран върху задачи за редактиране на изображения, поддържащ текстови и визуални входни данни."
|
||||
},
|
||||
"flux-merged": {
|
||||
"description": "FLUX.1-merged комбинира дълбоките характеристики, изследвани в разработката на \"DEV\" версията, с високоскоростните предимства на \"Schnell\". Тази комбинация не само разширява границите на производителността на модела, но и увеличава обхвата на неговото приложение."
|
||||
},
|
||||
"flux-pro/kontext": {
|
||||
"description": "FLUX.1 Kontext [pro] може да обработва текст и референтни изображения като вход, осигурявайки безпроблемно целенасочено локално редактиране и сложни трансформации на цялостната сцена."
|
||||
},
|
||||
"flux-schnell": {
|
||||
"description": "FLUX.1 [schnell] е най-напредналият отворен модел с малък брой стъпки, който надминава конкурентите си и дори превъзхожда мощни нефино настроени модели като Midjourney v6.0 и DALL·E 3 (HD). Моделът е специално фино настроен, за да запази пълното разнообразие на изхода от предварителното обучение и значително подобрява визуалното качество, следването на инструкции, промяната на размери/пропорции, обработката на шрифтове и разнообразието на изхода в сравнение с най-съвременните модели на пазара, предоставяйки по-богато и разнообразно творческо генериране на изображения."
|
||||
},
|
||||
"flux.1-schnell": {
|
||||
"description": "Коригиран потоков трансформър с 12 милиарда параметри, способен да генерира изображения въз основа на текстово описание."
|
||||
},
|
||||
"flux/krea": {
|
||||
"description": "Flux Krea [dev] е модел за генериране на изображения с естетически предпочитания, целящ да създава по-реалистични и естествени изображения."
|
||||
},
|
||||
"flux/schnell": {
|
||||
"description": "FLUX.1 [schnell] е потоков трансформаторен модел с 12 милиарда параметри, способен да генерира висококачествени изображения от текст в 1 до 4 стъпки, подходящ за лична и търговска употреба."
|
||||
"description": "FLUX.1 [schnell] е модел за генериране на изображения с 12 милиарда параметри, фокусиран върху бързото създаване на висококачествени изображения."
|
||||
},
|
||||
"gemini-1.0-pro-001": {
|
||||
"description": "Gemini 1.0 Pro 001 (Тунинг) предлага стабилна и настройваема производителност, идеален избор за решения на сложни задачи."
|
||||
@@ -1109,9 +1202,6 @@
|
||||
"gemini-2.5-flash-preview-04-17": {
|
||||
"description": "Gemini 2.5 Flash Preview е моделът с най-добро съотношение цена-качество на Google, предлагащ пълна функционалност."
|
||||
},
|
||||
"gemini-2.5-flash-preview-04-17-thinking": {
|
||||
"description": "Gemini 2.5 Flash Preview е най-ефективният модел на Google, предлагащ пълна функционалност."
|
||||
},
|
||||
"gemini-2.5-flash-preview-05-20": {
|
||||
"description": "Gemini 2.5 Flash Preview е най-ефективният модел на Google, предлагащ пълна функционалност."
|
||||
},
|
||||
@@ -1190,6 +1280,21 @@
|
||||
"glm-4.1v-thinking-flashx": {
|
||||
"description": "Серията модели GLM-4.1V-Thinking е най-мощният визуален модел сред известните VLM модели с размер около 10 милиарда параметри, обединяващ водещи в класа си задачи за визуално-езиково разбиране, включително видео разбиране, въпроси и отговори върху изображения, решаване на предметни задачи, OCR разпознаване на текст, интерпретация на документи и графики, GUI агент, кодиране на уеб страници, Grounding и други. Някои от задачите дори превъзхождат модели с 8 пъти повече параметри като Qwen2.5-VL-72B. Чрез водещи техники за подсилено обучение моделът овладява разсъждения чрез вериги на мисълта, което значително подобрява точността и богатството на отговорите, превъзхождайки традиционните модели без мисловен процес по отношение на крайния резултат и обяснимостта."
|
||||
},
|
||||
"glm-4.5": {
|
||||
"description": "Най-новият флагмански модел на Zhizhu, поддържащ режим на мислене, с общи способности на ниво SOTA сред отворените модели и контекстова дължина до 128K."
|
||||
},
|
||||
"glm-4.5-air": {
|
||||
"description": "Леката версия на GLM-4.5, балансираща между производителност и цена, с възможност за гъвкаво превключване на смесен мисловен режим."
|
||||
},
|
||||
"glm-4.5-airx": {
|
||||
"description": "Експресната версия на GLM-4.5-Air с по-бърза реакция, специално създадена за големи мащаби и високи скорости."
|
||||
},
|
||||
"glm-4.5-flash": {
|
||||
"description": "Безплатната версия на GLM-4.5, с отлични резултати в задачи за разсъждение, кодиране и интелигентни агенти."
|
||||
},
|
||||
"glm-4.5-x": {
|
||||
"description": "Експресната версия на GLM-4.5, която съчетава силна производителност с генериране на скорост до 100 токена в секунда."
|
||||
},
|
||||
"glm-4v": {
|
||||
"description": "GLM-4V предлага мощни способности за разбиране и разсъждение на изображения, поддържаща множество визуални задачи."
|
||||
},
|
||||
@@ -1209,7 +1314,7 @@
|
||||
"description": "Супер бързо разсъждение: с изключително бърза скорост на разсъждение и силни резултати."
|
||||
},
|
||||
"glm-z1-flash": {
|
||||
"description": "GLM-Z1 серията притежава силни способности за сложни разсъждения, показвайки отлични резултати в логическите разсъждения, математиката и програмирането. Максималната дължина на контекста е 32K."
|
||||
"description": "Серията GLM-Z1 притежава мощни способности за сложни разсъждения и се представя отлично в логическо мислене, математика и програмиране."
|
||||
},
|
||||
"glm-z1-flashx": {
|
||||
"description": "Висока скорост и ниска цена: Flash подобрена версия с изключително бърза скорост на инференция и по-добра гаранция за паралелна обработка."
|
||||
@@ -1379,12 +1484,33 @@
|
||||
"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."
|
||||
},
|
||||
"gpt-oss": {
|
||||
"description": "GPT-OSS 20B е отворен голям езиков модел, публикуван от OpenAI, използващ технологията за квантуване MXFP4, подходящ за работа на висок клас потребителски GPU или Apple Silicon Mac. Този модел се отличава с отлични резултати в генерирането на диалози, писането на код и задачи за разсъждение, като поддържа извикване на функции и използване на инструменти."
|
||||
},
|
||||
"gpt-oss:120b": {
|
||||
"description": "GPT-OSS 120B е голям отворен езиков модел, публикуван от OpenAI, използващ технологията за квантуване MXFP4, предназначен за флагмански клас модели. Изисква многократни GPU или високопроизводителна работна станция за работа, с изключителни възможности в сложни разсъждения, генериране на код и многоезична обработка, поддържайки усъвършенствано извикване на функции и интеграция на инструменти."
|
||||
},
|
||||
"grok-2-1212": {
|
||||
"description": "Този модел е подобрен по отношение на точност, спазване на инструкции и многоезични способности."
|
||||
},
|
||||
"grok-2-image-1212": {
|
||||
"description": "Нашият най-нов модел за генериране на изображения може да създава живи и реалистични изображения въз основа на текстови подсказки. Той се представя отлично в маркетинг, социални медии и развлекателни области."
|
||||
},
|
||||
"grok-2-vision-1212": {
|
||||
"description": "Този модел е подобрен по отношение на точност, спазване на инструкции и многоезични способности."
|
||||
},
|
||||
@@ -1454,6 +1580,9 @@
|
||||
"hunyuan-t1-20250529": {
|
||||
"description": "Оптимизиран за текстово творчество и писане на есета, подобрява уменията в кодирането, математиката и логическото разсъждение, както и способността за следване на инструкции."
|
||||
},
|
||||
"hunyuan-t1-20250711": {
|
||||
"description": "Значително подобрени способности в сложна математика, логика и кодиране, оптимизирана стабилност на изхода и подобрена работа с дълги текстове."
|
||||
},
|
||||
"hunyuan-t1-latest": {
|
||||
"description": "Първият в индустрията свръхголям хибриден трансформаторен модел за инференция, който разширява инференционните способности, предлага изключителна скорост на декодиране и допълнително съгласува човешките предпочитания."
|
||||
},
|
||||
@@ -1502,6 +1631,12 @@
|
||||
"hunyuan-vision": {
|
||||
"description": "Най-новият мултимодален модел на HunYuan, поддържащ генериране на текстово съдържание от изображения и текстови входове."
|
||||
},
|
||||
"image-01": {
|
||||
"description": "Нов модел за генериране на изображения с фини детайли, поддържащ генериране от текст и изображения."
|
||||
},
|
||||
"image-01-live": {
|
||||
"description": "Модел за генериране на изображения с фини детайли, поддържащ генериране от текст и настройка на стил."
|
||||
},
|
||||
"imagen-4.0-generate-preview-06-06": {
|
||||
"description": "Imagen 4-то поколение текст-към-изображение модел серия"
|
||||
},
|
||||
@@ -1509,7 +1644,7 @@
|
||||
"description": "Imagen 4-то поколение текст-към-изображение модел серия Ултра версия"
|
||||
},
|
||||
"imagen4/preview": {
|
||||
"description": "Най-висококачественият модел за генериране на изображения на Google."
|
||||
"description": "Висококачествен модел за генериране на изображения, предоставен от Google."
|
||||
},
|
||||
"internlm/internlm2_5-7b-chat": {
|
||||
"description": "InternLM2.5 предлага интелигентни решения за диалог в множество сценарии."
|
||||
@@ -1526,6 +1661,9 @@
|
||||
"internvl3-latest": {
|
||||
"description": "Нашият най-нов мултимодален голям модел, с по-силни способности за разбиране на текст и изображения, дългосрочно разбиране на изображения, производителност, сравнима с водещи затворени модели. По подразбиране сочи към нашата най-нова версия на серията InternVL, текущо сочи към internvl3-78b."
|
||||
},
|
||||
"irag-1.0": {
|
||||
"description": "Собствената технология iRAG (image based RAG) на Baidu за генериране на изображения с подсилено търсене, комбинираща милиарди изображения от търсачката на Baidu с мощни основни модели, позволява създаването на изключително реалистични изображения, далеч надминаващи родните системи за генериране на изображения от текст, без изкуствен вид и с ниски разходи. iRAG се характеризира с липса на халюцинации, изключителна реалистичност и незабавна готовност."
|
||||
},
|
||||
"jamba-large": {
|
||||
"description": "Нашият най-мощен и напреднал модел, проектиран за справяне с комплексни задачи на корпоративно ниво, с изключителна производителност."
|
||||
},
|
||||
@@ -1535,6 +1673,9 @@
|
||||
"jina-deepsearch-v1": {
|
||||
"description": "Дълбокото търсене комбинира интернет търсене, четене и разсъждение, за да извърши обширно разследване. Можете да го разглеждате като агент, който приема вашата изследователска задача - той ще извърши широко търсене и ще премине през множество итерации, преди да предостави отговор. Този процес включва непрекъснато изследване, разсъждение и решаване на проблеми от различни ъгли. Това е коренно различно от стандартните големи модели, които генерират отговори директно от предварително обучени данни, и от традиционните RAG системи, които разчитат на еднократни повърхностни търсения."
|
||||
},
|
||||
"kimi-k2": {
|
||||
"description": "Kimi-K2 е базов модел с MoE архитектура, пуснат от Moonshot AI, с изключителни кодови и агентски способности, общо 1 трилион параметри и 32 милиарда активирани параметри. В бенчмаркове за общо знание, програмиране, математика и агентски задачи моделът K2 превъзхожда други водещи отворени модели."
|
||||
},
|
||||
"kimi-k2-0711-preview": {
|
||||
"description": "kimi-k2 е базов модел с MoE архитектура с изключителни способности за кодиране и агентски функции, с общо 1 трилион параметри и 32 милиарда активни параметри. В тестове за общо знание, програмиране, математика и агентски задачи, моделът K2 превъзхожда други водещи отворени модели."
|
||||
},
|
||||
@@ -1928,6 +2069,9 @@
|
||||
"moonshotai/Kimi-Dev-72B": {
|
||||
"description": "Kimi-Dev-72B е голям отворен модел за код, оптимизиран чрез мащабно подсилено обучение, способен да генерира стабилни и директно приложими пачове. Този модел постига нов рекорд от 60,4 % на SWE-bench Verified, подобрявайки резултатите на отворени модели в автоматизирани задачи за софтуерно инженерство като поправка на дефекти и преглед на код."
|
||||
},
|
||||
"moonshotai/Kimi-K2-Instruct": {
|
||||
"description": "Kimi K2 е базов модел с MoE архитектура, с изключителни кодови и агентски способности, общо 1 трилион параметри и 32 милиарда активирани параметри. В бенчмаркове за общо знание, програмиране, математика и агентски задачи моделът K2 превъзхожда други водещи отворени модели."
|
||||
},
|
||||
"moonshotai/kimi-k2-instruct": {
|
||||
"description": "kimi-k2 е базов модел с MoE архитектура с изключителни способности за кодиране и агент, с общо 1 трилион параметри и 32 милиарда активни параметри. В бенчмаркови тестове за общи знания, програмиране, математика и агенти, моделът K2 превъзхожда други водещи отворени модели."
|
||||
},
|
||||
@@ -2003,6 +2147,12 @@
|
||||
"openai/gpt-4o-mini": {
|
||||
"description": "GPT-4o mini е най-новият модел на OpenAI, пуснат след GPT-4 Omni, който поддържа вход и изход на текст и изображения. Като най-напредналият им малък модел, той е значително по-евтин от другите нови модели и е с над 60% по-евтин от GPT-3.5 Turbo. Запазва най-съвременната интелигентност, като предлага значителна стойност за парите. GPT-4o mini получи 82% на теста MMLU и в момента е с по-висок рейтинг от GPT-4 в предпочитанията за чат."
|
||||
},
|
||||
"openai/gpt-oss-120b": {
|
||||
"description": "OpenAI GPT-OSS 120B е водещ езиков модел с 120 милиарда параметри, вграден браузър за търсене и изпълнение на код, както и способности за разсъждение."
|
||||
},
|
||||
"openai/gpt-oss-20b": {
|
||||
"description": "OpenAI GPT-OSS 20B е водещ езиков модел с 20 милиарда параметри, вграден браузър за търсене и изпълнение на код, както и способности за разсъждение."
|
||||
},
|
||||
"openai/o1": {
|
||||
"description": "o1 е новият модел за разсъждение на OpenAI, който поддържа вход с изображения и текст и генерира текст, подходящ за сложни задачи, изискващи широкообхватни общи знания. Моделът разполага с контекст от 200K и дата на знание до октомври 2023 г."
|
||||
},
|
||||
@@ -2063,6 +2213,9 @@
|
||||
"qwen-coder-turbo-latest": {
|
||||
"description": "Моделът на кода Qwen."
|
||||
},
|
||||
"qwen-image": {
|
||||
"description": "Мощен модел за генериране на изображения от екипа на Qwen, с впечатляващи възможности за генериране на китайски текст и разнообразни визуални стилове на изображения."
|
||||
},
|
||||
"qwen-long": {
|
||||
"description": "Qwen е мащабен езиков модел, който поддържа дълги текстови контексти и диалогови функции, базирани на дълги документи и множество документи."
|
||||
},
|
||||
@@ -2264,9 +2417,21 @@
|
||||
"qwen3-235b-a22b": {
|
||||
"description": "Qwen3 е ново поколение модел с значително подобрени способности, който достига водещо ниво в индустрията в области като разсъждение, общо използване, агенти и многоезичност, и поддържа превключване на режимите на разсъждение."
|
||||
},
|
||||
"qwen3-235b-a22b-instruct-2507": {
|
||||
"description": "Отворен модел в не-мисловен режим, базиран на Qwen3, с леки подобрения в субективните творчески способности и безопасността на модела спрямо предишната версия (Tongyi Qianwen 3-235B-A22B)."
|
||||
},
|
||||
"qwen3-235b-a22b-thinking-2507": {
|
||||
"description": "Отворен модел в мисловен режим, базиран на Qwen3, с големи подобрения в логическите способности, общите умения, обогатяването на знания и творческите способности спрямо предишната версия (Tongyi Qianwen 3-235B-A22B), подходящ за сложни задачи с високи изисквания за разсъждение."
|
||||
},
|
||||
"qwen3-30b-a3b": {
|
||||
"description": "Qwen3 е ново поколение модел с значително подобрени способности, който достига водещо ниво в индустрията в области като разсъждение, общо използване, агенти и многоезичност, и поддържа превключване на режимите на разсъждение."
|
||||
},
|
||||
"qwen3-30b-a3b-instruct-2507": {
|
||||
"description": "В сравнение с предишната версия (Qwen3-30B-A3B), общите способности на английски, китайски и многоезични задачи са значително подобрени. Специализирана оптимизация за субективни и отворени задачи, значително по-добре съобразена с предпочитанията на потребителите, което позволява предоставяне на по-полезни отговори."
|
||||
},
|
||||
"qwen3-30b-a3b-thinking-2507": {
|
||||
"description": "Базиран на отворения модел в режим мислене на Qwen3, в сравнение с предишната версия (Tongyi Qianwen 3-30B-A3B) логическите способности, общите умения, знанията и творческите способности са значително подобрени, подходящ за сложни сценарии с интензивно разсъждение."
|
||||
},
|
||||
"qwen3-32b": {
|
||||
"description": "Qwen3 е ново поколение модел с значително подобрени способности, който достига водещо ниво в индустрията в области като разсъждение, общо използване, агенти и многоезичност, и поддържа превключване на режимите на разсъждение."
|
||||
},
|
||||
@@ -2276,6 +2441,15 @@
|
||||
"qwen3-8b": {
|
||||
"description": "Qwen3 е ново поколение модел с значително подобрени способности, който достига водещо ниво в индустрията в области като разсъждение, общо използване, агенти и многоезичност, и поддържа превключване на режимите на разсъждение."
|
||||
},
|
||||
"qwen3-coder-480b-a35b-instruct": {
|
||||
"description": "Отворена версия на кодовия модел Tongyi Qianwen. Най-новият qwen3-coder-480b-a35b-instruct е кодов модел, базиран на Qwen3, с мощни Coding Agent способности, умения за използване на инструменти и взаимодействие с околната среда, способен на автономно програмиране с отлични кодови и общи умения."
|
||||
},
|
||||
"qwen3-coder-flash": {
|
||||
"description": "Кодиращ модел на Tongyi Qianwen. Най-новата серия модели Qwen3-Coder е базирана на Qwen3 и е модел за генериране на код с мощни възможности на Coding Agent, умеещ да използва инструменти и да взаимодейства с околната среда, способен на автономно програмиране, с изключителни кодови умения и същевременно общи способности."
|
||||
},
|
||||
"qwen3-coder-plus": {
|
||||
"description": "Кодиращ модел на Tongyi Qianwen. Най-новата серия модели Qwen3-Coder е базирана на Qwen3 и е модел за генериране на код с мощни възможности на Coding Agent, умеещ да използва инструменти и да взаимодейства с околната среда, способен на автономно програмиране, с изключителни кодови умения и същевременно общи способности."
|
||||
},
|
||||
"qwq": {
|
||||
"description": "QwQ е експериментален изследователски модел, който се фокусира върху подобряване на AI разсъдъчните способности."
|
||||
},
|
||||
@@ -2318,6 +2492,24 @@
|
||||
"sonar-reasoning-pro": {
|
||||
"description": "Нов API продукт, поддържан от модела за разсъждение DeepSeek."
|
||||
},
|
||||
"stable-diffusion-3-medium": {
|
||||
"description": "Най-новият голям модел за генериране на изображения от текст, пуснат от Stability AI. Тази версия запазва предимствата на предишните поколения и значително подобрява качеството на изображенията, разбирането на текст и разнообразието на стилове, позволявайки по-точно интерпретиране на сложни естествени езикови подсказки и генериране на по-прецизни и разнообразни изображения."
|
||||
},
|
||||
"stable-diffusion-3.5-large": {
|
||||
"description": "stable-diffusion-3.5-large е мултимоделен дифузионен трансформър (MMDiT) модел за генериране на изображения от текст с 800 милиона параметри, предлагащ изключително качество на изображенията и съвпадение с подсказките, поддържащ генериране на изображения с резолюция до 1 милион пиксела и ефективна работа на обикновен хардуер за потребители."
|
||||
},
|
||||
"stable-diffusion-3.5-large-turbo": {
|
||||
"description": "stable-diffusion-3.5-large-turbo е модел, базиран на stable-diffusion-3.5-large, използващ технологията за противоречива дифузионна дистилация (ADD) за по-висока скорост."
|
||||
},
|
||||
"stable-diffusion-v1.5": {
|
||||
"description": "stable-diffusion-v1.5 е инициализиран с теглата на stable-diffusion-v1.2 checkpoint и е фино настроен за 595k стъпки при резолюция 512x512 върху \"laion-aesthetics v2 5+\", с намалена текстова кондиционираност с 10% за подобряване на безкласовото насочено семплиране."
|
||||
},
|
||||
"stable-diffusion-xl": {
|
||||
"description": "stable-diffusion-xl представлява значително подобрение спрямо v1.5 и постига качество, сравнимо с водещия отворен модел midjourney. Основните подобрения включват: по-голям unet гръбнак, три пъти по-голям от предишния; добавен refinement модул за подобряване на качеството на генерираните изображения; по-ефективни техники за обучение и други."
|
||||
},
|
||||
"stable-diffusion-xl-base-1.0": {
|
||||
"description": "Голям модел за генериране на изображения от текст, разработен и отворен от Stability AI, с водещи в индустрията способности за творческо генериране на изображения. Отличава се с изключителна способност за разбиране на инструкции и поддържа обратни промпти за прецизно дефиниране на съдържанието."
|
||||
},
|
||||
"step-1-128k": {
|
||||
"description": "Баланс между производителност и разходи, подходящ за общи сценарии."
|
||||
},
|
||||
@@ -2348,6 +2540,12 @@
|
||||
"step-1v-8k": {
|
||||
"description": "Малък визуален модел, подходящ за основни текстово-визуални задачи."
|
||||
},
|
||||
"step-1x-edit": {
|
||||
"description": "Този модел е специализиран за задачи по редактиране на изображения, способен да модифицира и подобрява изображения според предоставени от потребителя снимки и текстови описания. Поддържа различни входни формати, включително текстови описания и примерни изображения. Моделът разбира намеренията на потребителя и генерира редактирани изображения, отговарящи на изискванията."
|
||||
},
|
||||
"step-1x-medium": {
|
||||
"description": "Този модел притежава мощни способности за генериране на изображения, поддържа вход от текстови описания. Има вградена поддръжка на китайски език, което позволява по-добро разбиране и обработка на китайски текстови описания, по-точно улавяне на семантиката и превръщането ѝ в визуални характеристики за по-прецизно генериране на изображения. Моделът може да генерира висококачествени и високоразделителни изображения и притежава известни способности за трансфер на стил."
|
||||
},
|
||||
"step-2-16k": {
|
||||
"description": "Поддържа взаимодействия с голям мащаб на контекста, подходящи за сложни диалогови сценарии."
|
||||
},
|
||||
@@ -2357,6 +2555,9 @@
|
||||
"step-2-mini": {
|
||||
"description": "Модел с бърза производителност, базиран на новото поколение собствена архитектура Attention MFA, който постига резултати, подобни на step1 с много ниски разходи, като същевременно поддържа по-висока производителност и по-бързо време за отговор. Може да обработва общи задачи и притежава специализирани умения в кодирането."
|
||||
},
|
||||
"step-2x-large": {
|
||||
"description": "Новото поколение модел за генериране на изображения Step Star, специализиран в генериране на висококачествени изображения според текстови описания от потребителя. Новият модел създава по-реалистични текстури и има по-силни способности за генериране на китайски и английски текст."
|
||||
},
|
||||
"step-r1-v-mini": {
|
||||
"description": "Този модел е мощен модел за разсъждение с отлични способности за разбиране на изображения, способен да обработва информация от изображения и текст, и след дълбочинно разсъждение да генерира текстово съдържание. Моделът показва изключителни резултати в областта на визуалните разсъждения, като същевременно притежава първокласни способности в математиката, кода и текстовите разсъждения. Дължината на контекста е 100k."
|
||||
},
|
||||
@@ -2432,8 +2633,23 @@
|
||||
"v0-1.5-md": {
|
||||
"description": "Моделът v0-1.5-md е подходящ за ежедневни задачи и генериране на потребителски интерфейс (UI)"
|
||||
},
|
||||
"wan2.2-t2i-flash": {
|
||||
"description": "Wanxiang 2.2 експресна версия, най-новият модел към момента. Комплексно подобрение в креативност, стабилност и реализъм, с бърза скорост на генериране и висока цена-ефективност."
|
||||
},
|
||||
"wan2.2-t2i-plus": {
|
||||
"description": "Wanxiang 2.2 професионална версия, най-новият модел към момента. Комплексно подобрение в креативност, стабилност и реализъм, с богати детайли в генерираните изображения."
|
||||
},
|
||||
"wanx-v1": {
|
||||
"description": "Основен модел за генериране на изображения от текст. Съответства на универсалния модел 1.0 на официалния сайт на Tongyi Wanxiang."
|
||||
},
|
||||
"wanx2.0-t2i-turbo": {
|
||||
"description": "Специализиран в генериране на портрети с реалистична текстура, със средна скорост и ниски разходи. Съответства на експресния модел 2.0 на официалния сайт на Tongyi Wanxiang."
|
||||
},
|
||||
"wanx2.1-t2i-plus": {
|
||||
"description": "Пълноценна ъпгрейд версия. Генерираните изображения са с по-богати детайли, скоростта е леко по-ниска. Съответства на професионалния модел 2.1 на официалния сайт на Tongyi Wanxiang."
|
||||
},
|
||||
"wanx2.1-t2i-turbo": {
|
||||
"description": "Модел за генериране на изображения от текст на Alibaba Cloud Tongyi"
|
||||
"description": "Пълноценна ъпгрейд версия. Бърза скорост на генериране, цялостно качество и висока цена-ефективност. Съответства на експресния модел 2.1 на официалния сайт на Tongyi Wanxiang."
|
||||
},
|
||||
"whisper-1": {
|
||||
"description": "Универсален модел за разпознаване на реч, поддържащ многоезично разпознаване на реч, превод на реч и разпознаване на език."
|
||||
@@ -2485,5 +2701,11 @@
|
||||
},
|
||||
"yi-vision-v2": {
|
||||
"description": "Модел за сложни визуални задачи, предлагащ висока производителност в разбирането и анализа на базата на множество изображения."
|
||||
},
|
||||
"zai-org/GLM-4.5": {
|
||||
"description": "GLM-4.5 е базов модел, специално създаден за интелигентни агенти, използващ архитектура с микс от експерти (Mixture-of-Experts). Той е дълбоко оптимизиран за използване на инструменти, уеб браузване, софтуерно инженерство и фронтенд програмиране, и поддържа безпроблемна интеграция с кодови агенти като Claude Code и Roo Code. GLM-4.5 използва смесен режим на разсъждение, подходящ за сложни и ежедневни приложения."
|
||||
},
|
||||
"zai-org/GLM-4.5-Air": {
|
||||
"description": "GLM-4.5-Air е базов модел, специално създаден за интелигентни агенти, използващ архитектура с микс от експерти (Mixture-of-Experts). Той е дълбоко оптимизиран за използване на инструменти, уеб браузване, софтуерно инженерство и фронтенд програмиране, и поддържа безпроблемна интеграция с кодови агенти като Claude Code и Roo Code. GLM-4.5 използва смесен режим на разсъждение, подходящ за сложни и ежедневни приложения."
|
||||
}
|
||||
}
|
||||
|
||||
+204
-144
@@ -1,25 +1,25 @@
|
||||
{
|
||||
"confirm": "Потвърдете",
|
||||
"confirm": "Потвърждавам",
|
||||
"debug": {
|
||||
"arguments": "Аргументи",
|
||||
"arguments": "Параметри на извикване",
|
||||
"function_call": "Извикване на функция",
|
||||
"off": "Изключи отстраняване на грешки",
|
||||
"on": "Преглед на информацията за извикване на плъгина",
|
||||
"payload": "полезна натоварване",
|
||||
"off": "Изключване на отстраняване на грешки",
|
||||
"on": "Преглед на информация за извикване на плъгин",
|
||||
"payload": "Товар на плъгина",
|
||||
"pluginState": "Състояние на плъгина",
|
||||
"response": "Отговор",
|
||||
"response": "Резултат",
|
||||
"title": "Детайли за плъгина",
|
||||
"tool_call": "заявка за инструмент"
|
||||
"tool_call": "Заявка за извикване на инструмент"
|
||||
},
|
||||
"detailModal": {
|
||||
"customPlugin": {
|
||||
"description": "Моля, посетете страницата за редактиране, за да видите подробности",
|
||||
"description": "Моля, посетете страницата за редактиране за подробности",
|
||||
"editBtn": "Редактирай сега",
|
||||
"title": "Това е персонализиран плъгин"
|
||||
},
|
||||
"emptyState": {
|
||||
"description": "Моля, инсталирайте този плъгин, за да видите възможностите и опциите за конфигурация на плъгина",
|
||||
"title": "Вижте подробностите за плъгина след инсталиране"
|
||||
"description": "Моля, инсталирайте този плъгин, за да видите възможностите и опциите за конфигурация",
|
||||
"title": "Вижте детайли за плъгина след инсталация"
|
||||
},
|
||||
"info": {
|
||||
"description": "Описание на API",
|
||||
@@ -30,19 +30,19 @@
|
||||
"manifest": "Инсталационен файл",
|
||||
"settings": "Настройки"
|
||||
},
|
||||
"title": "Подробности за плъгина"
|
||||
"title": "Детайли за плъгина"
|
||||
},
|
||||
"dev": {
|
||||
"confirmDeleteDevPlugin": "Сигурни ли сте, че искате да изтриете този локален плъгин? След като бъде изтрит, той не може да бъде възстановен.",
|
||||
"confirmDeleteDevPlugin": "Ще изтриете този локален плъгин. След изтриване той не може да бъде възстановен. Сигурни ли сте, че искате да изтриете плъгина?",
|
||||
"customParams": {
|
||||
"useProxy": {
|
||||
"label": "Инсталиране чрез прокси (ако срещате грешки при достъп от различен произход, опитайте да активирате тази опция и да преинсталирате)"
|
||||
"label": "Инсталиране чрез прокси (ако срещнете грешки с достъп през различен домейн, опитайте да активирате тази опция и да инсталирате отново)"
|
||||
}
|
||||
},
|
||||
"deleteSuccess": "Плъгинът е изтрит успешно",
|
||||
"manifest": {
|
||||
"identifier": {
|
||||
"desc": "Уникалният идентификатор на плъгина",
|
||||
"desc": "Уникален идентификатор на плъгина",
|
||||
"label": "Идентификатор"
|
||||
},
|
||||
"mode": {
|
||||
@@ -51,7 +51,7 @@
|
||||
"url": "Онлайн връзка"
|
||||
},
|
||||
"name": {
|
||||
"desc": "Заглавието на плъгина",
|
||||
"desc": "Заглавие на плъгина",
|
||||
"label": "Заглавие",
|
||||
"placeholder": "Търсачка"
|
||||
}
|
||||
@@ -61,50 +61,50 @@
|
||||
"title": "Разширени настройки"
|
||||
},
|
||||
"args": {
|
||||
"desc": "Списък с параметри, предадени на командата за изпълнение, обикновено тук се въвежда името на MCP сървъра или пътя до стартиращия скрипт",
|
||||
"label": "Командни параметри",
|
||||
"placeholder": "Например: --port 8080 --debug",
|
||||
"required": "Моля, въведете параметри за стартиране"
|
||||
"desc": "Списък с параметри, предавани на командата за изпълнение, обикновено тук се въвежда името на MCP сървъра или пътят към стартовия скрипт",
|
||||
"label": "Параметри на командата",
|
||||
"placeholder": "Например: mcp-hello-world",
|
||||
"required": "Моля, въведете стартови параметри"
|
||||
},
|
||||
"auth": {
|
||||
"bear": "API ключ",
|
||||
"desc": "Изберете метод за удостоверяване на MCP сървъра",
|
||||
"label": "Тип удостоверяване",
|
||||
"none": "Без удостоверяване",
|
||||
"none": "Не се изисква удостоверяване",
|
||||
"placeholder": "Моля, изберете тип удостоверяване",
|
||||
"token": {
|
||||
"desc": "Въведете своя API ключ или Bearer токен",
|
||||
"desc": "Въведете вашия API ключ или Bearer токен",
|
||||
"label": "API ключ",
|
||||
"placeholder": "sk-xxxxx",
|
||||
"required": "Моля, въведете удостоверителния токен"
|
||||
"required": "Моля, въведете удостоверителен токен"
|
||||
}
|
||||
},
|
||||
"avatar": {
|
||||
"label": "Икона на плъгин"
|
||||
"label": "Икона на плъгина"
|
||||
},
|
||||
"command": {
|
||||
"desc": "Изпълним файл или скрипт за стартиране на MCP STDIO плъгин",
|
||||
"desc": "Изпълним файл или скрипт за стартиране на MCP STDIO сървъра",
|
||||
"label": "Команда",
|
||||
"placeholder": "Например: python main.py или /path/to/executable",
|
||||
"placeholder": "Например: npx / uv / docker и др.",
|
||||
"required": "Моля, въведете команда за стартиране"
|
||||
},
|
||||
"desc": {
|
||||
"desc": "Добавете описание на плъгина",
|
||||
"label": "Описание на плъгина",
|
||||
"placeholder": "Допълнителна информация за използването на плъгина и контекста му"
|
||||
"placeholder": "Допълнете информация за употреба и сценарии"
|
||||
},
|
||||
"endpoint": {
|
||||
"desc": "Въведете адреса на вашия MCP Streamable HTTP Server",
|
||||
"desc": "Въведете адреса на вашия MCP Streamable HTTP сървър",
|
||||
"label": "MCP Endpoint URL"
|
||||
},
|
||||
"env": {
|
||||
"add": "Добави ред",
|
||||
"desc": "Въведете необходимите променливи на средата за вашия MCP сървър",
|
||||
"duplicateKeyError": "Ключовете на полетата трябва да са уникални",
|
||||
"formValidationFailed": "Валидирането на формата не успя, моля проверете формата на параметрите",
|
||||
"desc": "Въведете необходимите за MCP сървъра променливи на средата",
|
||||
"duplicateKeyError": "Ключът на полето трябва да е уникален",
|
||||
"formValidationFailed": "Валидирането на формата не бе успешно, моля проверете формата на параметрите",
|
||||
"keyRequired": "Ключът на полето не може да бъде празен",
|
||||
"label": "Променливи на средата на MCP сървър",
|
||||
"stringifyError": "Не може да се сериализира параметър, моля проверете формата на параметрите"
|
||||
"label": "Променливи на средата за MCP сървъра",
|
||||
"stringifyError": "Не може да се сериализират параметрите, моля проверете формата"
|
||||
},
|
||||
"headers": {
|
||||
"add": "Добави ред",
|
||||
@@ -112,127 +112,127 @@
|
||||
"label": "HTTP заглавки"
|
||||
},
|
||||
"identifier": {
|
||||
"desc": "Определете име за вашия MCP плъгин, трябва да използвате английски символи",
|
||||
"invalid": "Можете да въвеждате само английски символи, цифри, - и _",
|
||||
"label": "Име на MCP плъгин",
|
||||
"desc": "Задайте име на вашия MCP плъгин, трябва да използвате английски символи",
|
||||
"invalid": "Идентификаторът може да съдържа само букви, цифри, тирета и долни черти",
|
||||
"label": "Име на MCP плъгина",
|
||||
"placeholder": "Например: my-mcp-plugin",
|
||||
"required": "Моля, въведете идентификатор на MCP услугата"
|
||||
},
|
||||
"previewManifest": "Преглед на описателния файл на плъгина",
|
||||
"quickImport": "Бърз импорт на JSON конфигурация",
|
||||
"quickImportError": {
|
||||
"empty": "Въведеното съдържание не може да бъде празно",
|
||||
"empty": "Въведеният текст не може да бъде празен",
|
||||
"invalidJson": "Невалиден JSON формат",
|
||||
"invalidStructure": "JSON форматът е невалиден"
|
||||
"invalidStructure": "Невалидна JSON структура"
|
||||
},
|
||||
"stdioNotSupported": "Текущата среда не поддържа MCP плъгини от тип stdio",
|
||||
"testConnection": "Тествайте връзката",
|
||||
"testConnectionTip": "След успешното тестване на връзката, MCP плъгинът може да бъде използван нормално",
|
||||
"stdioNotSupported": "Текущата среда не поддържа stdio тип MCP плъгини",
|
||||
"testConnection": "Тествай връзката",
|
||||
"testConnectionTip": "MCP плъгинът може да се използва нормално само след успешен тест на връзката",
|
||||
"type": {
|
||||
"desc": "Изберете начина на комуникация на MCP плъгина, уеб версията поддържа само Streamable HTTP",
|
||||
"httpFeature1": "Съвместим с уеб версията и настолната версия",
|
||||
"httpFeature2": "Свързване с отдалечен MCP сървър, без нужда от допълнителна инсталация и конфигурация",
|
||||
"httpShortDesc": "Комуникационен протокол, базиран на потоково HTTP",
|
||||
"label": "Тип на MCP плъгин",
|
||||
"desc": "Изберете комуникационния тип на MCP плъгина, уеб версията поддържа само Streamable HTTP",
|
||||
"httpFeature1": "Съвместим с уеб и десктоп версия",
|
||||
"httpFeature2": "Свързва се с отдалечен MCP сървър без нужда от допълнителна инсталация и конфигурация",
|
||||
"httpShortDesc": "Комуникационен протокол базиран на потоков HTTP",
|
||||
"label": "Тип MCP плъгин",
|
||||
"stdioFeature1": "По-ниска комуникационна латентност, подходящ за локално изпълнение",
|
||||
"stdioFeature2": "Необходимо е локално инсталиране на MCP сървър",
|
||||
"stdioNotAvailable": "STDIO режимът е наличен само в настолната версия",
|
||||
"stdioShortDesc": "Комуникационен протокол, базиран на стандартен вход и изход",
|
||||
"title": "Тип на MCP плъгин"
|
||||
"stdioFeature2": "Изисква локална инсталация и стартиране на MCP сървър",
|
||||
"stdioNotAvailable": "STDIO режимът е наличен само в десктоп версията",
|
||||
"stdioShortDesc": "Комуникационен протокол базиран на стандартен вход/изход",
|
||||
"title": "Тип MCP плъгин"
|
||||
},
|
||||
"url": {
|
||||
"desc": "Въведете адреса на вашия MCP сървър Streamable HTTP, не поддържа режим SSE",
|
||||
"desc": "Въведете Streamable HTTP адреса на вашия MCP сървър, SSE режим не се поддържа",
|
||||
"invalid": "Моля, въведете валиден URL адрес",
|
||||
"label": "HTTP Endpoint URL",
|
||||
"label": "Streamable HTTP Endpoint URL",
|
||||
"required": "Моля, въведете URL на MCP услугата"
|
||||
}
|
||||
},
|
||||
"meta": {
|
||||
"author": {
|
||||
"desc": "Авторът на плъгина",
|
||||
"desc": "Автор на плъгина",
|
||||
"label": "Автор"
|
||||
},
|
||||
"avatar": {
|
||||
"desc": "Иконата на плъгина, може да бъде емоджи или URL адрес",
|
||||
"desc": "Икона на плъгина, може да използвате Emoji или URL",
|
||||
"label": "Икона"
|
||||
},
|
||||
"description": {
|
||||
"desc": "Описанието на плъгина",
|
||||
"desc": "Описание на плъгина",
|
||||
"label": "Описание",
|
||||
"placeholder": "Получаване на информация от търсачки"
|
||||
"placeholder": "Търсене в търсачка за информация"
|
||||
},
|
||||
"formFieldRequired": "Това поле е задължително",
|
||||
"homepage": {
|
||||
"desc": "Началната страница на плъгина",
|
||||
"desc": "Начална страница на плъгина",
|
||||
"label": "Начална страница"
|
||||
},
|
||||
"identifier": {
|
||||
"desc": "Уникалният идентификатор на плъгина, поддържа само буквено-цифрови символи, тире - и долна черта _",
|
||||
"errorDuplicate": "Идентификаторът вече се използва от друг плъгин, моля, променете идентификатора",
|
||||
"desc": "Уникален идентификатор на плъгина, автоматично разпознат от manifest",
|
||||
"errorDuplicate": "Идентификаторът се повтаря с вече съществуващ плъгин, моля променете идентификатора",
|
||||
"label": "Идентификатор",
|
||||
"pattenErrorMessage": "Разрешени са само буквено-цифрови символи, тире - и долна черта _"
|
||||
"pattenErrorMessage": "Може да съдържа само английски букви, цифри, тирета и долни черти"
|
||||
},
|
||||
"lobe": "{{appName}} плъгин",
|
||||
"manifest": {
|
||||
"desc": "{{appName}} ще инсталира приставката чрез тази връзка",
|
||||
"label": "URL адрес на описанието на плъгина (Manifest)",
|
||||
"preview": "Преглед на манифеста",
|
||||
"refresh": "Опресняване"
|
||||
"desc": "{{appName}} ще инсталира плъгина чрез този линк",
|
||||
"label": "Описателен файл на плъгина (Manifest) URL",
|
||||
"preview": "Преглед на Manifest",
|
||||
"refresh": "Обнови"
|
||||
},
|
||||
"openai": "OpenAI плъгин",
|
||||
"title": {
|
||||
"desc": "Заглавието на плъгина",
|
||||
"desc": "Заглавие на плъгина",
|
||||
"label": "Заглавие",
|
||||
"placeholder": "Търсачка"
|
||||
}
|
||||
},
|
||||
"metaConfig": "Конфигурация на метаданните на плъгина",
|
||||
"modalDesc": "След като добавите персонализиран плъгин, той може да се използва за проверка на разработката на плъгина или директно в сесията. Моля, вижте <1>документацията за разработка↗</> за разработка на плъгини.",
|
||||
"metaConfig": "Конфигурация на мета информацията на плъгина",
|
||||
"modalDesc": "След добавяне на персонализиран плъгин, той може да се използва за разработка и тестване на плъгини, както и директно в разговори. За разработка на плъгини вижте <1>документацията за разработчици↗</>",
|
||||
"openai": {
|
||||
"importUrl": "Импортиране от URL връзка",
|
||||
"importUrl": "Импортиране от URL линк",
|
||||
"schema": "Схема"
|
||||
},
|
||||
"preview": {
|
||||
"api": {
|
||||
"noParams": "Този инструмент няма параметри",
|
||||
"noResults": "Не са намерени API, отговарящи на условията за търсене",
|
||||
"noResults": "Не са намерени API-та, отговарящи на търсенето",
|
||||
"params": "Параметри:",
|
||||
"searchPlaceholder": "Търсене на инструменти..."
|
||||
},
|
||||
"card": "Преглед на дисплея на плъгина",
|
||||
"card": "Преглед на визуализацията на плъгина",
|
||||
"desc": "Преглед на описанието на плъгина",
|
||||
"empty": {
|
||||
"desc": "След завършване на конфигурацията, ще можете да прегледате възможностите на поддържаните инструменти тук",
|
||||
"title": "Започнете прегледа след конфигуриране на плъгина"
|
||||
"desc": "След конфигурация тук ще можете да преглеждате поддържаните възможности на плъгина",
|
||||
"title": "Започнете преглед след конфигуриране на плъгина"
|
||||
},
|
||||
"title": "Преглед на името на плъгина"
|
||||
},
|
||||
"save": "Инсталирай плъгина",
|
||||
"saveSuccess": "Настройките на плъгина са запазени успешно",
|
||||
"tabs": {
|
||||
"manifest": "Манифест на описанието на функцията (Manifest)",
|
||||
"meta": "Метаданни на плъгина"
|
||||
"manifest": "Функционален описателен файл (Manifest)",
|
||||
"meta": "Мета информация за плъгина"
|
||||
},
|
||||
"title": {
|
||||
"create": "Добави персонализиран плъгин",
|
||||
"edit": "Редактирай персонализиран плъгин"
|
||||
"create": "Добавяне на персонализиран плъгин",
|
||||
"edit": "Редактиране на персонализиран плъгин"
|
||||
},
|
||||
"type": {
|
||||
"lobe": "Плъгин на LobeChat",
|
||||
"openai": "Плъгин на OpenAI"
|
||||
"lobe": "{{appName}} плъгин",
|
||||
"openai": "OpenAI плъгин"
|
||||
},
|
||||
"update": "Актуализирай",
|
||||
"updateSuccess": "Настройките на плъгина са актуализирани успешно"
|
||||
"update": "Обновяване",
|
||||
"updateSuccess": "Настройките на плъгина са обновени успешно"
|
||||
},
|
||||
"error": {
|
||||
"fetchError": "Неуспешно извличане на връзката на манифеста. Моля, уверете се, че връзката е валидна и позволява достъп от различен произход.",
|
||||
"installError": "Инсталирането на плъгина {{name}} е неуспешно",
|
||||
"manifestInvalid": "Манифестът не отговаря на спецификацията. Резултат от проверката: \n\n {{error}}",
|
||||
"noManifest": "Файлът на манифеста не съществува",
|
||||
"openAPIInvalid": "Неуспешно анализиране на OpenAPI. Грешка: \n\n {{error}}",
|
||||
"reinstallError": "Неуспешно опресняване на плъгина {{name}}",
|
||||
"testConnectionFailed": "Неуспешно получаване на манифест: {{error}}",
|
||||
"urlError": "Връзката не върна съдържание във формат JSON. Моля, уверете се, че е валидна връзка."
|
||||
"fetchError": "Неуспешно заявяване на manifest линка, моля уверете се в валидността на линка и проверете дали е разрешен достъп от различен домейн",
|
||||
"installError": "Инсталацията на плъгина {{name}} не бе успешна",
|
||||
"manifestInvalid": "manifest не отговаря на стандарта, резултат от проверката: \n\n {{error}}",
|
||||
"noManifest": "Описателният файл не съществува",
|
||||
"openAPIInvalid": "Грешка при парсване на OpenAPI, грешка: \n\n {{error}}",
|
||||
"reinstallError": "Обновяването на плъгина {{name}} не бе успешно",
|
||||
"testConnectionFailed": "Неуспешно получаване на Manifest: {{error}}",
|
||||
"urlError": "Линкът не връща съдържание във формат JSON, моля уверете се, че е валиден линк"
|
||||
},
|
||||
"inspector": {
|
||||
"args": "Преглед на списъка с параметри",
|
||||
@@ -240,38 +240,38 @@
|
||||
},
|
||||
"list": {
|
||||
"item": {
|
||||
"deprecated.title": "Изтрит",
|
||||
"deprecated.title": "Премахнат",
|
||||
"local.config": "Конфигурация",
|
||||
"local.title": "Локален"
|
||||
"local.title": "Персонализиран"
|
||||
}
|
||||
},
|
||||
"loading": {
|
||||
"content": "Извикване на плъгин...",
|
||||
"content": "Извикване на плъгина...",
|
||||
"plugin": "Плъгинът работи..."
|
||||
},
|
||||
"localSystem": {
|
||||
"apiName": {
|
||||
"listLocalFiles": "Преглед на списъка с файлове",
|
||||
"moveLocalFiles": "Премести файл",
|
||||
"readLocalFile": "Чети съдържанието на файла",
|
||||
"renameLocalFile": "Преименувай",
|
||||
"listLocalFiles": "Преглед на списък с файлове",
|
||||
"moveLocalFiles": "Преместване на файлове",
|
||||
"readLocalFile": "Четене на съдържание на файл",
|
||||
"renameLocalFile": "Преименуване",
|
||||
"searchLocalFiles": "Търсене на файлове",
|
||||
"writeLocalFile": "Запиши файл"
|
||||
"writeLocalFile": "Запис в файл"
|
||||
},
|
||||
"title": "Локални файлове"
|
||||
},
|
||||
"mcpInstall": {
|
||||
"CHECKING_INSTALLATION": "Проверка на инсталационна среда...",
|
||||
"CHECKING_INSTALLATION": "Проверка на инсталационната среда...",
|
||||
"COMPLETED": "Инсталацията е завършена",
|
||||
"CONFIGURATION_REQUIRED": "Моля, завършете необходимата конфигурация, за да продължите с инсталацията",
|
||||
"ERROR": "Грешка при инсталацията",
|
||||
"FETCHING_MANIFEST": "Извличане на описанието на плъгина...",
|
||||
"GETTING_SERVER_MANIFEST": "Инициализиране на MCP сървъра...",
|
||||
"CONFIGURATION_REQUIRED": "Моля, завършете необходимата конфигурация, за да продължите инсталацията",
|
||||
"ERROR": "Грешка при инсталация",
|
||||
"FETCHING_MANIFEST": "Извличане на описателния файл на плъгина...",
|
||||
"GETTING_SERVER_MANIFEST": "Инициализация на MCP сървъра...",
|
||||
"INSTALLING_PLUGIN": "Инсталиране на плъгина...",
|
||||
"configurationDescription": "Този MCP плъгин изисква конфигурационни параметри за правилна работа, моля, попълнете необходимата информация",
|
||||
"configurationDescription": "Този MCP плъгин изисква конфигурационни параметри за нормална работа, моля попълнете необходимата информация",
|
||||
"configurationRequired": "Конфигуриране на параметрите на плъгина",
|
||||
"continueInstall": "Продължи с инсталацията",
|
||||
"dependenciesDescription": "Този плъгин изисква инсталиране на следните системни зависимости за правилна работа. Моля, инсталирайте липсващите зависимости според указанията и след това натиснете 'Пре-проверка', за да продължите с инсталацията.",
|
||||
"continueInstall": "Продължи инсталацията",
|
||||
"dependenciesDescription": "Този плъгин изисква инсталиране на следните системни зависимости за нормална работа, моля инсталирайте липсващите зависимости според инструкциите и след това натиснете за повторна проверка и продължаване на инсталацията.",
|
||||
"dependenciesRequired": "Моля, инсталирайте системните зависимости на плъгина",
|
||||
"dependencyStatus": {
|
||||
"installed": "Инсталирано",
|
||||
@@ -279,38 +279,98 @@
|
||||
"requiredVersion": "Изисквана версия: {{version}}"
|
||||
},
|
||||
"errorDetails": {
|
||||
"args": "Аргументи",
|
||||
"args": "Параметри",
|
||||
"command": "Команда",
|
||||
"connectionParams": "Параметри за връзка",
|
||||
"env": "Променливи на средата",
|
||||
"errorOutput": "Журнал на грешките",
|
||||
"errorOutput": "Лог на грешки",
|
||||
"exitCode": "Код на изход",
|
||||
"hideDetails": "Скрий детайли",
|
||||
"originalError": "Първоначална грешка",
|
||||
"showDetails": "Покажи детайли"
|
||||
},
|
||||
"errorTypes": {
|
||||
"AUTHORIZATION_ERROR": "Грешка при удостоверяване на разрешения",
|
||||
"CONNECTION_FAILED": "Връзката не бе осъществена",
|
||||
"AUTHORIZATION_ERROR": "Грешка при удостоверяване",
|
||||
"CONNECTION_FAILED": "Неуспешна връзка",
|
||||
"INITIALIZATION_TIMEOUT": "Времето за инициализация изтече",
|
||||
"PROCESS_SPAWN_ERROR": "Неуспешно стартиране на процеса",
|
||||
"PROCESS_SPAWN_ERROR": "Грешка при стартиране на процес",
|
||||
"UNKNOWN_ERROR": "Неизвестна грешка",
|
||||
"VALIDATION_ERROR": "Грешка при валидиране на параметрите"
|
||||
"VALIDATION_ERROR": "Грешка при валидация на параметрите"
|
||||
},
|
||||
"installError": "Инсталацията на MCP плъгина не бе успешна, причина: {{detail}}",
|
||||
"installMethods": {
|
||||
"manual": "Ръчна инсталация:",
|
||||
"recommended": "Препоръчителен метод за инсталация:"
|
||||
},
|
||||
"recheckDependencies": "Пре-проверка",
|
||||
"recheckDependencies": "Проверка отново на зависимостите",
|
||||
"skipDependencies": "Пропусни проверката"
|
||||
},
|
||||
"pluginList": "Списък с плъгини",
|
||||
"protocolInstall": {
|
||||
"actions": {
|
||||
"install": "Инсталирай",
|
||||
"installAnyway": "Инсталирай въпреки това",
|
||||
"installed": "Инсталиран"
|
||||
},
|
||||
"config": {
|
||||
"args": "Параметри",
|
||||
"command": "Команда",
|
||||
"env": "Променливи на средата",
|
||||
"headers": "Заглавки на заявката",
|
||||
"title": "Информация за конфигурация",
|
||||
"type": {
|
||||
"http": "Тип: HTTP",
|
||||
"label": "Тип",
|
||||
"stdio": "Тип: Stdio"
|
||||
},
|
||||
"url": "Адрес на услугата"
|
||||
},
|
||||
"custom": {
|
||||
"badge": "Персонализиран плъгин",
|
||||
"security": {
|
||||
"description": "Този плъгин не е официално проверен, инсталирането може да крие рискове за сигурността! Моля, уверете се, че имате доверие на източника на плъгина.",
|
||||
"title": "⚠️ Предупреждение за сигурност"
|
||||
},
|
||||
"title": "Инсталиране на персонализиран плъгин"
|
||||
},
|
||||
"marketplace": {
|
||||
"title": "Инсталиране на трети плъгини",
|
||||
"trustedBy": "Предоставено от {{name}}",
|
||||
"unverified": {
|
||||
"title": "Непроверени трети плъгини",
|
||||
"warning": "Този плъгин идва от непроверен трети пазар, моля уверете се, че имате доверие на източника преди инсталация."
|
||||
},
|
||||
"verified": "Проверен"
|
||||
},
|
||||
"messages": {
|
||||
"connectionTestFailed": "Тестът на връзката не бе успешен",
|
||||
"installError": "Инсталацията на плъгина не бе успешна, моля опитайте отново",
|
||||
"installSuccess": "Плъгинът {{name}} е инсталиран успешно!",
|
||||
"manifestError": "Неуспешно получаване на детайли за плъгина, моля проверете мрежовата връзка и опитайте отново",
|
||||
"manifestNotFound": "Не бе намерен описателен файл на плъгина"
|
||||
},
|
||||
"meta": {
|
||||
"author": "Автор",
|
||||
"homepage": "Начална страница",
|
||||
"identifier": "Идентификатор",
|
||||
"source": "Източник",
|
||||
"version": "Версия"
|
||||
},
|
||||
"official": {
|
||||
"badge": "Официален плъгин на LobeHub",
|
||||
"description": "Този плъгин е разработен и поддържан от LobeHub, преминал е строг контрол за сигурност и може да се използва с доверие.",
|
||||
"loadingMessage": "Зареждане на детайли за плъгина...",
|
||||
"loadingTitle": "Зареждане",
|
||||
"title": "Инсталиране на официален плъгин"
|
||||
},
|
||||
"title": "Инсталиране на MCP плъгин",
|
||||
"warning": "⚠️ Моля, уверете се, че имате доверие на източника на този плъгин, злонамерени плъгини могат да застрашат сигурността на вашата система."
|
||||
},
|
||||
"search": {
|
||||
"apiName": {
|
||||
"crawlMultiPages": "Четене на съдържанието на множество страници",
|
||||
"crawlSinglePage": "Чети съдържанието на страницата",
|
||||
"search": "Търсене на страница"
|
||||
"crawlMultiPages": "Четене на съдържание от множество страници",
|
||||
"crawlSinglePage": "Четене на съдържание от страница",
|
||||
"search": "Търсене на страници"
|
||||
},
|
||||
"config": {
|
||||
"addKey": "Добавяне на ключ",
|
||||
@@ -321,21 +381,21 @@
|
||||
"crawling": "Разпознаване на връзки",
|
||||
"detail": {
|
||||
"preview": "Преглед",
|
||||
"raw": "Оригинален текст",
|
||||
"tooLong": "Текстът е твърде дълъг, контекстът на разговора ще запази само първите {{characters}} символа, а останалата част няма да бъде включена в контекста на разговора"
|
||||
"raw": "Суров текст",
|
||||
"tooLong": "Текстът е твърде дълъг, в контекста на разговора се запазват само първите {{characters}} символа, останалата част не се включва в контекста"
|
||||
},
|
||||
"meta": {
|
||||
"crawler": "Режим на улавяне",
|
||||
"crawler": "Режим на обхождане",
|
||||
"words": "Брой символи"
|
||||
}
|
||||
},
|
||||
"searchxng": {
|
||||
"baseURL": "Моля, въведете",
|
||||
"description": "Моля, въведете URL адреса на SearchXNG, за да започнете търсене в мрежата",
|
||||
"description": "Въведете URL на SearchXNG, за да започнете търсене в мрежата",
|
||||
"keyPlaceholder": "Моля, въведете ключ",
|
||||
"title": "Конфигуриране на търсачката SearchXNG",
|
||||
"unconfiguredDesc": "Моля, свържете се с администратора, за да завършите конфигурацията на търсачката SearchXNG и да започнете търсене в мрежата",
|
||||
"unconfiguredTitle": "Търсачката SearchXNG все още не е конфигурирана"
|
||||
"title": "Конфигурация на търсачката SearchXNG",
|
||||
"unconfiguredDesc": "Моля, свържете се с администратора за конфигуриране на SearchXNG, за да започнете търсене в мрежата",
|
||||
"unconfiguredTitle": "SearchXNG не е конфигурирана"
|
||||
},
|
||||
"title": "Търсене в мрежата"
|
||||
},
|
||||
@@ -351,56 +411,56 @@
|
||||
"title": "Конфигурация на плъгина"
|
||||
},
|
||||
"connection": {
|
||||
"args": "Параметри за стартиране",
|
||||
"args": "Стартови параметри",
|
||||
"command": "Команда за стартиране",
|
||||
"title": "Информация за връзка",
|
||||
"type": "Тип връзка",
|
||||
"type": "Тип на връзката",
|
||||
"url": "Адрес на услугата"
|
||||
},
|
||||
"edit": "Редактиране",
|
||||
"envConfigDescription": "Тези настройки ще бъдат предадени като променливи на средата при стартиране на MCP сървъра",
|
||||
"httpTypeNotice": "MCP плъгините от тип HTTP нямат нужда от конфигуриране на променливи на средата",
|
||||
"httpTypeNotice": "HTTP тип MCP плъгини в момента не изискват конфигуриране на променливи на средата",
|
||||
"indexUrl": {
|
||||
"title": "Индекс на пазара",
|
||||
"tooltip": "Редактирането не се поддържа в момента"
|
||||
"tooltip": "В момента не се поддържа онлайн редактиране, моля настройте чрез променливи на средата при разгръщане"
|
||||
},
|
||||
"messages": {
|
||||
"connectionUpdateFailed": "Неуспешна актуализация на информацията за връзка",
|
||||
"connectionUpdateSuccess": "Информацията за връзка е успешно актуализирана",
|
||||
"envUpdateFailed": "Неуспешно запазване на променливите на средата",
|
||||
"envUpdateSuccess": "Променливите на средата са успешно запазени"
|
||||
"connectionUpdateFailed": "Актуализацията на информацията за връзка не бе успешна",
|
||||
"connectionUpdateSuccess": "Информацията за връзка е актуализирана успешно",
|
||||
"envUpdateFailed": "Записът на променливите на средата не бе успешен",
|
||||
"envUpdateSuccess": "Променливите на средата са записани успешно"
|
||||
},
|
||||
"modalDesc": "След като конфигурирате адреса на пазара на плъгини, можете да използвате персонализиран пазар на плъгини",
|
||||
"modalDesc": "След конфигуриране на адреса на пазара на плъгини, можете да използвате персонализиран пазар на плъгини",
|
||||
"rules": {
|
||||
"argsRequired": "Моля, въведете параметри за стартиране",
|
||||
"argsRequired": "Моля, въведете стартови параметри",
|
||||
"commandRequired": "Моля, въведете команда за стартиране",
|
||||
"urlRequired": "Моля, въведете адрес на услугата"
|
||||
},
|
||||
"saveSettings": "Запази настройките",
|
||||
"title": "Конфигуриране на пазара на плъгини"
|
||||
"title": "Настройки на пазара на плъгини"
|
||||
},
|
||||
"showInPortal": "Моля, вижте подробностите в работното пространство",
|
||||
"showInPortal": "Моля, прегледайте детайлите в работната област",
|
||||
"store": {
|
||||
"actions": {
|
||||
"cancel": "Отказване на инсталацията",
|
||||
"confirmUninstall": "Плъгинът е на път да бъде деинсталиран. След деинсталирането конфигурацията на плъгина ще бъде изчистена. Моля, потвърдете операцията си.",
|
||||
"detail": "Подробности",
|
||||
"cancel": "Отказ на инсталация",
|
||||
"confirmUninstall": "Ще деинсталирате този плъгин, след деинсталация конфигурацията му ще бъде изтрита, моля потвърдете действието си",
|
||||
"detail": "Детайли",
|
||||
"install": "Инсталирай",
|
||||
"manifest": "Редактирай инсталационния файл",
|
||||
"manifest": "Редактиране на инсталационния файл",
|
||||
"settings": "Настройки",
|
||||
"uninstall": "Деинсталирай"
|
||||
},
|
||||
"communityPlugin": "От трети страни",
|
||||
"customPlugin": "Персонализиран плъгин",
|
||||
"empty": "Все още няма инсталирани плъгини",
|
||||
"emptySelectHint": "Изберете плъгин, за да прегледате подробна информация",
|
||||
"communityPlugin": "Общностен плъгин",
|
||||
"customPlugin": "Персонализиран",
|
||||
"empty": "Няма инсталирани плъгини",
|
||||
"emptySelectHint": "Изберете плъгин за преглед на подробна информация",
|
||||
"installAllPlugins": "Инсталирай всички",
|
||||
"networkError": "Неуспешно извличане на магазина за плъгини. Моля, проверете мрежовата си връзка и опитайте отново",
|
||||
"placeholder": "Търсене на име на плъгин, описание или ключова дума...",
|
||||
"releasedAt": "Издаден на {{createdAt}}",
|
||||
"networkError": "Неуспешно зареждане на магазина за плъгини, моля проверете мрежовата връзка и опитайте отново",
|
||||
"placeholder": "Търсене по име, описание или ключови думи...",
|
||||
"releasedAt": "Публикуван на {{createdAt}}",
|
||||
"tabs": {
|
||||
"installed": "Инсталирани",
|
||||
"mcp": "MCP добавки",
|
||||
"mcp": "MCP плъгини",
|
||||
"old": "LobeChat плъгини"
|
||||
},
|
||||
"title": "Магазин за плъгини"
|
||||
|
||||
@@ -2,9 +2,15 @@
|
||||
"ai21": {
|
||||
"description": "AI21 Labs изгражда основни модели и системи за изкуствен интелект за предприятия, ускорявайки приложението на генеративния изкуствен интелект в производството."
|
||||
},
|
||||
"ai302": {
|
||||
"description": "302.AI е платформа за AI приложения с плащане според използването, предлагаща най-пълния набор от AI API и AI онлайн приложения на пазара"
|
||||
},
|
||||
"ai360": {
|
||||
"description": "360 AI е платформа за AI модели и услуги, предлагана от компания 360, предлагаща множество напреднали модели за обработка на естествен език, включително 360GPT2 Pro, 360GPT Pro, 360GPT Turbo и 360GPT Turbo Responsibility 8K. Тези модели комбинират голям брой параметри и мултимодални способности, широко използвани в текстово генериране, семантично разбиране, диалогови системи и генериране на код. Чрез гъвкава ценова стратегия, 360 AI отговаря на разнообразни потребителски нужди, поддържайки интеграция за разработчици и насърчавайки иновации и развитие на интелигентни приложения."
|
||||
},
|
||||
"aihubmix": {
|
||||
"description": "AiHubMix предоставя достъп до множество AI модели чрез единен API интерфейс."
|
||||
},
|
||||
"anthropic": {
|
||||
"description": "Anthropic е компания, специализирана в изследвания и разработка на изкуствен интелект, предлагаща набор от напреднали езикови модели, като Claude 3.5 Sonnet, Claude 3 Sonnet, Claude 3 Opus и Claude 3 Haiku. Тези модели постигат идеален баланс между интелигентност, скорост и разходи, подходящи за различни приложения, от корпоративни натоварвания до бързи отговори. Claude 3.5 Sonnet, като най-новия им модел, показва отлични резултати в множество оценки, като същевременно поддържа висока цена-качество."
|
||||
},
|
||||
|
||||
@@ -183,10 +183,21 @@
|
||||
"title": "Информация за агента"
|
||||
},
|
||||
"settingAppearance": {
|
||||
"animationMode": {
|
||||
"agile": "Бързо",
|
||||
"desc": "Изберете скоростта на анимацията за отговор на действията в приложението",
|
||||
"disabled": "Изключено",
|
||||
"elegant": "Елегантно",
|
||||
"title": "Анимация на отговор"
|
||||
},
|
||||
"neutralColor": {
|
||||
"desc": "Персонализиране на сивата скала с различни цветови нюанси",
|
||||
"title": "Неутрални цветове"
|
||||
},
|
||||
"noAnimation": {
|
||||
"desc": "Деактивирайте всички анимационни ефекти в приложението",
|
||||
"title": "Режим без анимация"
|
||||
},
|
||||
"preview": {
|
||||
"title": "Цветова палитра"
|
||||
},
|
||||
|
||||
@@ -46,6 +46,9 @@
|
||||
"reasoningEffort": {
|
||||
"title": "Argumentationsstärke"
|
||||
},
|
||||
"textVerbosity": {
|
||||
"title": "Detaillierungsgrad des Ausgabetextes"
|
||||
},
|
||||
"thinking": {
|
||||
"title": "Tiefdenk-Schalter"
|
||||
},
|
||||
|
||||
@@ -113,6 +113,18 @@
|
||||
"PluginServerError": "Fehler bei der Serveranfrage des Plugins. Bitte überprüfen Sie die Fehlerinformationen unten in Ihrer Plugin-Beschreibungsdatei, Plugin-Konfiguration oder Serverimplementierung",
|
||||
"PluginSettingsInvalid": "Das Plugin muss korrekt konfiguriert werden, um verwendet werden zu können. Bitte überprüfen Sie Ihre Konfiguration auf Richtigkeit",
|
||||
"ProviderBizError": "Fehler bei der Anforderung des {{provider}}-Dienstes. Bitte überprüfen Sie die folgenden Informationen oder versuchen Sie es erneut.",
|
||||
|
||||
"GoogleAIBlockReason": {
|
||||
"BLOCKLIST": "Ihr Inhalt enthält verbotene Begriffe. Bitte überprüfen und ändern Sie Ihre Eingabe, bevor Sie es erneut versuchen.",
|
||||
"IMAGE_SAFETY": "Der generierte Bildinhalt wurde aus Sicherheitsgründen blockiert. Bitte versuchen Sie, Ihre Bildgenerierungsanfrage zu ändern.",
|
||||
"LANGUAGE": "Die von Ihnen verwendete Sprache wird nicht unterstützt. Bitte versuchen Sie es mit Englisch oder anderen unterstützten Sprachen.",
|
||||
"OTHER": "Inhalt wurde aus unbekannten Gründen blockiert. Bitte versuchen Sie, Ihre Anfrage umzuformulieren oder wenden Sie sich an den technischen Support.",
|
||||
"PROHIBITED_CONTENT": "Ihr Inhalt könnte verbotene Inhaltstypen enthalten. Bitte passen Sie Ihre Anfrage an, um sicherzustellen, dass sie den Nutzungsrichtlinien entspricht.",
|
||||
"RECITATION": "Ihr Inhalt wurde aufgrund möglicher Urheberrechtsprobleme blockiert. Bitte versuchen Sie, originalen Inhalt zu verwenden oder Ihre Anfrage umzuformulieren.",
|
||||
"SAFETY": "Ihr Inhalt wurde aufgrund von Sicherheitsrichtlinien blockiert. Bitte versuchen Sie, Ihre Anfrage anzupassen, um potenziell schädliche oder unangemessene Inhalte zu vermeiden.",
|
||||
"SPII": "Ihr Inhalt könnte sensible persönlich identifizierbare Informationen enthalten. Zum Schutz der Privatsphäre entfernen Sie bitte relevante sensible Informationen, bevor Sie es erneut versuchen.",
|
||||
"default": "Inhalt wurde blockiert: {{blockReason}}. Bitte passen Sie Ihren Anfrageinhalt an und versuchen Sie es erneut."
|
||||
},
|
||||
"QuotaLimitReached": "Es tut uns leid, die aktuelle Token-Nutzung oder die Anzahl der Anfragen hat das Kontingent (Quota) für diesen Schlüssel erreicht. Bitte erhöhen Sie das Kontingent für diesen Schlüssel oder versuchen Sie es später erneut.",
|
||||
"StreamChunkError": "Fehler beim Parsen des Nachrichtenchunks der Streaming-Anfrage. Bitte überprüfen Sie, ob die aktuelle API-Schnittstelle den Standards entspricht, oder wenden Sie sich an Ihren API-Anbieter.",
|
||||
"SubscriptionKeyMismatch": "Es tut uns leid, aufgrund eines vorübergehenden Systemfehlers ist das aktuelle Abonnement vorübergehend ungültig. Bitte klicken Sie auf die Schaltfläche unten, um das Abonnement wiederherzustellen, oder kontaktieren Sie uns per E-Mail für Unterstützung.",
|
||||
|
||||
@@ -21,6 +21,10 @@
|
||||
"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"
|
||||
|
||||
@@ -189,6 +189,7 @@
|
||||
"aesGcm": "Ihr Schlüssel und die Proxy-Adresse werden mit dem <1>AES-GCM</1>-Verschlüsselungsalgorithmus verschlüsselt",
|
||||
"apiKey": {
|
||||
"desc": "Bitte geben Sie Ihren {{name}} API-Schlüssel ein",
|
||||
"descWithUrl": "Bitte gib deinen {{name}} API-Schlüssel ein, <3>hier klicken zum Abrufen</3>",
|
||||
"placeholder": "{{name}} API-Schlüssel",
|
||||
"title": "API-Schlüssel"
|
||||
},
|
||||
@@ -305,6 +306,7 @@
|
||||
"latestTime": "Letzte Aktualisierung: {{time}}",
|
||||
"noLatestTime": "Liste wurde noch nicht abgerufen"
|
||||
},
|
||||
"noModelsInCategory": "In dieser Kategorie sind keine aktivierten Modelle vorhanden",
|
||||
"resetAll": {
|
||||
"conform": "Möchten Sie alle Änderungen am aktuellen Modell wirklich zurücksetzen? Nach dem Zurücksetzen wird die aktuelle Modellliste auf den Standardzustand zurückgesetzt.",
|
||||
"success": "Zurücksetzen erfolgreich",
|
||||
@@ -315,7 +317,15 @@
|
||||
"title": "Modellliste",
|
||||
"total": "Insgesamt {{count}} verfügbare Modelle"
|
||||
},
|
||||
"searchNotFound": "Keine Suchergebnisse gefunden"
|
||||
"searchNotFound": "Keine Suchergebnisse gefunden",
|
||||
"tabs": {
|
||||
"all": "Alle",
|
||||
"chat": "Chat",
|
||||
"embedding": "Einbettung",
|
||||
"image": "Bild",
|
||||
"stt": "ASR",
|
||||
"tts": "TTS"
|
||||
}
|
||||
},
|
||||
"sortModal": {
|
||||
"success": "Sortierung erfolgreich aktualisiert",
|
||||
|
||||
+230
-8
@@ -32,6 +32,9 @@
|
||||
"4.0Ultra": {
|
||||
"description": "Spark4.0 Ultra ist die leistungsstärkste Version der Spark-Großmodellreihe, die die Online-Suchverbindung aktualisiert und die Fähigkeit zur Textverständnis und -zusammenfassung verbessert. Es ist eine umfassende Lösung zur Steigerung der Büroproduktivität und zur genauen Reaktion auf Anforderungen und ein führendes intelligentes Produkt in der Branche."
|
||||
},
|
||||
"AnimeSharp": {
|
||||
"description": "AnimeSharp (auch bekannt als „4x‑AnimeSharp“) ist ein von Kim2091 auf Basis der ESRGAN-Architektur entwickeltes Open-Source-Superauflösungsmodell, das sich auf die Vergrößerung und Schärfung von Anime-Stil-Bildern spezialisiert hat. Es wurde im Februar 2022 von „4x-TextSharpV1“ umbenannt und war ursprünglich auch für Textbilder geeignet, wurde jedoch für Anime-Inhalte erheblich optimiert."
|
||||
},
|
||||
"Baichuan2-Turbo": {
|
||||
"description": "Verwendet Suchverbesserungstechnologie, um eine umfassende Verknüpfung zwischen großen Modellen und Fachwissen sowie Wissen aus dem gesamten Internet zu ermöglichen. Unterstützt das Hochladen von Dokumenten wie PDF, Word und die Eingabe von URLs, um Informationen zeitnah und umfassend zu erhalten, mit genauen und professionellen Ergebnissen."
|
||||
},
|
||||
@@ -71,6 +74,9 @@
|
||||
"DeepSeek-V3": {
|
||||
"description": "DeepSeek-V3 ist ein von der DeepSeek Company entwickeltes MoE-Modell. Die Ergebnisse von DeepSeek-V3 übertreffen die anderer Open-Source-Modelle wie Qwen2.5-72B und Llama-3.1-405B und stehen in der Leistung auf Augenhöhe mit den weltweit führenden Closed-Source-Modellen GPT-4o und Claude-3.5-Sonnet."
|
||||
},
|
||||
"DeepSeek-V3-Fast": {
|
||||
"description": "Modellanbieter: sophnet-Plattform. DeepSeek V3 Fast ist die Hochgeschwindigkeitsversion mit hohem TPS des DeepSeek V3 0324 Modells, voll funktionsfähig ohne Quantisierung, mit stärkerer Code- und mathematischer Leistungsfähigkeit und schnellerer Reaktionszeit!"
|
||||
},
|
||||
"Doubao-lite-128k": {
|
||||
"description": "Doubao-lite bietet extrem schnelle Reaktionszeiten und ein hervorragendes Preis-Leistungs-Verhältnis, um Kunden in verschiedenen Szenarien flexiblere Optionen zu bieten. Unterstützt Inferenz und Feintuning mit einem Kontextfenster von 128k."
|
||||
},
|
||||
@@ -89,6 +95,9 @@
|
||||
"Doubao-pro-4k": {
|
||||
"description": "Das leistungsstärkste Hauptmodell, geeignet für komplexe Aufgaben. Es erzielt hervorragende Ergebnisse in Szenarien wie Referenzfragen, Zusammenfassungen, kreatives Schreiben, Textklassifikation und Rollenspielen. Unterstützt Inferenz und Feintuning mit einem Kontextfenster von 4k."
|
||||
},
|
||||
"DreamO": {
|
||||
"description": "DreamO ist ein von ByteDance und der Peking-Universität gemeinsam entwickeltes Open-Source-Bildgenerierungsmodell zur individuellen Anpassung, das durch eine einheitliche Architektur Multitasking-Bildgenerierung unterstützt. Es verwendet eine effiziente kombinierte Modellierungsmethode, um basierend auf vom Nutzer angegebenen Identität, Motiv, Stil, Hintergrund und weiteren Bedingungen hochgradig konsistente und maßgeschneiderte Bilder zu erzeugen."
|
||||
},
|
||||
"ERNIE-3.5-128K": {
|
||||
"description": "Das von Baidu entwickelte Flaggschiff-Modell für großangelegte Sprachverarbeitung, das eine riesige Menge an chinesischen und englischen Texten abdeckt. Es verfügt über starke allgemeine Fähigkeiten und kann die meisten Anforderungen an Dialogfragen, kreative Generierung und Anwendungsfälle von Plugins erfüllen. Es unterstützt die automatische Anbindung an das Baidu-Such-Plugin, um die Aktualität der Antwortinformationen zu gewährleisten."
|
||||
},
|
||||
@@ -122,15 +131,39 @@
|
||||
"ERNIE-Speed-Pro-128K": {
|
||||
"description": "Das neueste von Baidu im Jahr 2024 veröffentlichte hochleistungsfähige Sprachmodell, das überragende allgemeine Fähigkeiten bietet und bessere Ergebnisse als ERNIE Speed erzielt. Es eignet sich als Basis-Modell für Feinabstimmungen, um spezifische Szenarien besser zu bearbeiten, und bietet gleichzeitig hervorragende Inferenzleistung."
|
||||
},
|
||||
"FLUX.1-Kontext-dev": {
|
||||
"description": "FLUX.1-Kontext-dev ist ein von Black Forest Labs entwickeltes multimodales Bildgenerierungs- und Bearbeitungsmodell auf Basis der Rectified Flow Transformer-Architektur mit 12 Milliarden Parametern. Es konzentriert sich auf die Generierung, Rekonstruktion, Verbesserung oder Bearbeitung von Bildern unter gegebenen Kontextbedingungen. Das Modell kombiniert die kontrollierbare Generierung von Diffusionsmodellen mit der Kontextmodellierung von Transformern, unterstützt hochwertige Bildausgaben und ist vielseitig einsetzbar für Bildrestaurierung, Bildvervollständigung und visuelle Szenenrekonstruktion."
|
||||
},
|
||||
"FLUX.1-dev": {
|
||||
"description": "FLUX.1-dev ist ein von Black Forest Labs entwickeltes Open-Source-multimodales Sprachmodell (Multimodal Language Model, MLLM), das für Bild-Text-Aufgaben optimiert ist und Verständnis sowie Generierung von Bildern und Texten vereint. Es basiert auf fortschrittlichen großen Sprachmodellen wie Mistral-7B und erreicht durch sorgfältig gestaltete visuelle Encoder und mehrstufige Instruktions-Feinabstimmung eine kooperative Verarbeitung von Bild und Text sowie komplexe Aufgabenlogik."
|
||||
},
|
||||
"Gryphe/MythoMax-L2-13b": {
|
||||
"description": "MythoMax-L2 (13B) ist ein innovatives Modell, das sich für Anwendungen in mehreren Bereichen und komplexe Aufgaben eignet."
|
||||
},
|
||||
"HelloMeme": {
|
||||
"description": "HelloMeme ist ein KI-Tool, das automatisch Memes, animierte GIFs oder Kurzvideos basierend auf von dir bereitgestellten Bildern oder Aktionen erstellt. Es erfordert keine Zeichen- oder Programmierkenntnisse – du brauchst nur Referenzbilder, und es hilft dir, ansprechende, unterhaltsame und stilistisch einheitliche Inhalte zu erstellen."
|
||||
},
|
||||
"HiDream-I1-Full": {
|
||||
"description": "HiDream-E1-Full ist ein von HiDream.ai entwickeltes Open-Source-multimodales Bildbearbeitungsmodell, das auf der fortschrittlichen Diffusion Transformer-Architektur basiert und mit leistungsstarker Sprachverständnisfähigkeit (integriert LLaMA 3.1-8B-Instruct) ausgestattet ist. Es unterstützt die Bildgenerierung, Stilübertragung, lokale Bearbeitung und Neugestaltung durch natürliche Sprachbefehle und bietet exzellentes Verständnis und Ausführung von Bild-Text-Anweisungen."
|
||||
},
|
||||
"HunyuanDiT-v1.2-Diffusers-Distilled": {
|
||||
"description": "hunyuandit-v1.2-distilled ist ein leichtgewichtiges Text-zu-Bild-Modell, das durch Destillation optimiert wurde, um schnell hochwertige Bilder zu erzeugen. Es eignet sich besonders für ressourcenarme Umgebungen und Echtzeit-Generierungsaufgaben."
|
||||
},
|
||||
"InstantCharacter": {
|
||||
"description": "InstantCharacter ist ein 2025 vom Tencent AI-Team veröffentlichtes tuning-freies personalisiertes Charaktergenerierungsmodell, das eine hochpräzise und konsistente Charaktererstellung über verschiedene Szenarien hinweg ermöglicht. Das Modell kann einen Charakter allein anhand eines Referenzbildes modellieren und diesen flexibel in verschiedene Stile, Bewegungen und Hintergründe übertragen."
|
||||
},
|
||||
"InternVL2-8B": {
|
||||
"description": "InternVL2-8B ist ein leistungsstarkes visuelles Sprachmodell, das multimodale Verarbeitung von Bildern und Text unterstützt und in der Lage ist, Bildinhalte präzise zu erkennen und relevante Beschreibungen oder Antworten zu generieren."
|
||||
},
|
||||
"InternVL2.5-26B": {
|
||||
"description": "InternVL2.5-26B ist ein leistungsstarkes visuelles Sprachmodell, das multimodale Verarbeitung von Bildern und Text unterstützt und in der Lage ist, Bildinhalte präzise zu erkennen und relevante Beschreibungen oder Antworten zu generieren."
|
||||
},
|
||||
"Kolors": {
|
||||
"description": "Kolors ist ein von Kuaishou Kolors Team entwickeltes Text-zu-Bild-Modell, das mit Milliarden von Parametern trainiert wurde und in visueller Qualität, chinesischem semantischem Verständnis sowie Textdarstellung herausragende Vorteile bietet."
|
||||
},
|
||||
"Kwai-Kolors/Kolors": {
|
||||
"description": "Kolors ist ein von Kuaishou Kolors Team entwickeltes groß angelegtes latentes Diffusionsmodell zur Text-zu-Bild-Generierung. Es wurde mit Milliarden von Text-Bild-Paaren trainiert und zeigt herausragende Leistungen in visueller Qualität, komplexer semantischer Genauigkeit sowie der Darstellung chinesischer und englischer Schriftzeichen. Es unterstützt sowohl chinesische als auch englische Eingaben und ist besonders leistungsfähig bei der Verarbeitung und Erzeugung chinesischsprachiger Inhalte."
|
||||
},
|
||||
"Llama-3.2-11B-Vision-Instruct": {
|
||||
"description": "Hervorragende Bildschlussfolgerungsfähigkeiten auf hochauflösenden Bildern, geeignet für Anwendungen im Bereich der visuellen Verständigung."
|
||||
},
|
||||
@@ -164,9 +197,15 @@
|
||||
"MiniMaxAI/MiniMax-M1-80k": {
|
||||
"description": "MiniMax-M1 ist ein groß angelegtes hybrides Aufmerksamkeits-Inferenzmodell mit offenen Gewichten, das 456 Milliarden Parameter umfasst und etwa 45,9 Milliarden Parameter pro Token aktiviert. Das Modell unterstützt nativ einen ultralangen Kontext von 1 Million Tokens und spart durch den Blitz-Attention-Mechanismus bei Aufgaben mit 100.000 Tokens im Vergleich zu DeepSeek R1 75 % der Fließkommaoperationen ein. Gleichzeitig verwendet MiniMax-M1 eine MoE-Architektur (Mixture of Experts) und kombiniert den CISPO-Algorithmus mit einem hybriden Aufmerksamkeitsdesign für effizientes verstärkendes Lernen, was in der Langzeiteingabe-Inferenz und realen Software-Engineering-Szenarien branchenführende Leistung erzielt."
|
||||
},
|
||||
"Moonshot-Kimi-K2-Instruct": {
|
||||
"description": "Mit insgesamt 1 Billion Parametern und 32 Milliarden aktivierten Parametern erreicht dieses nicht-denkende Modell Spitzenleistungen in den Bereichen aktuelles Wissen, Mathematik und Programmierung und ist besonders für allgemeine Agentenaufgaben optimiert. Es wurde speziell für Agentenaufgaben verfeinert, kann nicht nur Fragen beantworten, sondern auch Aktionen ausführen. Ideal für spontane, allgemeine Gespräche und Agentenerfahrungen, ist es ein reflexartiges Modell ohne lange Denkzeiten."
|
||||
},
|
||||
"NousResearch/Nous-Hermes-2-Mixtral-8x7B-DPO": {
|
||||
"description": "Nous Hermes 2 - Mixtral 8x7B-DPO (46.7B) ist ein hochpräzises Anweisungsmodell, das für komplexe Berechnungen geeignet ist."
|
||||
},
|
||||
"OmniConsistency": {
|
||||
"description": "OmniConsistency verbessert durch den Einsatz großskaliger Diffusion Transformers (DiTs) und gepaarter stilisierter Daten die Stil-Konsistenz und Generalisierungsfähigkeit bei Bild-zu-Bild-Aufgaben und verhindert Stilverschlechterung."
|
||||
},
|
||||
"Phi-3-medium-128k-instruct": {
|
||||
"description": "Das gleiche Phi-3-medium-Modell, jedoch mit einer größeren Kontextgröße für RAG oder Few-Shot-Prompting."
|
||||
},
|
||||
@@ -218,6 +257,9 @@
|
||||
"Pro/deepseek-ai/DeepSeek-V3": {
|
||||
"description": "DeepSeek-V3 ist ein hybrides Experten (MoE) Sprachmodell mit 6710 Milliarden Parametern, das eine Multi-Head-Latente-Attention (MLA) und DeepSeekMoE-Architektur verwendet, kombiniert mit einer Lastenausgleichsstrategie ohne Hilfskosten, um die Inferenz- und Trainingseffizienz zu optimieren. Durch das Pre-Training auf 14,8 Billionen hochwertigen Tokens und anschließende überwachte Feinabstimmung und verstärktes Lernen übertrifft DeepSeek-V3 in der Leistung andere Open-Source-Modelle und nähert sich führenden geschlossenen Modellen."
|
||||
},
|
||||
"Pro/moonshotai/Kimi-K2-Instruct": {
|
||||
"description": "Kimi K2 ist ein MoE-Architektur-Basis-Modell mit herausragenden Code- und Agentenfähigkeiten, insgesamt 1 Billion Parameter und 32 Milliarden aktivierten Parametern. In Benchmark-Tests zu allgemeinem Wissen, Programmierung, Mathematik und Agentenaufgaben übertrifft das K2-Modell andere führende Open-Source-Modelle."
|
||||
},
|
||||
"QwQ-32B-Preview": {
|
||||
"description": "QwQ-32B-Preview ist ein innovatives Modell für die Verarbeitung natürlicher Sprache, das komplexe Aufgaben der Dialoggenerierung und des Kontextverständnisses effizient bewältigen kann."
|
||||
},
|
||||
@@ -278,9 +320,18 @@
|
||||
"Qwen/Qwen3-235B-A22B": {
|
||||
"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-235B-A22B-Instruct-2507": {
|
||||
"description": "Qwen3-235B-A22B-Instruct-2507 ist ein Flaggschiff-Misch-Experten-(MoE)-Großsprachmodell aus der Qwen3-Serie, entwickelt vom Alibaba Cloud Tongyi Qianwen Team. Es verfügt über 235 Milliarden Gesamtparameter und aktiviert bei jeder Inferenz 22 Milliarden Parameter. Als aktualisierte Version des nicht-denkenden Qwen3-235B-A22B fokussiert es sich auf signifikante Verbesserungen in Instruktionsbefolgung, logischem Denken, Textverständnis, Mathematik, Wissenschaft, Programmierung und Werkzeugnutzung. Zudem wurde die Abdeckung mehrsprachigen Langschwanzwissens erweitert und die Ausrichtung auf Nutzerpräferenzen bei subjektiven und offenen Aufgaben verbessert, um hilfreichere und qualitativ hochwertigere Texte zu generieren."
|
||||
},
|
||||
"Qwen/Qwen3-235B-A22B-Thinking-2507": {
|
||||
"description": "Qwen3-235B-A22B-Thinking-2507 ist ein Mitglied der Qwen3-Serie großer Sprachmodelle von Alibaba Tongyi Qianwen, spezialisiert auf komplexe anspruchsvolle Schlussfolgerungsaufgaben. Das Modell basiert auf der Misch-Experten-(MoE)-Architektur mit 235 Milliarden Gesamtparametern, aktiviert jedoch nur etwa 22 Milliarden Parameter pro Token, was eine hohe Rechenleistung bei Effizienz ermöglicht. Als dediziertes „Denk“-Modell zeigt es herausragende Leistungen in logischem Denken, Mathematik, Wissenschaft, Programmierung und akademischen Benchmarks und erreicht Spitzenwerte unter Open-Source-Denkmodellen. Zusätzlich verbessert es allgemeine Fähigkeiten wie Instruktionsbefolgung, Werkzeugnutzung und Textgenerierung und unterstützt nativ eine Kontextlänge von 256K, ideal für tiefgehende Schlussfolgerungen und lange Dokumente."
|
||||
},
|
||||
"Qwen/Qwen3-30B-A3B": {
|
||||
"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-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-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."
|
||||
},
|
||||
@@ -314,6 +365,12 @@
|
||||
"Qwen2.5-Coder-32B-Instruct": {
|
||||
"description": "Qwen2.5-Coder-32B-Instruct ist ein großes Sprachmodell, das speziell für die Codegenerierung, das Verständnis von Code und effiziente Entwicklungsszenarien entwickelt wurde. Es verwendet eine branchenführende Parametergröße von 32B und kann vielfältige Programmieranforderungen erfüllen."
|
||||
},
|
||||
"Qwen3-235B": {
|
||||
"description": "Qwen3-235B-A22B ist ein MoE (Mixture-of-Experts)-Modell, das den „Hybrid-Reasoning-Modus“ einführt und Nutzern nahtloses Umschalten zwischen „Denkmodus“ und „Nicht-Denkmodus“ ermöglicht. Es unterstützt das Verständnis und die Argumentation in 119 Sprachen und Dialekten und verfügt über leistungsstarke Werkzeugaufruffähigkeiten. In umfassenden Benchmark-Tests zu allgemeinen Fähigkeiten, Programmierung und Mathematik, Mehrsprachigkeit, Wissen und Argumentation konkurriert es mit führenden aktuellen Großmodellen auf dem Markt wie DeepSeek R1, OpenAI o1, o3-mini, Grok 3 und Google Gemini 2.5 Pro."
|
||||
},
|
||||
"Qwen3-32B": {
|
||||
"description": "Qwen3-32B ist ein dichtes Modell (Dense Model), das den „Hybrid-Reasoning-Modus“ einführt und Nutzern nahtloses Umschalten zwischen „Denkmodus“ und „Nicht-Denkmodus“ ermöglicht. Aufgrund von Verbesserungen in der Modellarchitektur, einer Erweiterung der Trainingsdaten und effizienteren Trainingsmethoden entspricht die Gesamtleistung der von Qwen2.5-72B."
|
||||
},
|
||||
"SenseChat": {
|
||||
"description": "Basisversion des Modells (V4) mit 4K Kontextlänge, die über starke allgemeine Fähigkeiten verfügt."
|
||||
},
|
||||
@@ -350,6 +407,12 @@
|
||||
"SenseChat-Vision": {
|
||||
"description": "Das neueste Modell (V5.5) unterstützt die Eingabe mehrerer Bilder und optimiert umfassend die grundlegenden Fähigkeiten des Modells. Es hat signifikante Verbesserungen in der Erkennung von Objektattributen, räumlichen Beziehungen, Aktionsereignissen, Szenenverständnis, Emotionserkennung, logischem Wissen und Textverständnis und -generierung erreicht."
|
||||
},
|
||||
"SenseNova-V6-5-Pro": {
|
||||
"description": "Durch umfassende Aktualisierungen multimodaler, sprachlicher und argumentativer Daten sowie Optimierungen der Trainingsstrategie erzielt das neue Modell erhebliche Verbesserungen bei multimodalem Schließen und generalisierter Befolgung von Anweisungen. Es unterstützt Kontextfenster von bis zu 128k und zeigt herausragende Leistungen bei spezialisierten Aufgaben wie OCR und der Erkennung von Tourismus-IP."
|
||||
},
|
||||
"SenseNova-V6-5-Turbo": {
|
||||
"description": "Durch umfassende Aktualisierungen multimodaler, sprachlicher und argumentativer Daten sowie Optimierungen der Trainingsstrategie erzielt das neue Modell erhebliche Verbesserungen bei multimodalem Schließen und generalisierter Befolgung von Anweisungen. Es unterstützt Kontextfenster von bis zu 128k und zeigt herausragende Leistungen bei spezialisierten Aufgaben wie OCR und der Erkennung von Tourismus-IP."
|
||||
},
|
||||
"SenseNova-V6-Pro": {
|
||||
"description": "Erreicht eine native Einheit von Bild-, Text- und Video-Fähigkeiten, überwindet die traditionellen Grenzen der multimodalen Trennung und hat in den Bewertungen von OpenCompass und SuperCLUE zwei Meistertitel gewonnen."
|
||||
},
|
||||
@@ -548,6 +611,9 @@
|
||||
"aya:35b": {
|
||||
"description": "Aya 23 ist ein mehrsprachiges Modell von Cohere, das 23 Sprachen unterstützt und die Anwendung in einer Vielzahl von Sprachen erleichtert."
|
||||
},
|
||||
"azure-DeepSeek-R1-0528": {
|
||||
"description": "Bereitgestellt von Microsoft; Das DeepSeek R1 Modell wurde in einer kleinen Versionsaktualisierung verbessert, die aktuelle Version ist DeepSeek-R1-0528. Im neuesten Update wurde die Rechentiefe und Inferenzfähigkeit von DeepSeek R1 durch Erhöhung der Rechenressourcen und Einführung eines Algorithmus-Optimierungsmechanismus in der Nachtrainingsphase erheblich gesteigert. Dieses Modell zeigt hervorragende Leistungen in mehreren Benchmark-Tests wie Mathematik, Programmierung und allgemeiner Logik und nähert sich in der Gesamtleistung führenden Modellen wie O3 und Gemini 2.5 Pro an."
|
||||
},
|
||||
"baichuan/baichuan2-13b-chat": {
|
||||
"description": "Baichuan-13B ist ein Open-Source-Sprachmodell mit 13 Milliarden Parametern, das von Baichuan Intelligence entwickelt wurde und in autorisierten chinesischen und englischen Benchmarks die besten Ergebnisse in seiner Größenordnung erzielt hat."
|
||||
},
|
||||
@@ -608,6 +674,9 @@
|
||||
"claude-3-sonnet-20240229": {
|
||||
"description": "Claude 3 Sonnet bietet eine ideale Balance zwischen Intelligenz und Geschwindigkeit für Unternehmensarbeitslasten. Es bietet maximalen Nutzen zu einem niedrigeren Preis, ist zuverlässig und für großflächige Bereitstellungen geeignet."
|
||||
},
|
||||
"claude-opus-4-1-20250805": {
|
||||
"description": "Claude Opus 4.1 ist das neueste und leistungsstärkste Modell von Anthropic zur Bewältigung hochkomplexer Aufgaben. Es überzeugt durch herausragende Leistung, Intelligenz, Flüssigkeit und Verständnis."
|
||||
},
|
||||
"claude-opus-4-20250514": {
|
||||
"description": "Claude Opus 4 ist das leistungsstärkste Modell von Anthropic zur Bewältigung hochkomplexer Aufgaben. Es zeichnet sich durch hervorragende Leistung, Intelligenz, Flüssigkeit und Verständnis aus."
|
||||
},
|
||||
@@ -944,6 +1013,9 @@
|
||||
"doubao-seed-1.6-thinking": {
|
||||
"description": "Das Doubao-Seed-1.6-thinking Modell verfügt über stark verbesserte Denkfähigkeiten. Im Vergleich zu Doubao-1.5-thinking-pro wurden die Grundfähigkeiten in Coding, Mathematik und logischem Denken weiter verbessert und unterstützt visuelles Verständnis. Unterstützt ein Kontextfenster von 256k und eine maximale Ausgabelänge von 16k Tokens."
|
||||
},
|
||||
"doubao-seedream-3-0-t2i-250415": {
|
||||
"description": "Das Doubao-Bildgenerierungsmodell wurde vom ByteDance Seed Team entwickelt und unterstützt sowohl Text- als auch Bildeingaben, um eine hochgradig kontrollierbare und qualitativ hochwertige Bildgenerierung zu bieten. Es erzeugt Bilder basierend auf Text-Prompts."
|
||||
},
|
||||
"doubao-vision-lite-32k": {
|
||||
"description": "Das Doubao-vision-Modell ist ein multimodales Großmodell von Doubao mit starker Bildverständnis- und Inferenzfähigkeit sowie präziser Befehlsinterpretation. Es zeigt starke Leistung bei der Extraktion von Bild- und Textinformationen sowie bei bildbasierten Inferenzaufgaben und eignet sich für komplexere und umfassendere visuelle Frage-Antwort-Aufgaben."
|
||||
},
|
||||
@@ -995,6 +1067,9 @@
|
||||
"ernie-char-fiction-8k": {
|
||||
"description": "Das von Baidu entwickelte große Sprachmodell für vertikale Szenarien eignet sich für Anwendungen wie NPCs in Spielen, Kundenservice-Dialoge und Rollenspiele, mit einem klareren und konsistenteren Charakterstil, einer stärkeren Befolgung von Anweisungen und besserer Inferenzleistung."
|
||||
},
|
||||
"ernie-irag-edit": {
|
||||
"description": "Das von Baidu entwickelte ERNIE iRAG Edit Bildbearbeitungsmodell unterstützt Operationen wie Löschen (erase), Neumalen (repaint) und Variationserzeugung (variation) basierend auf Bildern."
|
||||
},
|
||||
"ernie-lite-8k": {
|
||||
"description": "ERNIE Lite ist ein leichtgewichtiges großes Sprachmodell, das von Baidu entwickelt wurde und sowohl hervorragende Modellleistung als auch Inferenzleistung bietet, geeignet für die Verwendung mit AI-Beschleunigungskarten mit geringer Rechenleistung."
|
||||
},
|
||||
@@ -1022,14 +1097,32 @@
|
||||
"ernie-x1-turbo-32k": {
|
||||
"description": "Im Vergleich zu ERNIE-X1-32K bietet dieses Modell bessere Leistung und Effizienz."
|
||||
},
|
||||
"flux-1-schnell": {
|
||||
"description": "Ein von Black Forest Labs entwickeltes Text-zu-Bild-Modell mit 12 Milliarden Parametern, das latente adversariale Diffusionsdestillation verwendet und in 1 bis 4 Schritten hochwertige Bilder erzeugen kann. Die Leistung ist vergleichbar mit proprietären Alternativen und wird unter der Apache-2.0-Lizenz für private, wissenschaftliche und kommerzielle Nutzung veröffentlicht."
|
||||
},
|
||||
"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/dev": {
|
||||
"description": "Frontier Bildbearbeitungsmodell."
|
||||
"description": "FLUX.1 Modell, spezialisiert auf Bildbearbeitungsaufgaben, unterstützt Text- und Bildeingaben."
|
||||
},
|
||||
"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/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."
|
||||
},
|
||||
"flux-schnell": {
|
||||
"description": "FLUX.1 [schnell] ist das derzeit fortschrittlichste Open-Source-Modell mit wenigen Schritten, das nicht nur Konkurrenten übertrifft, sondern auch leistungsstärkere nicht-feinabgestimmte Modelle wie Midjourney v6.0 und DALL·E 3 (HD) übertrifft. Das Modell wurde speziell feinabgestimmt, um die gesamte Vielfalt der Vortrainingsausgaben zu bewahren. Im Vergleich zu den aktuell besten Modellen auf dem Markt bietet FLUX.1 [schnell] erhebliche Verbesserungen in visueller Qualität, Instruktionsbefolgung, Größen- und Proportionsänderungen, Schriftartenverarbeitung und Ausgabediversität, was den Nutzern eine reichhaltigere und vielfältigere kreative Bildgenerierung ermöglicht."
|
||||
},
|
||||
"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 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."
|
||||
"description": "FLUX.1 [schnell] ist ein bildgenerierendes Modell mit 12 Milliarden Parametern, das sich auf die schnelle Erstellung hochwertiger Bilder konzentriert."
|
||||
},
|
||||
"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."
|
||||
@@ -1109,9 +1202,6 @@
|
||||
"gemini-2.5-flash-preview-04-17": {
|
||||
"description": "Gemini 2.5 Flash Preview ist das kosteneffizienteste Modell von Google und bietet umfassende Funktionen."
|
||||
},
|
||||
"gemini-2.5-flash-preview-04-17-thinking": {
|
||||
"description": "Gemini 2.5 Flash Preview ist Googles kosteneffizientestes Modell mit umfassenden Funktionen."
|
||||
},
|
||||
"gemini-2.5-flash-preview-05-20": {
|
||||
"description": "Gemini 2.5 Flash Preview ist Googles kosteneffizientestes Modell mit umfassenden Funktionen."
|
||||
},
|
||||
@@ -1190,6 +1280,21 @@
|
||||
"glm-4.1v-thinking-flashx": {
|
||||
"description": "Die GLM-4.1V-Thinking-Serie ist das leistungsstärkste visuelle Modell unter den bekannten 10-Milliarden-Parameter-VLMs und integriert SOTA-Leistungen auf diesem Niveau in verschiedenen visuellen Sprachaufgaben, darunter Videoverstehen, Bildfragen, Fachaufgaben, OCR-Texterkennung, Dokumenten- und Diagramminterpretation, GUI-Agenten, Frontend-Web-Coding und Grounding. In vielen Aufgaben übertrifft es sogar das Qwen2.5-VL-72B mit achtmal so vielen Parametern. Durch fortschrittliche Verstärkungslernverfahren beherrscht das Modell die Chain-of-Thought-Schlussfolgerung, was die Genauigkeit und Detailtiefe der Antworten deutlich verbessert und in Bezug auf Endergebnis und Erklärbarkeit traditionelle Nicht-Thinking-Modelle übertrifft."
|
||||
},
|
||||
"glm-4.5": {
|
||||
"description": "Das neueste Flaggschiff-Modell von Zhipu, unterstützt den Denkmoduswechsel und erreicht eine umfassende Leistungsfähigkeit auf SOTA-Niveau für Open-Source-Modelle mit einer Kontextlänge von bis zu 128K."
|
||||
},
|
||||
"glm-4.5-air": {
|
||||
"description": "Die leichtgewichtige Version von GLM-4.5, die Leistung und Kosten-Nutzen-Verhältnis ausbalanciert und flexibel zwischen hybriden Denkmodellen wechseln kann."
|
||||
},
|
||||
"glm-4.5-airx": {
|
||||
"description": "Die Turbo-Version von GLM-4.5-Air mit schnellerer Reaktionszeit, speziell für großskalige und hochgeschwindigkeitsbedürftige Anwendungen entwickelt."
|
||||
},
|
||||
"glm-4.5-flash": {
|
||||
"description": "Die kostenlose Version von GLM-4.5, die bei Inferenz, Programmierung und Agentenaufgaben hervorragende Leistungen zeigt."
|
||||
},
|
||||
"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-4v": {
|
||||
"description": "GLM-4V bietet starke Fähigkeiten zur Bildverständnis und -schlussfolgerung und unterstützt eine Vielzahl visueller Aufgaben."
|
||||
},
|
||||
@@ -1209,7 +1314,7 @@
|
||||
"description": "Blitzschlussfolgerung: Bietet extrem schnelle Schlussfolgerungsgeschwindigkeit und starke Schlussfolgerungseffekte."
|
||||
},
|
||||
"glm-z1-flash": {
|
||||
"description": "Die GLM-Z1-Serie verfügt über starke Fähigkeiten zur komplexen Schlussfolgerung und zeigt in den Bereichen logische Schlussfolgerung, Mathematik und Programmierung hervorragende Leistungen. Die maximale Kontextlänge beträgt 32K."
|
||||
"description": "Die GLM-Z1-Serie verfügt über starke Fähigkeiten im komplexen logischen Denken und zeigt hervorragende Leistungen in Logik, Mathematik und Programmierung."
|
||||
},
|
||||
"glm-z1-flashx": {
|
||||
"description": "Hohe Geschwindigkeit zu niedrigem Preis: Flash-verbesserte Version mit ultraschneller Inferenzgeschwindigkeit und schnellerer gleichzeitiger Verarbeitung."
|
||||
@@ -1379,12 +1484,33 @@
|
||||
"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"
|
||||
},
|
||||
"gpt-oss": {
|
||||
"description": "GPT-OSS 20B ist ein von OpenAI veröffentlichtes Open-Source-Sprachmodell, das die MXFP4-Quantisierungstechnologie verwendet und sich für den Einsatz auf High-End-Consumer-GPUs oder Apple Silicon Macs eignet. Dieses Modell zeigt hervorragende Leistungen bei der Dialoggenerierung, Codeerstellung und bei Inferenzaufgaben und unterstützt Funktionsaufrufe sowie die Nutzung von Werkzeugen."
|
||||
},
|
||||
"gpt-oss:120b": {
|
||||
"description": "GPT-OSS 120B ist ein von OpenAI veröffentlichtes großes Open-Source-Sprachmodell, das die MXFP4-Quantisierungstechnologie verwendet und als Flaggschiff-Modell gilt. Es erfordert den Betrieb auf Multi-GPU- oder Hochleistungs-Workstation-Umgebungen und bietet herausragende Leistungen bei komplexen Inferenzaufgaben, Codegenerierung und mehrsprachiger Verarbeitung. Es unterstützt fortgeschrittene Funktionsaufrufe und die Integration von Werkzeugen."
|
||||
},
|
||||
"grok-2-1212": {
|
||||
"description": "Dieses Modell hat Verbesserungen in Bezug auf Genauigkeit, Befolgung von Anweisungen und Mehrsprachigkeit erfahren."
|
||||
},
|
||||
"grok-2-image-1212": {
|
||||
"description": "Unser neuestes Bildgenerierungsmodell kann lebendige und realistische Bilder basierend auf Text-Prompts erzeugen. Es zeigt hervorragende Leistungen in den Bereichen Marketing, soziale Medien und Unterhaltung."
|
||||
},
|
||||
"grok-2-vision-1212": {
|
||||
"description": "Dieses Modell hat Verbesserungen in Bezug auf Genauigkeit, Befolgung von Anweisungen und Mehrsprachigkeit erfahren."
|
||||
},
|
||||
@@ -1454,6 +1580,9 @@
|
||||
"hunyuan-t1-20250529": {
|
||||
"description": "Optimiert für Textkreation und Aufsatzschreiben, verbessert die Fähigkeiten in Frontend-Programmierung, Mathematik und logischem Denken sowie die Befolgung von Anweisungen."
|
||||
},
|
||||
"hunyuan-t1-20250711": {
|
||||
"description": "Erhebliche Verbesserungen bei anspruchsvoller Mathematik, Logik und Programmierfähigkeiten, Optimierung der Modellstabilität und Steigerung der Leistungsfähigkeit bei langen Texten."
|
||||
},
|
||||
"hunyuan-t1-latest": {
|
||||
"description": "Das erste ultra-skalierbare Hybrid-Transformer-Mamba-Inferenzmodell der Branche, das die Inferenzfähigkeiten erweitert, eine extrem hohe Dekodierungsgeschwindigkeit bietet und weiter auf menschliche Präferenzen abgestimmt ist."
|
||||
},
|
||||
@@ -1502,6 +1631,12 @@
|
||||
"hunyuan-vision": {
|
||||
"description": "Das neueste multimodale Modell von Hunyuan unterstützt die Eingabe von Bildern und Text zur Generierung von Textinhalten."
|
||||
},
|
||||
"image-01": {
|
||||
"description": "Neues Bildgenerierungsmodell mit feiner Bilddarstellung, unterstützt Text-zu-Bild und Bild-zu-Bild."
|
||||
},
|
||||
"image-01-live": {
|
||||
"description": "Bildgenerierungsmodell mit feiner Bilddarstellung, unterstützt Text-zu-Bild und Stil-Einstellungen."
|
||||
},
|
||||
"imagen-4.0-generate-preview-06-06": {
|
||||
"description": "Imagen 4. Generation Text-zu-Bild Modellserie"
|
||||
},
|
||||
@@ -1509,7 +1644,7 @@
|
||||
"description": "Imagen 4. Generation Text-zu-Bild Modellserie Ultra-Version"
|
||||
},
|
||||
"imagen4/preview": {
|
||||
"description": "Googles hochwertigstes Bildgenerierungsmodell"
|
||||
"description": "Hochwertiges bildgenerierendes Modell von Google."
|
||||
},
|
||||
"internlm/internlm2_5-7b-chat": {
|
||||
"description": "InternLM2.5 bietet intelligente Dialoglösungen in mehreren Szenarien."
|
||||
@@ -1526,6 +1661,9 @@
|
||||
"internvl3-latest": {
|
||||
"description": "Unser neuestes multimodales Großmodell bietet verbesserte Fähigkeiten im Verständnis von Text und Bildern sowie im langfristigen Verständnis von Bildern und erreicht eine Leistung, die mit führenden proprietären Modellen vergleichbar ist. Standardmäßig verweist es auf unser neuestes veröffentlichtes InternVL-Modell, derzeit auf internvl3-78b."
|
||||
},
|
||||
"irag-1.0": {
|
||||
"description": "Das von Baidu entwickelte iRAG (image based RAG) ist eine durch Suche verstärkte Text-zu-Bild-Technologie, die Baidus Milliarden von Bildressourcen mit leistungsstarken Basismodellen kombiniert, um ultra-realistische Bilder zu erzeugen. Das Gesamtergebnis übertrifft native Text-zu-Bild-Systeme deutlich, wirkt weniger künstlich und ist kostengünstig. iRAG zeichnet sich durch keine Halluzinationen, hohe Realitätsnähe und sofortige Verfügbarkeit aus."
|
||||
},
|
||||
"jamba-large": {
|
||||
"description": "Unser leistungsstärkstes und fortschrittlichstes Modell, das speziell für die Bewältigung komplexer Aufgaben auf Unternehmensebene entwickelt wurde und herausragende Leistung bietet."
|
||||
},
|
||||
@@ -1535,6 +1673,9 @@
|
||||
"jina-deepsearch-v1": {
|
||||
"description": "Die Tiefensuche kombiniert Websuche, Lesen und Schlussfolgern und ermöglicht umfassende Untersuchungen. Sie können es als einen Agenten betrachten, der Ihre Forschungsaufgaben übernimmt – er führt eine umfassende Suche durch und iteriert mehrfach, bevor er eine Antwort gibt. Dieser Prozess umfasst kontinuierliche Forschung, Schlussfolgerungen und die Lösung von Problemen aus verschiedenen Perspektiven. Dies unterscheidet sich grundlegend von den Standard-Großmodellen, die Antworten direkt aus vortrainierten Daten generieren, sowie von traditionellen RAG-Systemen, die auf einmaligen Oberflächensuchen basieren."
|
||||
},
|
||||
"kimi-k2": {
|
||||
"description": "Kimi-K2 ist ein von Moonshot AI entwickeltes MoE-Basis-Modell mit herausragenden Code- und Agentenfähigkeiten, insgesamt 1 Billion Parameter und 32 Milliarden aktivierten Parametern. In Benchmark-Tests zu allgemeinem Wissen, Programmierung, Mathematik und Agentenaufgaben übertrifft das K2-Modell andere führende Open-Source-Modelle."
|
||||
},
|
||||
"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."
|
||||
},
|
||||
@@ -1928,6 +2069,9 @@
|
||||
"moonshotai/Kimi-Dev-72B": {
|
||||
"description": "Kimi-Dev-72B ist ein Open-Source-Großmodell für Quellcode, das durch umfangreiche Verstärkungslernoptimierung robuste und direkt produktionsreife Patches erzeugen kann. Dieses Modell erreichte auf SWE-bench Verified eine neue Höchstpunktzahl von 60,4 % und stellte damit einen Rekord für Open-Source-Modelle bei automatisierten Software-Engineering-Aufgaben wie Fehlerbehebung und Code-Review auf."
|
||||
},
|
||||
"moonshotai/Kimi-K2-Instruct": {
|
||||
"description": "Kimi K2 ist ein MoE-Basis-Modell mit herausragenden Code- und Agentenfähigkeiten, insgesamt 1 Billion Parameter und 32 Milliarden aktivierten Parametern. In Benchmark-Tests zu allgemeinem Wissen, Programmierung, Mathematik und Agentenaufgaben übertrifft das K2-Modell andere führende Open-Source-Modelle."
|
||||
},
|
||||
"moonshotai/kimi-k2-instruct": {
|
||||
"description": "kimi-k2 ist ein MoE-Architektur-Basismodell mit außergewöhnlichen Fähigkeiten in Code und Agenten, 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."
|
||||
},
|
||||
@@ -2003,6 +2147,12 @@
|
||||
"openai/gpt-4o-mini": {
|
||||
"description": "GPT-4o mini ist das neueste Modell von OpenAI, das nach GPT-4 Omni veröffentlicht wurde und Text- und Bild-Eingaben unterstützt. Als ihr fortschrittlichstes kleines Modell ist es viel günstiger als andere neueste Modelle und über 60 % günstiger als GPT-3.5 Turbo. Es behält die fortschrittlichste Intelligenz bei und bietet gleichzeitig ein hervorragendes Preis-Leistungs-Verhältnis. GPT-4o mini erzielte 82 % im MMLU-Test und rangiert derzeit in den Chat-Präferenzen über GPT-4."
|
||||
},
|
||||
"openai/gpt-oss-120b": {
|
||||
"description": "OpenAI GPT-OSS 120B ist ein Spitzen-Sprachmodell mit 120 Milliarden Parametern, integriertem Browser-Such- und Code-Ausführungsfunktionen sowie ausgeprägten Inferenzfähigkeiten."
|
||||
},
|
||||
"openai/gpt-oss-20b": {
|
||||
"description": "OpenAI GPT-OSS 20B ist ein Spitzen-Sprachmodell mit 20 Milliarden Parametern, integriertem Browser-Such- und Code-Ausführungsfunktionen sowie ausgeprägten Inferenzfähigkeiten."
|
||||
},
|
||||
"openai/o1": {
|
||||
"description": "o1 ist OpenAIs neues Inferenzmodell, das Bild- und Texteingaben unterstützt und Text ausgibt. Es eignet sich für komplexe Aufgaben, die umfangreiches Allgemeinwissen erfordern. Das Modell verfügt über einen Kontext von 200K und einen Wissensstand bis Oktober 2023."
|
||||
},
|
||||
@@ -2063,6 +2213,9 @@
|
||||
"qwen-coder-turbo-latest": {
|
||||
"description": "Das Tongyi Qianwen Code-Modell."
|
||||
},
|
||||
"qwen-image": {
|
||||
"description": "Leistungsstarkes Rohbildmodell vom Qwen-Team mit beeindruckenden Fähigkeiten zur chinesischen Textgenerierung und vielfältigen visuellen Bildstilen."
|
||||
},
|
||||
"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."
|
||||
},
|
||||
@@ -2264,9 +2417,21 @@
|
||||
"qwen3-235b-a22b": {
|
||||
"description": "Qwen3 ist ein neues, leistungsstarkes Modell der nächsten Generation, das in den Bereichen Inferenz, Allgemeinwissen, Agenten und Mehrsprachigkeit erhebliche Fortschritte erzielt hat und den Wechsel zwischen Denkmodi unterstützt."
|
||||
},
|
||||
"qwen3-235b-a22b-instruct-2507": {
|
||||
"description": "Open-Source-Modell im nicht-denkenden Modus basierend auf Qwen3, mit leichten Verbesserungen in subjektiver Kreativität und Modellsicherheit gegenüber der Vorgängerversion (Tongyi Qianwen 3-235B-A22B)."
|
||||
},
|
||||
"qwen3-235b-a22b-thinking-2507": {
|
||||
"description": "Open-Source-Modell im Denkmodus basierend auf Qwen3, mit erheblichen Verbesserungen in Logik, allgemeinen Fähigkeiten, Wissensabdeckung und Kreativität gegenüber der Vorgängerversion (Tongyi Qianwen 3-235B-A22B). Geeignet für anspruchsvolle und stark schlussfolgernde Szenarien."
|
||||
},
|
||||
"qwen3-30b-a3b": {
|
||||
"description": "Qwen3 ist ein neues, leistungsstarkes Modell der nächsten Generation, das in den Bereichen Inferenz, Allgemeinwissen, Agenten und Mehrsprachigkeit erhebliche Fortschritte erzielt hat und den Wechsel zwischen Denkmodi unterstützt."
|
||||
},
|
||||
"qwen3-30b-a3b-instruct-2507": {
|
||||
"description": "Im Vergleich zur vorherigen Version (Qwen3-30B-A3B) wurde die allgemeine Leistungsfähigkeit in Chinesisch, Englisch und mehreren Sprachen deutlich verbessert. Spezielle Optimierungen für subjektive und offene Aufgaben führen zu einer deutlich besseren Übereinstimmung mit den Nutzerpräferenzen und ermöglichen hilfreichere Antworten."
|
||||
},
|
||||
"qwen3-30b-a3b-thinking-2507": {
|
||||
"description": "Basierend auf dem Denkmodus-Open-Source-Modell von Qwen3 wurden im Vergleich zur vorherigen Version (Tongyi Qianwen 3-30B-A3B) die logischen Fähigkeiten, die allgemeine Leistungsfähigkeit, das Wissen und die Kreativität erheblich verbessert. Es eignet sich für anspruchsvolle Szenarien mit starker Argumentation."
|
||||
},
|
||||
"qwen3-32b": {
|
||||
"description": "Qwen3 ist ein neues, leistungsstarkes Modell der nächsten Generation, das in den Bereichen Inferenz, Allgemeinwissen, Agenten und Mehrsprachigkeit erhebliche Fortschritte erzielt hat und den Wechsel zwischen Denkmodi unterstützt."
|
||||
},
|
||||
@@ -2276,6 +2441,15 @@
|
||||
"qwen3-8b": {
|
||||
"description": "Qwen3 ist ein neues, leistungsstarkes Modell der nächsten Generation, das in den Bereichen Inferenz, Allgemeinwissen, Agenten und Mehrsprachigkeit erhebliche Fortschritte erzielt hat und den Wechsel zwischen Denkmodi unterstützt."
|
||||
},
|
||||
"qwen3-coder-480b-a35b-instruct": {
|
||||
"description": "Open-Source-Code-Modell von Tongyi Qianwen. Das neueste qwen3-coder-480b-a35b-instruct basiert auf Qwen3, verfügt über starke Coding-Agent-Fähigkeiten, ist versiert im Werkzeugaufruf und in der Umgebungskommunikation und ermöglicht selbstständiges Programmieren mit hervorragender Codequalität und allgemeinen Fähigkeiten."
|
||||
},
|
||||
"qwen3-coder-flash": {
|
||||
"description": "Tongyi Qianwen Code-Modell. Die neueste Qwen3-Coder Modellreihe basiert auf Qwen3 und ist ein Code-Generierungsmodell mit starker Coding-Agent-Fähigkeit, spezialisiert auf Werkzeugaufrufe und Umgebungsinteraktion, das selbstständiges Programmieren ermöglicht und neben hervorragenden Code-Fähigkeiten auch allgemeine Kompetenzen besitzt."
|
||||
},
|
||||
"qwen3-coder-plus": {
|
||||
"description": "Tongyi Qianwen Code-Modell. Die neueste Qwen3-Coder Modellreihe basiert auf Qwen3 und ist ein Code-Generierungsmodell mit starker Coding-Agent-Fähigkeit, spezialisiert auf Werkzeugaufrufe und Umgebungsinteraktion, das selbstständiges Programmieren ermöglicht und neben hervorragenden Code-Fähigkeiten auch allgemeine Kompetenzen besitzt."
|
||||
},
|
||||
"qwq": {
|
||||
"description": "QwQ ist ein experimentelles Forschungsmodell, das sich auf die Verbesserung der KI-Inferenzfähigkeiten konzentriert."
|
||||
},
|
||||
@@ -2318,6 +2492,24 @@
|
||||
"sonar-reasoning-pro": {
|
||||
"description": "Ein neues API-Produkt, das von dem DeepSeek-Inferenzmodell unterstützt wird."
|
||||
},
|
||||
"stable-diffusion-3-medium": {
|
||||
"description": "Das neueste Text-zu-Bild-Großmodell von Stability AI. Diese Version verbessert signifikant Bildqualität, Textverständnis und Stilvielfalt gegenüber Vorgängerversionen, kann komplexe natürliche Sprachaufforderungen präziser interpretieren und erzeugt genauere und vielfältigere Bilder."
|
||||
},
|
||||
"stable-diffusion-3.5-large": {
|
||||
"description": "stable-diffusion-3.5-large ist ein multimodaler Diffusions-Transformer (MMDiT) mit 800 Millionen Parametern für Text-zu-Bild-Generierung, bietet herausragende Bildqualität und Prompt-Übereinstimmung, unterstützt die Erzeugung von Bildern mit bis zu 1 Million Pixeln und läuft effizient auf handelsüblicher Hardware."
|
||||
},
|
||||
"stable-diffusion-3.5-large-turbo": {
|
||||
"description": "stable-diffusion-3.5-large-turbo basiert auf stable-diffusion-3.5-large und verwendet adversariale Diffusionsdestillation (ADD) für höhere Geschwindigkeit."
|
||||
},
|
||||
"stable-diffusion-v1.5": {
|
||||
"description": "stable-diffusion-v1.5 wurde mit den Gewichten des stable-diffusion-v1.2 Checkpoints initialisiert und mit 595k Schritten bei 512x512 Auflösung auf „laion-aesthetics v2 5+“ feinabgestimmt. Dabei wurde die Textkonditionierung um 10 % reduziert, um die geführte Stichprobenahme ohne Klassifikator zu verbessern."
|
||||
},
|
||||
"stable-diffusion-xl": {
|
||||
"description": "stable-diffusion-xl bringt bedeutende Verbesserungen gegenüber v1.5 und erreicht eine Qualität, die mit dem aktuellen Open-Source-Text-zu-Bild-SOTA-Modell Midjourney vergleichbar ist. Zu den Verbesserungen zählen ein dreimal größeres UNet-Backbone, ein Verfeinerungsmodul zur Qualitätssteigerung der generierten Bilder sowie effizientere Trainingstechniken."
|
||||
},
|
||||
"stable-diffusion-xl-base-1.0": {
|
||||
"description": "Ein von Stability AI entwickeltes und Open-Source-Text-zu-Bild-Großmodell mit branchenführender kreativer Bildgenerierungsfähigkeit. Es verfügt über exzellente Instruktionsverständnisfähigkeiten und unterstützt die Definition von Inverse Prompts zur präzisen Inhaltserzeugung."
|
||||
},
|
||||
"step-1-128k": {
|
||||
"description": "Bietet ein ausgewogenes Verhältnis zwischen Leistung und Kosten, geeignet für allgemeine Szenarien."
|
||||
},
|
||||
@@ -2348,6 +2540,12 @@
|
||||
"step-1v-8k": {
|
||||
"description": "Kleinvisualmodell, geeignet für grundlegende Text- und Bildaufgaben."
|
||||
},
|
||||
"step-1x-edit": {
|
||||
"description": "Dieses Modell ist auf Bildbearbeitungsaufgaben spezialisiert und kann Bilder basierend auf vom Nutzer bereitgestellten Bildern und Textbeschreibungen modifizieren und verbessern. Es unterstützt verschiedene Eingabeformate, einschließlich Textbeschreibungen und Beispielbilder, versteht die Nutzerintention und erzeugt entsprechende Bildbearbeitungsergebnisse."
|
||||
},
|
||||
"step-1x-medium": {
|
||||
"description": "Dieses Modell verfügt über starke Bildgenerierungsfähigkeiten und unterstützt Texteingaben. Es bietet native chinesische Unterstützung, versteht und verarbeitet chinesische Textbeschreibungen besser, erfasst semantische Informationen präziser und wandelt sie in Bildmerkmale um, um genauere Bildgenerierung zu ermöglichen. Das Modell erzeugt hochauflösende, qualitativ hochwertige Bilder und besitzt eine gewisse Stilübertragungsfähigkeit."
|
||||
},
|
||||
"step-2-16k": {
|
||||
"description": "Unterstützt groß angelegte Kontextinteraktionen und eignet sich für komplexe Dialogszenarien."
|
||||
},
|
||||
@@ -2357,6 +2555,9 @@
|
||||
"step-2-mini": {
|
||||
"description": "Ein ultraschnelles Großmodell, das auf der neuen, selbstentwickelten Attention-Architektur MFA basiert. Es erreicht mit extrem niedrigen Kosten ähnliche Ergebnisse wie Schritt 1 und bietet gleichzeitig eine höhere Durchsatzrate und schnellere Reaktionszeiten. Es kann allgemeine Aufgaben bearbeiten und hat besondere Fähigkeiten im Bereich der Codierung."
|
||||
},
|
||||
"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-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."
|
||||
},
|
||||
@@ -2432,8 +2633,23 @@
|
||||
"v0-1.5-md": {
|
||||
"description": "Das Modell v0-1.5-md ist für alltägliche Aufgaben und die Generierung von Benutzeroberflächen (UI) geeignet"
|
||||
},
|
||||
"wan2.2-t2i-flash": {
|
||||
"description": "Wanxiang 2.2 Turbo-Version, das aktuell neueste Modell. Es bietet umfassende Verbesserungen in Kreativität, Stabilität und realistischer Textur, erzeugt schnell und bietet ein hervorragendes Preis-Leistungs-Verhältnis."
|
||||
},
|
||||
"wan2.2-t2i-plus": {
|
||||
"description": "Wanxiang 2.2 Professional-Version, das aktuell neueste Modell. Es bietet umfassende Verbesserungen in Kreativität, Stabilität und realistischer Textur mit reichhaltigen Details."
|
||||
},
|
||||
"wanx-v1": {
|
||||
"description": "Basis-Text-zu-Bild-Modell. Entspricht dem allgemeinen Modell 1.0 auf der offiziellen Tongyi Wanxiang Webseite."
|
||||
},
|
||||
"wanx2.0-t2i-turbo": {
|
||||
"description": "Spezialisiert auf realistische Porträts, mittlere Geschwindigkeit und niedrige Kosten. Entspricht dem Turbo-Modell 2.0 auf der offiziellen Tongyi Wanxiang Webseite."
|
||||
},
|
||||
"wanx2.1-t2i-plus": {
|
||||
"description": "Vollständig aufgerüstete Version mit reichhaltigeren Bilddetails, etwas langsamer. Entspricht dem professionellen Modell 2.1 auf der offiziellen Tongyi Wanxiang Webseite."
|
||||
},
|
||||
"wanx2.1-t2i-turbo": {
|
||||
"description": "Text-zu-Bild-Modell von Aliyun Tongyi"
|
||||
"description": "Vollständig aufgerüstete Version mit schneller Generierung, umfassender Leistung und hervorragendem Preis-Leistungs-Verhältnis. Entspricht dem Turbo-Modell 2.1 auf der offiziellen Tongyi Wanxiang Webseite."
|
||||
},
|
||||
"whisper-1": {
|
||||
"description": "Universelles Spracherkennungsmodell, unterstützt mehrsprachige Spracherkennung, Sprachübersetzung und Spracherkennung."
|
||||
@@ -2485,5 +2701,11 @@
|
||||
},
|
||||
"yi-vision-v2": {
|
||||
"description": "Ein Modell für komplexe visuelle Aufgaben, das leistungsstarke Verständnis- und Analysefähigkeiten auf der Grundlage mehrerer Bilder bietet."
|
||||
},
|
||||
"zai-org/GLM-4.5": {
|
||||
"description": "GLM-4.5 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.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."
|
||||
}
|
||||
}
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user