@lobehub/lobehub 2.0.0-next.60 → 2.0.0-next.61

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (81) hide show
  1. package/CHANGELOG.md +25 -0
  2. package/changelog/v1.json +9 -0
  3. package/locales/ar/chat.json +2 -0
  4. package/locales/ar/file.json +2 -0
  5. package/locales/ar/models.json +17 -2
  6. package/locales/ar/tool.json +8 -0
  7. package/locales/bg-BG/chat.json +2 -0
  8. package/locales/bg-BG/file.json +2 -0
  9. package/locales/bg-BG/models.json +17 -2
  10. package/locales/bg-BG/tool.json +8 -0
  11. package/locales/de-DE/chat.json +2 -0
  12. package/locales/de-DE/file.json +2 -0
  13. package/locales/de-DE/models.json +17 -2
  14. package/locales/de-DE/tool.json +8 -0
  15. package/locales/en-US/chat.json +2 -0
  16. package/locales/en-US/file.json +2 -0
  17. package/locales/en-US/models.json +17 -2
  18. package/locales/en-US/tool.json +8 -0
  19. package/locales/es-ES/chat.json +2 -0
  20. package/locales/es-ES/file.json +2 -0
  21. package/locales/es-ES/models.json +17 -2
  22. package/locales/es-ES/tool.json +8 -0
  23. package/locales/fa-IR/chat.json +2 -0
  24. package/locales/fa-IR/file.json +2 -0
  25. package/locales/fa-IR/models.json +17 -2
  26. package/locales/fa-IR/tool.json +8 -0
  27. package/locales/fr-FR/chat.json +2 -0
  28. package/locales/fr-FR/file.json +2 -0
  29. package/locales/fr-FR/models.json +17 -2
  30. package/locales/fr-FR/tool.json +8 -0
  31. package/locales/it-IT/chat.json +2 -0
  32. package/locales/it-IT/file.json +2 -0
  33. package/locales/it-IT/models.json +17 -2
  34. package/locales/it-IT/tool.json +8 -0
  35. package/locales/ja-JP/chat.json +2 -0
  36. package/locales/ja-JP/file.json +2 -0
  37. package/locales/ja-JP/models.json +17 -2
  38. package/locales/ja-JP/tool.json +8 -0
  39. package/locales/ko-KR/chat.json +2 -0
  40. package/locales/ko-KR/file.json +2 -0
  41. package/locales/ko-KR/models.json +17 -2
  42. package/locales/ko-KR/tool.json +8 -0
  43. package/locales/nl-NL/chat.json +2 -0
  44. package/locales/nl-NL/file.json +2 -0
  45. package/locales/nl-NL/models.json +17 -2
  46. package/locales/nl-NL/tool.json +8 -0
  47. package/locales/pl-PL/chat.json +2 -0
  48. package/locales/pl-PL/file.json +2 -0
  49. package/locales/pl-PL/models.json +17 -2
  50. package/locales/pl-PL/tool.json +8 -0
  51. package/locales/pt-BR/chat.json +2 -0
  52. package/locales/pt-BR/file.json +2 -0
  53. package/locales/pt-BR/models.json +17 -2
  54. package/locales/pt-BR/tool.json +8 -0
  55. package/locales/ru-RU/chat.json +2 -0
  56. package/locales/ru-RU/file.json +2 -0
  57. package/locales/ru-RU/models.json +17 -2
  58. package/locales/ru-RU/tool.json +8 -0
  59. package/locales/tr-TR/chat.json +2 -0
  60. package/locales/tr-TR/file.json +2 -0
  61. package/locales/tr-TR/models.json +17 -2
  62. package/locales/tr-TR/tool.json +8 -0
  63. package/locales/vi-VN/chat.json +2 -0
  64. package/locales/vi-VN/file.json +2 -0
  65. package/locales/vi-VN/models.json +17 -2
  66. package/locales/vi-VN/tool.json +8 -0
  67. package/locales/zh-CN/chat.json +2 -0
  68. package/locales/zh-CN/file.json +2 -0
  69. package/locales/zh-CN/models.json +17 -2
  70. package/locales/zh-CN/tool.json +8 -0
  71. package/locales/zh-TW/chat.json +2 -0
  72. package/locales/zh-TW/file.json +2 -0
  73. package/locales/zh-TW/models.json +17 -2
  74. package/locales/zh-TW/tool.json +8 -0
  75. package/package.json +1 -1
  76. package/packages/database/src/models/apiKey.ts +2 -2
  77. package/packages/database/src/models/chunk.ts +1 -1
  78. package/packages/database/src/models/drizzleMigration.ts +1 -1
  79. package/packages/database/src/models/oauthHandoff.ts +19 -19
  80. package/packages/database/src/models/session.ts +10 -10
  81. package/packages/database/src/models/topic.ts +10 -10
@@ -1853,6 +1853,18 @@
1853
1853
  "gpt-5-pro": {
1854
1854
  "description": "GPT-5 Pro использует больше вычислительных ресурсов для более глубокого мышления и стабильно предоставляет более качественные ответы."
1855
1855
  },
