- 06 Jul, 2025 7 commits
-
-
🎨 Summary 1. Load `channel_info` when editing: • Detect if the channel is in multi-key mode (`is_multi_key`). • Auto-initialize `batch`, `multiToSingle`, and `multiKeyMode` from backend data. 2. Visibility logic • Creation page: “Batch create / Multi-key mode” always available. • Edit page: show these controls **only when** the channel itself is multi-key. 3. State consistency • `multi_key_mode` added to `inputs`; `setValues(inputs)` now preserves the user’s selection. Result Single-key channels no longer display irrelevant “key aggregation” options, while multi-key channels open with the correct defaults, providing a cleaner and more accurate editing experience.
t0ng7u committed -
🔧 🔧 **fix(model, controller): robust serialization for `ChannelInfo` & correct Vertex-AI key storage** Summary 1. **model/channel.go** • Replaced the pointer-only `Value()` with a value-receiver implementation • GORM can now marshal both `ChannelInfo` and `*ChannelInfo`, eliminating `unsupported type model.ChannelInfo` runtime error. 2. **controller/channel.go** • Refactored `getVertexArrayKeys()` – every element is now - passed through `json.Marshal` when not already a string - trimmed & validated before insertion • Guarantees each service-account key is persisted as a **pure JSON string** instead of the previous `map[...]` dump. Result • Channel creation / update succeeds without SQL driver errors. • Vertex-AI batch & multi-key uploads are stored in canonical JSON, ready for downstream SDKs to consume.t0ng7u committed -
✨ Summary ------- 1. Vertex AI JSON key upload • Accept multiple `.json` files (drag & drop / click). • Parse each `fileInstance`; build valid key array. • Malformed files are skipped and collected into **one** toast message. • Upload list now仅displays valid files; form state (`vertex_files`) 同步保持. • On *Submit* keys are re-parsed to prevent async timing loss. 2. Multi-key mode stability • Added `multi_key_mode: "random"` to initial form values. • `Form.Select` becomes fully controlled (`value`/`onChange`). • Toggling the “multi-key mode” checkbox writes default / removes field, so `setValues(inputs)` no longer clears the user’s choice. 3. UX / compatibility tweaks • Preserve uploaded files when editing any other field. • Use `fileInstance` only – compatible with legacy Semi Upload API. • Removed redundant `limit` prop on `Form.Upload`. • Aggregated error handling avoids toast spam. Result ------ Channel creation/update now supports: • Reliable batch import of Vertex AI service-account keys. • Consistent retention of multi-key strategy (`random` / `polling`). • Cleaner, user-friendly error feedback.t0ng7u committed -
🔧 CaIon committed -
🔧 CaIon committed -
# Conflicts: # controller/channel.go # docker-compose.yml # web/src/components/table/ChannelsTable.js # web/src/pages/Channel/EditChannel.js
CaIon committed -
🔧 CaIon committed
-
- 05 Jul, 2025 4 commits
-
-
🔧 CaIon committed -
支持Midjourney视频任务和图片编辑
Calcium-Ion committed -
CaIon committed
-
✨ CaIon committed
-
- 04 Jul, 2025 5 commits
-
-
📊 Introduce two new visualizations to the “Model Data Analysis” panel: 1. Model Consumption Trend (line chart) • Added `spec_model_line` state and legend support. • Calculates per-model counts over time and updates via `updateChartData`. 2. Model Call Ranking (bar chart) • Added `spec_rank_bar` state with `seriesField` and legend enabled. • Ranks models by total call count. Additional changes: • Extended tab navigation with two new `TabPane`s and adjusted chart rendering logic. • Swapped icons/texts to match new chart purposes. • Reused existing color mapping to ensure consistent palette. No breaking changes; UI now offers richer insights into model usage patterns.
t0ng7u committed -
🔢 Summary: • Imported InputNumber from @douyinfe/semi-ui. • Swapped plain Input for InputNumber in “Add Quota” modal. • Added UX tweaks: full-width styling, showClear, step = 500 000. • Initialized addQuotaLocal to an empty string so the field starts blank. • Adjusted state handling and kept quota calculation logic unchanged. This improves numeric input accuracy and overall user experience without breaking existing functionality.
t0ng7u committed -
🖼 t0ng7u committed -
🐛 t0ng7u committed -
🔧 CaIon committed
-
- 03 Jul, 2025 9 commits
-
-
🎨 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 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 -
🔌 * 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 -
修复使用gemini-balance作为上游时,测试gemini2.5pro模型时出现的错误问题
Calcium-Ion committed -
✨ CaIon committed -
✨ CaIon committed -
fix: ali embedding lose prompt_tokens
Calcium-Ion committed -
✨ feat: refactor environment variable initializationCalcium-Ion committed -
✨ ✨ feat: refactor environment variable initialization and introduce new constant types for API and context keysCaIon committed
-
- 02 Jul, 2025 3 commits
-
-
feat: video action to constant
IcedTangerine committed -
skynono committed
-
🐛 CaIon committed
-
- 01 Jul, 2025 7 commits
- 30 Jun, 2025 1 commit
-
-
iszcz committed
-
- 29 Jun, 2025 1 commit
-
-
kikii16 committed
-
- 28 Jun, 2025 3 commits