插件目录 / Data / session-persistence-rdb
session-persistence-rdb
未验证 morlay
功能简介
session 关系型数据库持久化
未验证 — 尚未实测
session 关系型数据库持久化 尚未验证——请自行安装测试。
「未验证」表示我们的自动化 CI 尚未安装过该插件。功能描述与版本兼容性均为作者声明。这不是安全审计,也不代表对第三方代码的背书。
README
@morlay/session-persistence-rdb
RDB(SQLite / PostgreSQL)持久会话后端(ctx.sessionPersistence):通过 drizzle
实现 PersistenceBackend<number>,复用上游 PersistenceCoordinator 与契约测试套件,
支持配置选择 SQLite 或 PostgreSQL 后端。设计细节(表结构、delta 过滤、并发写、
方言差异、仓库结构)见 docs/design.md。
安装
包发布在 GitHub Packages,按包名安装到 dsh profile(示例:web;dsh plugin add 把参数原样转发给 pnpm,版本号按发布版本调整)。registry 必须限定在@morlay scope(--config.@morlay:registry=…),不要用全局 --registry,
否则依赖(@deepseek-ai/* 等)也会被指到 GitHub Packages 而解析失败:
dsh plugin --profile=web add "@morlay/session-persistence-rdb@^0.0.1" --config.@morlay:registry=https://npm.pkg.github.com/
GitHub Packages 的 registry 要求认证(公开包也一样):profile 的 .npmrc
需为 npm.pkg.github.com 配置访问 token(如//npm.pkg.github.com/:_authToken=<token>),详见
GitHub 文档。
配置
配置写在 ${DSH_HOME}/settings.yaml,settings namespace 为插件短名session-persistence-rdb(与 cordis 插件 name 一致):
session-persistence-rdb:
type: sqlite
# path 省略时回落 cordis.patch.yml 的默认($DSH_HOME/sessions/sessions.sqlite,
# 由 bundle patch 的 !!js 表达式求值);自定义路径请用绝对路径字符串。
path: /absolute/path/to/sessions.sqlite
journalMode: wal
busyTimeout: 5000
settings.yaml 是纯 YAML(settings-local 用
yaml库解析),不支持!!js
JS 表达式——!!js dshHomePath(...)会被当作字面字符串。!!js只在cordis.patch.yml(bundle patch 层,loader 求值)有效。
字段即 Config 判别联合(见下);未写出的字段回落到 bundle patch / cordis.yml 的
config 默认值。PostgreSQL:
session-persistence-rdb:
type: postgres
connectionString: postgres://user:pass@localhost:5432/sessions
Config 类型:
type Config =
| {
type: "sqlite";
/** SQLite 数据库文件路径;`:memory:` 用于测试。 */
path: string;
/** journal_mode:`wal`(默认)/ `delete` / `truncate` / `persist`。 */
journalMode?: "wal" | "delete" | "truncate" | "persist";
/** 写锁竞争等待毫秒数(默认 5000)。 */
busyTimeout?: number;
}
| {
type: "postgres";
/** node-postgres 连接串;首次打开自动建表并写入 store 身份。 */
connectionString: string;
};
安装
装一次目录插件,之后本站所有插件都能让 DeepSeek Harness 自动找、自动装:
dsh plugin add dshbase-catalog 然后对 agent 说「帮我装 session-persistence-rdb」,它会在目录里找到并自动安装。文档:dshbase-catalog · 已验证场景包。
该插件是 GitHub 源码(未发 npm)——直接从仓库装:
Web profile:
dsh plugin --profile web add github:morlay/session-persistence-rdb Headless(CLI)profile:
dsh plugin --profile headless add github:morlay/session-persistence-rdb 实测报告
尚未 L3 验证——若已跑过,见下方失败备注。
备注:验证: install-fail (0.1.0-rc.6) 浏览全部待验证失败 →
使用场景
让 agent 处理数据——解析、转换或分析——用真实数据集工作,而不只是文字。
适合谁
任务涉及表格、文件或数字、需要处理或分析的人。
二次开发建议
数据源和转换工具是缝——加格式、聚合或可视化输出。