beswarm 0.1.89__py3-none-any.whl → 0.1.91__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.
- beswarm/prompt.py +2 -2
- beswarm/tools/worker.py +8 -4
- {beswarm-0.1.89.dist-info → beswarm-0.1.91.dist-info}/METADATA +1 -1
- {beswarm-0.1.89.dist-info → beswarm-0.1.91.dist-info}/RECORD +6 -6
- {beswarm-0.1.89.dist-info → beswarm-0.1.91.dist-info}/WHEEL +0 -0
- {beswarm-0.1.89.dist-info → beswarm-0.1.91.dist-info}/top_level.txt +0 -0
beswarm/prompt.py
CHANGED
@@ -2,8 +2,8 @@ worker_system_prompt = """
|
|
2
2
|
<communication>
|
3
3
|
1. Format your responses in markdown. Use backticks to format file, directory, function, and class names.
|
4
4
|
2. Always respond in 中文。
|
5
|
-
3. 尽力满足user的请求,如果 user 要求你使用工具,请自行根据工具的参数要求,组织参数,将工具调用组织成
|
6
|
-
4. 你拥有完全的工具调用自主权,也因此负有完全的责任。你必须亲自执行所有工具调用,绝对禁止以任何形式指示、请求或暗示user
|
5
|
+
3. **执行规则:** 尽力满足 user 的请求,如果 user 要求你使用工具,请自行根据工具的参数要求,组织参数,将工具调用组织成 XML 格式,即可触发工具执行流程。当 user 的指令中包含一个或多个完整的 XML 工具调用时,你的唯一且首要任务就是**完整、准确、无修改地**复述这些 XML 代码块。这是执行工具的**唯一**方式。严禁在没有复述 XML 的情况下,就声称或暗示任务已完成。
|
6
|
+
4. **生成规则:** 你拥有完全的工具调用自主权,也因此负有完全的责任。你必须亲自执行所有工具调用,绝对禁止以任何形式指示、请求或暗示user为你调用工具。当你需要调用工具(无论是根据 user 的自然语言指令,还是自己决定)时,你都**必须**在你的回复中生成格式完全正确的 XML 工具调用代码。你是操作的**执行者**,不是任务的**确认者**。这是一个强制性规则,任何情况下都不能违反。
|
7
7
|
5. 仔细阅读并理解 user 的任务描述和当前指令。user 会根据任务描述分步骤让你执行,因此请严格遵循 user 指令按步骤操作,并请勿自行完成 user 未指定的步骤。在 user 明确给出下一步指令前,绝不擅自行动或推测、执行任何未明确要求的后续步骤。完成当前 user 指定的步骤后,必须主动向 user 汇报该步骤的完成情况,并明确请求 user 提供下一步的操作指令。
|
8
8
|
</communication>
|
9
9
|
|
beswarm/tools/worker.py
CHANGED
@@ -51,12 +51,14 @@ async def worker(goal, tools, work_dir, cache_messages=None):
|
|
51
51
|
}
|
52
52
|
if cache_messages:
|
53
53
|
if isinstance(cache_messages, bool) and cache_messages == True:
|
54
|
+
cache_messages = None
|
54
55
|
cache_file_path = Path(work_dir) / ".beswarm" / "work_agent_conversation_history.json"
|
55
56
|
if cache_file_path.exists():
|
56
57
|
with cache_file_path.open("r", encoding="utf-8") as f:
|
57
58
|
cache_messages = json.load(f)
|
58
|
-
|
59
|
-
|
59
|
+
if cache_messages and isinstance(cache_messages, list) and len(cache_messages) > 0:
|
60
|
+
first_user_message = replace_xml_content(cache_messages[1]["content"], "goal", goal)
|
61
|
+
work_agent_config["cache_messages"] = cache_messages[0:1] + [{"role": "user", "content": first_user_message}] + cache_messages[2:]
|
60
62
|
|
61
63
|
instruction_agent_config = {
|
62
64
|
"api_key": os.getenv("API_KEY"),
|
@@ -202,12 +204,14 @@ async def worker_gen(goal, tools, work_dir, cache_messages=None):
|
|
202
204
|
}
|
203
205
|
if cache_messages:
|
204
206
|
if isinstance(cache_messages, bool) and cache_messages == True:
|
207
|
+
cache_messages = None
|
205
208
|
cache_file_path = Path(work_dir) / ".beswarm" / "work_agent_conversation_history.json"
|
206
209
|
if cache_file_path.exists():
|
207
210
|
with cache_file_path.open("r", encoding="utf-8") as f:
|
208
211
|
cache_messages = json.load(f)
|
209
|
-
|
210
|
-
|
212
|
+
if cache_messages and isinstance(cache_messages, list) and len(cache_messages) > 0:
|
213
|
+
first_user_message = replace_xml_content(cache_messages[1]["content"], "goal", goal)
|
214
|
+
work_agent_config["cache_messages"] = cache_messages[0:1] + [{"role": "user", "content": first_user_message}] + cache_messages[2:]
|
211
215
|
|
212
216
|
instruction_agent_config = {
|
213
217
|
"api_key": os.getenv("API_KEY"),
|
@@ -1,5 +1,5 @@
|
|
1
1
|
beswarm/__init__.py,sha256=HZjUOJtZR5QhMuDbq-wukQQn1VrBusNWai_ysGo-VVI,20
|
2
|
-
beswarm/prompt.py,sha256=
|
2
|
+
beswarm/prompt.py,sha256=cBz8sSmFj0edIGOZjCMg0rg3pFXQYo8xGvXSA8Py1hg,31591
|
3
3
|
beswarm/utils.py,sha256=cOYwuONpNG_dkSYIvdEqQOxRUdIy0Bh9CTYkvKKskdw,2816
|
4
4
|
beswarm/aient/main.py,sha256=SiYAIgQlLJqYusnTVEJOx1WNkSJKMImhgn5aWjfroxg,3814
|
5
5
|
beswarm/aient/setup.py,sha256=IUr9oCEhGFNVvz7v8J9tedwE_JK6Hlf8XpnENoq2K2s,487
|
@@ -128,8 +128,8 @@ beswarm/tools/screenshot.py,sha256=u6t8FCgW5YHJ_Oc4coo8e0F3wTusWE_-H8dFh1rBq9Q,1
|
|
128
128
|
beswarm/tools/search_arxiv.py,sha256=GpuIOYX8T0iRC-X-hmuR9AUJVn15WWZq864DaoC7BUc,8004
|
129
129
|
beswarm/tools/search_web.py,sha256=B24amOnGHnmdV_6S8bw8O2PdhZRRIDtJjg-wXcfP7dQ,11859
|
130
130
|
beswarm/tools/think.py,sha256=WLw-7jNIsnS6n8MMSYUin_f-BGLENFmnKM2LISEp0co,1760
|
131
|
-
beswarm/tools/worker.py,sha256=
|
132
|
-
beswarm-0.1.
|
133
|
-
beswarm-0.1.
|
134
|
-
beswarm-0.1.
|
135
|
-
beswarm-0.1.
|
131
|
+
beswarm/tools/worker.py,sha256=o24fkVGVXQ3eVLZFpYozMv5fas-Wc269dLCFKqOeaSI,16275
|
132
|
+
beswarm-0.1.91.dist-info/METADATA,sha256=JjbdA88aNFt2ipP1J3JEeVFpQ4lMDoL5zyv4CpLnIUs,3553
|
133
|
+
beswarm-0.1.91.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
|
134
|
+
beswarm-0.1.91.dist-info/top_level.txt,sha256=pJw4O87wvt5882smuSO6DfByJz7FJ8SxxT8h9fHCmpo,8
|
135
|
+
beswarm-0.1.91.dist-info/RECORD,,
|
File without changes
|
File without changes
|