1. 11 Jul, 2025 4 commits
    • 🎨 feat(ui): add icon support for Kling (50) & Jimeng (51) channels and iconize type selector · c96bdfbe
      - import Kling & Jimeng icons from @lobehub/icons
      - extend getChannelIcon() to return corresponding icons for new channel types 50 (Kling) and 51 (Jimeng)
      - enhance EditChannel type selector:
        • introduce useMemo‐based channelOptionList with leading icons
        • utilize getChannelIcon for consistent icon rendering in dropdown options
      - minor refactor: add useMemo and getChannelIcon imports in EditChannel.js
      t0ng7u committed
    • 🎨 style(ui): move type-specific “Other / Organization” inputs to Basic Info card… · 17a42e21
      🎨 style(ui): move type-specific “Other / Organization” inputs to Basic Info card for smoother channel setup
      
      Summary
      • **EditChannel.js**
        – Relocated the following conditional inputs from “Advanced Settings” to the initial “Basic Info” card:
          • Model version (type 18)
          • Deployment region (type 41)
          • Knowledge-base ID (type 21)
          • Account ID (type 39)
          • Agent ID (type 49)
          • OpenAI organization (type 1)
        – No functional changes; layout only.
      
      Why
      These fields are commonly filled during the first steps of channel creation. Surfacing them earlier reduces scrolling and streamlines the user workflow.
      t0ng7u committed
    • 🌐 i18n: add missing English strings for auto-disable switch in channel settings · 9ac961a7
      Summary
      • **en.json**
        – Added translation for “是否自动禁用” → “Whether to automatically disable”.
        – Stubbed/added key for helper text “仅当自动禁用开启时有效,关闭后不会自动禁用该渠道” (translation placeholder left for future update).
      
      Why
      These keys were previously untranslated, causing mixed-language UI for the “Auto Disable” toggle in the channel edit form. Filling them (or at least registering the keys) ensures consistent localization and prevents runtime fallbacks.
      t0ng7u committed
    • feat: enable fetching model list in creation mode & refine toast-based error handling · b41d6792
      Summary
      • **EditChannel.js**
        – Displays “Fetch Model List” button for both *create* and *edit* modes (removed `isEdit` guard).
        – Unified model selector placeholder to “Please choose supported models”.
        – Added null-safety checks when parsing Axios responses.
        – Sends requests with `{ skipErrorHandler: true }`, preventing generic *500 Internal Server Error* toasts and relying on context-specific messages instead.
      
      • **helpers/api.js**
        – Introduced `skipErrorHandler` flag in the Axios response interceptor.
          If present, global `showError` is bypassed, giving callers full control over user-facing notifications.
        – Ensures `Promise.reject(error)` is returned for proper error propagation.
      
      Why
      Channel creators now enjoy the same convenience as editors when importing upstream model lists.
      Meanwhile, suppressing redundant toasts removes confusion caused by simultaneous custom and generic error messages.
      t0ng7u committed
  2. 10 Jul, 2025 2 commits
    • 🌐 feat(system-settings): add ServerAddress option & full i18n support · b54b590d
      This commit brings System Settings in line with Payment Settings and
      prepares the whole component for multi-language deployments.
      
      Key points
      ----------
      • Introduced a “General Settings” card in `SystemSetting.js`
        - Adds a `ServerAddress` field (copied from Payment Settings).
        - Explains that this URL is used for payment callback & default homepage.
        - Implements `submitServerAddress` to persist the option.
      
      • Internationalisation
        - Imported `useTranslation` and wrapped **all** Chinese UI strings in `t()`.
        - Localised section titles, labels, placeholders, banners, buttons,
          modal texts and toast messages.
        - Dynamic banner/tool-tip descriptions now combine `t()` fragments with
          template literals for runtime URLs.
      
      • UX improvements
        - Added contextual `extraText` under the ServerAddress input.
        - Ensured placeholders like “sensitive info…” are translatable.
      
      With these changes, administrators can configure the server URL from the
      System Settings tab, and the entire page is ready for seamless language
      switching via the existing i18n framework.
      t0ng7u committed
  3. 08 Jul, 2025 2 commits
  4. 07 Jul, 2025 5 commits
  5. 06 Jul, 2025 3 commits
  6. 05 Jul, 2025 4 commits
  7. 04 Jul, 2025 5 commits
  8. 03 Jul, 2025 9 commits
    • 🎨 refactor(EditTagModal): tidy imports & enhance state-sync on open · f45caf29
      Motivation
      • Remove unused UI components to keep the bundle lean and silence linter warnings.
      • Ensure every time the side-sheet opens it reflects the latest tag data, avoiding stale form values (e.g., model / group mismatches).
      
      Key Changes
      1. UI Imports
         – Dropped `Input`, `Select`, `TextArea` from `@douyinfe/semi-ui` (unused in Form-based version).
      2. State Reset & Form Sync
         – On `visible` or `tag` change:
           • Refresh model & group options.
           • Reset `inputs` to clean defaults (`originInputs`) carrying the current `tag`.
           • Pre-fill Form through `formApiRef` to keep controlled fields aligned.
      3. Minor Cleanup
         – Added inline comment clarifying local state reset purpose.
      
      Result
      Opening the “Edit Tag” side-sheet now always displays accurate data without residual selections, and build output is cleaner due to removed dead imports.
      t0ng7u committed
    • refactor(EditChannel&EditToken): refactor Channel & Token edit pages with Semi… · 56dce5a7
       refactor(EditChannel&EditToken): refactor Channel & Token edit pages with Semi Form and UX enhancements
      
      Overview
      • Migrated both `EditChannel.js` and `EditToken.js` to fully leverage Semi UI `Form.*` components, removing legacy `Input/Select/TextArea` + manual labels.
      • Unified data-loading strategy: when the drawer becomes visible we load (or reset) data via `props.visible + id` effect and `formApi.setValues()`, guaranteeing fields are always populated; form resets on close.
      • Fixed blank-form bug when opening the same record twice.
      
      Key improvements
      1. Validation
         • `type`, `models` always required.
         • `key` required only while creating (not on edit).
      2. Batch key creation
         • Checkbox moved into `extraText`; hidden when editing or when channel type = 41.
      3. Layout & UI
         • `Row / Col` (12 + 12) for “Priority” and “Weight”.
         • Placeholders revised; model selector now shows creation hint; removed obsolete banner.
         • Help / extraText used for long hints, template buttons (`model_mapping`, `status_code_mapping`, `param_override`, etc.), and API address notice.
         • Added `showClear`, `min`, rounded card class names for consistency.
      4. Reusable helpers
         • `batchAllowed`, `batchExtra` utilities.
         • `getInitValues()` + centralized `inputs`→form synchronization.
      5. Token editor aligned to the same pattern (`props.visiable` watcher).
      
      Result
      Cleaner code, consistent UX, instant field population on every open, and clearer validation/error feedback across both editors.
      t0ng7u committed
    • 🔌 feat(api): extend endpoint type support & expose in pricing UI · dd9a1534
      * backend
        - constant/endpoint_type.go
          • Add EndpointTypeMidjourney, EndpointTypeSuno, EndpointTypeKling, EndpointTypeJimeng.
        - common/endpoint_type.go
          • Map Midjourney / MidjourneyPlus, SunoAPI, Kling, Jimeng channel types to the new endpoint types.
      
      * frontend
        - ModelPricing.js
          • Add “Supported Endpoint Type” column.
          • Implement renderSupportedEndpoints with `stringToColor` for consistent tag colors.
      
      These changes allow `/api/pricing` and model lists to return accurate
      `supported_endpoint_types` covering all non-OpenAI providers and display
      them clearly in the UI.
      
      No breaking changes.
      t0ng7u committed
    • Merge pull request #1314 from vickyyd/main · 5cb4c4e6
      修复使用gemini-balance作为上游时,测试gemini2.5pro模型时出现的错误问题
      Calcium-Ion committed
    • Merge pull request #1325 from feitianbubu/pr/fix-ali-embedding-lost-prompt-token · 62e82256
      fix: ali embedding lose prompt_tokens
      Calcium-Ion committed
    • Merge pull request #1326 from QuantumNous/refactor_constant · bb00bd0f
       feat: refactor environment variable initialization
      Calcium-Ion committed
    • feat: refactor environment variable initialization and introduce new constant… · f14f4eaf
       feat: refactor environment variable initialization and introduce new constant types for API and context keys
      CaIon committed
  9. 02 Jul, 2025 3 commits
  10. 01 Jul, 2025 3 commits