# 第二栏 Harness 活动摘要

只调整 Arkme 第二栏的 DeepSeek Harness 入口。会话下拉、官方会话状态与执行流程不变，也不新增完成弹窗。

- 没有进行中的任务：第二行显示点击入口会打开的原生当前会话名称；切换或改名时同步。空白会话显示「新会话」，尚未获得有效选择时不猜测目标名称。未登录保留原有介绍。
- 有进行中的任务：显示「n 待处理」「n 进行中」「n 待查看」，同一会话只计入优先级最高的一项。
- 无进行中但有待处理或待查看时：保留目标会话名，在头像上显示小角标。全部已查看后不留角标。长标题省略，完整目标名和状态计数保留在读屏标签中；卡片不显示浏览器原生悬停文字提示。
- 待处理包括官方批准、计划确认和提问；子任务归入其主会话，不重复计数。
- 窄栏只显示数字角标，颜色依次优先为待处理、待查看、进行中。悬停展开原生会话菜单，点击仍打开 Harness。
- 仅在对应会话实际可见、页面可见且窗口聚焦时清除待查看。隐藏的原生 iframe 当前会话不视为已读。

通过官方 `sidebar.footer.action` 根作用域槽位读取 `useSessions`、`useWorkspaces` 和可用时的 `useSessionPendingInteraction`。旧宿主使用会话上的待处理字段。只桥接显示摘要，不复制或替换官方侧边栏、会话存储和控制器；升级继续使用宿主提供的状态和组件。

入口显示的目标来自同一份 `useSessions` 的 `current` 和 `byId`，不自行按更新时间挑选另一条会话，也不新增跳转或选择逻辑。点击只恢复现有 Harness 界面，因此标题与真正打开的会话一致。

本地存储仅保存按环境与账户隔离的待查看会话 ID，不保存会话正文、执行状态或凭据。活动状态仍由官方数据实时提供。刷新时保留已观察到的待查看提醒；页面完全关闭期间未观察到的运行变化依赖宿主的完成状态，不保证补报。

退出登录时移除摘要；未登录入口保持原有行为。测试覆盖状态优先级、子任务合并、已读、刷新、归档与删除、账户隔离，以及公开槽位订阅和可见性桥接。浏览器中的模拟状态只用于视觉验收，不向真实会话发送消息。

## 会话入口显示当前对话名

2026-09-20 调整：第二栏的 DeepSeek Harness 卡片与其它会话行（`ArkmeDirectoryRow`）共用同一个两行结构，但第一行此前写死为「DeepSeek Harness」，真正的当前对话名被放在第二行——而只要有任务在跑，第二行又会被状态摘要整条顶掉，用户就看不到自己正在哪个对话里。

现在第一行改为显示当前对话名（沿用该行已有的 `activity.current.title`，空白会话显示「新会话」），口径与其它会话行一致；产品名只在 Harness 尚未上报会话时作为兜底。第二行沿用本文档已确认的口径不变：有进行中任务时显示状态计数，否则显示空闲提示；只有待处理/待查看而没有进行中任务时仍是头像角标，不占用第二行。行内 `aria-label` 同步改为「对话名，状态摘要」。

验证：`tests/harness-directory-row.test.tsx` 覆盖当前对话名、运行中仍保留对话名、无运行任务但有未读时第二行仍显示状态、未上报会话时回退产品名、空白会话显示「新会话」；并确认把第一行改回写死、把第二行重新当作对话名载体、或去掉产品名兜底时，对应用例都会失败。类型检查、完整测试与打包通过。
