Commit Graph

46 Commits

Author SHA1 Message Date
df156ba840 fix: 文件上传融合到graph.html(星图页面),删除冗余index.html 2026-04-29 10:14:23 +08:00
006f3c413f fix: 默认路由改为聊天页index.html(含文件上传) 2026-04-29 09:56:27 +08:00
6d49061539 fix: on_login_success 使用 call_after_refresh 确保 DOM 就绪 + 去掉静默吞异常 2026-04-29 08:52:51 +08:00
a5e71da88c fix: _DEFAULT_CONFIG 添加 enable_web/enable_tui/web_port 以支持持久化保存 2026-04-29 08:43:47 +08:00
d4267e1a8d Merge remote-tracking branch 'origin/test' 2026-04-29 08:34:34 +08:00
bb426cdb45 chore: UI 图标替换 Font Awesome + 登录安全限制 + 配置加载路径优化 2026-04-29 08:34:24 +08:00
bc999b18f1 修复TUI侧边栏和登录功能
- 修复登录逻辑判断错误,确保正确显示登录页面

- 修复登录成功后不关闭登录界面的问题

- 修复配置区域只显示标题栏的问题

- 添加TUI服务开关,对齐Web设置页面功能

- 完善后端配置处理,支持enable_web/enable_tui/web_port

- 添加登录界面和管理员区域的CSS样式

- 修复Checkbox导入问题

- 优化管理员权限显示逻辑
2026-04-29 08:33:41 +08:00
529672a93a fix: web_api.py 使用 get_global_db() 替代全局 graph_db 变量 2026-04-29 07:26:25 +08:00
00fd75a0a6 fix: memory_recall/task_query 结果中的实体名也写入 recorder,供 WebUI 拉镜头 2026-04-28 21:19:10 +08:00
eab18889ff fix: 除 delete 外所有操作都拉镜头(query/create/update 等) 2026-04-28 21:12:27 +08:00
d971afb934 fix: recall/commit/anchor 节点也在 WebUI 高亮并拉镜头 2026-04-28 21:08:35 +08:00
1a394ddd2b fix: _init_graph 更新 _db_path 修复用户隔离
问题:
- _init_graph 正确解析了用户 DB 路径,但未更新 self._db_path
- web_api.py 的 create_server() 用 backend_server._db_path 创建 graph_db
- 导致所有用户共用一个 CWD/graph_memory.db(回忆图谱页面数据混在一起)
- 同时 jianf 的 config.json 首次创建时空 apikey,未正确写回

