You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: adminforth/documentation/docs/tutorial/08-Plugins/26-agent.md
+214Lines changed: 214 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -267,6 +267,8 @@ plugins: [
267
267
// optional
268
268
// debugField: 'debug',
269
269
},
270
+
// optional, see the "Persistent checkpointer" section below
271
+
// checkpointResource: { ... },
270
272
}),
271
273
]
272
274
```
@@ -275,6 +277,218 @@ Each item in `modes` defines a user-selectable preset in the chat UI. The select
275
277
276
278
The plugin adds a chat surface to the admin UI, keeps session history per admin user, and shows a mode picker when `modes` are configured.
277
279
280
+
## Persistent checkpointer
281
+
282
+
If you do not configure `checkpointResource`, the plugin falls back to an in-memory `MemorySaver`. This is fine for local testing, but checkpoints are lost on process restart.
283
+
284
+
If you want persistent LangGraph checkpoints between requests, add a dedicated resource and pass it via `checkpointResource`.
285
+
286
+
You can use your own table and field names. The plugin does not require a specific schema name, only a mapping for these logical fields:
The payload fields can be stored as strings. The plugin serializes and deserializes checkpoint JSON on its own. The composite index on `(thread_id, checkpoint_ns, checkpoint_id)` is recommended because the checkpointer filters rows by these columns.
If your existing checkpoint table already uses different column names, keep your schema and only change the field mapping in `checkpointResource`.
491
+
278
492
## Reverse proxy and CDN configuration for streaming
279
493
280
494
The agent streams responses from `<baseURL>/adminapi/v1/agent/response` using server-sent events, where `<baseURL>` is your AdminForth base path or an empty string when deployed at the domain root. If your proxy buffers responses, the UI will receive the answer only after generation is finished.
0 commit comments