Crowd Memory 文档 v0.1.1

错误码

记忆服务不可用或请求被拒绝时,记忆工具返回一段带错误码的文本,会话照常进行,推送跳过这一步。

工具返回的文本#

情况返回
记忆服务不可用记忆暂不可用 (memory temporarily unavailable: <错误码>). Continue without it.
会话不归本插件管,或已结束记忆暂不可用 (memory is not available for this session: <错误码>).
请求被拒绝memory request refused (<错误码>): <原因>

错误码#

错误码描述
endpoint_unavailable原因:读不到 endpoint.json。记忆服务没有运行,或文件路径不对
解决方法:运行 crowdmemory-runtime start;装在其他目录时检查 CROWDMEMORY_ENDPOINT_FILE
runtime_unavailable原因:本会话还没连上记忆服务
解决方法:启动记忆服务。插件会自动重试,间隔从 5 秒开始翻倍,最长 60 秒
endpoint_untrusted原因:endpoint.json 不安全:相对路径、符号链接、属主不是当前用户、组或其他用户可写
解决方法:使用记忆服务写出的原文件,不要软链接或放宽权限
token_unavailable原因:令牌文件 adapter-token 读不到或为空
解决方法:检查 <state>/adapter-token 是否存在、属主是否为运行 DSH 的用户
token_untrusted原因:令牌文件权限不是 0600、是符号链接,或不在 endpoint.json 所在目录
解决方法:删除令牌文件后重启记忆服务,会重新生成
unauthorized原因:记忆服务拒绝了令牌
解决方法:确认 DSH 和记忆服务以同一个用户运行
transport_error原因:连不上套接字
解决方法:检查记忆服务是否在运行
timeout原因:请求超时
解决方法:检查记忆服务负载;必要时调大 timeoutMs
protocol_incompatible原因:插件与记忆服务的协议版本不一致
解决方法:升级到同一个大版本
session_unbound原因:会话不归本插件管(配置了 sessionId),或会话句柄已失效
解决方法:新开会话
session_ended原因:会话已结束
解决方法:新开会话
budget_exhausted原因:本会话读取的字数达到上限(默认 20000 字符)
解决方法:新开会话,或在记忆服务的本机配置中调高 read_chars
note_rejected原因:笔记被拒绝:必填项为空、超出长度、topic_key 格式不对,或内容命中提示注入规则
解决方法:按返回的原因修改后重新记录
unavailable原因:记忆服务内部出错。memory_note 遇到时,笔记已经保存为原始记录
解决方法:稍后重试;问题持续时查看 crowdmemory-runtime status

常见问题#

现象原因处理
会话里没有记忆工具插件没加载,或既没设置 CROWDMEMORY_ENDPOINT_FILE,进程也没有 HOME用 dsh --dump-config 检查插件;设置环境变量
启动时报套接字路径过长macOS 上套接字路径不能超过约 103 字节用 --socket 指定更短的路径
第二个记忆服务启动失败同一个状态目录已有一个在运行只保留一个