# open-webui - Doramagic AI Context Pack

> 定位：安装前体验与判断资产。它帮助宿主 AI 有一个好的开始，但不代表已经安装、执行或验证目标项目。

## 充分原则

- **充分原则，不是压缩原则**：AI Context Pack 应该充分到让宿主 AI 在开工前理解项目价值、能力边界、使用入口、风险和证据来源；它可以分层组织，但不以最短摘要为目标。
- **压缩策略**：只压缩噪声和重复内容，不压缩会影响判断和开工质量的上下文。

## 给宿主 AI 的使用方式

你正在读取 Doramagic 为 open-webui 编译的 AI Context Pack。请把它当作开工前上下文：帮助用户理解适合谁、能做什么、如何开始、哪些必须安装后验证、风险在哪里。不要声称你已经安装、运行或执行了目标项目。

## Claim 消费规则

- **事实来源**：Repo Evidence + Claim/Evidence Graph；Human Wiki 只提供显著性、术语和叙事结构。
- **事实最低状态**：`supported`
- `supported`：可以作为项目事实使用，但回答中必须引用 claim_id 和证据路径。
- `weak`：只能作为低置信度线索，必须要求用户继续核实。
- `inferred`：只能用于风险提示或待确认问题，不能包装成项目事实。
- `unverified`：不得作为事实使用，应明确说证据不足。
- `contradicted`：必须展示冲突来源，不得替用户强行选择一个版本。

## 它最适合谁

- **正在使用 Claude/Codex/Cursor/Gemini 等宿主 AI 的开发者**：README 或插件配置提到多个宿主 AI。 证据：`README.md` Claim：`clm_0002` supported 0.86

## 它能做什么

- **命令行启动或安装流程**（需要安装后验证）：项目文档中存在可执行命令，真实使用需要在本地或宿主环境中运行这些命令。 证据：`README.md` Claim：`clm_0001` supported 0.86

## 怎么开始

- `pip install open-webui` 证据：`README.md` Claim：`clm_0003` supported 0.86

## 继续前判断卡

- **当前建议**：仅建议沙盒试装
- **为什么**：项目存在安装命令、宿主配置或本地写入线索，不建议直接进入主力环境，应先在隔离环境试装。

### 30 秒判断

- **现在怎么做**：仅建议沙盒试装
- **最小安全下一步**：先跑 Prompt Preview；若仍要安装，只在隔离环境试装
- **先别相信**：真实输出质量不能在安装前相信。
- **继续会触碰**：命令执行、本地环境或项目文件、宿主 AI 上下文

### 现在可以相信

- **适合人群线索：正在使用 Claude/Codex/Cursor/Gemini 等宿主 AI 的开发者**（supported）：有 supported claim 或项目证据支撑，但仍不等于真实安装效果。 证据：`README.md` Claim：`clm_0002` supported 0.86
- **能力存在：命令行启动或安装流程**（supported）：可以相信项目包含这类能力线索；是否适合你的具体任务仍要试用或安装后验证。 证据：`README.md` Claim：`clm_0001` supported 0.86
- **存在 Quick Start / 安装命令线索**（supported）：可以相信项目文档出现过启动或安装入口；不要因此直接在主力环境运行。 证据：`README.md` Claim：`clm_0003` supported 0.86

### 现在还不能相信

- **真实输出质量不能在安装前相信。**（unverified）：Prompt Preview 只能展示引导方式，不能证明真实项目中的结果质量。
- **宿主 AI 版本兼容性不能在安装前相信。**（unverified）：Claude、Cursor、Codex、Gemini 等宿主加载规则和版本差异必须在真实环境验证。
- **不会污染现有宿主 AI 行为，不能直接相信。**（inferred）：Skill、plugin、AGENTS/CLAUDE/GEMINI 指令可能改变宿主 AI 的默认行为。
- **可安全回滚不能默认相信。**（unverified）：除非项目明确提供卸载和恢复说明，否则必须先在隔离环境验证。
- **真实安装后是否与用户当前宿主 AI 版本兼容？**（unverified）：兼容性只能通过实际宿主环境验证。
- **项目输出质量是否满足用户具体任务？**（unverified）：安装前预览只能展示流程和边界，不能替代真实评测。
- **安装命令是否需要网络、权限或全局写入？**（unverified）：这影响企业环境和个人环境的安装风险。 证据：`README.md`

### 继续会触碰什么

- **命令执行**：包管理器、网络下载、本地插件目录、项目配置或用户主目录。 原因：运行第一条命令就可能产生环境改动；必须先判断是否值得跑。 证据：`README.md`
- **本地环境或项目文件**：安装结果、插件缓存、项目配置或本地依赖目录。 原因：安装前无法证明写入范围和回滚方式，需要隔离验证。 证据：`README.md`
- **宿主 AI 上下文**：AI Context Pack、Prompt Preview、Skill 路由、风险规则和项目事实。 原因：导入上下文会影响宿主 AI 后续判断，必须避免把未验证项包装成事实。

### 最小安全下一步

- **先跑 Prompt Preview**：用安装前交互式试用判断工作方式是否匹配，不需要授权或改环境。（适用：任何项目都适用，尤其是输出质量未知时。）
- **只在隔离目录或测试账号试装**：避免安装命令污染主力宿主 AI、真实项目或用户主目录。（适用：存在命令执行、插件配置或本地写入线索时。）
- **安装后只验证一个最小任务**：先验证加载、兼容、输出质量和回滚，再决定是否深用。（适用：准备从试用进入真实工作流时。）

### 退出方式

- **保留安装前状态**：记录原始宿主配置和项目状态，后续才能判断是否可恢复。
- **记录安装命令和写入路径**：没有明确卸载说明时，至少要知道哪些目录或配置需要手动清理。
- **如果没有回滚路径，不进入主力环境**：不可回滚是继续前阻断项，不应靠信任或运气继续。

## 哪些只能预览

- 解释项目适合谁和能做什么
- 基于项目文档演示典型对话流程
- 帮助用户判断是否值得安装或继续研究

## 哪些必须安装后验证

- 真实安装 Skill、插件或 CLI
- 执行脚本、修改本地文件或访问外部服务
- 验证真实输出质量、性能和兼容性

## 边界与风险判断卡

- **把安装前预览误认为真实运行**：用户可能高估项目已经完成的配置、权限和兼容性验证。 处理方式：明确区分 prompt_preview_can_do 与 runtime_required。 Claim：`clm_0004` inferred 0.45
- **命令执行会修改本地环境**：安装命令可能写入用户主目录、宿主插件目录或项目配置。 处理方式：先在隔离环境或测试账号中运行。 证据：`README.md` Claim：`clm_0005` supported 0.86
- **待确认**：真实安装后是否与用户当前宿主 AI 版本兼容？。原因：兼容性只能通过实际宿主环境验证。
- **待确认**：项目输出质量是否满足用户具体任务？。原因：安装前预览只能展示流程和边界，不能替代真实评测。
- **待确认**：安装命令是否需要网络、权限或全局写入？。原因：这影响企业环境和个人环境的安装风险。

## 开工前工作上下文

### 加载顺序

- 先读取 how_to_use.host_ai_instruction，建立安装前判断资产的边界。
- 读取 claim_graph_summary，确认事实来自 Claim/Evidence Graph，而不是 Human Wiki 叙事。
- 再读取 intended_users、capabilities 和 quick_start_candidates，判断用户是否匹配。
- 需要执行具体任务时，优先查 role_skill_index，再查 evidence_index。
- 遇到真实安装、文件修改、网络访问、性能或兼容性问题时，转入 risk_card 和 boundaries.runtime_required。

### 任务路由

- **命令行启动或安装流程**：先说明这是安装后验证能力，再给出安装前检查清单。 边界：必须真实安装或运行后验证。 证据：`README.md` Claim：`clm_0001` supported 0.86

### 上下文规模

- 文件总数：4906
- 重要文件覆盖：40/4906
- 证据索引条目：80
- 角色 / Skill 条目：6

### 证据不足时的处理

- **missing_evidence**：说明证据不足，要求用户提供目标文件、README 段落或安装后验证记录；不要补全事实。
- **out_of_scope_request**：说明该任务超出当前 AI Context Pack 证据范围，并建议用户先查看 Human Manual 或真实安装后验证。
- **runtime_request**：给出安装前检查清单和命令来源，但不要替用户执行命令或声称已执行。
- **source_conflict**：同时展示冲突来源，标记为待核实，不要强行选择一个版本。

## Prompt Recipes

### 适配判断

- 目标：判断这个项目是否适合用户当前任务。
- 预期输出：适配结论、关键理由、证据引用、安装前可预览内容、必须安装后验证内容、下一步建议。

```text
请基于 open-webui 的 AI Context Pack，先问我 3 个必要问题，然后判断它是否适合我的任务。回答必须包含：适合谁、能做什么、不能做什么、是否值得安装、证据来自哪里。所有项目事实必须引用 evidence_refs、source_paths 或 claim_id。
```

### 安装前体验

- 目标：让用户在安装前感受核心工作流，同时避免把预览包装成真实能力或营销承诺。
- 预期输出：一段带边界标签的体验剧本、安装后验证清单和谨慎建议；不含真实运行承诺或强营销表述。