修复:
- _init_graph 解析用户路径后,同步更新 self._db_path
- 现在各用户 graph_db 和 config.json 完全隔离
2026-04-28 20:56:01 +08:00
12ab1df7f5 feat(webui): settings 页面可编辑工具调用限制与超时时间
- settings.html: 新增「工具调用限制」表单(5个字段)
- settings.html: 新增「消息超时」输入框
- server.py: _handle_set_settings 修复空 api_config 时不清空 API key
- 前后端 format:api_config 和 tool_limits 分开提交,互不影响
2026-04-28 20:39:26 +08:00
c1dc3f647b feat: message_timeout 可配,所有用户 config.json 统一
- 新增 _DEFAULT_CONFIG 字典管理通用配置(含 message_timeout)
- _load_config/_save_config 重构:先配置后限制,各自用独立默认值
- send() 超时从硬编码 300s 改为从 config.json 读取 message_timeout
- _handle_set_settings 支持接收 message_timeout 并持久化
- 所有用户 config.json 新增 message_timeout: 1200(20分钟)
2026-04-28 20:36:57 +08:00
4901d3882f fix: _handle_set_settings 补齐 task_query_max;更新所有用户 config.json 同步限制值 2026-04-28 20:33:48 +08:00
3de418b7e8 refactor: 工具调用限制全部移入 config.json,代码零硬编码
- 删除 server.py BackendServer.__init__ 中 _tool_limits 的硬编码字典
- _load_config 从 ~/.trulymem/config.json 读取全部限制值
- 首次启动无配置文件时自动生成带默认值的 config.json
- _create_tool_limiter 直接索引 _tool_limits 字典,无硬编码兜底
- 如需修改限制值,编辑 ~/.trulymem/config.json 即可生效(下次重启)
2026-04-28 20:30:24 +08:00
039dc41c0b fix: server.py 硬编码默认值覆盖 dataclass 的问题,同步为 20/30/30/15 2026-04-28 20:27:51 +08:00
1fa548da3c feat: 新增 task_archive 工具 + 步骤6强制归档,解决工作记忆无限膨胀 2026-04-28 20:23:29 +08:00
b9e4bb164d fix: 步骤2改为 task_query 替代 memory_recall,让AI意识到有专用任务查询工具 2026-04-28 20:13:55 +08:00
d228d119f5 feat: 新增 persona_remove 工具(删除单条人设属性),改进 persona_clear 支持动态查询所有属性类型 2026-04-28 20:09:41 +08:00
0ccd02b0af feat: 新增 task_query 工具(查询最近任务列表),为工作记忆链提供可视化入口 2026-04-28 20:03:51 +08:00
bddb5498e9 fix: 调整工具调用限制 - 工作记忆链修改20次/查询30次,一般记忆查询30次/修改15次 2026-04-28 19:59:13 +08:00
598e03e2eb fix: 补充工具详解和任务生命周期规范,阻止AI无限链到当前轮对话
- 每个工具增加使用时机和详细说明
- 新增任务生命周期管理章节
- 明确要求 topic 转变后归档旧任务、创建新任务
- 禁止将所有节点都链到同一个 当前轮对话
2026-04-28 19:52:42 +08:00
84f217ef55 fix: 在强制执行顺序中增加 memory_commit 步骤,恢复原提示词风格
- 新增步骤4: memory_commit (写入关键信息) → 强制AI每轮将用户提到的重要信息写入图数据库
- 恢复原提示词表述(图数据库是唯一记忆源、无Python函数注记、无冗余工具)
- 原提示词AI只查不写的问题根源:缺少写入指令
2026-04-28 18:40:30 +08:00
f0e4c89ac0 fix: 强化系统提示词 - 明确图数据库是唯一记忆载体,补充缺失工具
- 将唯一记忆源替换为唯一记忆载体,明确说明不存在message数组
- 添加 memory_archive / memory_cleanup 到工具列表
- 补充人设/任务工具的Python函数说明
2026-04-28 18:33:05 +08:00
ad382602f2 fix: auto-clean orphan entities on purge; fix graph camera zoom; optimize system prompt 2026-04-28 16:30:18 +08:00
05fc252db0 fix: 已有用户自动迁移 admin 角色
当 role 列通过 ALTER TABLE 新增后,已有用户全部为 'user'。
新增迁移逻辑:若无 admin 用户,自动将首个注册用户升为 admin。
2026-04-28 10:38:42 +08:00
b4456a9c5b 多用户系统 + Admin 角色权限 + Web/TUI 同步 + 构建集成
本轮实现功能:
1. 多用户隔离:每个用户独立 config.json + graph.db
2. TUI 登录页 + 旧版自动迁移(core/migrate.py)
3. Admin/User 角色体系(core/embedded_db.py)
4. Web 后台管理 API(userinfo + admin CRUD)
5. Web 设置页用户管理区(仅 admin 可见)
6. TUI 侧栏配置区权限同步(非 admin 隐藏 Web 服务设置)
7. Web 服务打包为独立二进制(trulymem-web)
8. 双入口 PyInstaller 构建脚本(TUI + Web)
9. 活动记录器(core/activity_recorder.py)
10. 静态页面模板(登录/设置/首次引导)
2026-04-28 10:37:57 +08:00
0270e17a76 fix: 修复 context_rewrite 工具调用问题并优化系统提示词
1. 修复 context_rewrite 导致的 API 错误

   - 删除错误的 tool 结果消息添加逻辑

   - 添加 context_compressed 标记让 AI 识别压缩结果

   - 将 context_rewrite 记录到 tool_calls 以便 TUI 显示

2. 优化系统提示词

   - 添加强制触发条件:每5次记忆工具调用必须调用 context_rewrite

   - 强化指代词处理规则:必须通过工作记忆链解析

   - 扩展时间指代词:添加刚刚

   - 更新执行检查清单

Generated with CodeArts Agent
2026-04-16 23:27:35 +08:00
2aa6e9240f feat: 添加 context_rewrite 工具并清理工具限制器死配置
- 新增 context_rewrite 工具:允许 AI 在单轮内压缩工具调用上下文
- 清理 persona_query_max 和 task_query_max 死配置(commit 9be60ba 引入)
- 同步全栈:后端/前端/文档/测试 18 个文件
- 测试:70/70 通过
2026-04-16 14:33:21 +08:00
535fca933a fix: 修复工具调用限制器误判问题并优化记忆查询
1. 工具调用限制器修复 - 移除memory_recall关键词智能分类,统一归类为一般记忆查询

2. 工作记忆链限制调整 - 修改限制从2次/轮到5次/轮

3. 广度优先搜索实现 - 修复depth参数被忽略问题,添加深度标注

4. 提示词优化 - 新增强制执行顺序说明,明确task_link_info使用场景

