从体验问题到模块能力建设

发布时间:2026/6/29 20:11:49

从体验问题到模块能力建设 笔者注放假期间让Codex把最近的编程工作做了个总结。感觉AI近期的表现非常出色其中有部分内容涉及的功能模块笔者都还没来及分享过后面有时间会陆续整理更新出来。这次 AI 编程工作主要围绕 trustedKnowledge 系统的前端体验、状态持久化、AI 问数能力、Skill 管理和内容复制体验展开。整体目标很明确让系统更稳定、更顺手也让 AI 能力更可控地融入业务流程。01 | 先修掉影响体验的细节问题第一个问题来自“可信知识加工厂”的待加工知识列表。“可信知识录入工作台”的已录入知识列表点击条目时体验很丝滑不会导致整个模块刷新。但“可信知识加工厂”的待加工知识列表点击任意条目都会让模块整体闪一下。排查后发现差异在于列表拉取逻辑的依赖项。工作台列表点击条目时只更新选中项并拉取详情不会重新拉取整个列表。而加工厂列表此前把factorySelectedId放进了列表 fetch 的useEffect依赖数组里所以每次点击条目都会触发重新拉取待加工知识isFactoryLoading变成true模块就出现整体刷新感。修复方式是把选中项校验改成函数式状态更新并从依赖数组中移除factorySelectedId。修复后待加工列表只会在进入页面、搜索词变化、页码变化或登录状态变化时重新加载。点击条目只切换选中状态和右侧内容。前端构建验证已通过cd frontend npm run build。02 | 状态持久化问题要分清边界另一个问题是“录入可信知识”模块经常被动刷新导致写到一半的文字消失。同时手机浏览器保存为桌面图标后有时再次进入仍需要输入密码。这两个问题不是同一个 bug但属于同一类前端状态持久化问题。登录反复要求输入密码是因为之前使用sessionStorage保存登录态。手机浏览器、桌面图标入口或新的 WebView 会话下sessionStorage表现可能不稳定。录入文字消失则是因为草稿只存在 React 内存里。页面重载、浏览器回收或重新鉴权后未提交内容就会丢失。本次采用了当前架构下低侵入的修复登录态改为localStorage持久保存除非用户主动退出或 API 返回 401。旧的sessionStorage登录态会自动迁移到localStorageAPI 请求也统一从持久登录态读取。同时“录入可信知识”的新建草稿增加本地自动保存。输入过程中自动保存刷新、重新打开或重新登录后可以恢复未提交草稿。提交成功或主动退出登录时清理草稿编辑已有知识时不覆盖新建草稿。前端构建验证已通过cd frontend npm run build。03 | AI 问数要限制在可信边界内AI 问数功能设计中一个关键原则是不让 AI 直接执行任意 SQL。更稳妥的方式是让 AI 生成结构化查询参数后端再基于白名单字段查询t_history。这样既能保留自然语言问数的灵活性也能避免任意 SQL 带来的不可控风险。围绕 AI 问数还修复了“最近一周”没有真正限定日期范围的问题。用户询问“针对 alfred 的最近一周的工作记录统计工作量”时系统回复基于全部 379 条记录日期跨度从 2025-03-31 到 2026-06-09并没有严格限定最近一周。本次修复集中在后端问数查询链路涉及backend/app/repositories/history_ask.py使日期筛选能更准确落到查询条件上。该类后端变更需要人工确认后通过 web 界面重启服务生效。04 | 让 AI 编程模块更聚焦“AI 编程”模块中已完成任务显示条目过多。当前需求是只显示最近一次任务情况如果最近一次任务已归档就不再显示。本次调整后模块展示更聚焦不再把历史完成任务全部堆到界面上。相关变更涉及frontend/src/App.tsx、CHANGELOG.md和前端构建产物。另一个体验增强来自“博客工厂”的任务内容复制按钮。此前知识加工区域已有类似能力用户可以选择复制 Markdown 美化后的效果也可以复制裸文本。本次把这个能力增强到博客工厂的任务内容区域并同步更新了CHANGELOG.md和docs/frontend-overview.md。05 | Skill 管理成为新的能力入口本次还新增了一个专门用于 Skill 管理的界面。这个模块支持新建自定义 skill、上传标准 skill zip、查看和编辑 skill 文件、启用或停用 skill以及删除 skill。后端新增/api/skills文件系统存储接口默认存储在backend/data/skills并加入.gitignore避免用户上传内容被误提交。AI 问数也接入了 skill 选择能力。用户可以选择启用的 skill提交时前端会把skill_ids传给后端后端再把 skill 描述和SKILL.md内容注入问数提示中用于影响输出结构、排版和分析框架。这项变更覆盖前后端多个文件验证已通过python -m compileall backend/appcd frontend npm run build由于新增了后端 API 和前端页面需要在 web 界面使用重启按钮让新功能生效。06 | 小结这轮 AI 编程工作的主线是把系统从“能用”继续推进到“稳定、顺手、可扩展”。列表点击不再触发不必要刷新草稿和登录态有了更可靠的本地持久化AI 问数开始走更受控的查询路径AI 编程模块减少了信息噪音博客工厂复制体验更完整Skill 管理也为后续模块化调用 AI 能力打下了基础。

相关新闻