NeuCharFramework (NCF)
  • NCF - NeuCharFramework
  • 项目

    • 准备
    • NcfPackageSources 源码指南
    • 动态WebApiEngine
    • 部署
    • MCP(Model Context Protocol)模块
    • Senparc.AI
  • AIKernel 本地微调
  • 帮助

    • 在线资源
    • 问答社区
    • QQ群(147054579)
    • Senparc微信SDK
  • Gitee
  • GitHub
  • English
  • 简体中文
GitHub
  • NCF - NeuCharFramework
  • 项目

    • 准备
    • NcfPackageSources 源码指南
    • 动态WebApiEngine
    • 部署
    • MCP(Model Context Protocol)模块
    • Senparc.AI
  • AIKernel 本地微调
  • 帮助

    • 在线资源
    • 问答社区
    • QQ群(147054579)
    • Senparc微信SDK
  • Gitee
  • GitHub
  • English
  • 简体中文
GitHub
  • 源码开发入口

    • NcfPackageSources 新手快速上手(60 分钟)
    • NcfPackageSources 源码指南
    • 项目关系、同步与发布
    • 版本升级说明
    • NcfPackageSources_Include_NcfSimulatedSite.sln 项目地图
  • XNCF 源码剖析

    • NCF 核心能力源码详解(面向实战)
    • XNCF 扩展库说明(Senparc.Xncf.Xxxx)
    • XNCF 模块文档地图
    • 后台页面与上下文帮助
    • AdminChat Memory 与对话设置
    • Senparc.Web 与 Admin
    • AIKernel 本地微调
    • XncfBuilder 隔离开发:源码剖析
    • NeuChar Workflow:操作说明与 {{= ... }} 表达式
    • Senparc.Xncf.Sandbox 环境准备指南
  • NCF 基础库源码剖析

    • Senparc.Ncf.Core
    • Senparc.Ncf.Database(数据库基础)
    • Senparc.Ncf.Repository
    • Senparc.Ncf.Service
    • Senparc.Ncf.SMS
    • Senparc.Ncf.Mvc.UI
    • Senparc.Ncf.Log
    • Senparc.Ncf.Utility
    • Senparc.Ncf.XncfBase
    • Senparc.Ncf.AreaBase
    • Senparc.Ncf.DatabasePlant
  • 核心接口源码剖析

    • IXncfRegister 接口(当前版本)

AdminChat Memory 与对话设置

Memory 用于保存当前用户的长期工作偏好、项目约定、决定和参考信息, 与聊天历史、知识库检索、Workspace 文件和 SystemMessage 都不是同一概念。 它不授予工具权限,也不能替代当前用户指令或系统安全规则。

通过 AdminChat 侧栏的 Memory 按钮,或新建会话/当前对话中的 Memory → Memory / 对话设置 进入管理弹窗。旁边的问号打开本页或相关章节; 中文界面使用中文文档,其他界面语言使用英文文档。 另见 Chat 基本操作与 Workspace 权限。

第一次使用

  1. 在新建会话入口选择 Memory 模式;已有会话可在输入区的 Memory 下拉框中切换。
  2. 打开 Memory 设置,在“记忆条目”中手工添加一条非敏感工作偏好,例如“优先使用简洁的列表回答”。
  3. 选择“我的全局”或当前 Workspace 作用域,保存条目。没有绑定 Workspace 的会话不能编辑其记忆。
  4. 使用“只读”或“学习”模式发送相关问题,在“本轮加载”检查提供给模型的条目。
  5. 如需自动学习,选择“学习”,明确表达“以后请记住……”,再检查系统更新回执和条目列表。

助手说“已记住”不代表已经保存。 自动提取可能在助手回复之后完成, 只有系统确认数据库写入成功的更新回执才代表该次更新已保存。

关闭、只读与学习

模式本轮使用长期记忆自动学习
关闭(默认)不注入 Memory 条目不执行
只读加载相关条目不执行
学习加载相关条目满足触发条件后尝试提取、校验和保存

模式按会话保存;新建会话的下拉框配置即将创建的会话,不修改所有历史会话。 关闭 Memory 不会删除已有条目,也不会关闭独立配置的 SystemMessage。 “只读”限制的是自动学习,不禁止用户在管理弹窗中手工编辑。

学习模式需要可用的 PromptRange Memory 提示词提供程序和 Chat 模型; 只读模式不需要初始化学习提示词或调用提取模型。 学习会额外调用模型,可能产生费用,并不保证每次对话都会提取出条目。 当前实现仅在本轮用户原话出现“记住、以后、偏好、纠正、忘记”等中英文触发词时尝试, 过长输入或明确要求不要保存的表达不会进入学习;隐含偏好可能被漏过,可改为手工添加。

用户全局、Workspace 与存储边界

  • 隔离边界是租户 + 当前用户。“我的全局”不是所有管理员共享的记忆。
  • Workspace 作用域来自当前已授权会话,只展示自己的全局记忆和当前 Workspace 的记忆。 没有选定会话时可管理自己的全局记忆。
  • 同一内部事实键存在全局与当前 Workspace 版本时,检索优先选用 Workspace 版本。 文本看起来相似不保证内部事实键相同。
  • 主存储是加密的数据库记录,不会自动创建或读取 Workspace 中的 Memory.md。 同名工作区文件只是普通文件,也不会通过资源分享自动暴露数据库记忆。
  • 清除聊天记录、关闭模式、删除记忆是不同操作,不要把其中一个当作其他操作。