```text
请把 open-webui 当作安装前体验资产，而不是已安装工具或真实运行环境。

请严格输出四段：
1. 先问我 3 个必要问题。
2. 给出一段“体验剧本”：用 [安装前可预览]、[必须安装后验证]、[证据不足] 三种标签展示它可能如何引导工作流。
3. 给出安装后验证清单：列出哪些能力只有真实安装、真实宿主加载、真实项目运行后才能确认。
4. 给出谨慎建议：只能说“值得继续研究/试装”“先补充信息后再判断”或“不建议继续”，不得替项目背书。

硬性边界：
- 不要声称已经安装、运行、执行测试、修改文件或产生真实结果。
- 不要写“自动适配”“确保通过”“完美适配”“强烈建议安装”等承诺性表达。
- 如果描述安装后的工作方式，必须使用“如果安装成功且宿主正确加载 Skill，它可能会……”这种条件句。
- 体验剧本只能写成“示例台词/假设流程”：使用“可能会询问/可能会建议/可能会展示”，不要写“已写入、已生成、已通过、正在运行、正在生成”。
- Prompt Preview 不负责给安装命令；如用户准备试装，只能提示先阅读 Quick Start 和 Risk Card，并在隔离环境验证。
- 所有项目事实必须来自 supported claim、evidence_refs 或 source_paths；inferred/unverified 只能作风险或待确认项。

```

### 角色 / Skill 选择

- 目标：从项目里的角色或 Skill 中挑选最匹配的资产。
- 预期输出：候选角色或 Skill 列表，每项包含适用场景、证据路径、风险边界和是否需要安装后验证。

```text
请读取 role_skill_index，根据我的目标任务推荐 3-5 个最相关的角色或 Skill。每个推荐都要说明适用场景、可能输出、风险边界和 evidence_refs。
```

### 风险预检

- 目标：安装或引入前识别环境、权限、规则冲突和质量风险。
- 预期输出：环境、权限、依赖、许可、宿主冲突、质量风险和未知项的检查清单。

```text
请基于 risk_card、boundaries 和 quick_start_candidates，给我一份安装前风险预检清单。不要替我执行命令，只说明我应该检查什么、为什么检查、失败会有什么影响。
```

### 宿主 AI 开工指令

- 目标：把项目上下文转成一次对话开始前的宿主 AI 指令。
- 预期输出：一段边界明确、证据引用明确、适合复制给宿主 AI 的开工前指令。

```text
请基于 open-webui 的 AI Context Pack，生成一段我可以粘贴给宿主 AI 的开工前指令。这段指令必须遵守 not_runtime=true，不能声称项目已经安装、运行或产生真实结果。
```


## 角色 / Skill 索引

- 共索引 6 个角色 / Skill / 项目文档条目。

- **Open WebUI 👋**（project_doc）：! GitHub stars https://img.shields.io/github/stars/open-webui/open-webui?style=social ! GitHub forks https://img.shields.io/github/forks/open-webui/open-webui?style=social ! GitHub watchers https://img.shields.io/github/watchers/open-webui/open-webui?style=social ! GitHub repo size https://img.shields.io/github/repo-size/open-webui/open-webui ! GitHub language count https://img.shields.io/github/languages/count/open… 激活提示：当用户需要理解项目结构、安装方式或边界时参考。 证据：`README.md`
- **Security Policy**（project_doc）：Our primary goal is to ensure the protection and confidentiality of sensitive data stored by users on open-webui. 激活提示：当用户需要理解项目结构、安装方式或边界时参考。 证据：`docs/SECURITY.md`
- **Pull Request Checklist**（project_doc）：Note to first-time contributors: Please open a discussion post in Discussions https://github.com/open-webui/open-webui/discussions to discuss your idea/fix with the community before creating a pull request, and describe your changes before submitting a pull request. 激活提示：当用户需要理解项目结构、安装方式或边界时参考。 证据：`.github/pull_request_template.md`
- **Changelog**（project_doc）：All notable changes to this project will be documented in this file. 激活提示：当用户需要理解项目结构、安装方式或边界时参考。 证据：`CHANGELOG.md`
- **Contributor Covenant Code of Conduct**（project_doc）：Contributor Covenant Code of Conduct 激活提示：当用户需要理解项目结构、安装方式或边界时参考。 证据：`CODE_OF_CONDUCT.md`
- **Open WebUI Troubleshooting Guide**（project_doc）：Understanding the Open WebUI Architecture 激活提示：当用户需要理解项目结构、安装方式或边界时参考。 证据：`TROUBLESHOOTING.md`

## 证据索引

- 共索引 80 条证据。

