feat(server): 添加 session 持久化支持
- 复用 core 包的 SessionStorage 实现文件持久化 - sessions 保存到 ~/.local/share/ai-assist/sessions/ - 服务启动时自动加载已持久化的 sessions - create/addMessage/delete 操作自动同步到文件
This commit is contained in:
@@ -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,
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user