Agent Chat fixed
This commit is contained in:
10
Html/app.py
10
Html/app.py
@@ -98,9 +98,10 @@ agent_manager = AgentManager()
|
||||
|
||||
|
||||
class AgentNamespace(Namespace):
|
||||
def on_connect(self):
|
||||
user = request.args.get('username')
|
||||
folder_name = request.args.get('folder')
|
||||
def on_login(self, data):
|
||||
data = json.loads(data)
|
||||
user = data['username']
|
||||
folder_name = data['folder']
|
||||
user_uuid = user_id2uuid[user]
|
||||
session['user_id'] = user_uuid
|
||||
print(f'User connected with session user_id: {user_uuid}')
|
||||
@@ -114,6 +115,7 @@ class AgentNamespace(Namespace):
|
||||
user_uuid, agent = agent_manager.new_agent(markdown, markdown_prompts, score_prompts, id=user_uuid)
|
||||
join_room(user_uuid) # 将该用户加入以user_id为名的room
|
||||
|
||||
|
||||
def on_message(self, data):
|
||||
print(f"Message from client: {data}")
|
||||
id = session.get('user_id')
|
||||
@@ -122,7 +124,7 @@ class AgentNamespace(Namespace):
|
||||
res = agent_manager.invoke(id, data, backboard_manager.get_backboard(id).get_info_prompt())
|
||||
reply = f"AI: {res.content['speak']}"
|
||||
# 将回复发送回前端
|
||||
emit('receive_message', reply)
|
||||
emit('message', reply)
|
||||
|
||||
|
||||
def on_disconnect(self):
|
||||
|
||||
@@ -3,22 +3,21 @@ var socket;
|
||||
document.addEventListener('DOMContentLoaded', function() {
|
||||
data = window.appData;
|
||||
console.log(data);
|
||||
socket = new WebSocket('ws://localhost:5500/agent');
|
||||
socket.onopen = () => {
|
||||
console.log('Connected to agent WebSocket');
|
||||
ws.send(JSON.stringify({ message: 'Hello from client' })); // 发送数据
|
||||
};
|
||||
socket = io('http://localhost:5500/agent?username='+data.username+'&folder='+data.folder);
|
||||
socket.on('connect', function() {
|
||||
console.log('Connected to server');
|
||||
socket.emit('login',JSON.stringify(data));
|
||||
});
|
||||
// 监听来自服务器的消息
|
||||
socket.onmessage = (event) => {
|
||||
socket.on('message', function(data) {
|
||||
// 显示服务器的回复消息
|
||||
data = event.data
|
||||
const serverMessage = document.createElement('div');
|
||||
serverMessage.innerHTML = `<div class="chat-message server-message"><b>服务器:</b> ${marked.parse(data)}</div>`;
|
||||
document.getElementById('chatbox').appendChild(serverMessage);
|
||||
|
||||
// 滚动到最新消息
|
||||
document.getElementById('chatbox').scrollTop = document.getElementById('chatbox').scrollHeight;
|
||||
};
|
||||
});
|
||||
});
|
||||
|
||||
|
||||
@@ -45,23 +44,6 @@ chineseRadio.addEventListener('change', function() {
|
||||
if (chineseRadio.checked) language = 'zn';
|
||||
});
|
||||
|
||||
function sendMessage() {
|
||||
const input = document.getElementById('messageInput').value;
|
||||
if (input.trim() === '') return;
|
||||
|
||||
// 创建一个新的消息元素
|
||||
const newMessage = document.createElement('div');
|
||||
newMessage.classList.add('chat-message');
|
||||
newMessage.innerHTML = `<b>${language === 'en' ? 'You:' : '你:'}</b> ${input}`;
|
||||
chatbox.appendChild(newMessage);
|
||||
|
||||
// 清空输入框
|
||||
document.getElementById('messageInput').value = '';
|
||||
|
||||
// 滚动到最新消息
|
||||
chatbox.scrollTop = chatbox.scrollHeight;
|
||||
}
|
||||
|
||||
|
||||
|
||||
// 发送消息
|
||||
@@ -78,7 +60,7 @@ function sendMessage() {
|
||||
document.getElementById('chatbox').appendChild(userMessage);
|
||||
|
||||
// 发送消息到服务器
|
||||
socket.emit('send_message', input);
|
||||
socket.emit('message', input);
|
||||
|
||||
// 清空输入框
|
||||
document.getElementById('messageInput').value = '';
|
||||
|
||||
@@ -10,7 +10,8 @@
|
||||
<script>
|
||||
document.cookie = "vscode-tkn=44edc269-6f88-46ab-9790-dc253f66ac36; path=/; SameSite=None; Secure";
|
||||
</script>
|
||||
<script src="https://cdn.bootcdn.net/ajax/libs/marked/13.0.2/marked.min.js"></script>
|
||||
<script src="https://cdnjs.cloudflare.com/ajax/libs/marked/15.0.3/marked.min.js"></script>
|
||||
<script src="https://cdn.socket.io/4.0.0/socket.io.min.js"></script>
|
||||
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0-alpha1/dist/css/bootstrap.min.css" rel="stylesheet">
|
||||
<script src="https://unpkg.com/split.js/dist/split.min.js"></script>
|
||||
</head>
|
||||
|
||||
Reference in New Issue
Block a user