feat(server): 添加 session 持久化支持

- 复用 core 包的 SessionStorage 实现文件持久化
- sessions 保存到 ~/.local/share/ai-assist/sessions/
- 服务启动时自动加载已持久化的 sessions
- create/addMessage/delete 操作自动同步到文件
This commit is contained in:
2025-12-12 15:27:16 +08:00
parent b17649930b
commit 40afa10ed9
5 changed files with 178 additions and 12 deletions
+4 -4
View File
@@ -30,7 +30,7 @@ sessionsRouter.post('/', async (c) => {
try {
const body = await c.req.json();
const input = CreateSessionInputSchema.parse(body);
const session = sessionManager.create(input);
const session = await sessionManager.create(input);
return c.json(
{
@@ -76,7 +76,7 @@ sessionsRouter.get('/:id', (c) => {
/**
* DELETE /sessions/:id - 删除会话
*/
sessionsRouter.delete('/:id', (c) => {
sessionsRouter.delete('/:id', async (c) => {
const id = c.req.param('id');
if (!sessionManager.exists(id)) {
@@ -89,7 +89,7 @@ sessionsRouter.delete('/:id', (c) => {
);
}
sessionManager.delete(id);
await sessionManager.delete(id);
return c.json({
success: true,
@@ -144,7 +144,7 @@ sessionsRouter.post('/:id/messages', async (c) => {
const body = await c.req.json();
const input = SendMessageInputSchema.parse(body);
const message = sessionManager.addMessage(id, {
const message = await sessionManager.addMessage(id, {
role: input.role,
content: input.content,
});