Skip to content

建议增加移出归档/取消归档能力 #2

Description

@Ztyss

功能建议:增加“移出归档 / 取消归档”能力

当前 dsh-archived-conversations 只支持在 DSH Web 设置页展示已归档会话并提供只读预览,无法把会话恢复到侧边栏。建议增加“移出归档”操作。

需求

  • 在“已归档对话”列表的每一行(或预览详情页)提供“移出归档”按钮。
  • 点击后将该会话从归档集合 archivedSessionIds 中移除。
  • 操作成功后,该会话重新出现在 DSH 侧边栏/会话列表中;会话日志本身不删除。

现状与可行性

DSH 目前没有公开的 unarchiveSession API,客户端也只有 workspace.archiveSession。但 workspaceRegistryarchivedSessionIds 是持久化的普通数组,可以通过 registry 内部队列 + setState 安全移除:

  • 写入会触发 domain/changedhost/archived-sessions-changed,客户端侧边栏会自动刷新。
  • 归档会话仍保留在原 workspace 的 sessionIds 槽位中,所以恢复后位置可以还原。

建议实现

  1. Host 新增 POST /__archived-conversations/unarchive
    • 请求体 { sessionId: ... }
    • 校验 sessionId 格式、必须属于已归档集合
    • 要求 OriginHost 同源(状态修改接口防 CSRF)
    • 返回更新后的 archivedSessionIds
  2. Client 在列表行增加“移出归档”按钮,调用上述接口并处理加载/失败状态

备注

我们已经在本地实现了这个功能(插件版本 0.4.0),核心改动在 src/index.tssrc/client/index.js。如果作者愿意接受,我们可以整理成 PR 提交。

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions