Skip to content

Commit c2cff2c

Browse files
authored
Merge pull request #15 from chaitin/develop/jw
feat: 添加智谱模型支持并优化UI组件
2 parents d877f61 + 5f884d5 commit c2cff2c

File tree

22 files changed

+908
-818
lines changed

22 files changed

+908
-818
lines changed

domain/modelkit.go

Lines changed: 16 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -403,7 +403,7 @@ func getSiliconFlowModels() []ModelMetadata {
403403
{ModelName: "Qwen/Qwen3-Coder-30B-A3B-Instruct", Object: "model", Provider: consts.ModelProviderSiliconFlow, ModelType: consts.ModelTypeCoder},
404404
}
405405
}
406-
406+
// 月之暗面模型
407407
func getMoonshotModels() []ModelMetadata {
408408
return []ModelMetadata{
409409
{ModelName: "moonshot-v1-auto", Object: "model", Provider: consts.ModelProviderMoonshot, ModelType: consts.ModelTypeChat},
@@ -414,6 +414,7 @@ func getMoonshotModels() []ModelMetadata {
414414

415415
}
416416

417+
// getAzureOpenAIModels 返回Azure OpenAI模型列表
417418
func getAzureOpenAIModels() []ModelMetadata {
418419
return []ModelMetadata{
419420
{ModelName: "gpt-4", Object: "model", Provider: consts.ModelProviderAzureOpenAI, ModelType: consts.ModelTypeChat},
@@ -452,22 +453,22 @@ func getGeminiModels() []ModelMetadata {
452453
func getZhiPuModels() []ModelMetadata {
453454
return []ModelMetadata{
454455
{ModelName: "glm-4.5", Object: "model", Provider: consts.ModelProviderZhiPu, ModelType: consts.ModelTypeChat},
455-
{ModelName: "glm-4.5-x", Object: "model", Provider: consts.ModelProviderZhiPu, ModelType: consts.ModelTypeChat},
456+
// {ModelName: "glm-4.5-x", Object: "model", Provider: consts.ModelProviderZhiPu, ModelType: consts.ModelTypeChat},
456457
{ModelName: "glm-4.5-air", Object: "model", Provider: consts.ModelProviderZhiPu, ModelType: consts.ModelTypeChat},
457-
{ModelName: "glm-4.5-airx", Object: "model", Provider: consts.ModelProviderZhiPu, ModelType: consts.ModelTypeChat},
458+
// {ModelName: "glm-4.5-airx", Object: "model", Provider: consts.ModelProviderZhiPu, ModelType: consts.ModelTypeChat},
458459
{ModelName: "glm-4.5-flash", Object: "model", Provider: consts.ModelProviderZhiPu, ModelType: consts.ModelTypeChat},
459-
{ModelName: "glm-4-plus", Object: "model", Provider: consts.ModelProviderZhiPu, ModelType: consts.ModelTypeChat},
460-
{ModelName: "glm-4-air-250414", Object: "model", Provider: consts.ModelProviderZhiPu, ModelType: consts.ModelTypeChat},
461-
{ModelName: "glm-4-airx", Object: "model", Provider: consts.ModelProviderZhiPu, ModelType: consts.ModelTypeChat},
462-
{ModelName: "glm-4-long", Object: "model", Provider: consts.ModelProviderZhiPu, ModelType: consts.ModelTypeChat},
463-
{ModelName: "glm-4-flashx-250414", Object: "model", Provider: consts.ModelProviderZhiPu, ModelType: consts.ModelTypeChat},
464-
{ModelName: "glm-4-flash-250414", Object: "model", Provider: consts.ModelProviderZhiPu, ModelType: consts.ModelTypeChat},
465-
{ModelName: "glm-z1-air", Object: "model", Provider: consts.ModelProviderZhiPu, ModelType: consts.ModelTypeChat},
466-
{ModelName: "glm-z1-airx", Object: "model", Provider: consts.ModelProviderZhiPu, ModelType: consts.ModelTypeChat},
467-
{ModelName: "glm-z1-flashx", Object: "model", Provider: consts.ModelProviderZhiPu, ModelType: consts.ModelTypeChat},
468-
{ModelName: "glm-z1-flash", Object: "model", Provider: consts.ModelProviderZhiPu, ModelType: consts.ModelTypeChat},
469-
{ModelName: "glm-4v-plus-0111", Object: "model", Provider: consts.ModelProviderZhiPu, ModelType: consts.ModelTypeVision},
470-
{ModelName: "glm-4v-flash", Object: "model", Provider: consts.ModelProviderZhiPu, ModelType: consts.ModelTypeVision},
460+
// {ModelName: "glm-4-plus", Object: "model", Provider: consts.ModelProviderZhiPu, ModelType: consts.ModelTypeChat},
461+
// {ModelName: "glm-4-air-250414", Object: "model", Provider: consts.ModelProviderZhiPu, ModelType: consts.ModelTypeChat},
462+
// {ModelName: "glm-4-airx", Object: "model", Provider: consts.ModelProviderZhiPu, ModelType: consts.ModelTypeChat},
463+
// {ModelName: "glm-4-long", Object: "model", Provider: consts.ModelProviderZhiPu, ModelType: consts.ModelTypeChat},
464+
// {ModelName: "glm-4-flashx-250414", Object: "model", Provider: consts.ModelProviderZhiPu, ModelType: consts.ModelTypeChat},
465+
// {ModelName: "glm-4-flash-250414", Object: "model", Provider: consts.ModelProviderZhiPu, ModelType: consts.ModelTypeChat},
466+
// {ModelName: "glm-z1-air", Object: "model", Provider: consts.ModelProviderZhiPu, ModelType: consts.ModelTypeChat},
467+
// {ModelName: "glm-z1-airx", Object: "model", Provider: consts.ModelProviderZhiPu, ModelType: consts.ModelTypeChat},
468+
// {ModelName: "glm-z1-flashx", Object: "model", Provider: consts.ModelProviderZhiPu, ModelType: consts.ModelTypeChat},
469+
// {ModelName: "glm-z1-flash", Object: "model", Provider: consts.ModelProviderZhiPu, ModelType: consts.ModelTypeChat},
470+
// {ModelName: "glm-4v-plus-0111", Object: "model", Provider: consts.ModelProviderZhiPu, ModelType: consts.ModelTypeVision},
471+
// {ModelName: "glm-4v-flash", Object: "model", Provider: consts.ModelProviderZhiPu, ModelType: consts.ModelTypeVision},
471472
}
472473
}
473474

pnpm-lock.yaml

Lines changed: 0 additions & 29 deletions
This file was deleted.

ui/ModelModal/README.md

Lines changed: 74 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
1-
# ModelKit UI
1+
# ModelModal
22

3-
一个基于 React 和 Material-UI 的模型管理组件库
3+
一个用于管理AI模型配置的React组件,基于Material-UI构建
44

55
## 安装
66

@@ -14,37 +14,90 @@ pnpm add @yokowu/modelkit-ui
1414

1515
## 使用方法
1616

17-
### 基本使用
17+
### 基本用法
1818

1919
```tsx
20-
import React, { useState } from 'react';
21-
import { ModelAdd, ModelProvider } from '@yokowu/modelkit-ui';
20+
import React from 'react';
21+
import { ModelModal, ConstsModelType } from '@your-org/model-modal';
22+
import { ThemeProvider, createTheme } from '@mui/material/styles';
23+
24+
// 创建主题时需要包含 paper2 背景色
25+
const theme = createTheme({
26+
palette: {
27+
background: {
28+
default: '#fff',
29+
paper: '#F1F2F8',
30+
paper2: '#F8F9FA', // 重要:需要定义 paper2 背景色
31+
},
32+
},
33+
});
2234

2335
function App() {
24-
const [modalOpen, setModalOpen] = useState(false);
25-
26-
const handleModalClose = () => {
27-
setModalOpen(false);
28-
};
29-
30-
const handleRefresh = () => {
31-
// 刷新逻辑
36+
const [open, setOpen] = React.useState(false);
37+
38+
const modelService = {
39+
createModel: async (data) => {
40+
// 实现创建模型的逻辑
41+
return { model: {} };
42+
},
43+
listModel: async (data) => {
44+
// 实现获取模型列表的逻辑
45+
return { models: [] };
46+
},
47+
checkModel: async (data) => {
48+
// 实现检查模型的逻辑
49+
return { model: {} };
50+
},
51+
updateModel: async (data) => {
52+
// 实现更新模型的逻辑
53+
return { model: {} };
54+
},
3255
};
3356

3457
return (
35-
<div>
36-
<ModelAdd
37-
open={modalOpen}
58+
<ThemeProvider theme={theme}>
59+
<ModelModal
60+
open={open}
61+
onClose={() => setOpen(false)}
62+
refresh={() => console.log('refresh')}
3863
data={null}
39-
type="chat"
40-
onClose={handleModalClose}
41-
refresh={handleRefresh}
64+
type={ConstsModelType.ModelTypeLLM}
65+
modelService={modelService}
4266
/>
43-
</div>
67+
</ThemeProvider>
4468
);
4569
}
70+
```
4671

47-
export default App;
72+
### 主题配置
73+
74+
为了确保组件样式正确显示,你需要在主题中定义 `background.paper2` 属性:
75+
76+
```tsx
77+
import { createTheme } from '@mui/material/styles';
78+
import { mergeThemeWithDefaults } from '@your-org/model-modal';
79+
80+
// 方法1:直接在主题中定义
81+
const theme = createTheme({
82+
palette: {
83+
background: {
84+
default: '#fff',
85+
paper: '#F1F2F8',
86+
paper2: '#F8F9FA', // 必需
87+
},
88+
},
89+
});
90+
91+
// 方法2:使用提供的合并工具
92+
const baseTheme = createTheme({
93+
palette: {
94+
primary: {
95+
main: '#1976d2',
96+
},
97+
},
98+
});
99+
100+
const theme = mergeThemeWithDefaults(baseTheme);
48101
```
49102

50103
## 组件

ui/ModelModal/package.json

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@yokowu/modelkit-ui",
3-
"version": "0.2.0",
3+
"version": "0.3.0",
44
"description": "A reusable AI model configuration modal component for React applications",
55
"private": false,
66
"type": "module",
@@ -55,7 +55,7 @@
5555
},
5656
"dependencies": {
5757
"@c-x/ui": "^1.0.9",
58-
"@mui/material": "^7.3.1",
58+
"@mui/material": "^6.4.12",
5959
"react": "^19.1.0",
6060
"react-activity-calendar": "^2.7.12",
6161
"react-copy-to-clipboard": "^5.1.0",
@@ -66,6 +66,7 @@
6666
"react-syntax-highlighter": "^15.6.1"
6767
},
6868
"devDependencies": {
69+
"@types/node": "^24.2.1",
6970
"@types/react": "^19.1.10",
7071
"@types/react-dom": "^19.1.7",
7172
"@vitejs/plugin-react": "^4.4.1",

0 commit comments

Comments
 (0)