前言¶
在 DeepSeek Harness (DSH) 的开发场景中,将非结构化的聊天记录转化为可执行的任务清单是一个常见痛点。手动整理耗时且容易遗漏。dsh-feishu-task-recorder 插件通过轮询飞书(Lark)群聊与单聊,利用模型提取候选任务,并提供悬浮面板与任务看板插件的双向同步能力,解决了这一问题。
插件介绍¶
该插件是一个 DSH bundle,包含 Host(服务端)和 Client(浏览器端)两部分。它运行在 DSH 的 Web Profile 下,主要负责与飞书交互和任务数据的存储,并通过浏览器 UI 提供任务审查入口。
核心功能¶
- 聊天追踪:支持选择特定的飞书群聊或单聊进行监控。插件为每个聊天维护独立的光标,并支持去重处理。
- 定时轮询:提供可配置的轮询间隔(
feishu_poll_interval)和历史记录回溯窗口(feishu_lookback,feishu_cursor_reset),确保不会遗漏新消息。 - 任务提取:新消息会被自动筛选为“候选任务”,供后续处理。
- 审查工作流:定义了明确的任务状态流转:
pending(待处理)→ai/manual/rejected(判断/拒绝)→done(完成)。你可以通过飞书原生工具或悬浮面板完成判断。 - 双向看板同步:通过 HTTP API 与同服务器上的任务看板插件(
@linxin666/dsh-client-ui-task-board)进行双向数据同步。 - 悬浮面板:在浏览器页面中提供独立的 UI 界面,允许在不离开当前页面的情况下进行任务审查、判断和完成。
- 工具集:提供完整的命令行工具,包括
feishu_setup、feishu_status、feishu_task_list、feishu_task_review、feishu_task_add、feishu_task_judge、feishu_task_done等。
安装与配置¶
安装前,请确保已安装 lark-cli 并在用户级别完成授权。此外,若需使用看板同步功能,建议在同一 Profile 中安装任务看板插件。
安装¶
使用官方安装命令添加插件:
dsh plugin --profile web add dsh-feishu-task-recorder
也可以将其添加到 package.json 的依赖中,并在 dsh.profile.bundles 中列出,随后重启 dsh web。
配置¶
插件的所有字段都有安全默认值。如需自定义,请在 Profile 的 cordis.patch.yml 中覆盖配置:
- id: feishu-task-recorder
config:
workspace: /path/to/your/workspace # 任务存储目录
larkCli: /opt/homebrew/bin/lark-cli # lark-cli 路径或命令名
fallbackOrigin: 'http://127.0.0.1:62658' # 看板 API Origin(首次请求前使用)
- workspace:任务状态存储为
feishu-tasks.json(配合可读的feishu-tasks.md)。留空则默认使用$DSH_FEISHU_WORKSPACE环境变量或 DSH 进程的当前工作目录。 - larkCli:支持命令名或绝对路径。注意:macOS 桌面应用在
PATH中通常缺少/opt/homebrew/bin,建议在此处使用绝对路径。 - fallbackOrigin:用于在插件首次请求建立连接前,获取看板插件的实时 API Origin。
注意事项¶
- 沙箱权限:DSH 会在
workspace-write沙箱中运行插件的 Shell 命令,默认仅允许写入工作区和/tmp。 - 令牌安全:
lark-cli需要通过写入~/Library/Application Support/lark-cli/*.enc来刷新用户令牌。由于该目录不在默认沙箱根目录内,插件将lark-cli的可写根目录固定到了令牌目录,同时保持HOME不变。这意味着主密钥保留在 macOS Keychain 中,插件不会复制或派生令牌,增强了安全性。 - 依赖关系:任务看板插件在同一 Profile 中是可选的,但推荐安装以启用看板同步功能。
参考资源¶
- 插件目录页:https://www.skillhub.cn/plugins/CAI-MH/dsh-feishu-task-recorder
- GitHub 仓库:https://github.com/CAI-MH/dsh-feishu-task-recorder