diff --git a/src/ghoshell_moss/message/utils.py b/src/ghoshell_moss/message/utils.py index 7db086f..534184e 100644 --- a/src/ghoshell_moss/message/utils.py +++ b/src/ghoshell_moss/message/utils.py @@ -10,6 +10,6 @@ def new_text_message(content: str, *, role: str | Role = "") -> Message: """ 创建一个系统消息. """ - meta = MessageMeta(role=str(role)) + meta = MessageMeta(role=role.value if isinstance(role, Role) else str(role)) obj = Text(text=content) - return Message(meta=meta).as_completed([obj.to_content()]) + return Message(meta=meta, seq="head").as_completed([obj.to_content()]) diff --git a/tests/channels/test_py_channel.py b/tests/channels/test_py_channel.py index 3ec05b1..87acd54 100644 --- a/tests/channels/test_py_channel.py +++ b/tests/channels/test_py_channel.py @@ -4,6 +4,7 @@ from ghoshell_moss.core.concepts.command import CommandTask, PyCommand from ghoshell_moss.core.py_channel import PyChannel from ghoshell_moss.message import Message, new_text_message +from ghoshell_moss.message.contents import Text chan = PyChannel(name="test") @@ -219,3 +220,5 @@ def foo() -> list[Message]: # 更新后, messages 也变更了. await broker.refresh_meta() assert len(broker.meta().context) == 2 + assert broker.meta().context[0].contents[0] == Text(text="hello").to_content() + assert broker.meta().context[1].contents[0] == Text(text="world").to_content()