diff --git a/pkg/database/manager.py b/pkg/database/manager.py index 8b04218c..ecd38002 100644 --- a/pkg/database/manager.py +++ b/pkg/database/manager.py @@ -198,7 +198,7 @@ class DatabaseManager: } # 列出与某个对象的所有对话session - def list_history(self, session_name: str, capacity: int, page: int): + def list_history(self, session_name: str, capacity: int, page: int, replace: str = ""): self.execute(""" select `name`, `type`, `number`, `create_timestamp`, `last_interact_timestamp`, `prompt`, `status` from `sessions` where `name` = '{}' order by `last_interact_timestamp` desc limit {} offset {} @@ -219,7 +219,7 @@ class DatabaseManager: 'subject_number': subject_number, 'create_timestamp': create_timestamp, 'last_interact_timestamp': last_interact_timestamp, - 'prompt': prompt + 'prompt': prompt if replace == "" else prompt.replace(replace, "") }) return sessions diff --git a/pkg/openai/session.py b/pkg/openai/session.py index 3aff1895..b7d60aca 100644 --- a/pkg/openai/session.py +++ b/pkg/openai/session.py @@ -262,4 +262,6 @@ class Session: return self def list_history(self, capacity: int = 10, page: int = 0): - return pkg.database.manager.get_inst().list_history(self.name, capacity, page) + return pkg.database.manager.get_inst().list_history(self.name, capacity, page, + (self.user_name + ":" + get_default_prompt() + "\n" + + self.bot_name + ":") if get_default_prompt() != "" else "")