morlay/session-persistence-rdb ↗★ 2
@morlay/session-persistence-rdb
RDB durable session persistence backend for the DeepSeek Harness
AI 分析
核心用途是为 DSH 提供基于 SQLite 或 PostgreSQL 的结构化会话持久化存储。适合需要将会话数据安全、高效地保存在关系型数据库中的用户。
インストール
$
npx -p @deepseek-ai/dsh dsh plugin --profile web add github:morlay/session-persistence-rdbドキュメント
README 全文を読む ↗配置
配置写在 ${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库解析),不支持!!jsJS 表达式——!!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;
};