1856
+ "gpt-5.1": {
1857
+ "description": "GPT-5.1 — флагманская модель, оптимизированная для задач программирования и агентов, поддерживает настраиваемую степень рассуждения и более длинный контекст."
1858
+ },
1859
+ "gpt-5.1-chat-latest": {
1860
+ "description": "GPT-5.1 Chat: вариант GPT-5.1 для ChatGPT, оптимизированный для общения."
1861
+ },
1862
+ "gpt-5.1-codex": {
1863
+ "description": "GPT-5.1 Codex: версия GPT-5.1, оптимизированная для агентных задач программирования, используется в Responses API для более сложных рабочих процессов с кодом и агентами."
1864
+ },
1865
+ "gpt-5.1-codex-mini": {
1866
+ "description": "GPT-5.1 Codex mini: более компактный и экономичный вариант Codex, оптимизированный для агентных задач программирования."
1867
+ },
1856
1868
  "gpt-audio": {
1857
1869
  "description": "GPT Audio — универсальная чат-модель с поддержкой аудиовхода и аудиовыхода, доступная через API Chat Completions с аудио I/O."
1858
1870
  },
@@ -2028,13 +2040,13 @@
2028
2040
  "description": "Серия моделей Imagen четвёртого поколения для преобразования текста в изображение"
2029
2041
  },
2030
2042
  "imagen-4.0-generate-preview-06-06": {
2031
- "description": "Серия моделей Imagen 4-го поколения для преобразования текста в изображение"
2043
+ "description": "Четвёртое поколение моделей Imagen для генерации изображений по тексту."
2032
2044
  },
2033
2045
  "imagen-4.0-ultra-generate-001": {
2034
2046
  "description": "Серия моделей Imagen четвёртого поколения для преобразования текста в изображение, версия Ultra."
2035
2047
  },
2036
2048
  "imagen-4.0-ultra-generate-preview-06-06": {
2037
- "description": "Ультра-версия серии моделей Imagen 4-го поколения для преобразования текста в изображение"
2049
+ "description": "Ultra-версия четвёртого поколения моделей Imagen для генерации изображений по тексту."
2038
2050
  },