Generated with CodeArts Agent
2026-04-16 08:35:54 +08:00
b7b2601180 feat: 将前端等待超时时间从30秒调整为5分钟
- 修改 core/server.py 中的响应超时时间

- 从 30 秒调整为 300 秒(5 分钟)

- 解决长对话超时中断问题
2026-04-15 23:01:06 +08:00
09a45c52e7 docs: 修正 API 文档响应结构描述 + 添加缺失测试
- 修正 PROCESS_MESSAGE 响应数据访问路径 (result['content'] -> result['data']['content'])
- 添加 CLEAR_HISTORY 文档说明 (基于 SAVE_HISTORY 空消息实现)
- 添加 test_clear_history 和 test_send_message_is_alias 测试用例
- 优化 BackendClient 历史相关方法的返回值处理
2026-04-15 12:09:48 +08:00
a282ec1a58 fix: 简化清空逻辑 - 空消息列表即清空 2026-04-15 11:10:29 +08:00
b86610d445 feat: 添加数据库迁移、清空聊天记录按钮 - 复用SAVE_HISTORY接口 2026-04-15 11:07:06 +08:00
b1db660d70 refactor: 合并配置相关Packet类型为GET_SETTINGS/SET_SETTINGS 2026-04-15 10:50:27 +08:00
a8165874ad feat: 添加聊天记录持久化功能 - 启动时从数据库加载历史,消息处理后自动保存 2026-04-15 10:49:53 +08:00
ddc84382fd fix: 修复 TUI 界面 API Key 配置和消息处理问题
1. 修复配置保存问题:config_section.py 现在正确发送 API 配置和工具限制两个消息
2. 修复代理环境变量问题:graph_client.py 自动修正缺少 scheme 前缀的代理 URL
3. 修复响应解析问题:app.py 正确从 data 字段获取 content 和 tool_calls
4. 添加操作日志更新:app.py 处理工具调用信息并更新操作日志

🤖 Generated with CodeArts Agent
2026-04-14 23:46:21 +08:00
dd685485b5 docs: 重构为双语文档结构,添加人设图机制
- 拆分为 docs/(CN) 和 docs_en/(EN) 两个文件夹
- 主 README 索引对应语言文档
- 新增 persona.md (人设图机制详细说明)
- 文件重命名为英文名
2026-04-14 13:20:24 +08:00
974b92fc45 revert: 提示词保持打包进二进制,不支持用户修改 2026-04-14 11:51:32 +08:00
c742a30e1b refactor: 统一 Packet 通信协议 + 后端配置管理 + UI 清理
- 合并 server.py 到 core/__init__.py,使用统一 Packet 协议
- 后端管理配置持久化 (~/.trulymem/config.json)
- 前端移除 ConfigService,通过 BackendClient 与后端通信
- 删除 UI 中冗余的 AI 推理逻辑 (chat_service, tool_service, message_handler)
- 删除 core/tools 重复文件 (tool_executor, tool_limiter)
- 提示词管理器支持用户自定义 (~/.trulyemem/system_prompt.md)
- 启动入口优化配置路径逻辑
- 更新测试覆盖 (42 tests)
- 更新文档
2026-04-14 11:49:39 +08:00
a846671c34 docs: 更新文档并修正打包脚本
- 新增 docs/api.md 后端API文档

- 修正文档中启动流程示例

- 移除不存在的F4快捷键

- 前端直接工具调用不受次数限制

- 打包脚本添加 config_service hidden-import

- Linux脚本添加python3检查
2026-04-13 08:36:41 +08:00
82903a3fa7 fix: multiple UI and API issues
- Fix tool calls format for DeepSeek API (add type field)

- Fix config event handler name

- Fix message history display (preserve all messages)

- Fix right panel width and scrolling

- Add async config update to prevent UI freeze

- Add prompt caching with singleton pattern

- Update build scripts with complete hidden imports
2026-04-12 23:41:19 +08:00
5c76b19624 refactor: packet-based IPC with core/ui separation
- All logic in core layer (BackendServer runs independently)
- Packet protocol: {id, type, body} for all communications
- UI simplified: just input→backend→display
- Config, history, tools all handled by core
- BackendServer can run standalone without UI
2026-04-12 20:47:07 +08:00
a820afada9 feat: add config/history management to core layer
- Add GET_CONFIG, SET_CONFIG, GET_HISTORY, SAVE_HISTORY to BackendServer
- Update BackendClient with get_config, get_message_history, save_message_history
- All API key and message history now stored in core layer
2026-04-12 18:22:07 +08:00
83906a6985 refactor: restructure to core/ + ui/ with multi-threaded backend 2026-04-12 18:15:55 +08:00