From 7518f4fd172fc52ed7159de308e52133ef9f75a8 Mon Sep 17 00:00:00 2001 From: qinglong Date: Sat, 13 Jun 2026 11:15:09 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20textual.suggestion=20=E5=85=BC=E5=AE=B9?= =?UTF-8?q?=E8=80=81=E7=89=88=20Textual=20+=20=E5=8D=87=E7=BA=A7=E6=9C=80?= =?UTF-8?q?=E4=BD=8E=E7=89=88=E6=9C=AC=E7=BA=A6=E6=9D=9F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - textual.suggestion 在 Textual < 2.0 中不存在 - 添加 try/except fallback 构造兼容 Suggestion 类 - requirements.txt: textual>=0.40.0 → >=0.47.0 Co-Authored-By: Claude --- requirements.txt | 2 +- services/tui_service.py | 10 +++++++++- 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/requirements.txt b/requirements.txt index 3ce7922..f2da1f7 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,5 +1,5 @@ rich>=13.0.0 -textual>=0.40.0 +textual>=0.47.0 websockets>=12.0 aiohttp>=3.9.0 pyyaml>=6.0 diff --git a/services/tui_service.py b/services/tui_service.py index 3035b74..856d87d 100644 --- a/services/tui_service.py +++ b/services/tui_service.py @@ -10,7 +10,15 @@ from textual.containers import Container, ScrollableContainer, Horizontal from textual.widgets import Static, Input, Header, Footer, LoadingIndicator from textual.reactive import reactive from textual.suggester import Suggester -from textual.suggestion import Suggestion + +try: + from textual.suggestion import Suggestion +except ImportError: + # Textual < 2.0 兼容 — 自行构造 Suggestion + class Suggestion: + __slots__ = ("value",) + def __init__(self, value: str = ""): + self.value = value from typing import List, Dict import asyncio from datetime import datetime