diff --git a/.env.example b/.env.example index ac17bada..35319693 100644 --- a/.env.example +++ b/.env.example @@ -3,4 +3,5 @@ COOKIES_STR=your_cookies_here MODEL_BASE_URL=https://dashscope.aliyuncs.com/compatible-mode/v1 MODEL_NAME=qwen-max TOGGLE_KEYWORDS=。 -SIMULATE_HUMAN_TYPING=False \ No newline at end of file +SIMULATE_HUMAN_TYPING=False +FILTER_THINKING=True \ No newline at end of file diff --git a/README.md b/README.md index 033b0332..93b5d27b 100644 --- a/README.md +++ b/README.md @@ -72,6 +72,7 @@ MODEL_NAME=模型名称 #可选配置 TOGGLE_KEYWORDS=接管模式切换关键词,默认为句号(输入句号切换为人工接管,再次输入则切换AI接管) SIMULATE_HUMAN_TYPING=True/False #模拟人工回复延迟 +FILTER_THINKING=True/False #是否过滤AI模型思考过程(开启后自动清理...等推理内容,仅输出最终回复,默认开启) 注意:默认使用的模型是通义千问,如需使用其他API,请自行修改.env文件中的模型地址和模型名称; COOKIES_STR自行在闲鱼网页端获取cookies(网页端F12打开控制台,选择Network,点击Fetch/XHR,点击一个请求,查看cookies) diff --git a/XianyuAgent.py b/XianyuAgent.py index bdd40f4b..084b062f 100644 --- a/XianyuAgent.py +++ b/XianyuAgent.py @@ -16,6 +16,7 @@ def __init__(self): self._init_agents() self.router = IntentRouter(self.agents['classify']) self.last_intent = None # 记录最后一次意图 + self.filter_thinking = os.getenv("FILTER_THINKING", "True").lower() in ("true", "1", "yes") def _init_agents(self): @@ -61,8 +62,15 @@ def load_prompt_content(name: str) -> str: logger.error(f"加载提示词时出错: {e}") raise + def _filter_thinking(self, text: str) -> str: + """过滤AI模型的思考过程(...标签)""" + text = re.sub(r'.*?', '', text, flags=re.DOTALL) + return re.sub(r'\n{3,}', '\n\n', text).strip() + def _safe_filter(self, text: str) -> str: """安全过滤模块""" + if self.filter_thinking: + text = self._filter_thinking(text) blocked_phrases = ["微信", "QQ", "支付宝", "银行卡", "线下"] return "[安全提醒]请通过平台沟通" if any(p in text for p in blocked_phrases) else text