From 900d5bd774ea72773dc8167368bbadc1d68060ec Mon Sep 17 00:00:00 2001
From: Cxx0822 <1556464090@qq.com>
Date: Sat, 4 Jul 2026 20:25:10 +0800
Subject: [PATCH] =?UTF-8?q?feat:=E5=A2=9E=E5=8A=A0=E7=A7=BB=E5=8A=A8?=
=?UTF-8?q?=E7=AB=AF=E6=8F=90=E7=A4=BA=E8=AF=8D?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.idea/sweet-hut-agent.iml | 2 +-
.idea/workspace.xml | 84 ++++++++++++++++++++++++---------------
modes/agent.py | 3 +-
prompt/mobile.py | 8 ++++
services.py | 12 ++++--
5 files changed, 71 insertions(+), 38 deletions(-)
create mode 100644 prompt/mobile.py
diff --git a/.idea/sweet-hut-agent.iml b/.idea/sweet-hut-agent.iml
index e408242..7ca2fee 100644
--- a/.idea/sweet-hut-agent.iml
+++ b/.idea/sweet-hut-agent.iml
@@ -5,7 +5,7 @@
-
+
\ No newline at end of file
diff --git a/.idea/workspace.xml b/.idea/workspace.xml
index 06d7c2f..530ca28 100644
--- a/.idea/workspace.xml
+++ b/.idea/workspace.xml
@@ -5,18 +5,11 @@
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
@@ -43,37 +36,42 @@
- {
- "keyToString": {
- "FastAPI.sweet-hut-agent.executor": "Run",
- "RunOnceActivity.ShowReadmeOnStart": "true",
- "RunOnceActivity.TerminalTabsStorage.copyFrom.TerminalArrangementManager.252": "true",
- "RunOnceActivity.git.unshallow": "true",
- "RunOnceActivity.typescript.service.memoryLimit.init": "true",
- "git-widget-placeholder": "master",
- "last_opened_file_path": "D:/Cxx/PythonProjects/sweet-hut-agent/prompt",
- "node.js.detected.package.eslint": "true",
- "node.js.detected.package.tslint": "true",
- "node.js.selected.package.eslint": "(autodetect)",
- "node.js.selected.package.tslint": "(autodetect)",
- "nodejs_package_manager_path": "npm",
- "vue.rearranger.settings.migration": "true"
+
+}]]>
+
+
+
-
+
-
+
-
+
@@ -83,6 +81,25 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -104,6 +121,9 @@
+
+
+
@@ -111,6 +131,6 @@
-
+
\ No newline at end of file
diff --git a/modes/agent.py b/modes/agent.py
index 882e9c8..1eec06c 100644
--- a/modes/agent.py
+++ b/modes/agent.py
@@ -1,4 +1,5 @@
from pydantic import BaseModel
class QueryRequest(BaseModel):
- message: str
\ No newline at end of file
+ message: str
+ platform: str | None = None
\ No newline at end of file
diff --git a/prompt/mobile.py b/prompt/mobile.py
new file mode 100644
index 0000000..91fe169
--- /dev/null
+++ b/prompt/mobile.py
@@ -0,0 +1,8 @@
+mobile_prompt = """
+你正在为移动端用户回答问题。
+
+请严格遵守以下输出规范:
+
+1. 不要使用 Markdown 表格
+2. 适合手机竖屏阅读
+"""
\ No newline at end of file
diff --git a/services.py b/services.py
index 8fc6ba3..2a72af4 100644
--- a/services.py
+++ b/services.py
@@ -1,9 +1,10 @@
from datetime import datetime
-from langchain_core.messages import HumanMessage, AIMessageChunk
+from langchain_core.messages import HumanMessage, AIMessageChunk, SystemMessage, BaseMessage
from agent.bill import bill_agent
from modes.agent import QueryRequest
+from prompt.mobile import mobile_prompt
async def query_bill_agent(query: QueryRequest):
@@ -11,19 +12,22 @@ async def query_bill_agent(query: QueryRequest):
print(query)
today = datetime.today().strftime("%Y-%m-%d")
- message_content = (
+ date_content = (
f"[当前系统日期: {today}]\n\n"
f"{query.message}"
)
- message = HumanMessage(content=message_content)
+ messages: list[BaseMessage] = [HumanMessage(content=date_content)]
+
+ if query.platform == "mobile":
+ messages.insert(0, SystemMessage(content=mobile_prompt))
tool_called = False
content_generate = False
# 流式调用Agent
for chunk, metadata in bill_agent.stream(
- {"messages": [message]},
+ {"messages": messages},
stream_mode="messages"
):
# print(chunk)