Skip to content

DX-2929: add DeepSeek Harness session-persistence backend on Upstash Redis - #20

Draft
CahidArda wants to merge 1 commit into
mainfrom
DX-2929/deepseek-redis-session-persistence
Draft

DX-2929: add DeepSeek Harness session-persistence backend on Upstash Redis#20
CahidArda wants to merge 1 commit into
mainfrom
DX-2929/deepseek-redis-session-persistence

Conversation

@CahidArda

Copy link
Copy Markdown
Collaborator

Adds @upstash/agentkit-deepseek, a durable session-persistence provider for the DeepSeek Harness (ctx.sessionPersistence) — a drop-in replacement for the shipped JSONL and SQLite backends, which write to local disk and so cannot persist or resume sessions in a serverless or multi-replica deployment.

Like the first-party backends it composes the harness's PersistenceCoordinator and implements only the PersistenceBackend storage hooks, and it passes the harness's own backend-agnostic conformance suite against real Upstash Redis.

Sessions are stored as a Redis list indexed by event seq, which makes the backend seek-capable (readFrom reads only the requested suffix). Appends and repairs each run as a single Lua script, giving the atomic materialize-plus-first-batch the seam requires and enforcing contiguous seq in storage.

Credentials resolve through ctx.credentials before falling back to Redis.fromEnv(), so the managed .credentials.yaml store works — it is never materialized into process.env. Config names the reference, never the value. An agentkit-deepseek command writes that store through the harness's own provider.

…pstash Redis

Adds @upstash/agentkit-deepseek, a durable session-persistence provider for the
DeepSeek Harness (ctx.sessionPersistence) — a drop-in replacement for the shipped
JSONL and SQLite backends, which write to local disk and so cannot persist or
resume sessions in a serverless or multi-replica deployment.

Like the first-party backends it composes the harness's PersistenceCoordinator
and implements only the PersistenceBackend storage hooks, and it passes the
harness's own backend-agnostic conformance suite against real Upstash Redis.

Sessions are stored as a Redis list indexed by event seq, which makes the backend
seek-capable (readFrom reads only the requested suffix). Appends and repairs each
run as a single Lua script, giving the atomic materialize-plus-first-batch the
seam requires and enforcing contiguous seq in storage.

Credentials resolve through ctx.credentials before falling back to
Redis.fromEnv(), so the managed .credentials.yaml store works — it is never
materialized into process.env. Config names the reference, never the value. An
agentkit-deepseek command writes that store through the harness's own provider.
@linear-code

linear-code Bot commented Aug 14, 2026

Copy link
Copy Markdown

DX-2929

@CahidArda
CahidArda marked this pull request as draft August 14, 2026 16:04
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant