mirror of
https://github.com/yuruotong1/autoMate.git
synced 2026-03-22 13:07:17 +08:00
完成自动生成代码
This commit is contained in:
@@ -2,7 +2,8 @@ import { ProChat } from '@ant-design/pro-chat';
|
||||
import { useStore } from '@renderer/store/useStore';
|
||||
import useChat from '@renderer/hooks/useChat';
|
||||
import { useTheme } from 'antd-style';
|
||||
export default function Chat() {
|
||||
export default function Chat(props: {id: string}) {
|
||||
const {id} = props;
|
||||
const setMessages = useStore(state=>state.setChatMessage)
|
||||
const chatMessages = useStore(state=>state.chatMessages)
|
||||
const {getResponse} = useChat()
|
||||
@@ -20,7 +21,7 @@ export default function Chat() {
|
||||
<div className='text-black'>你好,我叫智子,你的智能Agent助手!我可以帮你生成自动化代码,有什么要求可以随时吩咐!</div>
|
||||
}
|
||||
request={async (messages) => {
|
||||
const response = await getResponse(messages)
|
||||
const response = await getResponse(messages, id)
|
||||
return response// 支持流式和非流式
|
||||
}}
|
||||
/>
|
||||
|
||||
@@ -30,7 +30,7 @@ export default function CodeEditor(props: CodeEditorProps) {
|
||||
padding: 0,
|
||||
},
|
||||
}}>
|
||||
<Chat />
|
||||
<Chat id={id}/>
|
||||
</Drawer>
|
||||
|
||||
<CodeMirror
|
||||
|
||||
@@ -3,11 +3,9 @@ import { requireAlignmentPrompt, programmerPrompt} from "./prompt";
|
||||
import useOpenai from "./useOpenai";
|
||||
|
||||
export default ()=>{
|
||||
const setCode = useStore(state=>state.setCode)
|
||||
const setChatMessages = useStore(state=>state.setChatMessage)
|
||||
const chatMessages = useStore(state=>state.chatMessages)
|
||||
const getResponse=(chat_messages: Array<any>)=>{
|
||||
// const setCode = useStore(state=>state.setCode)
|
||||
const getResponse=(chat_messages: Array<any>, id:number)=>{
|
||||
const messages = chat_messages.map((m) => {
|
||||
return {
|
||||
role: m.role,
|
||||
@@ -21,15 +19,18 @@ export default ()=>{
|
||||
});
|
||||
const response = useOpenai(requireAlignmentPrompt(), messages, (allContent)=>{
|
||||
const programmerCallBack = (allContent: string) => {
|
||||
allContent = allContent.replace(/^```python/, "").replace(/^```/, "").replace(/```$/, "").trim()
|
||||
setCode(allContent)
|
||||
allContent = allContent.replace(/^```python/, ""). replace(/^```/, "").replace(/```$/, "").trim()
|
||||
window.api.sql('update contents set content = @content where id = @id',
|
||||
'update',
|
||||
{content: allContent, id})
|
||||
|
||||
chatMessages.pop()
|
||||
setChatMessages([...chatMessages, {
|
||||
id: Date.now().toString(),
|
||||
createAt: Date.now(),
|
||||
updateAt: Date.now(),
|
||||
role: "assistant",
|
||||
content: "自动化代码生成成功,请在右侧查看代码"
|
||||
content: "自动化代码生成成功!"
|
||||
}])
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user