guo zebin and Claude Opus 4.6
2cc7b720eb
fix: 修复记忆线程持锁阻塞导致的对话死锁
...
记录对话/观察记忆的后台线程在 agent_lock 内调用了 LLM 评分与
embedding 网络请求;一旦上游 OpenAI 客户端因 chunked/keep-alive
不发字节而永久挂起(无 timeout 配置),agent_lock 永远不会释放,
后续 question() 在 create_agent() 处获取同一把锁时即被锁死,整个
对话流程会卡死(曾观察到 release 机器 5 小时无响应)。
修复:
- memory_stream.append_prepared_node:新增纯内存写入入口,由调用方
传入预先算好的 importance 与 embedding。
- remember_conversation_thread / remember_observation_thread:将
generate_importance_score 与 get_text_embedding 移出 agent_lock,
失败时回退默认值/空向量,仅在写 seq_nodes 时短暂持锁。
- simulation_engine.gpt_structure:openai.OpenAI() 显式配置
httpx Timeout(60s, connect=10s) 与 max_retries=1,避免无限挂起。
- nlp_cognitive_stream.ChatOpenAI:补充 timeout=60、max_retries=1。
- save_agent_memory:节流判断与标记文件检查移出锁,先短暂持锁拿
用户名快照,再逐用户独立持锁保存,避免长时间锁住整个 agents。
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-04-12 10:13:01 +08:00
guo zebin
4e297b10fb
更新知识库
2026-04-11 01:03:55 +08:00
guo zebin and Claude Opus 4.6
0805de14f1
docs: think 标签课程包升级到 v1.1.0
...
同步 commit 3638c7b 的修复:S04 重写为「数字人 10002:text 与 audio 的对称剥离」,
讲清楚旧 bug(__send_digital_human_message 早于 think 状态机被调用且只剥 prestart)
与新增 __remove_think_tags 的修复方案;S06 总结的清洗矩阵补上 10002 双通道剥离行。
顺带调整幻灯片版面,避免底部内容被遮挡。
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-04-10 19:08:02 +08:00
guo zebin and Claude Opus 4.6
3638c7b4b6
fix: 数字人 text 通道剥离 think 标签内容
...
__send_digital_human_message 在 say() 中先于 think 状态机被调用,导致 <think>...</think>
原样泄露到 10002 端口的 text 通道;audio 通道虽被状态机拦截但 text 不对称。
新增 __remove_think_tags 处理完整/未闭合/孤立闭合三种流式分片场景,使 prestart
与 think 在数字人接口上保持对称剥离。
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-04-10 17:47:35 +08:00
guo zebin
4e4682c190
补传
2026-04-10 17:34:39 +08:00
guo zebin and Claude Opus 4.6
d767f58e2c
chore: 更新 Logo 版本号至 v4.4.2
...
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-04-10 17:32:01 +08:00
guo zebin and Claude Opus 4.6
a8b49a4b15
feat: 接入课程知识库 MCP server
...
- 新增 mcp_servers/fay_player_knowledge:基于课程包目录的检索 MCP server,search/get_section 输出含图片 markdown
- 新增 fay_player_knowledge 课程包目录(Fay介绍/多用户分发/think标签/prestart标签/OfficeEcho)
- faymcp/data/mcp_servers.json:注册 stdio 方式启动的「课程知识库」server
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-04-10 17:20:20 +08:00
guo zebin and Claude Opus 4.6
f657f436ac
feat: 聊天图片在GUI显示并推送到数字人接口
...
- fay_core: 提取消息中的 markdown 图片 URL,通过 Images 字段推送到 10002 数字人text/audio通道,并从语音朗读文本中剥离图片语法
- gui: 调整 markdown-body img 缩略样式;修正 convertImagePaths 正则,避免误匹配 HTTP URL 的路径部分
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-04-10 17:15:30 +08:00
guo zebin and Claude Opus 4.6
abed043184
feat: 添加多选消息分享图功能及优化Markdown实时渲染
...
- 新增多选消息生成分享图功能,支持markdown渲染效果,带Fay开源地址水印
- 使用html2canvas替代SVG foreignObject方案,兼容QWebEngineView
- 优化流式消息的markdown实时渲染,流式结束后从DB重取完整内容
- 添加cache_bust防止QWebEngineView缓存旧JS/CSS文件
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-04-09 21:43:24 +08:00
guo zebin
ca54e3c4f9
修复广播MCP的SSE响应异常
2026-04-03 14:45:46 +08:00
guo zebin
6ec3339abd
Fix llm passthrough tool-call proxying
2026-04-03 08:17:11 +08:00
guo zebin and Claude Opus 4.6
28b1862d06
fix: WAV文件唇型数据生成失败,标准化采样率为44100Hz
...
阿里云TTS改为WAV格式后,生成的音频采样率为16kHz,
ProcessWAV.exe要求44100Hz导致viseme输出为空、嘴巴不动。
新增normalize_wav()方法对WAV文件做采样率标准化。
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-04-02 14:42:10 +08:00
guo zebin
9c09b5fff4
解决release 上mcp服务不可用问题。
2026-04-01 23:49:30 +08:00
guo zebin
07e5a7455f
Update gzh.png
2026-04-01 23:47:10 +08:00
guo zebin and Claude Opus 4.6
0ce07eddd7
更新Logo版本号到v4.4.1
...
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-04-01 23:17:43 +08:00
guo zebin and Claude Opus 4.6
b671dfa6e4
TTS合成前去除文本中的换行符
...
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-04-01 23:16:46 +08:00
guo zebin and Claude Opus 4.6
341881affa
为SSE MCP服务响应声明charset=utf-8编码
...
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-04-01 23:08:50 +08:00
guo zebin and Claude Opus 4.6
0c9a30063f
修复流式分句在小数点处错误切断的问题(如0.85%被切成两段)
...
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-30 10:45:58 +08:00
guo zebin and Claude Opus 4.6
75f094218b
1.ali tts请求格式由mp3改为wav;2.修复Content-Type匹配过严导致语音合成失败的问题
...
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-27 14:39:28 +08:00
guo zebin and Claude Opus 4.6
9a2db40d18
1.精简默认MCP服务器配置:移除broswermcp、Todo Server、KinEcho、easydeal-trading;2.yueshen rag启动命令改为通用python
...
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-27 10:59:03 +08:00
guo zebin
7869121dfe
1.解决mcp工具在release上不可用的问题。
2026-03-26 16:25:21 +08:00
guo zebin
c79ea62f0e
1.更新说明。
2026-03-25 22:19:01 +08:00
guo zebin
1d7563209a
1.数字人接口增加数字人指定动作、表情等输出;
...
2.更换群二维码。
2026-03-25 22:18:00 +08:00
guo zebin and Claude Opus 4.6
4e85827068
统一GUI实时显示时间与数据库存储时间
...
问题:GUI实时显示时间由客户端生成,数据库存储时间由服务端独立生成,
页面刷新后时间不一致。
修复:
1. createtime 存储精度从秒级改为毫秒级
2. add_content 返回 (content_id, now_ms) 元组
3. update_content 更新内容时同步更新 createtime,返回毫秒时间戳
4. panelReply 统一使用数据库写入时的时间戳格式化后发送给前端
5. 前端优先使用服务端 timetext,保证实时与刷新后完全一致
6. flask_server 加载历史消息时兼容旧秒级和新毫秒级时间戳
7. 新增 util.ms_to_timetext() 工具函数
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-25 21:20:36 +08:00
guo zebin and Claude Opus 4.6
eeabe421a2
在对话prompt中补充用户画像,统一"用户补充信息"标题
...
1. system_prompt 中新增用户画像内容(通过 get_user_portrait 获取),
规划器和最终回复两个 prompt 均自动包含
2. "补充信息"标题统一改为"用户补充信息"(prompt 和 GUI)
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-25 17:37:05 +08:00
guo zebin and Claude Opus 4.6
12e90a3409
解决Flask请求阻塞问题:改用werkzeug多线程服务器
...
将 gevent pywsgi.WSGIServer 替换为 werkzeug make_server(threaded=True),
每个请求独立线程处理,避免LLM流式生成等耗时请求阻塞其他请求。
同时屏蔽 werkzeug 的请求日志输出。
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-25 16:20:25 +08:00
guo zebin and Claude Opus 4.6
36ee265c92
移除仿生记忆模块(bionicmemory)及相关引用
...
删除内容:
- llm/nlp_bionicmemory_stream.py
- bionicmemory/ 整个目录
清理引用:
- core/fay_core.py: 移除 bionic memory 分支,统一使用 cognitive stream
- gui/flask_server.py: 移除仿生记忆清除逻辑和人格克隆限制检查
- genagents/genagents_flask.py: 移除仿生记忆清除逻辑
- main.py: 清空 __check_and_clear_chroma_db 中的仿生记忆检查
- fay_booter.py: 移除 use_bionic_memory 条件判断,直接执行认知记忆逻辑
- utils/api_embedding_service.py: 将 bionicmemory 日志导入替换为标准 logging
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-25 15:35:37 +08:00
guo zebin and Claude Opus 4.6
5b4c2ee84c
修复对话消息结构不符合模型模板要求导致的报错
...
问题:历史消息加载后可能出现连续同角色消息或以 AIMessage 开头的情况,
导致 Qwen 等模型的 Jinja 模板报错 "No user query found in messages"。
修复内容:
1. 在 _build_dialogue_messages 中合并连续同角色消息,确保 user/assistant 交替
2. 确保对话消息列表第一条为 HumanMessage
3. 确保消息列表至少包含一条 HumanMessage 作为兜底
4. 扩大 run_direct_llm 异常捕获范围,避免非 requests 异常被静默吞掉
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-25 14:36:44 +08:00
guo zebin
7b5f02e308
1.优化prompt:区分简单问候、把compact形式改成native history形式;
...
2.内部mcp 服务检查不再使用网络请求,以优化速度。
2026-03-23 16:32:30 +08:00
guo zebin
57d2b374f3
将system.conf改为优先从环境变量加载
2026-03-16 13:23:53 +08:00
guo zebin
6eaec96532
Merge branch 'main' of https://github.com/xszyou/Fay
2026-03-11 22:18:50 +08:00
guo zebin
2ee729b120
1. 打出fay release 安装装包;
...
2. 优化tts前的换行符处理;
3. 修正prompt模版引入逻辑。
2026-03-11 22:17:53 +08:00
莣仔
2ea8358667
更新交流群
2026-03-04 20:46:11 +08:00
guo zebin
38db690ae8
v4.3.1
...
1.增加音频缓存功能,降低tts费率;
2.优化透传接口流式断句逻辑,域名、版本号等不断句;
3.优化数字人接口流式文本输出顺序;
4.llm透传功能接入langsmith,配置环境变量后可通过langsmith平台调优prompt;
5.优化配置中心加载逻辑,人设配置依然保留。
2026-03-04 17:36:42 +08:00
guo zebin
3b4552d50e
核心模块
...
1.在没有配置langsmith环境变量时不导入相关包。
2026-01-30 12:28:44 +08:00
guo zebin
e7342430dc
更新版本号
2026-01-29 16:00:20 +08:00
guo zebin
eecbb931a9
交互模块
...
1. [增加]embedding维度检查自动修正逻辑。
2026-01-29 15:09:37 +08:00
guo zebin
96e467bbd6
知识库模块
...
1. 优化yueshen知识库初始化逻辑;
2. 更新yueshen知识库默认使用fay透传的embedding模型;
3.补充知识库目录“新知识库”。
2026-01-27 16:12:53 +08:00
guo zebin
e692fb9f6d
接口模块
...
【增加】embedding透传接口。
2026-01-27 15:45:01 +08:00
guo zebin
3bcc11610b
把embedding api移入公式库
2026-01-26 16:01:41 +08:00
guo zebin
6ba7a894fb
配置模块
...
1、修复配置加载逻辑。
2026-01-26 15:26:36 +08:00
guo zebin
83e98b3295
gui模块
...
更新版本号。
2026-01-22 17:09:18 +08:00
guo zebin
f55c50d22f
技能模块
...
1.补充远程音频按住键盘0建录音给fay传送的技能代码。
2026-01-22 16:59:05 +08:00
guo zebin
b9257524c5
记忆模块
...
1.暂时屏蔽仿生记忆开关;
2.补充记忆模块的开发文档,以方便ai ide阅读。
2026-01-22 16:55:34 +08:00
guo zebin
2ee6a387fa
记忆模块升级
...
1、把记忆节点明确区分成对话记忆、观察记忆和反思记忆;
2、修复</think>标签错误输出的问题。
2026-01-22 15:36:05 +08:00
xszyou
1155a693c2
清除多余记忆
2026-01-15 22:49:35 +08:00
guo zebin
e42425be80
Update README.md
2026-01-15 22:44:43 +08:00
guo zebin
9488e9a5c3
Update README.md
2026-01-15 22:43:53 +08:00
guo zebin
8a26899b53
自然进化
...
1. fay启动命令增加参数config_center;
2. 修复多个think标签处理逻辑问题;
3. 修复llm透传模式编码问题;
2026-01-15 15:02:54 +08:00
guo zebin
eeb670d7f0
1.fay 对外mcp接口支持多连。
2026-01-13 17:04:30 +08:00