pycoze 0.1.362__py3-none-any.whl → 0.1.364__py3-none-any.whl
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.
- pycoze/bot/chat.py +15 -3
- pycoze/bot/chat_base.py +2 -2
- {pycoze-0.1.362.dist-info → pycoze-0.1.364.dist-info}/METADATA +1 -1
- {pycoze-0.1.362.dist-info → pycoze-0.1.364.dist-info}/RECORD +7 -7
- {pycoze-0.1.362.dist-info → pycoze-0.1.364.dist-info}/LICENSE +0 -0
- {pycoze-0.1.362.dist-info → pycoze-0.1.364.dist-info}/WHEEL +0 -0
- {pycoze-0.1.362.dist-info → pycoze-0.1.364.dist-info}/top_level.txt +0 -0
pycoze/bot/chat.py
CHANGED
@@ -7,6 +7,7 @@ import asyncio
|
|
7
7
|
from pycoze import utils
|
8
8
|
import tempfile
|
9
9
|
import re
|
10
|
+
import datetime
|
10
11
|
|
11
12
|
def eclipse_tool_result(text):
|
12
13
|
# 使用正则表达式匹配 [Tool Result Begin] 和 [Tool Result End] 之间的内容
|
@@ -71,10 +72,15 @@ async def run_with_interrupt_check(
|
|
71
72
|
|
72
73
|
|
73
74
|
def chat(bot_setting_file: str):
|
75
|
+
current_time_str = datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S")
|
76
|
+
chat_history_folder = os.path.join(os.path.dirname(bot_setting_file), "chat_history")
|
77
|
+
os.makedirs(chat_history_folder, exist_ok=True)
|
78
|
+
chat_history_file = os.path.join(chat_history_folder, current_time_str + ".txt")
|
79
|
+
|
74
80
|
with open(bot_setting_file, encoding="utf-8") as f:
|
75
81
|
bot_setting = json.load(f)
|
76
82
|
abilities = get_abilities(bot_setting)
|
77
|
-
|
83
|
+
continuouslyRememberToolResults = bot_setting["continuouslyRememberToolResults"]
|
78
84
|
|
79
85
|
cwd = tempfile.mkdtemp()
|
80
86
|
system_prompt, has_any_tool = get_system_prompt(abilities, bot_setting)
|
@@ -116,8 +122,14 @@ def chat(bot_setting_file: str):
|
|
116
122
|
)
|
117
123
|
)
|
118
124
|
output("assistant", CHAT_DATA["info"])
|
119
|
-
if not
|
120
|
-
conversation_history = [eclipse_tool_result(msg) for msg in conversation_history]
|
125
|
+
if not continuouslyRememberToolResults:
|
126
|
+
conversation_history = [{"role": msg["role"], "content": eclipse_tool_result(msg["content"])} for msg in conversation_history]
|
127
|
+
try:
|
128
|
+
with open(chat_history_file, "a", encoding="utf-8") as f:
|
129
|
+
f.write(json.dumps(conversation_history, ensure_ascii=False) + "\n")
|
130
|
+
except Exception as e:
|
131
|
+
print(f"Error writing chat history to file: {e}")
|
132
|
+
|
121
133
|
|
122
134
|
|
123
135
|
def get_chat_response(bot_setting_file: str, user_input: str):
|
pycoze/bot/chat_base.py
CHANGED
@@ -159,7 +159,7 @@ async def handle_user_inputs(
|
|
159
159
|
):
|
160
160
|
no_exit_if_incomplete = bot_setting["systemAbility"]["no_exit_if_incomplete"]
|
161
161
|
programmer_mode = bot_setting["systemAbility"]["programmer_mode"]
|
162
|
-
|
162
|
+
showToolResult = bot_setting["showToolResult"]
|
163
163
|
|
164
164
|
start_new_stream = {
|
165
165
|
"value": False
|
@@ -239,7 +239,7 @@ async def handle_user_inputs(
|
|
239
239
|
+ "\n[Tool Result End]\n"
|
240
240
|
)
|
241
241
|
lang = "json" if is_json_dumps else "text"
|
242
|
-
if
|
242
|
+
if showToolResult:
|
243
243
|
info("assistant", f"\n```{lang}\n" + result + "\n```\n\n")
|
244
244
|
conversation_history.append(
|
245
245
|
{"role": "assistant", "content": assistant_content}
|
@@ -12,8 +12,8 @@ pycoze/api/lib/view.py,sha256=_PIpTfeuTPPlMDKshMGsqFQYMq7ZiO4Hg5XwHwDoU60,7357
|
|
12
12
|
pycoze/api/lib/web.py,sha256=GWgtiTJOolKOX2drXcwuyqTcbo5FQVxa1NuBGcNyjyc,223
|
13
13
|
pycoze/api/lib/window.py,sha256=bTkQCzQZ7i3pYXB70bUSTBNJ9C4TW_X3yMae1VkquGk,1944
|
14
14
|
pycoze/bot/__init__.py,sha256=rL3Q-ycczRpSFfKn84fg3QBl5k22WpyeIU5qOEjEby8,79
|
15
|
-
pycoze/bot/chat.py,sha256=
|
16
|
-
pycoze/bot/chat_base.py,sha256=
|
15
|
+
pycoze/bot/chat.py,sha256=KyUtEdRzEsSMybMA_vLmE59Nga68edzZzcEpU2P9U5U,5004
|
16
|
+
pycoze/bot/chat_base.py,sha256=KbXDUI-JKPsljHTVP7M7ktcpu3yuTEnIa6xEhlAlPOA,9741
|
17
17
|
pycoze/bot/lib.py,sha256=smigeWuhl8esHE-Y5l_9bpjJkEJ5OqrxTyPcO8JIubM,7224
|
18
18
|
pycoze/bot/message.py,sha256=udnIi-h4QgGzkbr_5VcAsVGjoLp9wXJSfBCeuOz7_Bk,802
|
19
19
|
pycoze/bot/prompt.md,sha256=OBxwUY6yiwEmusnUHhwixWYByrWX3BpwfxG_Gfas8UM,15783
|
@@ -33,8 +33,8 @@ pycoze/utils/arg.py,sha256=jop1tBfe5hYkHW1NSpCeaZBEznkgguBscj_7M2dWfrs,503
|
|
33
33
|
pycoze/utils/env.py,sha256=5pWlXfM1F5ZU9hhv1rHlDEanjEW5wf0nbyez9bNRqqA,559
|
34
34
|
pycoze/utils/socket.py,sha256=bZbFFRH4mfThzRqt55BAAGQ6eICx_ja4x8UGGrUdAm8,2428
|
35
35
|
pycoze/utils/text_or_file.py,sha256=gpxZVWt2DW6YiEg_MnMuwg36VNf3TX383QD_1oZNB0Y,551
|
36
|
-
pycoze-0.1.
|
37
|
-
pycoze-0.1.
|
38
|
-
pycoze-0.1.
|
39
|
-
pycoze-0.1.
|
40
|
-
pycoze-0.1.
|
36
|
+
pycoze-0.1.364.dist-info/LICENSE,sha256=QStd_Qsd0-kAam_-sOesCIp_uKrGWeoKwt9M49NVkNU,1090
|
37
|
+
pycoze-0.1.364.dist-info/METADATA,sha256=Kxw7a8wpW9OhIAIKoKhYltSfzwL2NAO5ol8Cke8tS1g,854
|
38
|
+
pycoze-0.1.364.dist-info/WHEEL,sha256=In9FTNxeP60KnTkGw7wk6mJPYd_dQSjEZmXdBdMCI-8,91
|
39
|
+
pycoze-0.1.364.dist-info/top_level.txt,sha256=76dPeDhKvOCleL3ZC5gl1-y4vdS1tT_U1hxWVAn7sFo,7
|
40
|
+
pycoze-0.1.364.dist-info/RECORD,,
|
File without changes
|
File without changes
|
File without changes
|