编辑条目、锁定、归档与删除

在“记忆条目”页添加或编辑单条内容:

字段用途
作用域我的全局,或当前会话 Workspace
层级 core常驻候选,但仍受上下文预算限制
层级 topic按问题与主题/文本的词法相关性选择;必须填写主题
层级 archive保留条目但不加载,不等于删除
类型preference、project、decision、reference
锁定禁止 AI 修改或删除;仍可手工编辑,不代表每轮一定加载
过期时间到期后不加载,不自动删除记录

当前上限为每个租户/用户跨所有作用域共 80 条,每条内容 300 字符, 主题最多 40 字符。隐藏的其他 Workspace 条目也计入总数; 满额时拒绝新增,不会自动驱逐其他 Workspace 的记录。

“变更历史”最多保留 100 次记录。删除条目会清除其历史内容与证据, 留下删除元数据,但不会删除原始聊天、已下载文件或备份。 保存冲突会保留较新数据库版本;先保留本地草稿,再重新打开设置核对,不要盲目覆盖。 未保存 Markdown 草稿时,页面会阻止切换到单条写入,避免互相覆盖。

本轮加载与更新回执

“本轮加载”报告本页面最近一轮提供给模型的条目及选择原因, 不保证模型实际采用,也不是全部已存储条目的清单。 当前问题相关的 Topic 条目与 Core 候选参与选择,归档、过期和其他 Workspace 的条目不加载。 预算不足时整条跳过,不截断事实。

当前 Memory 上下文参考预算为 1000 tokens,Core 条目最多 300 tokens。 已知模型使用相应 tokenizer;未知模型标为 UTF-8 保守估计,不冒充精确 Token 数。 报告包含记忆边界提示,不包含 SystemMessage、历史消息和模型协议开销, 不能作为完整请求费用;计费应核对模型实际 Usage。 加载报告及本轮更新回执只保留在当前页面,刷新后不保留。

请区分三件事:数据库里存有条目、本轮加载了条目、本轮更新了条目。 更新回执会说明全局/Workspace 的变更数,或未更新原因:

  • 关闭/只读、未满足学习触发条件;
  • 没有候选、内容无差异、条目已锁定;
  • 容量已满、并发版本冲突;
  • 输出格式、证据或安全校验拒绝、提取超时或调用失败。

提取只使用当前用户原话及有限的相关既有记忆,不把助手回答、 附件、工具输出或整个聊天历史当作新增事实证据。 校验失败时不应根据助手的口头承诺认为数据已写入;可查看本轮 PromptCode 辅助排查。

Markdown 预览、编辑与下载

这些页签是用户全局条目的 Markdown 投影,不包含 Workspace 条目。 下载的是当前编辑内容,可能包含尚未保存的草稿,并非“数据库全部记忆”的备份。

支持以下格式,标题应保留英文拼写:

# Memory

## Core

- Prefer concise bullet lists.

## Topic: documentation

- Include a short example when explaining an API.

## Archive

- An old convention retained for reference.

使用 - 开头的单行条目,保持每个事实唯一;不支持任意 Markdown 文档结构。 整个编辑文本最多 32000 字符,条目和主题仍受上述限制。 保存 Markdown 会将新增/改写条目作为手工锁定条目处理;同一文本的既有条目会尽量保留身份。

“清空草稿”只修改编辑框,点击“保存更改”后才会清除相应的全局条目, 不清除 Workspace 条目。Workspace 记忆请在“记忆条目”页逐条管理。

SystemMessage 与 Memory 的区别

  • 我的 SystemMessage影响当前用户的全部 Chat,不只当前会话。
  • 全局 SystemMessage仅超级管理员可设置,影响当前租户所有用户; 单租户模式下影响本站全部 Chat。
  • 两者各最多 2000 字符,保存后从下一轮生效,与 Memory 模式独立。
  • 它们用于 Chat 对话,不用于标题生成、Memory 提取等内部结构化生成任务。 也不能授予工具权限或覆盖安全/授权规则。

个人设置使用“保存更改”,租户全局设置使用其独立的“保存全局 SystemMessage”按钮。 修改系统提示词不等于新增 Memory 条目,关闭 Memory 也不会撤销这些系统提示词。

部署、隐私与排障

  • 升级 Admin 后完成与实际数据库类型匹配的管理员模块迁移,并重启对应服务。 数据库和 ASP.NET Core Data Protection 密钥都需持久保存,多实例使用一致的密钥配置。
  • 旧版加密文件仅在没有数据库记录时迁入;已有数据库记录(包括清空后的记录)优先。 旧文件可能保留为迁移备份,应按保留策略处理,避免旧实例继续写旧存储。
  • “学习”不可用时先检查 PromptRange 模块和模型配置;只读时没有新条目是预期行为。
  • Workspace 内容缺失时,确认选中的是自己有权访问且已绑定该 Workspace 的会话。
  • 只见“已记住”的回答但没有条目时,检查系统回执、模式、触发条件、锁定和容量,不要推断保存成功。
  • 不录入密钥、密码、个人敏感资料或第三方机密。加密和自动校验不是完整的隐私识别保证; 下载的 Markdown 是普通明文文件,应自行保护。
在 GitHub 上编辑此页
Prev
后台页面与上下文帮助
Next
Senparc.Web 与 Admin