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.
Install
# from GitHub (first run asks for allowBuilds approval — follow the hint, retry)
dsh plugin --profile web add github:CAI-MH/dsh-feishu-task-recorder
Any plugin you install runs third-party code with your own permissions — it can read your files, use your credentials, and reach the network, and tool approvals don’t sandbox it. GitHub-sourced plugins also run build scripts at install time — pnpm blocks those until you allow them, so an install can stop with ERR_PNPM_GIT_DEP_PREPARE_NOT_ALLOWED or ERR_PNPM_IGNORED_BUILDS; dsh prints the exact key to add under allowBuilds in your profile’s pnpm-workspace.yaml, and the install works on the next run. Allowing a build is a trust decision: only install sources you trust, and pin a commit (github:owner/repo#sha).
README
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 workflow —
pending → ai / manual / rejected → done; judge tasks from chat tools or the panel - Task-board sync — two-way sync with
@linxin666/dsh-client-ui-task-boardover its HTTP API on the same web server - Floating panel — browser UI to review, judge and complete tasks without leaving the page
- Full tool set —
feishu_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-cliinstalled 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 processPATH, or an absolute path. macOS desktop apps often lack/opt/homebrew/binonPATH; 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
Links
More in this category
xmanrui/dsh-im★ 2147
Connect IM bots to DeepSeek Harness via QR codes or bot credentials (9 channels: Feishu, WeChat, DingTalk, WeCom, QQ, Slack, Telegram, Discord, and WhatsApp).
shaobeichen/dsh-pocket★ 1929
Remote phone access to the DSH Web UI: scan a QR code for LAN or public (cloudflared tunnel) access with real-time sync, a mobile-adaptive layout, and a settings tab.
OpenPetsHQ/openpets#dsh★ 1309
Bridges DeepSeek Harness lifecycle status, errors, and approval requests to a locally running OpenPets desktop companion.
inclusionAI/Avernet#deepseek-harness-channel-bcn★ 641
Connects DeepSeek Harness to Avernet's Bot Collaboration Network over WebSocket V2, with automatic onboarding, isolated agent sessions, tool-call events, and multi-bot routing tools.
c1overzz/dsh-bili-scroll★ 203
Let your DSH agent browse Bilibili on its own, read subtitles, write a daily digest, and @ you when it finds something worth your attention.
Oscar-Williams/dsh-deepcanary★ 91
Evidence-first attention supervision for DeepSeek Harness with C0–C3 policy, deduplicated Inbox alerts, quiet hours, and redacted outcome records.
Community comments
Comments are public GitHub Discussions. Loading them connects to GitHub and Giscus; a GitHub account is required to post.