Zum Hauptinhalt springen
C

dsh-feishu-task-recorder

cai-mh/dsh-feishu-task-recorder

Poll Feishu (Lark) group and direct chats through lark-cli, extract candidate tasks with a review workflow, and two-way sync them with the task-board plugin, with a floating browser panel and one-click device-flow authorization.

Installation

dsh plugin --profile web add github:cai-mh/dsh-feishu-task-recorder

README

dsh-feishu-task-recorder

English | 中文

Poll Feishu (Lark) chats, extract candidate tasks with the model, and sync them two-ways with the task-board plugin — with a floating browser panel. A DeepSeek Harness (DSH) bundle with host + client halves.

Features

  • Chat tracking — choose which Feishu group/DM chats to watch; per-chat cursors with dedupe
  • Scheduled polling — configurable interval (feishu_poll_interval), history look-back window (feishu_lookback, feishu_cursor_reset)
  • Task extraction — new messages are screened into candidate tasks for review
  • Review workflowpending → ai / manual / rejected → done; judge tasks from chat tools or the panel
  • Task-board sync — two-way sync with @linxin666/dsh-client-ui-task-board over its HTTP API on the same web server
  • Floating panel — browser UI to review, judge and complete tasks without leaving the page
  • Full tool setfeishu_setup, feishu_status, feishu_chats, feishu_track, feishu_sync_now, feishu_task_list, feishu_task_review, feishu_task_add, feishu_task_judge, feishu_task_done, and more

Requirements

  • lark-cli installed and authorized at the user level — the plugin reuses its Feishu identity and never touches any token itself
  • The task-board plugin installed in the same profile for board sync (optional but recommended)

Sandbox & token storage

DSH runs the plugin's shell commands under a workspace-write sandbox that, by default, only allows writes inside the workspace and /tmp. lark-cli refreshes its user token by writing ~/Library/Application Support/lark-cli/*.enc, which sits outside that root and would fail with keychain Set failed. The plugin therefore pins the writable root of its lark-cli invocations to that token directory, while leaving HOME untouched so the master key stays in the macOS Keychain — no credential copying, no token forking.

Install

dsh plugin --profile web add dsh-feishu-task-recorder

Or add it to your profile's package.json dependencies and list it under dsh.profile.bundles, then restart dsh web.

Configuration

All fields have safe defaults; override them from your profile's cordis.patch.yml:

- id: feishu-task-recorder
  config:
    workspace: /path/to/your/workspace   # where feishu-tasks.json/.md live
    larkCli: /opt/homebrew/bin/lark-cli  # lark-cli command name or absolute path
    fallbackOrigin: 'http://127.0.0.1:62658'  # board API origin until auto-learned
  • workspace — directory for the task store files. Empty means: $DSH_FEISHU_WORKSPACE → the DSH process cwd.
  • larkCli — a command name found on the DSH process PATH, or an absolute path. macOS desktop apps often lack /opt/homebrew/bin on PATH; use an absolute path there.
  • fallbackOrigin — used only before the panel's first request teaches the plugin the live web-server origin.

Data storage

Task state is stored as feishu-tasks.json (plus a readable feishu-tasks.md board) in the configured workspace.

License

MIT

Ähnliche Plugins