2039
2051
  "inception/mercury-coder-small": {
2040
2052
  "description": "Mercury Coder Small — идеальный выбор для задач генерации, отладки и рефакторинга кода с минимальной задержкой."
@@ -3092,6 +3104,9 @@
3092
3104
  "qwen3-max": {
3093
3105
  "description": "Серия моделей Tongyi Qianwen 3 Max значительно улучшена по сравнению с серией 2.5 в плане универсальных возможностей: значительно усилены способности понимания текста на китайском и английском языках, следования сложным инструкциям, выполнения субъективных открытых задач, многоязычность и вызов инструментов; уменьшено количество ошибок, связанных с галлюцинациями знаний. Последняя версия модели qwen3-max получила специальное обновление в области программирования агентов и вызова инструментов по сравнению с версией qwen3-max-preview. Выпущенная официальная версия достигла уровня SOTA в своей области и адаптирована под более сложные сценарии использования агентов."
3094
3106
  },
3107
+ "qwen3-max-preview": {
3108
+ "description": "Лучшая модель серии Tongyi Qianwen, подходит для сложных и многошаговых задач. В предварительной версии уже поддерживается рассуждение."
3109
+ },
3095
3110
  "qwen3-next-80b-a3b-instruct": {
3096
3111
  "description": "Новая генерация открытой модели без режима мышления на базе Qwen3, которая по сравнению с предыдущей версией (通义千问3-235B-A22B-Instruct-2507) обладает улучшенными способностями понимания китайского текста, усиленными логическими рассуждениями и лучшими результатами в задачах генерации текста."
3097
3112
  },
@@ -17,6 +17,14 @@
17
17
  "localFiles": {
18
18
  "file": "Файл",
19
19
  "folder": "Папка",
20
+ "moveFiles": {
21
+ "itemsMoved": "Перемещено {{count}} элементов:",
22
+ "itemsMoved_one": "Перемещён {{count}} элемент:",
23
+ "itemsMoved_other": "Перемещено {{count}} элементов:",
24
+ "itemsToMove": "{{count}} элементов для перемещения:",
25
+ "itemsToMove_one": "{{count}} элемент для перемещения:",
26
+ "itemsToMove_other": "{{count}} элементов для перемещения:"
27
+ },
20
28
  "open": "Открыть",
21
29
  "openFile": "Открыть файл",
22
30
  "openFolder": "Открыть папку",
@@ -383,6 +383,8 @@
383
383
  "manualDesc": "Her çağrı için manuel onay gerekir"
384
384
  },
385
385
  "reject": "Reddet",
386
+ "rejectAndContinue": "Reddet ve yeniden dene",
387
+ "rejectOnly": "Reddet",
386
388
  "rejectReasonPlaceholder": "Reddetme nedenini girmek, Agent'ın anlamasına ve sonraki eylemleri iyileştirmesine yardımcı olur",
387
389
  "rejectTitle": "Bu Araç Çağrısını Reddet",
388
390
  "rejectedWithReason": "Bu araç çağrısı şu nedenle reddedildi: {{reason}}",
@@ -1,4 +1,5 @@
1
1
  {
2
+ "addFolder": "Klasör Oluştur",
2
3
  "addKnowledge": "Bilgi Ekle",
3
4
  "addPage": "Belge Oluştur",
4
5
  "desc": "Çalışma, öğrenme ve yaşam bilginizi yönetin.",
@@ -65,6 +66,7 @@
65
66
  "header": {
66
67
  "actions": {
67
68
  "newFolder": "Yeni Klasör",
69
+ "newPage": "Yeni Belge",
68
70
  "uploadFile": "Dosya Yükle",
69
71
  "uploadFolder": "Klasör Yükle"
70
72
  },
@@ -1853,6 +1853,18 @@
1853
1853
  "gpt-5-pro": {
1854
1854
  "description": "GPT-5 pro, daha derin düşünme için daha fazla hesaplama gücü kullanır ve sürekli olarak daha iyi yanıtlar sunar."
1855
1855
  },
1856
+ "gpt-5.1": {
1857
+ "description": "GPT-5.1 — Kodlama ve ajan görevleri için optimize edilmiş amiral gemisi modelidir; yapılandırılabilir akıl yürütme gücü ve daha uzun bağlam desteği sunar."
1858
+ },
1859
+ "gpt-5.1-chat-latest": {
1860
+ "description": "GPT-5.1 Chat: Sohbet senaryoları için uygun, ChatGPT’ye özel GPT-5.1 varyantı."
1861
+ },
1862
+ "gpt-5.1-codex": {
1863
+ "description": "GPT-5.1 Codex: Ajan tabanlı kodlama görevleri için optimize edilmiş GPT-5.1 sürümüdür; daha karmaşık kod/ajan iş akışları için Responses API ile kullanılabilir."
1864
+ },
1865
+ "gpt-5.1-codex-mini": {
1866
+ "description": "GPT-5.1 Codex mini: Daha küçük boyutlu ve daha düşük maliyetli Codex varyantı; ajan tabanlı kodlama görevleri için optimize edilmiştir."
1867
+ },
1856
1868
  "gpt-audio": {
1857
1869
  "description": "GPT Audio, ses giriş ve çıkışına yönelik genel sohbet modelidir ve Chat Completions API’de ses I/O kullanımını destekler."
1858
1870
  },
@@ -2028,13 +2040,13 @@
2028
2040
  "description": "Imagen 4. nesil metinden görüntüye model serisi"
2029
2041
  },
2030
2042
  "imagen-4.0-generate-preview-06-06": {
2031
- "description": "Imagen 4. nesil metinden görüntüye model serisi"
2043
+ "description": "Imagen dördüncü nesil metinden görsele model serisi"
2032
2044
  },
2033
2045
  "imagen-4.0-ultra-generate-001": {
2034
2046
  "description": "Imagen 4. nesil metinden-görüntüye model serisi, Ultra sürümü"
2035
2047
  },
2036
2048
  "imagen-4.0-ultra-generate-preview-06-06": {
2037
- "description": "Imagen 4. nesil metinden görüntüye model serisi Ultra versiyonu"
2049
+ "description": "Imagen dördüncü nesil metinden görsele model serisinin Ultra versiyonu"
2038
2050
  },
2039
2051
  "inception/mercury-coder-small": {
2040
2052
  "description": "Mercury Coder Small, kod üretimi, hata ayıklama ve yeniden yapılandırma görevleri için ideal olup, minimum gecikme sunar."
@@ -3092,6 +3104,9 @@
3092
3104
  "qwen3-max": {
3093
3105
  "description": "Tongyi Qianwen 3 serisi Max modeli, 2.5 serisine kıyasla genel yeteneklerde büyük gelişme göstermiştir; hem Çince hem İngilizce metin anlama, karmaşık talimat takibi, öznel açık görevler, çoklu dil yetenekleri ve araç çağrısı yetenekleri belirgin şekilde artmıştır; model bilgi halüsinasyonları azalmıştır. En yeni qwen3-max modeli, qwen3-max-preview versiyonuna göre akıllı ajan programlama ve araç çağrısı alanlarında özel yükseltmeler içermektedir. Bu resmi sürüm modeli, alanında SOTA seviyesine ulaşmış olup, daha karmaşık ajan ihtiyaçlarına uyarlanmıştır."
3094
3106
  },
3107
+ "qwen3-max-preview": {
3108
+ "description": "Tongyi Qianwen serisinin en yetenekli modeli; karmaşık ve çok adımlı görevler için uygundur. Önizleme sürümü düşünme yeteneğini desteklemektedir."
3109
+ },
3095
3110
  "qwen3-next-80b-a3b-instruct": {
3096
3111
  "description": "Qwen3 tabanlı yeni nesil düşünmeden çalışan açık kaynak modeli, önceki sürüme (Tongyi Qianwen 3-235B-A22B-Instruct-2507) kıyasla Çince metin anlama yeteneği daha iyi, mantıksal çıkarım yeteneği geliştirilmiş ve metin üretimi görevlerinde daha başarılıdır."
3097
3112
  },
@@ -17,6 +17,14 @@
17
17
  "localFiles": {
18
18
  "file": "Dosya",
19
19
  "folder": "Klasör",
20
+ "moveFiles": {
21
+ "itemsMoved": "{{count}} öğe taşındı:",
22
+ "itemsMoved_one": "{{count}} öğe taşındı:",
23
+ "itemsMoved_other": "{{count}} öğe taşındı:",
24
+ "itemsToMove": "{{count}} öğe taşınacak:",
25
+ "itemsToMove_one": "{{count}} öğe taşınacak:",
26
+ "itemsToMove_other": "{{count}} öğe taşınacak:"
27
+ },
20
28
  "open": "Aç",
21
29
  "openFile": "Dosyayı Aç",
22
30
  "openFolder": "Klasörü Aç",
@@ -383,6 +383,8 @@
383
383
  "manualDesc": "Mỗi lần gọi đều cần phê duyệt thủ công"
384
384
  },
385
385
  "reject": "Từ chối",
386
+ "rejectAndContinue": "Từ chối và thử lại",
387
+ "rejectOnly": "Từ chối",
386
388
  "rejectReasonPlaceholder": "Nhập lý do từ chối sẽ giúp Agent hiểu và cải thiện hành động sau này",
387
389
  "rejectTitle": "Từ chối lần gọi công cụ này",
388
390
  "rejectedWithReason": "Lần gọi công cụ này đã bị từ chối: {{reason}}",
@@ -1,4 +1,5 @@
1
1
  {
2
+ "addFolder": "Tạo thư mục",
2
3
  "addKnowledge": "Thêm kiến thức",
3
4
  "addPage": "Tạo tài liệu",
4
5
  "desc": "Quản lý kiến thức công việc, học tập và cuộc sống của bạn.",
@@ -65,6 +66,7 @@
65
66
  "header": {
66
67
  "actions": {
67
68
  "newFolder": "Tạo thư mục mới",
69
+ "newPage": "Tạo tài liệu mới",
68
70
  "uploadFile": "Tải tệp lên",
69
71
  "uploadFolder": "Tải thư mục lên"
70
72
  },
@@ -1853,6 +1853,18 @@
1853
1853
  "gpt-5-pro": {
1854
1854
  "description": "GPT-5 pro sử dụng nhiều tài nguyên tính toán hơn để suy nghĩ sâu sắc hơn và liên tục cung cấp các câu trả lời tốt hơn."
1855
1855
  },
1856
+ "gpt-5.1": {
1857
+ "description": "GPT-5.1 — Mô hình hàng đầu được tối ưu hóa cho các tác vụ lập trình và agent, hỗ trợ cường độ suy luận có thể cấu hình và ngữ cảnh dài hơn."
1858
+ },
1859
+ "gpt-5.1-chat-latest": {
1860
+ "description": "GPT-5.1 Chat: Biến thể GPT-5.1 dành cho ChatGPT, phù hợp với các tình huống trò chuyện."
1861
+ },
1862
+ "gpt-5.1-codex": {
1863
+ "description": "GPT-5.1 Codex: Phiên bản GPT-5.1 được tối ưu hóa cho các tác vụ lập trình mang tính agent, có thể sử dụng trong Responses API cho các quy trình làm việc mã hóa/đại lý phức tạp hơn."
1864
+ },
1865
+ "gpt-5.1-codex-mini": {
1866
+ "description": "GPT-5.1 Codex mini: Biến thể Codex nhỏ gọn hơn và tiết kiệm chi phí hơn, được tối ưu hóa cho các tác vụ lập trình mang tính agent."
1867
+ },
1856
1868
  "gpt-audio": {
1857
1869
  "description": "GPT Audio là mô hình trò chuyện chung hỗ trợ đầu vào và đầu ra âm thanh, có thể sử dụng âm thanh I/O trong API Chat Completions."
1858
1870
  },
@@ -2028,13 +2040,13 @@
2028
2040
  "description": "Dòng mô hình Imagen thế hệ thứ tư chuyển văn bản thành hình ảnh"
2029
2041
  },
2030
2042
  "imagen-4.0-generate-preview-06-06": {
2031
- "description": "Dòng mô hình chuyển đổi văn bản thành hình ảnh thế hệ thứ 4 của Imagen"
2043
+ "description": "Dòng mô hình tạo hình ảnh từ văn bản thế hệ thứ của Imagen"
2032
2044
  },
2033
2045
  "imagen-4.0-ultra-generate-001": {
2034
2046
  "description": "Imagen thế hệ thứ 4, dòng mô hình chuyển văn bản sang hình ảnh — phiên bản Ultra"
2035
2047
  },
2036
2048
  "imagen-4.0-ultra-generate-preview-06-06": {
2037
- "description": "Phiên bản Ultra của dòng mô hình chuyển đổi văn bản thành hình ảnh thế hệ thứ 4 của Imagen"
2049
+ "description": "Phiên bản Ultra của dòng mô hình tạo hình ảnh từ văn bản thế hệ thứ của Imagen"
2038
2050
  },
2039
2051
  "inception/mercury-coder-small": {
2040
2052
  "description": "Mercury Coder Small là lựa chọn lý tưởng cho các nhiệm vụ tạo mã, gỡ lỗi và tái cấu trúc với độ trễ tối thiểu."
@@ -3092,6 +3104,9 @@
3092
3104
  "qwen3-max": {
3093
3105
  "description": "Dòng mô hình Max của Tongyi Qianwen 3, so với dòng 2.5 có sự cải thiện lớn về khả năng chung, bao gồm hiểu văn bản song ngữ Trung-Anh, tuân thủ chỉ dẫn phức tạp, khả năng thực hiện các tác vụ mở chủ quan, đa ngôn ngữ và gọi công cụ; giảm thiểu ảo tưởng kiến thức của mô hình. Phiên bản qwen3-max mới nhất đã nâng cấp chuyên biệt về lập trình tác nhân và gọi công cụ so với phiên bản qwen3-max-preview. Mô hình chính thức phát hành đạt mức SOTA trong lĩnh vực, phù hợp với các nhu cầu tác nhân phức tạp hơn."
3094
3106
  },
3107
+ "qwen3-max-preview": {
3108
+ "description": "Mô hình mạnh nhất trong dòng Tongyi Qianwen, phù hợp với các tác vụ phức tạp và nhiều bước. Phiên bản xem trước đã hỗ trợ khả năng suy luận."
3109
+ },
3095
3110
  "qwen3-next-80b-a3b-instruct": {
3096
3111
  "description": "Mô hình mã nguồn mở thế hệ mới không có chế độ suy nghĩ dựa trên Qwen3, so với phiên bản trước (Thông Nghĩa Thiên Vấn 3-235B-A22B-Instruct-2507) có khả năng hiểu văn bản tiếng Trung tốt hơn, năng lực suy luận logic được cải thiện, và hiệu suất trong các nhiệm vụ tạo văn bản cũng tốt hơn."
3097
3112
  },
@@ -17,6 +17,14 @@
17
17
  "localFiles": {
18
18
  "file": "Tệp",
19
19
  "folder": "Thư mục",
20
+ "moveFiles": {
21
+ "itemsMoved": "Đã di chuyển {{count}} mục:",
22
+ "itemsMoved_one": "Đã di chuyển {{count}} mục:",
23
+ "itemsMoved_other": "Đã di chuyển {{count}} mục:",
24
+ "itemsToMove": "{{count}} mục cần di chuyển:",
25
+ "itemsToMove_one": "{{count}} mục cần di chuyển:",
26
+ "itemsToMove_other": "{{count}} mục cần di chuyển:"
27
+ },
20
28
  "open": "Mở",
21
29
  "openFile": "Mở tệp",
22
30
  "openFolder": "Mở thư mục",
@@ -383,6 +383,8 @@
383
383
  "manualDesc": "每次调用都需要手动批准"
384
384
  },
385
385
  "reject": "拒绝",
386
+ "rejectAndContinue": "拒绝后重试执行",
387
+ "rejectOnly": "拒绝",
386
388
  "rejectReasonPlaceholder": "输入拒绝原因将帮助 Agent 理解并优化后续行动",
387
389
  "rejectTitle": "拒绝本次工具调用",
388
390
  "rejectedWithReason": "本次工具调用被主动拒绝:{{reason}}",
@@ -1,4 +1,5 @@
1
1
  {
2
+ "addFolder": "创建文件夹",
2
3
  "addKnowledge": "添加知识",
3
4
  "addPage": "创建文稿",
4
5
  "desc": "管理你的工作、学习与生活知识。",
@@ -65,6 +66,7 @@
65
66
  "header": {
66
67
  "actions": {
67
68
  "newFolder": "新建文件夹",
69
+ "newPage": "新建文稿",
68
70
  "uploadFile": "上传文件",
69
71
  "uploadFolder": "上传文件夹"
70
72
  },
@@ -1853,6 +1853,18 @@
1853
1853
  "gpt-5-pro": {
1854
1854
  "description": "GPT-5 pro 使用更多计算来更深入地思考,并持续提供更好的答案。"
1855
1855
  },
1856
+ "gpt-5.1": {
1857
+ "description": "GPT-5.1 — 针对编码和 agent 任务优化的旗舰模型,支持可配置的推理强度与更长上下文。"
1858
+ },
1859
+ "gpt-5.1-chat-latest": {
1860
+ "description": "GPT-5.1 Chat:用于 ChatGPT 的 GPT-5.1 变体,适合聊天场景。"
1861
+ },
1862
+ "gpt-5.1-codex": {
1863
+ "description": "GPT-5.1 Codex:针对 agentic 编码任务优化的 GPT-5.1 版本,可在 Responses API 中用于更复杂的代码/代理工作流。"
1864
+ },
1865
+ "gpt-5.1-codex-mini": {
1866
+ "description": "GPT-5.1 Codex mini:体积更小、成本更低的 Codex 变体,针对 agentic 编码任务进行了优化。"
1867
+ },
1856
1868
  "gpt-audio": {
1857
1869
  "description": "GPT Audio 是面向音频输入输出的通用聊天模型,支持在 Chat Completions API 中使用音频 I/O。"
1858
1870
  },
@@ -2028,13 +2040,13 @@
2028
2040
  "description": "Imagen 4th generation text-to-image model series"
2029
2041
  },
2030
2042
  "imagen-4.0-generate-preview-06-06": {
2031
- "description": "Imagen 4th generation text-to-image model series"
2043
+ "description": "Imagen 第四代文生图模型系列"
2032
2044
  },
2033
2045
  "imagen-4.0-ultra-generate-001": {
2034
2046
  "description": "Imagen 4th generation text-to-image model series Ultra version"
2035
2047
  },
2036
2048
  "imagen-4.0-ultra-generate-preview-06-06": {
2037
- "description": "Imagen 4th generation text-to-image model series Ultra version"
2049
+ "description": "Imagen 第四代文生图模型系列的 Ultra 版本"
2038
2050
  },
2039
2051
  "inception/mercury-coder-small": {
2040
2052
  "description": "Mercury Coder Small 是代码生成、调试和重构任务的理想选择,具有最小延迟。"
@@ -3092,6 +3104,9 @@
3092
3104
  "qwen3-max": {
3093
3105
  "description": "通义千问3系列Max模型,相较2.5系列整体通用能力有大幅度提升,中英文通用文本理解能力、复杂指令遵循能力、主观开放任务能力、多语言能力、工具调用能力均显著增强;模型知识幻觉更少。最新的qwen3-max模型:相较qwen3-max-preview版本,在智能体编程与工具调用方向进行了专项升级。本次发布的正式版模型达到领域SOTA水平,适配场景更加复杂的智能体需求。"
3094
3106
  },
3107
+ "qwen3-max-preview": {
3108
+ "description": "通义千问系列效果最好的模型,适合复杂、多步骤的任务。预览版已支持思考。"
3109
+ },
3095
3110
  "qwen3-next-80b-a3b-instruct": {
3096
3111
  "description": "基于 Qwen3 的新一代非思考模式开源模型,相较上一版本(通义千问3-235B-A22B-Instruct-2507)中文文本理解能力更佳、逻辑推理能力有增强、文本生成类任务表现更好。"
3097
3112
  },
@@ -17,6 +17,14 @@
17
17
  "localFiles": {
18
18
  "file": "文件",
19
19
  "folder": "文件夹",
20
+ "moveFiles": {
21
+ "itemsMoved": "已移动 {{count}} 个项目:",
22
+ "itemsMoved_one": "已移动 {{count}} 个项目:",
23
+ "itemsMoved_other": "已移动 {{count}} 个项目:",
24
+ "itemsToMove": "{{count}} 个项目待移动:",
25
+ "itemsToMove_one": "{{count}} 个项目待移动:",
26
+ "itemsToMove_other": "{{count}} 个项目待移动:"
27
+ },
20
28
  "open": "打开",
21
29
  "openFile": "打开文件",
22
30
  "openFolder": "打开文件夹",
@@ -383,6 +383,8 @@
383
383
  "manualDesc": "每次調用都需要手動批准"
384
384
  },
385
385
  "reject": "拒絕",
386
+ "rejectAndContinue": "拒絕後重新執行",
387
+ "rejectOnly": "拒絕",
386
388
  "rejectReasonPlaceholder": "輸入拒絕原因將幫助 Agent 理解並優化後續行動",
387
389
  "rejectTitle": "拒絕本次工具調用",
388
390
  "rejectedWithReason": "本次工具調用被主動拒絕:{{reason}}",
@@ -1,4 +1,5 @@
1
1
  {
2
+ "addFolder": "建立資料夾",
2
3
  "addKnowledge": "新增知識",
3
4
  "addPage": "建立文稿",
4
5
  "desc": "管理你的工作、學習與生活知識。",
@@ -65,6 +66,7 @@
65
66
  "header": {
66
67
  "actions": {
67
68
  "newFolder": "新建資料夾",
69
+ "newPage": "新增文件",
68
70
  "uploadFile": "上傳檔案",
69
71
  "uploadFolder": "上傳資料夾"
70
72
  },
@@ -1853,6 +1853,18 @@
1853
1853
  "gpt-5-pro": {
1854
1854
  "description": "GPT-5 pro 運用更多運算資源進行更深入的思考,持續提供更優質的答案。"
1855
1855
  },
1856
+ "gpt-5.1": {
1857
+ "description": "GPT-5.1 — 為編碼與代理任務優化的旗艦模型,支援可調整的推理強度與更長的上下文。"
1858
+ },
1859
+ "gpt-5.1-chat-latest": {
1860
+ "description": "GPT-5.1 Chat:用於 ChatGPT 的 GPT-5.1 變體,適合對話場景。"
1861
+ },
1862
+ "gpt-5.1-codex": {
1863
+ "description": "GPT-5.1 Codex:針對代理型編碼任務優化的 GPT-5.1 版本,可於 Responses API 中用於更複雜的程式碼/代理工作流程。"
1864
+ },
1865
+ "gpt-5.1-codex-mini": {
1866
+ "description": "GPT-5.1 Codex mini:體積更小、成本更低的 Codex 變體,針對代理型編碼任務進行了優化。"
1867
+ },
1856
1868
  "gpt-audio": {
1857
1869
  "description": "GPT Audio 是面向音訊輸入輸出的通用聊天模型,支援在 Chat Completions API 中使用音訊 I/O。"
1858
1870
  },
@@ -2028,13 +2040,13 @@
2028
2040
  "description": "Imagen 第四代文字生成影像模型系列"
2029
2041
  },
2030
2042
  "imagen-4.0-generate-preview-06-06": {
2031
- "description": "Imagen 第四代文字轉圖像模型系列"
2043
+ "description": "Imagen 第四代文字生成圖像模型系列"
2032
2044
  },
2033
2045
  "imagen-4.0-ultra-generate-001": {
2034
2046
  "description": "Imagen 第四代文字生成影像模型系列 Ultra 版"
2035
2047
  },
2036
2048
  "imagen-4.0-ultra-generate-preview-06-06": {
2037
- "description": "Imagen 第四代文字轉圖像模型系列 超級版"
2049
+ "description": "Imagen 第四代文字生成圖像模型系列的 Ultra 版本"
2038
2050
  },
2039
2051
  "inception/mercury-coder-small": {
2040
2052
  "description": "Mercury Coder Small 是程式碼生成、除錯和重構任務的理想選擇,具有最小延遲。"
@@ -3092,6 +3104,9 @@
3092
3104
  "qwen3-max": {
3093
3105
  "description": "通義千問3系列Max模型,相較2.5系列整體通用能力有大幅度提升,中英文通用文本理解能力、複雜指令遵循能力、主觀開放任務能力、多語言能力、工具調用能力均顯著增強;模型知識幻覺更少。最新的qwen3-max模型:相較qwen3-max-preview版本,在智能體編程與工具調用方向進行了專項升級。本次發布的正式版模型達到領域SOTA水平,適配場景更加複雜的智能體需求。"
3094
3106
  },
3107
+ "qwen3-max-preview": {
3108
+ "description": "通義千問系列中效果最佳的模型,適合處理複雜、多步驟的任務。預覽版已支援推理能力。"
3109
+ },
3095
3110
  "qwen3-next-80b-a3b-instruct": {
3096
3111
  "description": "基於 Qwen3 的新一代非思考模式開源模型,相較上一版本(通義千問3-235B-A22B-Instruct-2507)中文文本理解能力更佳、邏輯推理能力有增強、文本生成類任務表現更好。"
3097
3112
  },
@@ -17,6 +17,14 @@
17
17
  "localFiles": {
18
18
  "file": "檔案",
19
19
  "folder": "資料夾",
20
+ "moveFiles": {
21
+ "itemsMoved": "已移動 {{count}} 個項目:",
22
+ "itemsMoved_one": "已移動 {{count}} 個項目:",
23
+ "itemsMoved_other": "已移動 {{count}} 個項目:",
24
+ "itemsToMove": "{{count}} 個項目待移動:",
25
+ "itemsToMove_one": "{{count}} 個項目待移動:",
26
+ "itemsToMove_other": "{{count}} 個項目待移動:"
27
+ },
20
28
  "open": "打開",
21
29
  "openFile": "打開檔案",
22
30
  "openFolder": "打開資料夾",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lobehub/lobehub",
3
- "version": "2.0.0-next.60",
3
+ "version": "2.0.0-next.61",
4
4
  "description": "LobeHub - an open-source,comprehensive AI Agent framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.",
5
5
  "keywords": [
6
6
  "framework",
@@ -51,12 +51,12 @@ export class ApiKeyModel {
51
51
  where: eq(apiKeys.userId, this.userId),
52
52
  });
53
53
 
54
- // 如果没有提供解密器,直接返回原始结果
54
+ // If no decryptor is provided, return the original results directly
55
55
  if (!decryptor) {
56
56
  return results;
57
57
  }
58
58
 
59
- // 对每个 API Key key 字段进行解密
59
+ // Decrypt the key field for each API Key
60
60
  const decryptedResults = await Promise.all(
61
61
  results.map(async (apiKey) => {
62
62
  const decryptedKey = await decryptor(apiKey.key);
@@ -209,7 +209,7 @@ export class ChunkModel {
209
209
  .leftJoin(files, eq(files.id, fileChunks.fileId))
210
210
  .where(inArray(fileChunks.fileId, fileIds))
211
211
  .orderBy((t) => desc(t.similarity))
212
- // 先放宽到 15
212
+ // Relaxed to 15 for now
213
213
  .limit(15);
214
214
 
215
215
  return result.map((item) => {
@@ -11,7 +11,7 @@ export class DrizzleMigrationModel {
11
11
  }
12
12
 
13
13
  getTableCounts = async () => {
14
- // 这里使用 pg_tables 系统表查询用户表数量
14
+ // Use pg_tables system table to query the number of user tables
15
15
  const result = await this.db.execute(
16
16
  sql`
17
17
  SELECT COUNT(*) as table_count
@@ -12,9 +12,9 @@ export class OAuthHandoffModel {
12
12
  }
13
13
 
14
14
  /**
15
- * 创建新的认证凭证传递记录
16
- * @param params 凭证数据
17
- * @returns 创建的记录
15
+ * Create a new OAuth handoff record
16
+ * @param params Credential data
17
+ * @returns Created record
18
18
  */
19
19
  create = async (params: NewOAuthHandoff): Promise<OAuthHandoffItem> => {
20
20
  const [result] = await this.db
@@ -27,21 +27,21 @@ export class OAuthHandoffModel {
27
27
  };
28
28
 
29
29
  /**
30
- * 获取并消费认证凭证
31
- * 该方法会先查询记录,如果找到则立即删除,确保凭证只能被使用一次
32
- * @param id 凭证ID
33
- * @param client 客户端类型
34
- * @returns 凭证数据,如果不存在或已过期则返回null
30
+ * Fetch and consume OAuth credentials
31
+ * This method queries the record first, and if found, deletes it immediately to ensure credentials can only be used once
32
+ * @param id Credential ID
33
+ * @param client Client type
34
+ * @returns Credential data, or null if it doesn't exist or has expired
35
35
  */
36
36
  fetchAndConsume = async (id: string, client: string): Promise<OAuthHandoffItem | null> => {
37
- // 先查找记录,同时检查是否过期 (5分钟TTL)
37
+ // First find the record while checking if it's expired (5 minute TTL)
38
38
  const fiveMinutesAgo = new Date(Date.now() - 5 * 60 * 1000);
39
39
 
40
40
  const handoff = await this.db.query.oauthHandoffs.findFirst({
41
41
  where: and(
42
42
  eq(oauthHandoffs.id, id),
43
43
  eq(oauthHandoffs.client, client),
44
- // 检查记录是否在5分钟内创建
44
+ // Check if the record was created within the last 5 minutes
45
45
  sql`${oauthHandoffs.createdAt} > ${fiveMinutesAgo}`,
46
46
  ),
47
47
  });
@@ -50,16 +50,16 @@ export class OAuthHandoffModel {
50
50
  return null;
51
51
  }
52
52
 
53
- // 立即删除记录以确保一次性使用
53
+ // Immediately delete the record to ensure one-time use
54
54
  await this.db.delete(oauthHandoffs).where(eq(oauthHandoffs.id, id));
55
55
 
56
56
  return handoff;
57
57
  };
58
58
 
59
59
  /**
60
- * 清理过期的认证凭证记录
61
- * 这个方法应该被定期调用(比如通过 cron job)来清理过期的记录
62
- * @returns 清理的记录数量
60
+ * Clean up expired OAuth handoff records
61
+ * This method should be called periodically (e.g., via a cron job) to clean up expired records
62
+ * @returns Number of records cleaned up
63
63
  */
64
64
  cleanupExpired = async (): Promise<number> => {
65
65
  const fiveMinutesAgo = new Date(Date.now() - 5 * 60 * 1000);
@@ -72,11 +72,11 @@ export class OAuthHandoffModel {
72
72
  };
73
73
 
74
74
  /**
75
- * 检查凭证是否存在(不消费)
76
- * 主要用于测试和调试
77
- * @param id 凭证ID
78
- * @param client 客户端类型
79
- * @returns 是否存在且未过期
75
+ * Check if a credential exists (without consuming it)
76
+ * Primarily used for testing and debugging
77
+ * @param id Credential ID
78
+ * @param client Client type
79
+ * @returns Whether it exists and is not expired
80
80
  */
81
81
  exists = async (id: string, client: string): Promise<boolean> => {
82
82
  const fiveMinutesAgo = new Date(Date.now() - 5 * 60 * 1000);
@@ -94,7 +94,7 @@ export class SessionModel {
94
94
  };
95
95
 
96
96
  queryWithGroups = async (): Promise<ChatSessionList> => {
97
- // 查询所有会话
97
+ // Query all sessions
98
98
  const result = await this.query();
99
99
 
100
100
  const groups = await this.db.query.sessionGroups.findMany({
@@ -195,7 +195,7 @@ export class SessionModel {
195
195
  .limit(limit);
196
196
  };
197
197
 
198
- // TODO: 未来将 Inbox id 入库后可以直接使用 _rank 方法
198
+ // TODO: In the future, once Inbox ID is stored in the database, we can directly use the _rank method
199
199
  rank = async (limit: number = 10): Promise<SessionRankItem[]> => {
200
200
  const inboxResult = await this.db
201
201
  .select({
@@ -525,7 +525,7 @@ export class SessionModel {
525
525
  );
526
526
  }
527
527
 
528
- // 先处理参数字段:undefined 表示删除,null 表示禁用标记
528
+ // First process the params field: undefined means delete, null means disable flag
529
529
  const existingParams = session.agent.params ?? {};
530
530
  const updatedParams: Record<string, any> = { ...existingParams };
531
531
 
@@ -534,26 +534,26 @@ export class SessionModel {
534
534
  Object.keys(incomingParams).forEach((key) => {
535
535
  const incomingValue = incomingParams[key];
536
536
 
537
- // undefined 代表显式删除该字段
537
+ // undefined means explicitly delete this field
538
538
  if (incomingValue === undefined) {
539
539
  delete updatedParams[key];
540
540
  return;
541
541
  }
542
542
 
543
- // 其余值(包括 null)都直接覆盖,null 表示在前端禁用该参数
543
+ // All other values (including null) are directly overwritten, null means disable this param on the frontend
544
544
  updatedParams[key] = incomingValue;
545
545
  });
546
546
  }
547
547
 
548
- // 构建要合并的数据,排除 params(单独处理)
548
+ // Build data to be merged, excluding params (processed separately)
549
549
  // eslint-disable-next-line @typescript-eslint/no-unused-vars
550
550
  const { params: _params, ...restData } = data;
551
551
  const mergedValue = merge(session.agent, restData);
552
552
 
553
- // 应用处理后的参数
553
+ // Apply the processed parameters
554
554
  mergedValue.params = Object.keys(updatedParams).length > 0 ? updatedParams : undefined;
555
555
 
556
- // 最终清理:确保没有 undefined null 值进入数据库
556
+ // Final cleanup: ensure no undefined or null values enter the database
557
557
  if (mergedValue.params) {
558
558
  const params = mergedValue.params as Record<string, any>;
559
559
  Object.keys(params).forEach((key) => {
@@ -625,7 +625,7 @@ export class SessionModel {
625
625
  }
626
626
 
627
627
  // For agent sessions, include agent-specific fields
628
- // TODO: 未来这里需要更好的实现方案,目前只取第一个
628
+ // TODO: Need a better implementation in the future, currently only taking the first one
629
629
  const agent = agentsToSessions?.[0]?.agent;
630
630
  return {
631
631
  ...res,
@@ -670,7 +670,7 @@ export class SessionModel {
670
670
  with: { agentsToSessions: { columns: {}, with: { session: true } } },
671
671
  });
672
672
 
673
- // 过滤和映射结果,确保有有效的 session 关联
673
+ // Filter and map results, ensuring valid session associations
674
674
  return (
675
675
  results
676
676
  .filter((item) => item.agentsToSessions && item.agentsToSessions.length > 0)