Introduction¶
In DeepSeek Harness (DSH) development scenarios, converting unstructured chat history into an actionable task list is a common pain point. Manual organization is time-consuming and prone to omissions. The dsh-feishu-task-recorder plugin solves this issue by polling Feishu (Lark) group chats and direct chats, using a model to extract candidate tasks, and providing two-way synchronization between a floating panel and a task board plugin.
Plugin Introduction¶
This plugin is a DSH bundle, consisting of Host (server-side) and Client (browser-side). It runs under the DSH Web Profile and is primarily responsible for interacting with Feishu and storing task data, while providing a task review entry point through the browser UI.
Core Features¶
- Chat Tracking: Supports selecting specific Feishu group chats or direct chats for monitoring. The plugin maintains an independent cursor for each chat and supports deduplication.
- Scheduled Polling: Provides a configurable polling interval (
feishu_poll_interval) and a historical lookback window (feishu_lookback,feishu_cursor_reset) to ensure new messages are not missed. - Task Extraction: New messages are automatically filtered as “candidate tasks” for subsequent processing.
- Review Workflow: Defines a clear task state flow:
pending(pending) →ai/manual/rejected(judgment/rejection) →done(completed). You can complete the judgment via Feishu native tools or the floating panel. - Two-way Board Synchronization: Performs two-way data synchronization with the task board plugin on the same server (
@linxin666/dsh-client-ui-task-board) through the HTTP API. - Floating Panel: Provides a standalone UI in the browser page, allowing task review, judgment, and completion without leaving the current page.
- Toolset: Provides a complete set of command-line tools, including
feishu_setup,feishu_status,feishu_task_list,feishu_task_review,feishu_task_add,feishu_task_judge, andfeishu_task_done.
Installation and Configuration¶
Before installing, ensure that lark-cli is installed and has been authorized at the user level. In addition, if you want to use the board synchronization feature, it is recommended to install the task board plugin in the same Profile.
Installation¶
Add the plugin using the official installation command:
dsh plugin --profile web add dsh-feishu-task-recorder
You can also add it to the dependencies in package.json, list it under dsh.profile.bundles, and then restart dsh web.
Configuration¶
All plugin fields have safe default values. To customize them, override the configuration in the Profile’s cordis.patch.yml:
- id: feishu-task-recorder
config:
workspace: /path/to/your/workspace # task storage directory
larkCli: /opt/homebrew/bin/lark-cli # lark-cli path or command name
fallbackOrigin: 'http://127.0.0.1:62658' # board API Origin (used before the first request)
- workspace: Task state is stored as
feishu-tasks.json(along with a human-readablefeishu-tasks.md). If left empty, it defaults to the$DSH_FEISHU_WORKSPACEenvironment variable or the current working directory of the DSH process. - larkCli: Supports a command name or an absolute path. Note: macOS desktop apps usually do not include
/opt/homebrew/bininPATH; it is recommended to use an absolute path here. - fallbackOrigin: Used to obtain the real-time API Origin of the task board plugin before the plugin’s first request establishes a connection.
Notes¶
- Sandbox Permissions: DSH runs the plugin’s Shell commands in a
workspace-writesandbox, which by default only allows writes to the workspace and/tmp. - Token Security:
lark-clirefreshes user tokens by writing to~/Library/Application Support/lark-cli/*.enc. Because this directory is not within the default sandbox root, the plugin pins the writable root directory forlark-clito the token directory while keepingHOMEunchanged. This means the primary key remains in the macOS Keychain, and the plugin does not copy or derive tokens, which enhances security. - Dependencies: The task board plugin is optional in the same Profile, but installing it is recommended to enable board synchronization.
References¶
- Plugin directory page: https://www.skillhub.cn/plugins/CAI-MH/dsh-feishu-task-recorder
- GitHub repository: https://github.com/CAI-MH/dsh-feishu-task-recorder