fix: AI daily review sqlite3.Row crash and error feedback across four exchanges

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
dekun
2026-06-05 13:39:50 +08:00
parent 995ee8d2e1
commit 86a6081090
7 changed files with 97 additions and 37 deletions
+22
View File
@@ -1,6 +1,7 @@
"""AI 复盘 journal 文本格式化(四所共用)。"""
from __future__ import annotations
import sqlite3
import sys
import unittest
from pathlib import Path
@@ -36,6 +37,27 @@ class TestAiReviewLib(unittest.TestCase):
self.assertIn("备注:测试备注", text)
self.assertNotIn("开仓类型", text)
def test_journal_row_accepts_sqlite_row(self):
conn = sqlite3.connect(":memory:")
conn.row_factory = sqlite3.Row
conn.execute(
"""CREATE TABLE journal_entries (
coin TEXT, tf TEXT, pnl TEXT, real_rr TEXT, expect_rr TEXT,
entry_reason TEXT, exit_reason TEXT, hold_duration TEXT,
mood_issues TEXT, mood_score INTEGER, note TEXT
)"""
)
conn.execute(
"""INSERT INTO journal_entries VALUES (?,?,?,?,?,?,?,?,?,?,?)""",
("BTC", "15m", "5", "1.2", "2.0", "突破", "止盈", "2小时", "", None, ""),
)
row = conn.execute("SELECT * FROM journal_entries").fetchone()
conn.close()
text = journal_row_lines_for_ai(1, row)
self.assertIn("BTC 15m", text)
self.assertIn("实际RR:1.2", text)
self.assertIn("开仓逻辑:突破", text)
if __name__ == "__main__":
unittest.main()