generated from kevisual/vite-react-template
- Implement CreateRepoDialog for creating new repositories with form validation. - Implement EditRepoDialog for editing existing repository details. - Implement SyncRepoDialog for syncing repositories with Gitea, including repository creation if necessary. - Implement WorkspaceDetailDialog for managing workspace links and actions. - Enhance the repo store with new state management for repository actions, including creating, editing, and syncing repositories. - Add build configuration utilities for repository synchronization. - Create a new page for repository management, integrating all dialogs and functionalities. - Add login route for authentication.
43 lines
1.3 KiB
TypeScript
43 lines
1.3 KiB
TypeScript
import { CNB, Issue } from '@kevisual/cnb'
|
|
import { useLayoutEffect } from 'react'
|
|
import { useConfigStore } from '../config/store'
|
|
import { createOpenAICompatible } from '@ai-sdk/openai-compatible';
|
|
import { generateText } from 'ai';
|
|
const init2 = async () => {
|
|
const cnb = new CNB({
|
|
token: 'cIDfLOOIr1Trt15cdnwfndupEZG',
|
|
cookie: 'CNBSESSION=1770014410.1935321989751226368.7f386c282d80efb5256180ef94c2865e20a8be72e2927a5f8eb1eb72142de39f;csrfkey=2028873452',
|
|
cors: {
|
|
baseUrl: 'https://cors.kevisual.cn'
|
|
}
|
|
})
|
|
// const res = await cnb.issue.getList('kevisual/kevisual')
|
|
// console.log('res', res)
|
|
const token = await cnb.user.getCurrentUser()
|
|
console.log('token', token)
|
|
}
|
|
|
|
const initAi = async () => {
|
|
const state = useConfigStore.getState()
|
|
const config = state.config
|
|
const cors = state.config.CNB_CORS_URL
|
|
const base = cors + '/' + config.AI_BASE_URL.replace('https://', '')
|
|
const cnb = createOpenAICompatible({
|
|
baseURL: base,
|
|
name: 'custom-cnb',
|
|
apiKey: config.AI_API_KEY,
|
|
});
|
|
const model = config.AI_MODEL;
|
|
// const model = 'hunyuan';
|
|
const { text } = await generateText({
|
|
model: cnb(model),
|
|
prompt: '你好',
|
|
});
|
|
console.log('text', text)
|
|
}
|
|
export const Home = () => {
|
|
useLayoutEffect(() => { initAi() }, [])
|
|
return <div>Home Page</div>
|
|
}
|
|
|
|
export default Home; |