diff --git a/gallery/undercover.json b/gallery/undercover.json new file mode 100644 index 000000000..cf749b37b --- /dev/null +++ b/gallery/undercover.json @@ -0,0 +1,471 @@ +{ + "meta": { + "index": 4, + "title": "Undercover", + "author": "AgentScopeTeam", + "keywords": [ + "undercover", + "game" + ], + "category": "game", + "time": "2024-09-23", + "thumbnail": "" + }, + "drawflow": { + "Home": { + "data": { + "2": { + "id": 2, + "name": "dashscope_chat", + "data": { + "args": { + "config_name": "qwen", + "model_name": "qwen-max", + "api_key": "****", + "temperature": 0, + "seed": 0, + "model_type": "dashscope_chat" + } + }, + "class": "dashscope_chat", + "typenode": false, + "inputs": {}, + "outputs": {}, + "pos_x": -75, + "pos_y": -31 + }, + "3": { + "id": 3, + "name": "MsgHub", + "data": { + "elements": [ + "4" + ], + "args": { + "announcement": { + "name": "主持人", + "content": "游戏开始!" + } + } + }, + "class": "GROUP", + "typenode": false, + "inputs": { + "input_1": { + "connections": [] + } + }, + "outputs": { + "output_1": { + "connections": [] + } + }, + "pos_x": 281, + "pos_y": -34.111111111111114 + }, + "4": { + "id": 4, + "name": "ForLoopPipeline", + "data": { + "elements": [ + "5" + ], + "args": { + "max_loop": 5, + "condition_op": "contains", + "target_value": "结束" + } + }, + "class": "GROUP", + "typenode": false, + "inputs": { + "input_1": { + "connections": [] + } + }, + "outputs": { + "output_1": { + "connections": [] + } + }, + "pos_x": 319, + "pos_y": 27 + }, + "5": { + "id": 5, + "name": "SequentialPipeline", + "data": { + "elements": [ + "6", + "7", + "8", + "9", + "10", + "11", + "12", + "13", + "14", + "15", + "16", + "17", + "18", + "19" + ] + }, + "class": "GROUP", + "typenode": false, + "inputs": { + "input_1": { + "connections": [] + } + }, + "outputs": { + "output_1": { + "connections": [] + } + }, + "pos_x": 357, + "pos_y": 76 + }, + "6": { + "id": 6, + "name": "BroadcastAgent", + "data": { + "args": { + "name": "主持人", + "content": "现在是描述阶段,你需要用一句话来描述你的词。" + } + }, + "class": "BroadcastAgent", + "typenode": false, + "inputs": { + "input_1": { + "connections": [] + } + }, + "outputs": { + "output_1": { + "connections": [] + } + }, + "pos_x": 387, + "pos_y": 107 + }, + "7": { + "id": 7, + "name": "DialogAgent", + "data": { + "args": { + "name": "玩家1", + "sys_prompt": "《谁是卧底》游戏规则:\n\n概览:\n《谁是卧底》是一款基于推理的猜谜游戏,适合5名玩家:玩家1、玩家2、玩家3、玩家4和玩家5。\n\n目标:\n通过战略性的描述和投票揭露参与者中的卧底玩家,同时卧底的目标是保持不被发现。\n\n游戏设置:\n- 在游戏开始时,每位玩家秘密被分配一个词。四名玩家收到相同的词,而剩余的一名玩家得到一个不同的词,成为卧底。\n- 卧底的词应对其他玩家保密。\n\n游戏玩法:\n游戏由多个轮次组成,每个轮次分为两个阶段:描述阶段和投票阶段。\n\n1. 描述阶段:\n - 玩家轮流用一句话描述他们的词,目标是微妙地向其他玩家指示自己的词,而不将其泄露给卧底。\n2. 投票阶段:\n - 玩家投票选出他们怀疑是卧底的人。得票最多的玩家被淘汰。如果出现平票,游戏进入下一轮。\n - 被淘汰的玩家在他们的回合中只能回应“该玩家已被淘汰”。\n \n获胜条件:\n- 如果只剩下两名玩家,其中一名是卧底,卧底获胜。\n- 如果在此之前卧底被淘汰,其他玩家获胜。\n\n策略:\n- 玩家应该模糊地描述他们的词,以防卧底察觉。\n- 投票应被战略性地使用来识别并淘汰卧底。\n\n注意:\n一旦被淘汰,该玩家唯一允许的回复是“该玩家已被淘汰。”\n你的名字是玩家1。你的秘密词是“凤凰”。在游戏中使用第一人称视角进行交流,并记得在你的回复中避免使用你的名字。你的目标是微妙地描述你的词,并通过投票努力识别卧底,同时不暴露你的身份。回复中不要包含你的思考过程。只有在“计票员”说你被淘汰,你才是被淘汰。不要在回复中带有你的名字。", + "model_config_name": "qwen" + } + }, + "class": "DialogAgent", + "typenode": false, + "inputs": { + "input_1": { + "connections": [] + } + }, + "outputs": { + "output_1": { + "connections": [] + } + }, + "pos_x": 437, + "pos_y": 133 + }, + "8": { + "id": 8, + "name": "DialogAgent", + "data": { + "args": { + "name": "玩家2", + "sys_prompt": "《谁是卧底》游戏规则:\n\n概览:\n《谁是卧底》是一款基于推理的猜谜游戏,适合5名玩家:玩家1、玩家2、玩家3、玩家4和玩家5。\n\n目标:\n通过战略性的描述和投票揭露参与者中的卧底玩家,同时卧底的目标是保持不被发现。\n\n游戏设置:\n- 在游戏开始时,每位玩家秘密被分配一个词。四名玩家收到相同的词,而剩余的一名玩家得到一个不同的词,成为卧底。\n- 卧底的词应对其他玩家保密。\n\n游戏玩法:\n游戏由多个轮次组成,每个轮次分为两个阶段:描述阶段和投票阶段。\n\n1. 描述阶段:\n - 玩家轮流用一句话描述他们的词,目标是微妙地向其他玩家指示自己的词,而不将其泄露给卧底。\n2. 投票阶段:\n - 玩家投票选出他们怀疑是卧底的人。得票最多的玩家被淘汰。如果出现平票,游戏进入下一轮。\n - 被淘汰的玩家在他们的回合中只能回应“该玩家已被淘汰”。\n \n获胜条件:\n- 如果只剩下两名玩家,其中一名是卧底,卧底获胜。\n- 如果在此之前卧底被淘汰,其他玩家获胜。\n\n策略:\n- 玩家应该模糊地描述他们的词,以防卧底察觉。\n- 投票应被战略性地使用来识别并淘汰卧底。\n\n注意:\n一旦被淘汰,该玩家唯一允许的回复是“该玩家已被淘汰。”\n你的名字是玩家2。你的秘密词是“凤凰”。在游戏中使用第一人称视角进行交流,并记得在你的回复中避免使用你的名字。你的目标是微妙地描述你的词,并通过投票努力识别卧底,同时不暴露你的身份。回复中不要包含你的思考过程。只有在“计票员”说你被淘汰,你才是被淘汰。不要在回复中带有你的名字。", + "model_config_name": "qwen" + } + }, + "class": "DialogAgent", + "typenode": false, + "inputs": { + "input_1": { + "connections": [] + } + }, + "outputs": { + "output_1": { + "connections": [] + } + }, + "pos_x": 477, + "pos_y": 158 + }, + "9": { + "id": 9, + "name": "DialogAgent", + "data": { + "args": { + "name": "玩家3", + "sys_prompt": "《谁是卧底》游戏规则:\n\n概览:\n《谁是卧底》是一款基于推理的猜谜游戏,适合5名玩家:玩家1、玩家2、玩家3、玩家4和玩家5。\n\n目标:\n通过战略性的描述和投票揭露参与者中的卧底玩家,同时卧底的目标是保持不被发现。\n\n游戏设置:\n- 在游戏开始时,每位玩家秘密被分配一个词。四名玩家收到相同的词,而剩余的一名玩家得到一个不同的词,成为卧底。\n- 卧底的词应对其他玩家保密。\n\n游戏玩法:\n游戏由多个轮次组成,每个轮次分为两个阶段:描述阶段和投票阶段。\n\n1. 描述阶段:\n - 玩家轮流用一句话描述他们的词,目标是微妙地向其他玩家指示自己的词,而不将其泄露给卧底。\n2. 投票阶段:\n - 玩家投票选出他们怀疑是卧底的人。得票最多的玩家被淘汰。如果出现平票,游戏进入下一轮。\n - 被淘汰的玩家在他们的回合中只能回应“该玩家已被淘汰”。\n \n获胜条件:\n- 如果只剩下两名玩家,其中一名是卧底,卧底获胜。\n- 如果在此之前卧底被淘汰,其他玩家获胜。\n\n策略:\n- 玩家应该模糊地描述他们的词,以防卧底察觉。\n- 投票应被战略性地使用来识别并淘汰卧底。\n\n注意:\n一旦被淘汰,该玩家唯一允许的回复是“该玩家已被淘汰。”\n你的名字是玩家3。你的秘密词是“孔雀”。在游戏中使用第一人称视角进行交流,并记得在你的回复中避免使用你的名字。你的目标是微妙地描述你的词,并通过投票努力识别卧底,同时不暴露你的身份。回复中不要包含你的思考过程。只有在“计票员”说你被淘汰,你才是被淘汰。不要在回复中带有你的名字。", + "model_config_name": "qwen" + } + }, + "class": "DialogAgent", + "typenode": false, + "inputs": { + "input_1": { + "connections": [] + } + }, + "outputs": { + "output_1": { + "connections": [] + } + }, + "pos_x": 512, + "pos_y": 178.88888888888889 + }, + "10": { + "id": 10, + "name": "DialogAgent", + "data": { + "args": { + "name": "玩家4", + "sys_prompt": "《谁是卧底》游戏规则:\n\n概览:\n《谁是卧底》是一款基于推理的猜谜游戏,适合5名玩家:玩家1、玩家2、玩家3、玩家4和玩家5。\n\n目标:\n通过战略性的描述和投票揭露参与者中的卧底玩家,同时卧底的目标是保持不被发现。\n\n游戏设置:\n- 在游戏开始时,每位玩家秘密被分配一个词。四名玩家收到相同的词,而剩余的一名玩家得到一个不同的词,成为卧底。\n- 卧底的词应对其他玩家保密。\n\n游戏玩法:\n游戏由多个轮次组成,每个轮次分为两个阶段:描述阶段和投票阶段。\n\n1. 描述阶段:\n - 玩家轮流用一句话描述他们的词,目标是微妙地向其他玩家指示自己的词,而不将其泄露给卧底。\n2. 投票阶段:\n - 玩家投票选出他们怀疑是卧底的人。得票最多的玩家被淘汰。如果出现平票,游戏进入下一轮。\n - 被淘汰的玩家在他们的回合中只能回应“该玩家已被淘汰”。\n \n获胜条件:\n- 如果只剩下两名玩家,其中一名是卧底,卧底获胜。\n- 如果在此之前卧底被淘汰,其他玩家获胜。\n\n策略:\n- 玩家应该模糊地描述他们的词,以防卧底察觉。\n- 投票应被战略性地使用来识别并淘汰卧底。\n\n注意:\n一旦被淘汰,该玩家唯一允许的回复是“该玩家已被淘汰。”\n你的名字是玩家4。你的秘密词是“凤凰”。在游戏中使用第一人称视角进行交流,并记得在你的回复中避免使用你的名字。你的目标是微妙地描述你的词,并通过投票努力识别卧底,同时不暴露你的身份。回复中不要包含你的思考过程。只有在“计票员”说你被淘汰,你才是被淘汰。不要在回复中带有你的名字。", + "model_config_name": "qwen" + } + }, + "class": "DialogAgent", + "typenode": false, + "inputs": { + "input_1": { + "connections": [] + } + }, + "outputs": { + "output_1": { + "connections": [] + } + }, + "pos_x": 545, + "pos_y": 204 + }, + "11": { + "id": 11, + "name": "DialogAgent", + "data": { + "args": { + "name": "玩家5", + "sys_prompt": "《谁是卧底》游戏规则:\n\n概览:\n《谁是卧底》是一款基于推理的猜谜游戏,适合5名玩家:玩家1、玩家2、玩家3、玩家4和玩家5。\n\n目标:\n通过战略性的描述和投票揭露参与者中的卧底玩家,同时卧底的目标是保持不被发现。\n\n游戏设置:\n- 在游戏开始时,每位玩家秘密被分配一个词。四名玩家收到相同的词,而剩余的一名玩家得到一个不同的词,成为卧底。\n- 卧底的词应对其他玩家保密。\n\n游戏玩法:\n游戏由多个轮次组成,每个轮次分为两个阶段:描述阶段和投票阶段。\n\n1. 描述阶段:\n - 玩家轮流用一句话描述他们的词,目标是微妙地向其他玩家指示自己的词,而不将其泄露给卧底。\n2. 投票阶段:\n - 玩家投票选出他们怀疑是卧底的人。得票最多的玩家被淘汰。如果出现平票,游戏进入下一轮。\n - 被淘汰的玩家在他们的回合中只能回应“该玩家已被淘汰”。\n \n获胜条件:\n- 如果只剩下两名玩家,其中一名是卧底,卧底获胜。\n- 如果在此之前卧底被淘汰,其他玩家获胜。\n\n策略:\n- 玩家应该模糊地描述他们的词,以防卧底察觉。\n- 投票应被战略性地使用来识别并淘汰卧底。\n\n注意:\n一旦被淘汰,该玩家唯一允许的回复是“该玩家已被淘汰。”\n你的名字是玩家5。你的秘密词是“凤凰”。在游戏中使用第一人称视角进行交流,并记得在你的回复中避免使用你的名字。你的目标是微妙地描述你的词,并通过投票努力识别卧底,同时不暴露你的身份。回复中不要包含你的思考过程。只有在“计票员”说你被淘汰,你才是被淘汰。不要在回复中带有你的名字。", + "model_config_name": "qwen" + } + }, + "class": "DialogAgent", + "typenode": false, + "inputs": { + "input_1": { + "connections": [] + } + }, + "outputs": { + "output_1": { + "connections": [] + } + }, + "pos_x": 583, + "pos_y": 230 + }, + "12": { + "id": 12, + "name": "BroadcastAgent", + "data": { + "args": { + "name": "主持人", + "content": "现在是投票阶段,你需要为你认为最可能是卧底的玩家投票。不要投给已经被淘汰的玩家。只需回答玩家的名字。" + } + }, + "class": "BroadcastAgent", + "typenode": false, + "inputs": { + "input_1": { + "connections": [] + } + }, + "outputs": { + "output_1": { + "connections": [] + } + }, + "pos_x": 373, + "pos_y": 311.8888888888889 + }, + "13": { + "id": 13, + "name": "CopyNode", + "data": { + "elements": [ + "7" + ] + }, + "class": "node-DialogAgent", + "typenode": false, + "inputs": { + "input_1": { + "connections": [] + } + }, + "outputs": { + "output_1": { + "connections": [] + } + }, + "pos_x": 407, + "pos_y": 341 + }, + "14": { + "id": 14, + "name": "CopyNode", + "data": { + "elements": [ + "8" + ] + }, + "class": "node-DialogAgent", + "typenode": false, + "inputs": { + "input_1": { + "connections": [] + } + }, + "outputs": { + "output_1": { + "connections": [] + } + }, + "pos_x": 439, + "pos_y": 372 + }, + "15": { + "id": 15, + "name": "CopyNode", + "data": { + "elements": [ + "9" + ] + }, + "class": "node-DialogAgent", + "typenode": false, + "inputs": { + "input_1": { + "connections": [] + } + }, + "outputs": { + "output_1": { + "connections": [] + } + }, + "pos_x": 462.8888888888889, + "pos_y": 399 + }, + "16": { + "id": 16, + "name": "CopyNode", + "data": { + "elements": [ + "10" + ] + }, + "class": "node-DialogAgent", + "typenode": false, + "inputs": { + "input_1": { + "connections": [] + } + }, + "outputs": { + "output_1": { + "connections": [] + } + }, + "pos_x": 488, + "pos_y": 432 + }, + "17": { + "id": 17, + "name": "CopyNode", + "data": { + "elements": [ + "11" + ] + }, + "class": "node-DialogAgent", + "typenode": false, + "inputs": { + "input_1": { + "connections": [] + } + }, + "outputs": { + "output_1": { + "connections": [] + } + }, + "pos_x": 523.1111111111111, + "pos_y": 473 + }, + "18": { + "id": 18, + "name": "DialogAgent", + "data": { + "args": { + "name": "计票员", + "sys_prompt": "作为《谁是卧底》游戏中的计票员,你的职责是准确地统计玩家的选择投票,并确定结果。遵循以下准则:\n- 如果多名玩家获得最高票数并出现平票,例如玩家1和玩家2,你应该回应:“平票,没有玩家被淘汰。\n- 如果某一名玩家获得最高票数,例如玩家1,你应宣布结果为:“玩家1被淘汰。\n- 不要回应其他任何内容,包括你的分析和想法。", + "model_config_name": "qwen" + } + }, + "class": "DialogAgent", + "typenode": false, + "inputs": { + "input_1": { + "connections": [] + } + }, + "outputs": { + "output_1": { + "connections": [] + } + }, + "pos_x": 549, + "pos_y": 512.8888888888889 + }, + "19": { + "id": 19, + "name": "DialogAgent", + "data": { + "args": { + "name": "裁判", + "sys_prompt": "《谁是卧底》游戏规则:\n\n概览:\n《谁是卧底》是一款基于推理的猜谜游戏,适合5名玩家:玩家1、玩家2、玩家3、玩家4和玩家5。\n\n目标:\n通过战略性的描述和投票揭露参与者中的卧底玩家,同时卧底的目标是保持不被发现。\n\n游戏设置:\n- 在游戏开始时,每位玩家秘密被分配一个词。四名玩家收到相同的词,而剩余的一名玩家得到一个不同的词,成为卧底。\n- 卧底的词应对其他玩家保密。\n\n游戏玩法:\n游戏由多个轮次组成,每个轮次分为两个阶段:描述阶段和投票阶段。\n\n1. 描述阶段:\n - 玩家轮流用一句话描述他们的词,目标是微妙地向其他玩家指示自己的词,而不将其泄露给卧底。\n2. 投票阶段:\n - 玩家投票选出他们怀疑是卧底的人。得票最多的玩家被淘汰。如果出现平票,游戏进入下一轮。\n - 被淘汰的玩家在他们的回合中只能回应“该玩家已被淘汰”。\n \n获胜条件:\n- 如果只剩下两名玩家,其中一名是卧底,卧底获胜。\n- 如果在此之前卧底被淘汰,其他玩家获胜。\n\n策略:\n- 玩家应该模糊地描述他们的词,以防卧底察觉。\n- 投票应被战略性地使用来识别并淘汰卧底。\n\n注意:\n一旦被淘汰,该玩家唯一允许的回复是“该玩家已被淘汰。”\n作为《谁是卧底》游戏中的裁判角色,你的唯一责任是评估游戏是否已达到其结局:\n如果卧底玩家3被淘汰,则回复:“游戏结束,卧底输了。”\n如果玩家3存活,并且游戏中只剩下两名玩家,则回复:“游戏结束,卧底赢了。”\n在所有其他情况下,简单地声明:“游戏继续。” 请将你的回复限制在这些具体的结果上,不要添加任何个人评论、分析或其他备注。\"\"\",", + "model_config_name": "qwen" + } + }, + "class": "DialogAgent", + "typenode": false, + "inputs": { + "input_1": { + "connections": [] + } + }, + "outputs": { + "output_1": { + "connections": [] + } + }, + "pos_x": 586, + "pos_y": 546 + } + } + } + } +} \ No newline at end of file diff --git a/src/agentscope/studio/static/html-drag-components/agent-broadcastagent.html b/src/agentscope/studio/static/html-drag-components/agent-broadcastagent.html new file mode 100644 index 000000000..aedb14fb1 --- /dev/null +++ b/src/agentscope/studio/static/html-drag-components/agent-broadcastagent.html @@ -0,0 +1,32 @@ +
+
+
+ + + + + BroadcastAgent +
+ +
+
+
+ + An agent that only broadcasts its content + +
Node ID: ID_PLACEHOLDER
+
+ + + +
+ + + +
+
\ No newline at end of file diff --git a/src/agentscope/studio/static/html-drag-components/agent-copyagent.html b/src/agentscope/studio/static/html-drag-components/agent-copyagent.html new file mode 100644 index 000000000..a6868005f --- /dev/null +++ b/src/agentscope/studio/static/html-drag-components/agent-copyagent.html @@ -0,0 +1,19 @@ +
+
+
+ + + + + NAME_PLACEHOLDER +
+
+
+
+ README_PLACEHOLDER +
Copy from Node ID: + ID_PLACEHOLDER
+
+
+
\ No newline at end of file diff --git a/src/agentscope/studio/static/html-drag-components/tool-image-composition.html b/src/agentscope/studio/static/html-drag-components/tool-image-composition.html index ef59afdcc..a373f9a69 100644 --- a/src/agentscope/studio/static/html-drag-components/tool-image-composition.html +++ b/src/agentscope/studio/static/html-drag-components/tool-image-composition.html @@ -10,7 +10,7 @@
-
Image composition Configurations
+
Composite images into one image