配置
多数情况下不需要配置。只有记忆服务装在其他目录、或要改变插件行为时,才需要看这一页。
环境变量#
插件在 DSH 启动时读取以下环境变量,修改后需要重启 DSH。
| 变量 | 作用 | 不设置时 |
|---|---|---|
CROWDMEMORY_ENDPOINT_FILE | 记忆服务 endpoint.json 的绝对路径 | 使用 ~/.crowdmemory/state/endpoint.json |
CROWDMEMORY_PROJECT | 项目名。建议设为仓库名 | 使用会话工作目录的目录名 |
CROWDMEMORY_PROFILE | 记忆模板 | session-default |
项目名用于「同项目」排序。如果每次的工作目录名不同,请固定设置 CROWDMEMORY_PROJECT。
插件配置#
插件在 DSH profile 中插入一行 id: crowdmemory。可配置的键:
| 键 | 类型 | 默认值 | 说明 |
|---|---|---|---|
endpointFile | string | 见上表 | endpoint.json 的绝对路径。为空时插件不加载;为相对路径时工具照常注册,但每次调用都返回 endpoint_untrusted |
project | string | 工作目录名 | 项目名,最长 256 个字符 |
profile | string | session-default | 记忆模板,可写 id 或 id@revision。工作流记忆用 workflow-default |
inject | boolean | true | 为 false 时不推送 |
notes | boolean | true | 为 false 时不提供 memory_note |
workflow | boolean | true | 为 false 时不处理 DSH workflow 事件 |
sessionId | string | 不设置 | 只服务指定的 DSH 会话 |
timeoutMs | object | 见上限与超时 | 按事件类型覆盖超时,单位毫秒 |
修改插件配置#
在 DSH profile 的覆盖层 ~/.dsh/profiles/<profile>/cordis.patch.yml 中重写整行。将端点替换为自己的绝对路径;下面使用会话模板,按 workflow 采集时改为 workflow-default:
- id: crowdmemory
config:
endpointFile: /absolute/path/to/CMLocal/.runtime/crowdmemory/state/endpoint.json
profile: session-default
project: my-repo
inject: true
notes: true
workflow: true
timeoutMs:
query: 5000检查插件是否已加载:
dsh --profile <profile> --dump-config | grep -A8 'id: crowdmemory'桌面版#
从程序坞或访达启动的桌面版读不到 shell 中设置的环境变量。记忆服务装在默认目录 ~/.crowdmemory 时不受影响。装在其他目录时,任选一种方式:
- 在
desktopprofile 的覆盖层中把endpointFile写成绝对路径(见上一节)。 - 启动桌面版之前执行
launchctl setenv CROWDMEMORY_ENDPOINT_FILE <绝对路径>。
记忆服务的安装目录#
crowdmemory-runtime 的所有命令都接受 --prefix <目录>,默认 ~/.crowdmemory,也可以用环境变量 CROWDMEMORY_RUNTIME_PREFIX 指定。使用其他目录时,endpoint.json 位于 <prefix>/state/endpoint.json,需要同时设置 CROWDMEMORY_ENDPOINT_FILE。完整选项见记忆服务命令。