- **Open WebUI 👋**（documentation）：! GitHub stars https://img.shields.io/github/stars/open-webui/open-webui?style=social ! GitHub forks https://img.shields.io/github/forks/open-webui/open-webui?style=social ! GitHub watchers https://img.shields.io/github/watchers/open-webui/open-webui?style=social ! GitHub repo size https://img.shields.io/github/repo-size/open-webui/open-webui ! GitHub language count https://img.shields.io/github/languages/count/open-webui/open-webui ! GitHub top language https://img.shields.io/github/languages/top/open-webui/open-webui ! GitHub last commit https://img.shields.io/github/last-commit/open-webui/open-webui?color=red ! Discord https://img.shields.io/badge/Discord-Open WebUI-blue?logo=discord&log… 证据：`README.md`
- **Package**（package_manifest）：{ "name": "open-webui", "version": "0.9.5", "private": true, "scripts": { "dev": "npm run pyodide:fetch && vite dev --host", "dev:5050": "npm run pyodide:fetch && vite dev --port 5050", "build": "npm run pyodide:fetch && vite build", "build:watch": "npm run pyodide:fetch && vite build --watch", "preview": "vite preview", "check": "svelte-kit sync && svelte-check --tsconfig ./tsconfig.json", "check:watch": "svelte-kit sync && svelte-check --tsconfig ./tsconfig.json --watch", "lint": "npm run lint:frontend ; npm run lint:types ; npm run lint:backend", "lint:frontend": "eslint . --fix", "lint:types": "npm run check", "lint:backend": "pylint backend/", "format": "prettier --plugin-search-dir --… 证据：`package.json`
- **License**（source_file）：Copyright c 2023- Open WebUI Inc. Created by Timothy Jaeryang Baek All rights reserved. 证据：`LICENSE`
- **Security Policy**（documentation）：Our primary goal is to ensure the protection and confidentiality of sensitive data stored by users on open-webui. 证据：`docs/SECURITY.md`
- **Pull Request Checklist**（documentation）：Note to first-time contributors: Please open a discussion post in Discussions https://github.com/open-webui/open-webui/discussions to discuss your idea/fix with the community before creating a pull request, and describe your changes before submitting a pull request. 证据：`.github/pull_request_template.md`
- **Changelog**（documentation）：All notable changes to this project will be documented in this file. 证据：`CHANGELOG.md`
- **Contributor Covenant Code of Conduct**（documentation）：Contributor Covenant Code of Conduct 证据：`CODE_OF_CONDUCT.md`
- **Open WebUI Troubleshooting Guide**（documentation）：Understanding the Open WebUI Architecture 证据：`TROUBLESHOOTING.md`
- **Tsconfig**（structured_config）：{ "extends": "../tsconfig.json", "compilerOptions": { "inlineSourceMap": true, "sourceMap": false } } 证据：`cypress/tsconfig.json`
- **Manifest**（structured_config）：{} 证据：`static/manifest.json`
- **Tsconfig**（structured_config）：{ "extends": "./.svelte-kit/tsconfig.json", "compilerOptions": { "allowJs": true, "checkJs": true, "esModuleInterop": true, "forceConsistentCasingInFileNames": true, "resolveJsonModule": true, "skipLibCheck": true, "sourceMap": true, "strict": true } // Path aliases are handled by https://kit.svelte.dev/docs/configuration alias // // If you want to overwrite includes/excludes, make sure to copy over the relevant includes/excludes // from the referenced tsconfig.json - TypeScript does not merge them in } 证据：`tsconfig.json`
- **Emoji Groups**（structured_config）：{ "Smileys & Emotion": "1F600", "1F603", "1F604", "1F601", "1F606", "1F605", "1F923", "1F602", "1F642", "1F643", "1FAE0", "1F609", "1F60A", "1F607", "1F970", "1F60D", "1F929", "1F618", "1F617", "263A-FE0F", "263A", "1F61A", "1F619", "1F972", "1F60B", "1F61B", "1F61C", "1F92A", "1F61D", "1F911", "1F917", "1F92D", "1FAE2", "1FAE3", "1F92B", "1F914", "1FAE1", "1F910", "1F928", "1F610", "1F611", "1F636", "1FAE5", "1F636-200D-1F32B-FE0F", "1F636-200D-1F32B", "1F60F", "1F612", "1F644", "1F62C", "1F62E-200D-1F4A8", "1F925", "1FAE8", "1F642-200D-2194-FE0F", "1F642-200D-2194", "1F642-200D-2195-FE0F", "1F642-200D-2195", "1F60C", "1F614", "1F62A", "1F924", "1F634", "1FAE9", "1F637", "1F912", "1F915",… 证据：`src/lib/emoji-groups.json`
- **Emoji Shortcodes**（structured_config）：{ "2049": "interrobang", "2122": "tm", "2139": "information source", "2194": "left right arrow", "2195": "arrow up down", "2196": "arrow upper left", "2197": "arrow upper right", "2198": "arrow lower right", "2199": "arrow lower left", "2328": "keyboard", "2600": "sunny", "2601": "cloud", "2602": "umbrella", "2603": "snowman", "2604": "comet", "2611": "ballot box with check", "2614": "umbrella with rain drops", "2615": "coffee", "2618": "shamrock", "2620": "skull and crossbones", "2622": "radioactive sign", "2623": "biohazard sign", "2626": "orthodox cross", "2638": "wheel of dharma", "2639": "white frowning face", "2640": "female sign", "2642": "male sign", "2648": "aries", "2649": "taurus… 证据：`src/lib/emoji-shortcodes.json`
- **Translation**（structured_config）：{ "-1 for no limit, or a positive integer for a specific limit": "", "'s', 'm', 'h', 'd', 'w' or '-1' for no expiration.": "'s', 'm', 'h', 'd', 'w' أو '-1' لا توجد انتهاء", " e.g. sh webui.sh --api --api-auth username password ": "", " e.g. sh webui.sh --api ": " sh webui.sh --api مثال ", " latest ": " الأخير ", " leave blank for to use commercial endpoint ": "", " Last dddd at h:mm A": "", " Today at h:mm A": "", " Yesterday at h:mm A": "", "{{ models }}": "{{ نماذج }}", "{{COUNT}} Available Tools": "", "{{COUNT}} characters": "", "{{COUNT}} extracted lines": "", "{{COUNT}} files": "", "{{COUNT}} hidden lines": "", "{{COUNT}} members": "", "{{COUNT}} Replies": "", "{{COUNT}} Rows": "", "{{… 证据：`src/lib/i18n/locales/ar-BH/translation.json`
- **Translation**（structured_config）：{ "-1 for no limit, or a positive integer for a specific limit": "-1 لعدم وجود حد، أو عدد صحيح موجب لحد معين", "'s', 'm', 'h', 'd', 'w' or '-1' for no expiration.": "الحروف 's'، 'm'، 'h'، 'd'، 'w' أو '-1' لعدم انتهاء الصلاحية.", " e.g. sh webui.sh --api --api-auth username password ": " مثال: sh webui.sh --api --api-auth اسم المستخدم كلمة المرور ", " e.g. sh webui.sh --api ": " مثال: تشغيل الأمر: sh webui.sh --api ", " latest ": " أحدث ", " leave blank for to use commercial endpoint ": "", " Last dddd at h:mm A": "", " Today at h:mm A": "", " Yesterday at h:mm A": "", "{{ models }}": "النماذج: {{ models }}", "{{COUNT}} Available Tools": "", "{{COUNT}} characters": "", "{{COUNT}} extracted l… 证据：`src/lib/i18n/locales/ar/translation.json`
- **Translation**（structured_config）：{ "-1 for no limit, or a positive integer for a specific limit": "Limitsiz üçün -1, yaxud konkret limit üçün müsbət tam ədəd daxil edin", "'s', 'm', 'h', 'd', 'w' or '-1' for no expiration.": "Vaxt məhdudiyyəti olmaması üçün 's', 'm', 'h', 'd', 'w' və ya '-1'.", " e.g. sh webui.sh --api --api-auth username password ": " məs. sh webui.sh --api --api-auth istifadəçiadı şifrə ", " e.g. sh webui.sh --api ": " məs. sh webui.sh --api ", " latest ": " ən sonuncu ", " leave blank for to use commercial endpoint ": " kommersiya son nöqtəsindən istifadə etmək üçün boş buraxın ", " Last dddd at h:mm A": " Sonuncu dddd saat h:mm A", " Today at h:mm A": " Bu gün saat h:mm A", " Yesterday at h:mm A": " Dü… 证据：`src/lib/i18n/locales/az-AZ/translation.json`
- **Translation**（structured_config）：{ "-1 for no limit, or a positive integer for a specific limit": "-1 за липса на ограничение или положително цяло число за определено ограничение.", "'s', 'm', 'h', 'd', 'w' or '-1' for no expiration.": "'s', 'm', 'h', 'd', 'w' или '-1' за неограничен срок.", " e.g. sh webui.sh --api --api-auth username password ": " напр. sh webui.sh --api --api-auth username password ", " e.g. sh webui.sh --api ": " напр. sh webui.sh --api ", " latest ": " последна ", " leave blank for to use commercial endpoint ": "", " Last dddd at h:mm A": "", " Today at h:mm A": "", " Yesterday at h:mm A": "", "{{ models }}": "{{ models }}", "{{COUNT}} Available Tools": "", "{{COUNT}} characters": "", "{{COUNT}} extra… 证据：`src/lib/i18n/locales/bg-BG/translation.json`
- **Translation**（structured_config）：{ "-1 for no limit, or a positive integer for a specific limit": "", "'s', 'm', 'h', 'd', 'w' or '-1' for no expiration.": "'s', 'm', 'h', 'd', 'w' অথবা অনির্দিষ্টকাল মেয়াদের জন্য '-1' ", " e.g. sh webui.sh --api --api-auth username password ": "", " e.g. sh webui.sh --api ": " যেমন sh webui.sh --api ", " latest ": " সর্বশেষ ", " leave blank for to use commercial endpoint ": "", " Last dddd at h:mm A": "", " Today at h:mm A": "", " Yesterday at h:mm A": "", "{{ models }}": "{{ মডেল}}", "{{COUNT}} Available Tools": "", "{{COUNT}} characters": "", "{{COUNT}} extracted lines": "", "{{COUNT}} files": "", "{{COUNT}} hidden lines": "", "{{COUNT}} members": "", "{{COUNT}} Replies": "", "{{COUNT}}… 证据：`src/lib/i18n/locales/bn-BD/translation.json`
- **Translation**（structured_config）：{ "-1 for no limit, or a positive integer for a specific limit": "-1 ནི་ཚད་མེད་པའི་ཆེད་དམ། ཡང་ན་ཧྲིལ་གྲངས་དགོས་ངེས་ཤིག་ཚད་བཀག་ངེས་ཅན་ཞིག་གི་ཆེད་དུ།", "'s', 'm', 'h', 'd', 'w' or '-1' for no expiration.": "'s', 'm', 'h', 'd', 'w' ཡང་ན་ '-1' དུས་ཚོད་རྫོགས་མི་དགོས་པའི་ཆེད་དུ།", " e.g. sh webui.sh --api --api-auth username password ": " དཔེར་ན། sh webui.sh --api --api-auth username password ", " e.g. sh webui.sh --api ": " དཔེར་ན། sh webui.sh --api ", " latest ": " ཆེས་གསར། ", " leave blank for to use commercial endpoint ": "", " Last dddd at h:mm A": "", " Today at h:mm A": "", " Yesterday at h:mm A": "", "{{ models }}": "{{ models }}", "{{COUNT}} Available Tools": "", "{{COUNT}} characters":… 证据：`src/lib/i18n/locales/bo-TB/translation.json`
- **Translation**（structured_config）：{ "-1 for no limit, or a positive integer for a specific limit": "", "'s', 'm', 'h', 'd', 'w' or '-1' for no expiration.": "'s', 'm', 'h', 'd', 'w' ili '-1' za bez isteka.", " e.g. sh webui.sh --api --api-auth username password ": "", " e.g. sh webui.sh --api ": " npr. sh webui.sh --api ", " latest ": " najnovije ", " leave blank for to use commercial endpoint ": "", " Last dddd at h:mm A": "", " Today at h:mm A": "", " Yesterday at h:mm A": "", "{{ models }}": "{{ modeli }}", "{{COUNT}} Available Tools": "", "{{COUNT}} characters": "", "{{COUNT}} extracted lines": "", "{{COUNT}} files": "", "{{COUNT}} hidden lines": "", "{{COUNT}} members": "", "{{COUNT}} Replies": "", "{{COUNT}} Rows": ""… 证据：`src/lib/i18n/locales/bs-BA/translation.json`
- **Translation**（structured_config）：{ "-1 for no limit, or a positive integer for a specific limit": "-1 per a cap límit, o un nombre positiu per a un límit específic", "'s', 'm', 'h', 'd', 'w' or '-1' for no expiration.": "'s', 'm', 'h', 'd', 'w' o '-1' perquè no caduqui mai.", " e.g. sh webui.sh --api --api-auth username password ": " p. ex. sh webui.sh --api --api-auth username password ", " e.g. sh webui.sh --api ": " p. ex. sh webui.sh --api ", " latest ": " últim ", " leave blank for to use commercial endpoint ": " deixa-ho buit per utilitzar un punt d'accés comercial ", " Last dddd at h:mm A": " Darrer dddd a h:mm A", " Today at h:mm A": " Avui a les h:mm A", " Yesterday at h:mm A": " Ahir a les h:mm A", "{{ models }}"… 证据：`src/lib/i18n/locales/ca-ES/translation.json`
- **Translation**（structured_config）：{ "-1 for no limit, or a positive integer for a specific limit": "", "'s', 'm', 'h', 'd', 'w' or '-1' for no expiration.": "'s', 'm', 'h', 'd', 'w' o '-1' para walay expiration.", " e.g. sh webui.sh --api --api-auth username password ": "", " e.g. sh webui.sh --api ": " pananglitan sh webui.sh --api ", " latest ": "", " leave blank for to use commercial endpoint ": "", " Last dddd at h:mm A": "", " Today at h:mm A": "", " Yesterday at h:mm A": "", "{{ models }}": "", "{{COUNT}} Available Tools": "", "{{COUNT}} characters": "", "{{COUNT}} extracted lines": "", "{{COUNT}} files": "", "{{COUNT}} hidden lines": "", "{{COUNT}} members": "", "{{COUNT}} Replies": "", "{{COUNT}} Rows": "", "{{count… 证据：`src/lib/i18n/locales/ceb-PH/translation.json`
- **Translation**（structured_config）：{ "-1 for no limit, or a positive integer for a specific limit": "-1 pro žádný limit, nebo kladné celé číslo pro specifický limit", "'s', 'm', 'h', 'd', 'w' or '-1' for no expiration.": "'s', 'm', 'h', 'd', 'w' nebo '-1' pro žádné vypršení.", " e.g. sh webui.sh --api --api-auth username password ": " např. sh webui.sh --api --api-auth username password ", " e.g. sh webui.sh --api ": " např. sh webui.sh --api ", " latest ": " nejnovější ", " leave blank for to use commercial endpoint ": " ponechte prázdné pro použití komerčního koncového bodu ", " Last dddd at h:mm A": " Naposledy dddd v h:mm A", " Today at h:mm A": " Dnes v h:mm A", " Yesterday at h:mm A": " Včera v h:mm A", "{{ models }}":… 证据：`src/lib/i18n/locales/cs-CZ/translation.json`
- **Translation**（structured_config）：{ "-1 for no limit, or a positive integer for a specific limit": "-1 for ingen grænse, eller et positivt heltal for en specifik grænse", "'s', 'm', 'h', 'd', 'w' or '-1' for no expiration.": "'s', 'm', 'h', 'd', 'w' eller '-1' for ingen udløb", " e.g. sh webui.sh --api --api-auth username password ": " f.eks. sh webui.sh --api --api-auth username password ", " e.g. sh webui.sh --api ": " f.eks. sh webui.sh --api ", " latest ": " seneste ", " leave blank for to use commercial endpoint ": " lad stå tom for at bruge kommercielt endpoint ", " Last dddd at h:mm A": " Sidste dddd kl. h:mm A", " Today at h:mm A": " I dag kl. h:mm A", " Yesterday at h:mm A": " I går kl. h:mm A", "{{ models }}": "{{… 证据：`src/lib/i18n/locales/da-DK/translation.json`
- **Translation**（structured_config）：{ "-1 for no limit, or a positive integer for a specific limit": "-1 für kein Limit oder eine positive ganze Zahl für ein spezifisches Limit", "'s', 'm', 'h', 'd', 'w' or '-1' for no expiration.": "'s', 'm', 'h', 'd', 'w' oder '-1' für kein Ablaufdatum.", " e.g. sh webui.sh --api --api-auth username password ": " z. B. sh webui.sh --api --api-auth username password ", " e.g. sh webui.sh --api ": " z. B. sh webui.sh --api ", " latest ": " neueste ", " leave blank for to use commercial endpoint ": " leer lassen, um kommerziellen Endpunkt zu verwenden ", " Last dddd at h:mm A": " Letzten dddd um h:mm A", " Today at h:mm A": " Heute um h:mm A", " Yesterday at h:mm A": " Gestern um h:mm A", "{{… 证据：`src/lib/i18n/locales/de-DE/translation.json`
- **Translation**（structured_config）：{ "-1 for no limit, or a positive integer for a specific limit": "", "'s', 'm', 'h', 'd', 'w' or '-1' for no expiration.": "'s', 'm', 'h', 'd', 'w' or '-1' for no expire. Much permanent, very wow.", " e.g. sh webui.sh --api --api-auth username password ": "", " e.g. sh webui.sh --api ": " such e.g. sh webui.sh --api ", " latest ": " much latest ", " leave blank for to use commercial endpoint ": "", " Last dddd at h:mm A": "", " Today at h:mm A": "", " Yesterday at h:mm A": "", "{{ models }}": "", "{{COUNT}} Available Tools": "", "{{COUNT}} characters": "", "{{COUNT}} extracted lines": "", "{{COUNT}} files": "", "{{COUNT}} hidden lines": "", "{{COUNT}} members": "", "{{COUNT}} Replies": "",… 证据：`src/lib/i18n/locales/dg-DG/translation.json`
- **Translation**（structured_config）：{ "-1 for no limit, or a positive integer for a specific limit": "-1 για απεριόριστο, ή έναν θετικό ακέραιο για ένα συγκεκριμένο όριο", "'s', 'm', 'h', 'd', 'w' or '-1' for no expiration.": "'s', 'm', 'h', 'd', 'w' ή '-1' για απεριόριστο.", " e.g. sh webui.sh --api --api-auth username password ": " π.χ. sh webui.sh --api --api-auth username password ", " e.g. sh webui.sh --api ": " π.χ. sh webui.sh --api ", " latest ": " τελευταία ", " leave blank for to use commercial endpoint ": " αφήστε κενό για να χρησιμοποιήσετε εμπορικό endpoint ", " Last dddd at h:mm A": "", " Today at h:mm A": "", " Yesterday at h:mm A": "", "{{ models }}": "{{ models }}", "{{COUNT}} Available Tools": "", "{{COUNT}}… 证据：`src/lib/i18n/locales/el-GR/translation.json`
- **Translation**（structured_config）：{ "-1 for no limit, or a positive integer for a specific limit": "", "'s', 'm', 'h', 'd', 'w' or '-1' for no expiration.": "", " e.g. sh webui.sh --api --api-auth username password ": "", " e.g. sh webui.sh --api ": "", " latest ": "", " leave blank for to use commercial endpoint ": "", " Last dddd at h:mm A": "", " Today at h:mm A": "", " Yesterday at h:mm A": "", "{{ models }}": "", "{{COUNT}} Available Tools": "", "{{COUNT}} characters": "", "{{COUNT}} extracted lines": "", "{{COUNT}} files": "", "{{COUNT}} hidden lines": "", "{{COUNT}} members": "", "{{COUNT}} Replies": "", "{{COUNT}} Rows": "", "{{count}} selected one": "", "{{count}} selected other": "", "{{COUNT}} Sources": "", "{{CO… 证据：`src/lib/i18n/locales/en-GB/translation.json`
- **Translation**（structured_config）：{ "-1 for no limit, or a positive integer for a specific limit": "", "'s', 'm', 'h', 'd', 'w' or '-1' for no expiration.": "", " e.g. sh webui.sh --api --api-auth username password ": "", " e.g. sh webui.sh --api ": "", " latest ": "", " leave blank for to use commercial endpoint ": "", " Last dddd at h:mm A": "", " Today at h:mm A": "", " Yesterday at h:mm A": "", "{{ models }}": "", "{{COUNT}} Available Tools": "", "{{COUNT}} characters": "", "{{COUNT}} extracted lines": "", "{{COUNT}} files": "", "{{COUNT}} hidden lines": "", "{{COUNT}} members": "", "{{COUNT}} Replies": "", "{{COUNT}} Rows": "", "{{count}} selected one": "", "{{count}} selected other": "", "{{COUNT}} Sources": "", "{{CO… 证据：`src/lib/i18n/locales/en-US/translation.json`
- **Translation**（structured_config）：{ "-1 for no limit, or a positive integer for a specific limit": "-1 para ilimitado, o un número entero positivo para un límite específico.", "'s', 'm', 'h', 'd', 'w' or '-1' for no expiration.": "'s', 'm', 'h', 'd', 'w' o '-1' para evitar expiración.", " e.g. sh webui.sh --api --api-auth username password ": " p.ej. sh webui.sh --api --api-auth username password ", " e.g. sh webui.sh --api ": " p.ej. sh webui.sh --api ", " latest ": " la última ", " leave blank for to use commercial endpoint ": " dejar vacío para usar el endpoint comercial ", " Last dddd at h:mm A": " Último dddd a las h:mm A", " Today at h:mm A": " Hoy a las h:mm A", " Yesterday at h:mm A": " Ayer a las h:mm A", "{{ model… 证据：`src/lib/i18n/locales/es-ES/translation.json`
- **Translation**（structured_config）：{ "-1 for no limit, or a positive integer for a specific limit": "-1 piirangu puudumisel või positiivne täisarv konkreetse piirangu jaoks", "'s', 'm', 'h', 'd', 'w' or '-1' for no expiration.": "'s', 'm', 'h', 'd', 'w' või '-1' aegumiseta.", " e.g. sh webui.sh --api --api-auth username password ": " nt sh webui.sh --api --api-auth kasutajanimi parool ", " e.g. sh webui.sh --api ": " nt sh webui.sh --api ", " latest ": " uusim ", " leave blank for to use commercial endpoint ": " jäta tühjaks, et kasutada kommertslõpp-punkti ", " Last dddd at h:mm A": " Eelmisel dddd kell h:mm A", " Today at h:mm A": " Täna kell h:mm A", " Yesterday at h:mm A": " Eile kell h:mm A", "{{ models }}": "{{ mudelid… 证据：`src/lib/i18n/locales/et-EE/translation.json`
- **Translation**（structured_config）：{ "-1 for no limit, or a positive integer for a specific limit": "", "'s', 'm', 'h', 'd', 'w' or '-1' for no expiration.": "'s', 'm', 'h', 'd', 'w' edo '-1' iraungitzerik ez izateko.", " e.g. sh webui.sh --api --api-auth username password ": " adib. sh webui.sh --api --api-auth erabiltzaile pasahitza ", " e.g. sh webui.sh --api ": " adib. sh webui.sh --api ", " latest ": " azkena ", " leave blank for to use commercial endpoint ": "", " Last dddd at h:mm A": "", " Today at h:mm A": "", " Yesterday at h:mm A": "", "{{ models }}": "{{ models }}", "{{COUNT}} Available Tools": "", "{{COUNT}} characters": "", "{{COUNT}} extracted lines": "", "{{COUNT}} files": "", "{{COUNT}} hidden lines": "", "{… 证据：`src/lib/i18n/locales/eu-ES/translation.json`
- **Translation**（structured_config）：{ "-1 for no limit, or a positive integer for a specific limit": "-1 برای بدون محدودیت، یا یک عدد مثبت برای محدودیت مشخص", "'s', 'm', 'h', 'd', 'w' or '-1' for no expiration.": "'s', 'm', 'h', 'd', 'w' یا '-1' برای غیر فعال کردن انقضا.", " e.g. sh webui.sh --api --api-auth username password ": " مثال: sh webui.sh --api --api-auth username password ", " e.g. sh webui.sh --api ": " e.g. sh webui.sh --api ", " latest ": " آخرین ", " leave blank for to use commercial endpoint ": " برای استفاده از نقطه پایانی تجاری خالی بگذارید ", " Last dddd at h:mm A": " آخرین dddd در h:mm A", " Today at h:mm A": " امروز در h:mm A", " Yesterday at h:mm A": " دیروز در h:mm A", "{{ models }}": "{{ models }}", "{… 证据：`src/lib/i18n/locales/fa-IR/translation.json`
- **Translation**（structured_config）：{ "-1 for no limit, or a positive integer for a specific limit": "-1 rajoituksetta tai positiivinen kokonaisluku enimmäismääräksi", "'s', 'm', 'h', 'd', 'w' or '-1' for no expiration.": "'s', 'm', 'h', 'd', 'w' tai '-1' jottei vanhene.", " e.g. sh webui.sh --api --api-auth username password ": " esim. sh webui.sh --api --api-auth username password ", " e.g. sh webui.sh --api ": " esim. sh webui.sh --api ", " latest ": " uusin ", " leave blank for to use commercial endpoint ": " Jätä tyhjäksi, jos haluat käyttää kaupallista päätettä ", " Last dddd at h:mm A": " Viimeisin dddd h:mm A", " Today at h:mm A": " Tänään h:mm A", " Yesterday at h:mm A": " Eilen h:mm A", "{{ models }}": "{{ mallit }}… 证据：`src/lib/i18n/locales/fi-FI/translation.json`
- **Translation**（structured_config）：{ "-1 for no limit, or a positive integer for a specific limit": "", "'s', 'm', 'h', 'd', 'w' or '-1' for no expiration.": "", " e.g. sh webui.sh --api --api-auth username password ": "", " e.g. sh webui.sh --api ": "", " latest ": "", " leave blank for to use commercial endpoint ": "", " Last dddd at h:mm A": "", " Today at h:mm A": "", " Yesterday at h:mm A": "", "{{ models }}": "", "{{COUNT}} Available Tools": "", "{{COUNT}} characters": "", "{{COUNT}} extracted lines": "", "{{COUNT}} files": "", "{{COUNT}} hidden lines": "", "{{COUNT}} members": "", "{{COUNT}} Replies": "", "{{COUNT}} Rows": "", "{{count}} selected one": "", "{{count}} selected many": "", "{{count}} selected other": "",… 证据：`src/lib/i18n/locales/fil-PH/translation.json`
- **Translation**（structured_config）：{ "-1 for no limit, or a positive integer for a specific limit": "-1 pour aucune limite, ou un entier positif pour une limite spécifique", "'s', 'm', 'h', 'd', 'w' or '-1' for no expiration.": " 's', 'm', 'h', 'd', 'w' ou '-1' pour une durée illimitée.", " e.g. sh webui.sh --api --api-auth username password ": " par ex. sh webui.sh --api --api-auth username password ", " e.g. sh webui.sh --api ": " par exemple sh webui.sh --api ", " latest ": " dernière version ", " leave blank for to use commercial endpoint ": "laisser vide pour l'utilisation d'un point d'extension commercial", " Last dddd at h:mm A": "", " Today at h:mm A": "", " Yesterday at h:mm A": "", "{{ models }}": "{{ models }}", "… 证据：`src/lib/i18n/locales/fr-CA/translation.json`
- **Translation**（structured_config）：{ "-1 for no limit, or a positive integer for a specific limit": "-1 pour aucune limite, ou un entier positif pour une limite spécifique", "'s', 'm', 'h', 'd', 'w' or '-1' for no expiration.": " 's', 'm', 'h', 'd', 'w' ou '-1' pour une durée illimitée.", " e.g. sh webui.sh --api --api-auth username password ": " par ex. sh webui.sh --api --api-auth username password ", " e.g. sh webui.sh --api ": " par exemple sh webui.sh --api ", " latest ": " dernière version ", " leave blank for to use commercial endpoint ": "laisser vide pour l'utilisation d'un point d'extension commercial", " Last dddd at h:mm A": "dddd dernier à H h mm", " Today at h:mm A": " Aujourd'hui à H h mm", " Yesterday at h:mm… 证据：`src/lib/i18n/locales/fr-FR/translation.json`
- **Translation**（structured_config）：{ "-1 for no limit, or a positive integer for a specific limit": "-1 para ilimitado, ou un número enteiro positivo para un límite específico.", "'s', 'm', 'h', 'd', 'w' or '-1' for no expiration.": "'s', 'm', 'h', 'd', 'w' o '-1' para evitar expiración.", " e.g. sh webui.sh --api --api-auth username password ": " p.ej. sh webui.sh --api --api-auth username password ", " e.g. sh webui.sh --api ": " p.ej. sh webui.sh --api ", " latest ": " O mais recente ", " leave blank for to use commercial endpoint ": "", " Last dddd at h:mm A": "", " Today at h:mm A": "", " Yesterday at h:mm A": "", "{{ models }}": "{{ models }}", "{{COUNT}} Available Tools": "", "{{COUNT}} characters": "", "{{COUNT}} ext… 证据：`src/lib/i18n/locales/gl-ES/translation.json`
- **Translation**（structured_config）：{ "-1 for no limit, or a positive integer for a specific limit": "", "'s', 'm', 'h', 'd', 'w' or '-1' for no expiration.": "'s', 'm', 'h', 'd', 'w' או '-1' ללא תפוגה.", " e.g. sh webui.sh --api --api-auth username password ": "", " e.g. sh webui.sh --api ": " למשל sh webui.sh --api ", " latest ": " האחרון ", " leave blank for to use commercial endpoint ": "", " Last dddd at h:mm A": "", " Today at h:mm A": "", " Yesterday at h:mm A": "", "{{ models }}": "{{ מודלים }}", "{{COUNT}} Available Tools": "", "{{COUNT}} characters": "", "{{COUNT}} extracted lines": "", "{{COUNT}} files": "", "{{COUNT}} hidden lines": "", "{{COUNT}} members": "", "{{COUNT}} Replies": "", "{{COUNT}} Rows": "", "{{cou… 证据：`src/lib/i18n/locales/he-IL/translation.json`
- **Translation**（structured_config）：{ "-1 for no limit, or a positive integer for a specific limit": "", "'s', 'm', 'h', 'd', 'w' or '-1' for no expiration.": "'s', 'm', 'h', 'd', 'w' or '-1' बिना किसी समाप्ति के", " e.g. sh webui.sh --api --api-auth username password ": "", " e.g. sh webui.sh --api ": " e.g. sh webui.sh --api ", " latest ": " latest ", " leave blank for to use commercial endpoint ": "", " Last dddd at h:mm A": "", " Today at h:mm A": "", " Yesterday at h:mm A": "", "{{ models }}": "{{ मॉडल }}", "{{COUNT}} Available Tools": "", "{{COUNT}} characters": "", "{{COUNT}} extracted lines": "", "{{COUNT}} files": "", "{{COUNT}} hidden lines": "", "{{COUNT}} members": "", "{{COUNT}} Replies": "", "{{COUNT}} Rows": ""… 证据：`src/lib/i18n/locales/hi-IN/translation.json`
- **Translation**（structured_config）：{ "-1 for no limit, or a positive integer for a specific limit": "", "'s', 'm', 'h', 'd', 'w' or '-1' for no expiration.": "'s', 'm', 'h', 'd', 'w' ili '-1' za bez isteka.", " e.g. sh webui.sh --api --api-auth username password ": "", " e.g. sh webui.sh --api ": " npr. sh webui.sh --api ", " latest ": " najnovije ", " leave blank for to use commercial endpoint ": "", " Last dddd at h:mm A": "", " Today at h:mm A": "", " Yesterday at h:mm A": "", "{{ models }}": "{{ modeli }}", "{{COUNT}} Available Tools": "", "{{COUNT}} characters": "", "{{COUNT}} extracted lines": "", "{{COUNT}} files": "", "{{COUNT}} hidden lines": "", "{{COUNT}} members": "", "{{COUNT}} Replies": "", "{{COUNT}} Rows": ""… 证据：`src/lib/i18n/locales/hr-HR/translation.json`
- **Translation**（structured_config）：{ "-1 for no limit, or a positive integer for a specific limit": "-1 a korlátlanhoz, vagy pozitív egész szám egy konkrét limithoz", "'s', 'm', 'h', 'd', 'w' or '-1' for no expiration.": "'s', 'm', 'h', 'd', 'w' vagy '-1' ha nincs lejárat.", " e.g. sh webui.sh --api --api-auth username password ": " pl. sh webui.sh --api --api-auth username password ", " e.g. sh webui.sh --api ": " pl. sh webui.sh --api ", " latest ": " legújabb ", " leave blank for to use commercial endpoint ": "", " Last dddd at h:mm A": "", " Today at h:mm A": "", " Yesterday at h:mm A": "", "{{ models }}": "{{ modellek }}", "{{COUNT}} Available Tools": "{{COUNT}} Elérhető eszköz", "{{COUNT}} characters": "", "{{COUNT}} e… 证据：`src/lib/i18n/locales/hu-HU/translation.json`
- **Translation**（structured_config）：{ "-1 for no limit, or a positive integer for a specific limit": "", "'s', 'm', 'h', 'd', 'w' or '-1' for no expiration.": "'s', 'm', 'h', 'd', 'w' atau '-1' untuk tidak ada kedaluwarsa.", " e.g. sh webui.sh --api --api-auth username password ": " contoh: sh webui.sh --api --api-auth username password ", " e.g. sh webui.sh --api ": " contoh: sh webui.sh --api ", " latest ": " terbaru ", " leave blank for to use commercial endpoint ": "", " Last dddd at h:mm A": "", " Today at h:mm A": "", " Yesterday at h:mm A": "", "{{ models }}": "{{ models }}", "{{COUNT}} Available Tools": "", "{{COUNT}} characters": "", "{{COUNT}} extracted lines": "", "{{COUNT}} files": "", "{{COUNT}} hidden lines": ""… 证据：`src/lib/i18n/locales/id-ID/translation.json`
- **Translation**（structured_config）：{ "-1 for no limit, or a positive integer for a specific limit": "-1 gan teorainn, nó slánuimhir dheimhneach le haghaidh teorann sonrach", "'s', 'm', 'h', 'd', 'w' or '-1' for no expiration.": "'s', 'm', 'h', 'd', 'w' nó '-1' gan aon éag.", " e.g. sh webui.sh --api --api-auth username password ": " m.sh. sh webui.sh --api --api-auth username password ", " e.g. sh webui.sh --api ": " m.sh. sh webui.sh --api ", " latest ": " is déanaí ", " leave blank for to use commercial endpoint ": " fág bán le haghaidh críochphointe tráchtála a úsáid ", " Last dddd at h:mm A": " Deireanach dddd ag h:mm A", " Today at h:mm A": " Inniu ag h:mm A", " Yesterday at h:mm A": " Inné ag h:mm A", "{{ models }}": "… 证据：`src/lib/i18n/locales/ie-GA/translation.json`
- **Translation**（structured_config）：{ "-1 for no limit, or a positive integer for a specific limit": "-1 per nessun limite, o un numero intero positivo per un limite specifico", "'s', 'm', 'h', 'd', 'w' or '-1' for no expiration.": "'s', 'm', 'h', 'd', 'w' o '-1' per nessuna scadenza.", " e.g. sh webui.sh --api --api-auth username password ": " p.e. sh webui.sh --api --api-auth username password ", " e.g. sh webui.sh --api ": " p.e. sh webui.sh --api ", " latest ": " ultima ", " leave blank for to use commercial endpoint ": " lascia vuoto per utilizzare l'endpoint commerciale ", " Last dddd at h:mm A": "", " Today at h:mm A": "", " Yesterday at h:mm A": "", "{{ models }}": "{{ modelli }}", "{{COUNT}} Available Tools": "{{COUN… 证据：`src/lib/i18n/locales/it-IT/translation.json`
- **Translation**（structured_config）：{ "-1 for no limit, or a positive integer for a specific limit": "-1で無制限、または正の整数で制限を指定", "'s', 'm', 'h', 'd', 'w' or '-1' for no expiration.": "'s', 'm', 'h', 'd', 'w' または '-1' で無期限。", " e.g. sh webui.sh --api --api-auth username password ": " 例: sh webui.sh --api --api-auth username password ", " e.g. sh webui.sh --api ": " 例: sh webui.sh --api ", " latest ": " 最新 ", " leave blank for to use commercial endpoint ": " 商用エンドポイントを使用する場合は空欄のままにしてください ", " Last dddd at h:mm A": "dddd h:mm A", " Today at h:mm A": " 今日の h:mm A", " Yesterday at h:mm A": " 昨日の h:mm A", "{{ models }}": "{{ モデル }}", "{{COUNT}} Available Tools": "{{COUNT}} 個の有効なツール", "{{COUNT}} characters": "{{COUNT}} 文字", "{{COUNT}} e… 证据：`src/lib/i18n/locales/ja-JP/translation.json`
- **Translation**（structured_config）：{ "-1 for no limit, or a positive integer for a specific limit": "-1 ლიმიტის გამოსართავად, ან დადებითი მთელი რიცხვი კონკრეტული ლიმიტისთვის", "'s', 'm', 'h', 'd', 'w' or '-1' for no expiration.": "'s', 'm', 'h', 'd', 'w' ან '-1' - უვადოსთვის.", " e.g. sh webui.sh --api --api-auth username password ": " მაგ: sh webui.sh --api --api-auth username password ", " e.g. sh webui.sh --api ": " მაგ: sh webui.sh --api ", " latest ": " უახლესი ", " leave blank for to use commercial endpoint ": " დატოვეთ ცარიელი ფასიანი ბოლოწერტილის გამოსაყენებლად ", " Last dddd at h:mm A": " ბოლო dddd დრო h:mm A", " Today at h:mm A": " დღეს, h:mm A", " Yesterday at h:mm A": " გუშინ, h:mm A", "{{ models }}": "{{ მოდელებ… 证据：`src/lib/i18n/locales/ka-GE/translation.json`
- **Translation**（structured_config）：{ "-1 for no limit, or a positive integer for a specific limit": "-1 war talast, neɣ aɣerwaḍ ilaw i talast tusdidt", "'s', 'm', 'h', 'd', 'w' or '-1' for no expiration.": "'s', 'm', 'h', 'd', 'w' neɣ '-1' i wakud war tilas.", " e.g. sh webui.sh --api --api-auth username password ": " amedya. sh webui.sh --api --api-auth username password ", " e.g. sh webui.sh --api ": " amedya sh webui.sh --api ", " latest ": " Lqem aneggaru ", " leave blank for to use commercial endpoint ": "", " Last dddd at h:mm A": " Aneggaru dddd ɣef h:mm A", " Today at h:mm A": " Ass-a ɣef h:mm A", " Yesterday at h:mm A": " Iḍelli ɣef h:mm A", "{{ models }}": "{{ models }}", "{{COUNT}} Available Tools": "Amḍan n yifec… 证据：`src/lib/i18n/locales/kab-DZ/translation.json`
- **Translation**（structured_config）：{ "-1 for no limit, or a positive integer for a specific limit": "", "'s', 'm', 'h', 'd', 'w' or '-1' for no expiration.": "", " e.g. sh webui.sh --api --api-auth username password ": "", " e.g. sh webui.sh --api ": "", " latest ": "", " leave blank for to use commercial endpoint ": "", " Last dddd at h:mm A": "", " Today at h:mm A": "", " Yesterday at h:mm A": "", "{{ models }}": "", "{{COUNT}} Available Tools": "", "{{COUNT}} characters": "", "{{COUNT}} extracted lines": "", "{{COUNT}} files": "", "{{COUNT}} hidden lines": "", "{{COUNT}} members": "", "{{COUNT}} Replies": "", "{{COUNT}} Rows": "", "{{count}} selected other": "", "{{COUNT}} Sources": "", "{{COUNT}} words": "", "{{COUNT}}d… 证据：`src/lib/i18n/locales/ko-KR/translation.json`
- **Languages**（structured_config）：{ "code": "en-US", "title": "English US " }, { "code": "en-GB", "title": "English GB " }, { "code": "ar", "title": "Arabic العربية " }, { "code": "ar-BH", "title": "Arabic Bahrain " }, { "code": "az-AZ", "title": "Azərbaycanca" }, { "code": "eu-ES", "title": "Basque Euskara " }, { "code": "bn-BD", "title": "Bengali বাংলা " }, { "code": "bs-BA", "title": "Bosanski Latinica" }, { "code": "bo-TB", "title": "Tibetan བོད " }, { "code": "bg-BG", "title": "Bulgarian български " }, { "code": "ca-ES", "title": "Catalan català " }, { "code": "ceb-PH", "title": "Cebuano Filipino " }, { "code": "hr-HR", "title": "Croatian Hrvatski " }, { "code": "cs-CZ", "title": "Czech čeština " }, { "code": "da-DK",… 证据：`src/lib/i18n/locales/languages.json`
- **Translation**（structured_config）：{ "-1 for no limit, or a positive integer for a specific limit": "", "'s', 'm', 'h', 'd', 'w' or '-1' for no expiration.": "'s', 'm', 'h', 'd', 'w' arba '-1' kad neišteitų iš galiojimo.", " e.g. sh webui.sh --api --api-auth username password ": " pvz. sh webui.sh --api --api-auth username password ", " e.g. sh webui.sh --api ": " pvz. sh webui.sh --api ", " latest ": " naujausias ", " leave blank for to use commercial endpoint ": "", " Last dddd at h:mm A": "", " Today at h:mm A": "", " Yesterday at h:mm A": "", "{{ models }}": "{{ models }}", "{{COUNT}} Available Tools": "", "{{COUNT}} characters": "", "{{COUNT}} extracted lines": "", "{{COUNT}} files": "", "{{COUNT}} hidden lines": "", "{… 证据：`src/lib/i18n/locales/lt-LT/translation.json`
- **Translation**（structured_config）：{ "-1 for no limit, or a positive integer for a specific limit": "-1 bez ierobežojuma vai pozitīvs skaitlis konkrētam ierobežojumam", "'s', 'm', 'h', 'd', 'w' or '-1' for no expiration.": "'s', 'm', 'h', 'd', 'w' vai '-1' bez derīguma termiņa.", " e.g. sh webui.sh --api --api-auth username password ": " piem., sh webui.sh --api --api-auth lietotājvārds parole ", " e.g. sh webui.sh --api ": " piem., sh webui.sh --api ", " latest ": " jaunākā ", " leave blank for to use commercial endpoint ": " atstājiet tukšu, lai izmantotu komerciālo galapunktu ", " Last dddd at h:mm A": " Pagājušā dddd plkst. H:mm", " Today at h:mm A": " Šodien plkst. H:mm", " Yesterday at h:mm A": " Vakar plkst. H:mm", "{… 证据：`src/lib/i18n/locales/lv-LV/translation.json`
- **Translation**（structured_config）：{ "-1 for no limit, or a positive integer for a specific limit": "-1 untuk tanpa had, atau integer positif untuk had tertentu", "'s', 'm', 'h', 'd', 'w' or '-1' for no expiration.": "'s', 'm', 'h', 'd', 'w' or '-1' untuk tiada tempoh luput.", " e.g. sh webui.sh --api --api-auth username password ": " contoh sh webui.sh --api --api-auth username password ", " e.g. sh webui.sh --api ": " contoh sh webui.sh --api ", " latest ": " terkini ", " leave blank for to use commercial endpoint ": " biarkan kosong untuk menggunakan titik akhir komersial ", " Last dddd at h:mm A": " Terakhir dddd pada h:mm A", " Today at h:mm A": " Hari ini pada h:mm A", " Yesterday at h:mm A": " Semalam pada h:mm A", "{… 证据：`src/lib/i18n/locales/ms-MY/translation.json`
- **Translation**（structured_config）：{ "-1 for no limit, or a positive integer for a specific limit": "-1 angir ingen grense, eller angi et positivt heltall for en bestemt grense", "'s', 'm', 'h', 'd', 'w' or '-1' for no expiration.": "'s', 'm', 't', 'd', 'u' eller '-1' for ingen utløp.", " e.g. sh webui.sh --api --api-auth username password ": " f.eks. sh webui.sh --api --api-auth brukernavn passord ", " e.g. sh webui.sh --api ": " f.eks. sh webui.sh --api ", " latest ": " siste ", " leave blank for to use commercial endpoint ": "", " Last dddd at h:mm A": "", " Today at h:mm A": "", " Yesterday at h:mm A": "", "{{ models }}": "{{ modeller }}", "{{COUNT}} Available Tools": "", "{{COUNT}} characters": "", "{{COUNT}} extracted… 证据：`src/lib/i18n/locales/nb-NO/translation.json`
- **Translation**（structured_config）：{ "-1 for no limit, or a positive integer for a specific limit": "-1 voor geen limiet, of een positief getal voor een specifieke limiet", "'s', 'm', 'h', 'd', 'w' or '-1' for no expiration.": "'s', 'm', 'h', 'd', 'w', of '-1' voor geen vervaldatum.", " e.g. sh webui.sh --api --api-auth username password ": " bv. sh webui.sh --api --api-auth gebruikersnaam wachtwoord ", " e.g. sh webui.sh --api ": " bv. sh webui.sh --api ", " latest ": " nieuwste ", " leave blank for to use commercial endpoint ": " laat leeg om een commercieel endpoint te gebruiken ", " Last dddd at h:mm A": " Vorige dddd om h:mm A", " Today at h:mm A": " Vandaag om h:mm A", " Yesterday at h:mm A": " Gisteren om h:mm A", "{{… 证据：`src/lib/i18n/locales/nl-NL/translation.json`
- **Translation**（structured_config）：{ "-1 for no limit, or a positive integer for a specific limit": "", "'s', 'm', 'h', 'd', 'w' or '-1' for no expiration.": "'ਸ', 'ਮ', 'ਘੰ', 'ਦ', 'ਹਫ਼ਤਾ' ਜਾਂ '-1' ਬਿਨਾ ਮਿਆਦ ਦੇ।", " e.g. sh webui.sh --api --api-auth username password ": "", " e.g. sh webui.sh --api ": " ਉਦਾਹਰਣ ਦੇ ਤੌਰ ਤੇ sh webui.sh --api ", " latest ": " ਤਾਜ਼ਾ ", " leave blank for to use commercial endpoint ": "", " Last dddd at h:mm A": "", " Today at h:mm A": "", " Yesterday at h:mm A": "", "{{ models }}": "{{ ਮਾਡਲ }}", "{{COUNT}} Available Tools": "", "{{COUNT}} characters": "", "{{COUNT}} extracted lines": "", "{{COUNT}} files": "", "{{COUNT}} hidden lines": "", "{{COUNT}} members": "", "{{COUNT}} Replies": "", "{{COUNT}}… 证据：`src/lib/i18n/locales/pa-IN/translation.json`
- **Translation**（structured_config）：{ "-1 for no limit, or a positive integer for a specific limit": "-1 oznacza brak limitu, liczba dodatnia oznacza konkretny limit", "'s', 'm', 'h', 'd', 'w' or '-1' for no expiration.": "'s', 'm', 'h', 'd', 'w' lub '-1' dla braku wygaśnięcia.", " e.g. sh webui.sh --api --api-auth username password ": " np. sh webui.sh --api --api-auth username password ", " e.g. sh webui.sh --api ": " np. sh webui.sh --api ", " latest ": " najnowszy ", " leave blank for to use commercial endpoint ": " pozostaw puste, aby użyć komercyjnego punktu końcowego ", " Last dddd at h:mm A": " Ostatnio dddd o H:mm", " Today at h:mm A": " Dziś o H:mm", " Yesterday at h:mm A": " Wczoraj o H:mm", "{{ models }}": "{{ mod… 证据：`src/lib/i18n/locales/pl-PL/translation.json`
- **Translation**（structured_config）：{ "-1 for no limit, or a positive integer for a specific limit": "-1 para nenhum limite ou um inteiro positivo para um limite específico", "'s', 'm', 'h', 'd', 'w' or '-1' for no expiration.": "'s', 'm', 'h', 'd', 'w' ou '-1' para sem expiração.", " e.g. sh webui.sh --api --api-auth username password ": " por exemplo, sh webui.sh --api --api-auth username password ", " e.g. sh webui.sh --api ": " por exemplo, sh webui.sh --api ", " latest ": " mais recente ", " leave blank for to use commercial endpoint ": " deixe em branco para usar o endpoint comercial ", " Last dddd at h:mm A": " Último dddd em h:mm A", " Today at h:mm A": " Hoje às h:mm A", " Yesterday at h:mm A": " Ontem às h:mm A", "{… 证据：`src/lib/i18n/locales/pt-BR/translation.json`
- **Translation**（structured_config）：{ "-1 for no limit, or a positive integer for a specific limit": "-1 para sem limite, ou um inteiro positivo para um limite específico", "'s', 'm', 'h', 'd', 'w' or '-1' for no expiration.": "'s', 'm', 'h', 'd', 'w' ou '-1' para nenhuma expiração.", " e.g. sh webui.sh --api --api-auth username password ": " por exemplo, sh webui.sh --api --api-auth username password ", " e.g. sh webui.sh --api ": " por exemplo, sh webui.sh --api ", " latest ": " mais recente ", " leave blank for to use commercial endpoint ": "deixe em branco para utilizar o endpoint comercial", " Last dddd at h:mm A": "", " Today at h:mm A": "", " Yesterday at h:mm A": "", "{{ models }}": "{{ modelos }}", "{{COUNT}} Availab… 证据：`src/lib/i18n/locales/pt-PT/translation.json`
- **Translation**（structured_config）：{ "-1 for no limit, or a positive integer for a specific limit": "-1 pentru nelimitat sau un număr întreg pozitiv pentru o limită specifică", "'s', 'm', 'h', 'd', 'w' or '-1' for no expiration.": "'s', 'm', 'h', 'd', 'w' sau '-1' fără expirare.", " e.g. sh webui.sh --api --api-auth username password ": " de ex. sh webui.sh --api --api-auth username password ", " e.g. sh webui.sh --api ": " de ex. sh webui.sh --api ", " latest ": " ultimul ", " leave blank for to use commercial endpoint ": " lăsați necompletat pentru a folosi endpoint-ul comercial ", " Last dddd at h:mm A": "", " Today at h:mm A": "", " Yesterday at h:mm A": "", "{{ models }}": "{{ modele }}", "{{COUNT}} Available Tools": ""… 证据：`src/lib/i18n/locales/ro-RO/translation.json`
- 其余 20 条证据见 `AI_CONTEXT_PACK.json` 或 `EVIDENCE_INDEX.json`。

## 宿主 AI 必须遵守的规则

- **把本资产当作开工前上下文，而不是运行环境。**：AI Context Pack 只包含证据化项目理解，不包含目标项目的可执行状态。 证据：`README.md`, `package.json`, `LICENSE`
- **回答用户时区分可预览内容与必须安装后才能验证的内容。**：安装前体验的消费者价值来自降低误装和误判，而不是伪装成真实运行。 证据：`README.md`, `package.json`, `LICENSE`

## 用户开工前应该回答的问题

- 你准备在哪个宿主 AI 或本地环境中使用它？
- 你只是想先体验工作流，还是准备真实安装？
- 你最在意的是安装成本、输出质量、还是和现有规则的冲突？

## 验收标准

- 所有能力声明都能回指到 evidence_refs 中的文件路径。
- AI_CONTEXT_PACK.md 没有把预览包装成真实运行。
- 用户能在 3 分钟内看懂适合谁、能做什么、如何开始和风险边界。

---

## Doramagic Context Augmentation

下面内容用于强化 Repomix/AI Context Pack 主体。Human Manual 只提供阅读骨架；踩坑日志会被转成宿主 AI 必须遵守的工作约束。

## Human Manual 骨架

使用规则：这里只是项目阅读路线和显著性信号，不是事实权威。具体事实仍必须回到 repo evidence / Claim Graph。

宿主 AI 硬性规则：
- 不得把页标题、章节顺序、摘要或 importance 当作项目事实证据。
- 解释 Human Manual 骨架时，必须明确说它只是阅读路线/显著性信号。
- 能力、安装、兼容性、运行状态和风险判断必须引用 repo evidence、source path 或 Claim Graph。

- **Project Introduction**：importance `high`
  - source_paths: README.md, pyproject.toml, backend/open_webui/__init__.py
- **Installation Guide**：importance `high`
  - source_paths: Dockerfile, docker-compose.yaml, .env.example, backend/start.sh, run.sh
- **Architecture Overview**：importance `high`
  - source_paths: backend/open_webui/main.py, backend/open_webui/socket/main.py, src/routes/+layout.svelte, src/lib/apis/index.ts
- **Data Models**：importance `high`
  - source_paths: backend/open_webui/models/users.py, backend/open_webui/models/chats.py, backend/open_webui/models/messages.py, backend/open_webui/models/knowledge.py, backend/open_webui/models/files.py
- **API Routers**：importance `high`
  - source_paths: backend/open_webui/routers/auths.py, backend/open_webui/routers/chats.py, backend/open_webui/routers/models.py, backend/open_webui/routers/retrieval.py, backend/open_webui/routers/files.py
- **Retrieval System**：importance `high`
  - source_paths: backend/open_webui/retrieval/vector/main.py, backend/open_webui/retrieval/vector/factory.py, backend/open_webui/retrieval/web/main.py, backend/open_webui/retrieval/loaders/main.py, backend/open_webui/retrieval/vector/dbs/pgvector.py
- **Frontend Structure**：importance `medium`
  - source_paths: src/lib/components, src/routes, src/lib/apis, src/lib/i18n/index.ts, src/lib/stores/index.ts
- **Chat Interface**：importance `high`
  - source_paths: src/lib/components/chat/Chat.svelte, src/lib/components/chat/MessageInput.svelte, src/lib/components/chat/Messages/Message.svelte, src/lib/components/chat/Messages/Markdown.svelte, src/lib/components/chat/ModelSelector.svelte

## Repo Inspection Evidence / 源码检查证据

- repo_clone_verified: true
- repo_inspection_verified: true
- repo_commit: `3660bc00fd807deced3400a63bfa6db47811a3bb`
- inspected_files: `pyproject.toml`, `Dockerfile`, `package.json`, `README.md`, `uv.lock`, `docs/SECURITY.md`, `src/app.d.ts`, `src/lib/shortcuts.ts`, `src/lib/dayjs.js`, `src/lib/constants.ts`, `src/lib/index.ts`, `src/lib/emoji-shortcodes.json`, `src/lib/emoji-groups.json`, `src/routes/+layout.js`, `src/lib/workers/kokoro.worker.ts`, `src/lib/workers/pyodide.worker.ts`, `src/lib/workers/KokoroWorker.ts`, `src/lib/stores/index.ts`, `src/lib/utils/safeImageUrl.ts`, `src/lib/utils/connections.ts`

宿主 AI 硬性规则：
- 没有 repo_clone_verified=true 时，不得声称已经读过源码。
- 没有 repo_inspection_verified=true 时，不得把 README/docs/package 文件判断写成事实。
- 没有 quick_start_verified=true 时，不得声称 Quick Start 已跑通。

## Doramagic Pitfall Constraints / 踩坑约束

这些规则来自 Doramagic 发现、验证或编译过程中的项目专属坑点。宿主 AI 必须把它们当作工作约束，而不是普通说明文字。

### Constraint 1: 能力判断依赖假设

- Trigger: README/documentation is current enough for a first validation pass.
- Host AI rule: 将假设转成下游验证清单。
- Why it matters: 假设不成立时，用户拿不到承诺的能力。
- Evidence: capability.assumptions | github_repo:701547123 | https://github.com/open-webui/open-webui | README/documentation is current enough for a first validation pass.
- Hard boundary: 不要把这个坑点包装成已解决、已验证或可忽略，除非后续验证证据明确证明它已经关闭。

### Constraint 2: 维护活跃度未知

- Trigger: 未记录 last_activity_observed。
- Host AI rule: 补 GitHub 最近 commit、release、issue/PR 响应信号。
- Why it matters: 新项目、停更项目和活跃项目会被混在一起，推荐信任度下降。
- Evidence: evidence.maintainer_signals | github_repo:701547123 | https://github.com/open-webui/open-webui | last_activity_observed missing
- Hard boundary: 不要把这个坑点包装成已解决、已验证或可忽略，除非后续验证证据明确证明它已经关闭。

### Constraint 3: 下游验证发现风险项

- Trigger: no_demo
- Host AI rule: 进入安全/权限治理复核队列。
- Why it matters: 下游已经要求复核，不能在页面中弱化。
- Evidence: downstream_validation.risk_items | github_repo:701547123 | https://github.com/open-webui/open-webui | no_demo; severity=medium
- Hard boundary: 不要把这个坑点包装成已解决、已验证或可忽略，除非后续验证证据明确证明它已经关闭。

### Constraint 4: 存在评分风险

- Trigger: no_demo
- Host AI rule: 把风险写入边界卡，并确认是否需要人工复核。
- Why it matters: 风险会影响是否适合普通用户安装。
- Evidence: risks.scoring_risks | github_repo:701547123 | https://github.com/open-webui/open-webui | no_demo; severity=medium
- Hard boundary: 不要把这个坑点包装成已解决、已验证或可忽略，除非后续验证证据明确证明它已经关闭。

### Constraint 5: issue/PR 响应质量未知

- Trigger: issue_or_pr_quality=unknown。
- Host AI rule: 抽样最近 issue/PR，判断是否长期无人处理。
- Why it matters: 用户无法判断遇到问题后是否有人维护。
- Evidence: evidence.maintainer_signals | github_repo:701547123 | https://github.com/open-webui/open-webui | issue_or_pr_quality=unknown
- Hard boundary: 不要把这个坑点包装成已解决、已验证或可忽略，除非后续验证证据明确证明它已经关闭。

### Constraint 6: 发布节奏不明确

- Trigger: release_recency=unknown。
- Host AI rule: 确认最近 release/tag 和 README 安装命令是否一致。
- Why it matters: 安装命令和文档可能落后于代码，用户踩坑概率升高。
- Evidence: evidence.maintainer_signals | github_repo:701547123 | https://github.com/open-webui/open-webui | release_recency=unknown
- Hard boundary: 不要把这个坑点包装成已解决、已验证或可忽略，除非后续验证证据明确证明它已经关闭。
