AILanguageCompanion / agent_chat_history.py
koura718's picture
Copy to github 1st
aa04092
from datetime import datetime
import os
import pytz
from config import Config
def save_agent_chat_history(history):
"""Save agent chat history to a markdown file in the export directory."""
try:
# Create export directory if it doesn't exist
os.makedirs("export", exist_ok=True)
# Get current time in the configured timezone
tz = pytz.timezone(Config.DEFAULT_TIMEZONE)
current_time = datetime.now(tz)
filename = f"export/agent_chat_{current_time.strftime('%Y%m%d_%H%M%S')}.md"
with open(filename, "w", encoding="utf-8") as f:
f.write("# エージェントチャット履歴\n\n")
f.write(f"生成日時: {current_time.strftime('%Y-%m-%d %H:%M:%S %Z')}\n\n")
for entry in history:
if "User:" in entry:
f.write(f"## ユーザー\n{entry.replace('User:', '').strip()}\n\n")
elif "Editor:" in entry:
f.write(f"## エージェント\n{entry.replace('Editor:', '').strip()}\n\n")
return filename
except Exception as e:
raise Exception(f"エージェントチャット履歴の保存に失敗しました: {str(e)}")
if __name__ == "__main__":
# テスト用のチャット履歴
history = """
User: save_agent_chat_history の使い方を教えてください。
Editor: はい、save_agent_chat_historyの使い方を説明します。このツールは会話履歴を保存するために使用します。
User: 保存先はどこですか?
Editor: exportディレクトリに保存されます。ディレクトリが存在しない場合は自動的に作成されます。
"""
try:
saved_file = save_agent_chat_history(history.split('\n'))
print(f"チャット履歴を保存しました: {saved_file}")
except Exception as e:
print(f"エラー: {str(e)}")