myagent-ai 1.2.2 → 1.2.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/core/version.py +1 -1
- package/package.json +1 -1
- package/web/api_server.py +20 -16
- package/web/ui/chat.html +11 -6
package/core/version.py
CHANGED
package/package.json
CHANGED
package/web/api_server.py
CHANGED
|
@@ -100,22 +100,22 @@ class ApiServer:
|
|
|
100
100
|
r.add_get("/api/agents/tree", self.handle_agents_tree)
|
|
101
101
|
r.add_post("/api/agents", self.handle_create_agent)
|
|
102
102
|
# ── Agent 子资源路由(必须在通用 {name} 路由之前注册) ──
|
|
103
|
-
r.add_get("/api/agents/{name:[
|
|
104
|
-
r.add_put("/api/agents/{name:[
|
|
105
|
-
r.add_get("/api/agents/{name:[
|
|
106
|
-
r.add_put("/api/agents/{name:[
|
|
107
|
-
r.add_get("/api/agents/{name:[
|
|
108
|
-
r.add_put("/api/agents/{name:[
|
|
109
|
-
r.add_get("/api/agents/{name:[
|
|
110
|
-
r.add_get("/api/agents/{name:[
|
|
111
|
-
r.add_post("/api/agents/{name:[
|
|
112
|
-
r.add_get("/api/agents/{name:[
|
|
113
|
-
r.add_get("/api/agents/{name:[
|
|
114
|
-
r.add_post("/api/agents/{name:[
|
|
115
|
-
r.add_delete("/api/agents/{name:[
|
|
103
|
+
r.add_get("/api/agents/{name:[^/]+}/soul", self.handle_get_soul)
|
|
104
|
+
r.add_put("/api/agents/{name:[^/]+}/soul", self.handle_set_soul)
|
|
105
|
+
r.add_get("/api/agents/{name:[^/]+}/identity", self.handle_get_identity)
|
|
106
|
+
r.add_put("/api/agents/{name:[^/]+}/identity", self.handle_set_identity)
|
|
107
|
+
r.add_get("/api/agents/{name:[^/]+}/user", self.handle_get_user)
|
|
108
|
+
r.add_put("/api/agents/{name:[^/]+}/user", self.handle_set_user)
|
|
109
|
+
r.add_get("/api/agents/{name:[^/]+}/sessions", self.handle_agent_sessions)
|
|
110
|
+
r.add_get("/api/agents/{name:[^/]+}/children", self.handle_list_children)
|
|
111
|
+
r.add_post("/api/agents/{name:[^/]+}/children", self.handle_create_child)
|
|
112
|
+
r.add_get("/api/agents/{name:[^/]+}/bindings", self.handle_agent_bindings)
|
|
113
|
+
r.add_get("/api/agents/{name:[^/]+}/knowledge", self.handle_list_agent_knowledge)
|
|
114
|
+
r.add_post("/api/agents/{name:[^/]+}/knowledge/upload", self.handle_upload_agent_knowledge)
|
|
115
|
+
r.add_delete("/api/agents/{name:[^/]+}/knowledge", self.handle_delete_agent_knowledge)
|
|
116
116
|
# ── Agent 通用 CRUD(放在子资源之后,name 不含斜杠避免吞掉子路由) ──
|
|
117
|
-
r.add_get("/api/agents/{name:[
|
|
118
|
-
r.add_put("/api/agents/{name:[
|
|
117
|
+
r.add_get("/api/agents/{name:[^/]+}", self.handle_get_agent)
|
|
118
|
+
r.add_put("/api/agents/{name:[^/]+}", self.handle_update_agent)
|
|
119
119
|
r.add_delete("/api/agents/{name:.+}", self.handle_delete_agent)
|
|
120
120
|
# ── 平台管理 ──
|
|
121
121
|
r.add_get("/api/platforms", self.handle_list_platforms)
|
|
@@ -243,14 +243,18 @@ class ApiServer:
|
|
|
243
243
|
r.add_post("/api/execution-lock", self.handle_execution_lock)
|
|
244
244
|
r.add_post("/api/chat/check-text-size", self.handle_check_text_size)
|
|
245
245
|
r.add_post("/api/chat/save-to-knowledge", self.handle_save_to_knowledge)
|
|
246
|
+
r.add_get("/ui/", self.handle_ui_index)
|
|
247
|
+
r.add_get("/", self.handle_index)
|
|
246
248
|
ui_dir = Path(__file__).parent / "ui"
|
|
247
249
|
if ui_dir.exists():
|
|
248
250
|
r.add_static("/ui", str(ui_dir))
|
|
249
|
-
r.add_get("/", self.handle_index)
|
|
250
251
|
|
|
251
252
|
async def handle_index(self, request):
|
|
252
253
|
raise web.HTTPFound("/ui/chat.html")
|
|
253
254
|
|
|
255
|
+
async def handle_ui_index(self, request):
|
|
256
|
+
raise web.HTTPFound("/ui/index.html")
|
|
257
|
+
|
|
254
258
|
def _get_group_manager(self):
|
|
255
259
|
"""获取群聊管理器实例(懒加载)"""
|
|
256
260
|
if not hasattr(self, '_group_manager'):
|
package/web/ui/chat.html
CHANGED
|
@@ -3067,14 +3067,19 @@ function newChat() {
|
|
|
3067
3067
|
document.getElementById('headerTitle').textContent = '新对话';
|
|
3068
3068
|
const agent = findAgentByPath(state.activeAgent);
|
|
3069
3069
|
if (agent) {
|
|
3070
|
-
document.getElementById('welcomeEmoji')
|
|
3071
|
-
|
|
3072
|
-
document.getElementById('
|
|
3070
|
+
const emojiEl = document.getElementById('welcomeEmoji');
|
|
3071
|
+
if (emojiEl) emojiEl.textContent = agent.avatar_emoji || '👋';
|
|
3072
|
+
const titleEl = document.getElementById('welcomeTitle');
|
|
3073
|
+
if (titleEl) titleEl.textContent = `你好,我是 ${agent.name}`;
|
|
3074
|
+
const subEl = document.getElementById('welcomeSubtitle');
|
|
3075
|
+
if (subEl) subEl.textContent = agent.description || '你的 AI 助手';
|
|
3073
3076
|
}
|
|
3074
|
-
document.getElementById('welcomeCard')
|
|
3077
|
+
const welcomeCard = document.getElementById('welcomeCard');
|
|
3078
|
+
if (welcomeCard) welcomeCard.style.display = '';
|
|
3075
3079
|
renderMessages();
|
|
3076
3080
|
renderSessions();
|
|
3077
|
-
document.getElementById('userInput')
|
|
3081
|
+
const userInput = document.getElementById('userInput');
|
|
3082
|
+
if (userInput) userInput.focus();
|
|
3078
3083
|
}
|
|
3079
3084
|
|
|
3080
3085
|
async function selectSession(id) {
|
|
@@ -3565,7 +3570,7 @@ function showConfigModal() {
|
|
|
3565
3570
|
+ '<div class="config-action-row">'
|
|
3566
3571
|
+ '<button class="config-action-btn primary" onclick="hotReloadConfig()" id="reloadBtn">'
|
|
3567
3572
|
+ '<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><polyline points="23 4 23 10 17 10"/><path d="M20.49 15a9 9 0 1 1-2.12-9.36L23 10"/></svg>'
|
|
3568
|
-
+ '
|
|
3573
|
+
+ '热重载配置</button>'
|
|
3569
3574
|
+ '</div>'
|
|
3570
3575
|
+ '<div class="config-status" id="reloadStatus"></div>'
|
|
3571
3576
|
+ '</div>'
|