Preface

DeepSeek Harness (dsh) is an open-source agent runtime developed by DeepSeek, which the official repository summarizes in one sentence: Everything is a plugin. Model adapters, tools, sessions, sandboxes, and even the web interface can all be implemented as plugins. The project is currently in developer preview, and its APIs will continue to change. The community has already launched several independent directory sites that aggregate GitHub repositories tagged with dsh-plugin. Please note that these directories have no official affiliation with DeepSeek / Horizon Robotics, and installation commands should prevail in the original documentation of each plugin repository and directory page.

Many users keep dsh web running all day: coding with the model in one window while leaving their Feishu Calendar open in another. They either remember to join the meeting minutes before it starts or miss it entirely. dsh-lark-meeting-notifier does one simple thing: it does not add tools to the model, but only displays a meeting list on the right side of the web workspace that flashes when it is time for the meeting. The repository itself describes it as “a plugin with only side effects” — the side effect being reminding you to attend your meeting.

What it is

dsh-lark-meeting-notifier is a notification plugin for the DeepSeek Harness Web Interface, maintained by yeruizhi, licensed under MIT, and primarily written in JavaScript. The community directory categorizes it under “Notifications & Integrations”. As of 2026-08-18, the GitHub repository shows 7 stars, while the directory page lists 6 stars; star counts may change, so please refer to the repository page for the latest data. The version in package.json is 0.1.0.

It solves a specific problem: it lists today’s unstarted Feishu meetings in dsh web and sends repeated reminders based on your configured lead times. No custom backend is used for data; instead, it calls Feishu’s official CLI @larksuite/cli (command name lark-cli) to read the personal calendar as the currently logged-in user. Clicking the “✕” only hides this reminder locally on your machine and does not modify your Feishu calendar.

Directory page: https://deepseek-harness-plugin.com/zh-CN/plugins/dsh-lark-meeting-notifier/

GitHub: https://github.com/yeruizhi/dsh-lark-meeting-notifier

Core Features

The capabilities documented in the repository README and matching the source code are as follows.

  1. Right-side floating panel. By default, it collapses into a “🕐 Meeting N” badge, where N is the number of today’s remaining meetings that have not been hidden locally. When expanded, it displays the time slot, title, organizer, and meeting room. If the meeting has a video conference link, the title will be clickable.
  2. Meeting room name. It is not manually entered, but instead reads the display_name from attendees with type=resource in the Feishu calendar. You can choose between “Full” or “Short” in the settings (short mode takes the first segment before the first space).
  3. Multiple alarms. Each lead time is an independent alarm. The default values are 20, 10, and 5 minutes; the settings panel also allows you to check 1, 2, 3, 15, 30, 45, and 60 minutes. When the reminder time arrives, the entry will flash, with the color shifting to orange and red as the urgency increases.
  4. Dismiss the current alarm without deleting the meeting. Clicking the flashing meeting entry will close the triggered reminder. You can also enable “Auto-stop flashing after 30 seconds”. The “✕” on the right side of each entry will remove this meeting from your local list and save it to local storage, without modifying your Feishu calendar.
  5. Auto-expand on reminder. The panel can automatically expand when a reminder triggers (this behavior can be disabled). Meetings whose start time has passed will disappear from the “Today’s Remaining” list; when today’s meetings are cleared, the header of the panel will show “Tomorrow” to load tomorrow’s meetings.
  6. Persistent configuration. There is a section titled “Feishu Meeting Reminders” in the DeepSeek Harness settings, where you can choose a refresh interval of 30 / 60 / 120 seconds, with 30 seconds as the default.

It will not register tools for the model, nor will it send messages in Feishu. Other plugins in the same category include dsh-lark (Feishu chat channel) and dsh-notification (desktop notifications at the end of rounds), which have different responsibilities and should not be confused.

Installation and Activation

The installation command provided on the community directory page is:

dsh plugin add github:yeruizhi/dsh-lark-meeting-notifier

The GitHub README also includes the command with the web profile, which matches the dsh.client.platform value of "web" in package.json. When using the web interface, it is recommended to install it to the web profile as per the repository instructions:

dsh plugin --profile web add github:yeruizhi/dsh-lark-meeting-notifier

The directory page also reminds users that for reproducible installations, you should pin the commit hash. At the time of writing, the latest commit on the repository’s main branch is 65782f8d13f79143af86fec1628dfa0918af335f (2026-08-17, which fixes the issue of lark-cli not being found in the PATH when running in the desktop app). The pinned installation command would be:

dsh plugin --profile web add github:yeruizhi/dsh-lark-meeting-notifier#65782f8d13f79143af86fec1628dfa0918af335f

After installation, restart dsh web (or npx @deepseek-ai/dsh web). The official repository states that the Web UI defaults to http://127.0.0.1:3080. A “🕐 Meeting” badge should appear on the right side of the page.

The plugin runs with the permissions of the current dsh process, and executing code may occur during installation. Please review the source code and MIT license before installing.

Prerequisites: lark-cli

The plugin does not implement Feishu OAuth itself, and all calendar operations are handled by lark-cli. The steps provided by the repository are as follows.

1. Install the CLI

npm install -g @larksuite/cli

Verify that you can output the version number with lark-cli --version. The Feishu official CLI documentation also mentions the installation method npx @larksuite/cli@latest install; use whichever method allows you to run lark-cli successfully on your machine.

2. Initialize application configuration

lark-cli config init

Follow the prompts to open the authorization link or scan the QR code to complete the application configuration.

3. Authorize calendar read-only access (must be as a user)

lark-cli auth login --scope "calendar:calendar:readonly"

The README clearly states that you must use user identity; a bot cannot access personal calendars. When pulling the calendar later, the plugin internally calls lark-cli calendar +agenda --as user.

4. Verify the setup

lark-cli auth status --json --verify

Confirm that identity is user and verified is true.

Usage

After restarting the web interface, all operations are done through the right-side panel, with no additional slash commands required.
- Expand / Collapse: Click the “🕐 Meeting N” badge; click “Collapse” after expanding.
- View a meeting: See the time slot, title, organizer, and meeting room. If there is a video conference URL, the title will be a clickable link.
- Dismiss the alarm: Click the meeting entry when it is flashing. This only cancels the triggered lead time reminder and does not decline the meeting.
- Remove the reminder: Click the ✕ on the right side. This meeting will no longer appear in your local list until you clear the local hidden records (the configuration is stored in the browser’s localStorage under the key dsh.meeting.hidden).
- Tomorrow: When there are no remaining meetings today, click “Tomorrow” to load tomorrow’s meetings; click again to hide the list.

The settings path is: Settings → Feishu Meeting Reminders. The options match the table in the repository:

Configuration Item Description Default
Reminder lead times Multi-selectable minutes, each as an independent alarm 20, 10, 5
Auto-stop flashing after 30 seconds Toggle On
Auto-expand panel on reminder Toggle On
Refresh interval 30 / 60 / 120 seconds 30 seconds
Meeting room name display Full / Short Full

Troubleshooting

The repository README lists three common scenarios, consistent with the prompts returned by the host’s /health and /list endpoints.

Symptom Cause Fix
Panel shows “lark-cli not installed” @larksuite/cli is not installed on the system, or the PATH of the dsh process cannot find it Run npm install -g @larksuite/cli and confirm that lark-cli --version works
Panel shows “Feishu not authorized or missing calendar permissions” Not logged in, insufficient scope, or expired login Run lark-cli auth login --scope "calendar:calendar:readonly" again
List is empty There are indeed no unstarted meetings today Compare with your Feishu calendar using lark-cli calendar +agenda --as user

The source code appends /opt/homebrew/bin and /usr/local/bin to the PATH when executing lark-cli. The PATH when starting the DeepSeek Harness desktop app often only includes system directories, so node / lark-cli installed via Homebrew may not be found; the 2026-08-17 commit fixes this gap. If you still see the not installed prompt when using the desktop app, first confirm the CLI path in your system terminal, then check if the dsh process can inherit it.

Another case for an empty list: the plugin only retains meetings whose start time is still in the future. All-day meetings that have already started or meetings that have already ended will not appear in the “Today’s Remaining” list.

Key Implementation Details Worth Reviewing

For secondary development or security audits, you can directly read index.js (host) and client.js (browser).

The data source is:

lark-cli calendar +agenda --as user

When viewing tomorrow’s meetings, --start / --end parameters for the current day’s date are added. Meeting room information is retrieved via a separate call:

lark-cli calendar events get --calendar-id primary --event-id <id> --need-attendee

For recurring meeting instances, recurring_event_id is used, while exception instances use event_id. The host registers two local routes: GET /dsh-lark-meeting/list and GET /dsh-lark-meeting/health, and the frontend pulls JSON data via fetch.

When executing the CLI, the source code uses:

sandboxPolicy: { mode: 'danger-full-access', workspaceRoot: '/' }

The README explains that this is needed to read the local configuration of lark-cli and to make network calls to Feishu’s API. This means this call bypasses the default sandbox. You should treat this as a clear permission boundary before installing, rather than ignoring it.

The host declares dependencies on shell and webServer; the client declares platform: "web" and immediately: true, so it is attached to the web overlay rather than running as a headless one-off task.

Applicable Scenarios and Notes

This tool is suitable for users who are already using the DeepSeek Harness web interface, whose schedules are primarily on Feishu / Lark, and who have already (or are willing to) install lark-cli on their machine. Typical scenarios include spending long hours coding and running agents in dsh web while having standups, reviews, or client calls throughout the day.

Before using it, we recommend accepting these boundaries:
1. Web-only support. The package.json explicitly states that the client platform is web. Do not expect it to display reminders in pure headless tasks.
2. Read-only personal calendar. The authorized scope is calendar:calendar:readonly, and removing reminders only writes to the local machine. It is not a meeting room booking tool or a Feishu bot.
3. Permissions and sandboxing. The plugin runs with the current dsh process; when pulling meetings, it uses danger-full-access for lark-cli. This is a community repository, not an official DeepSeek app store. The license is MIT and the source code is public, but “open source” does not mean “already audited for you”.
4. Depends on the official CLI’s login state. If the token expires, you switch machines, or you only completed bot login, the panel will be empty or report an unauthorized error. First use lark-cli auth status --json --verify to rule out issues with the CLI itself.
5. Ecosystem is still in preview. The official DeepSeek Harness README notes that there will be breaking changes in the future. Pinning the commit hash for installation is less likely to cause behavior drift after a plugin update than tracking the main branch.

Summary

dsh-lark-meeting-notifier pins today’s remaining Feishu meetings to the right side of the DeepSeek Harness web page, providing reminders with multi-tier lead times and color-coded flashing alerts. It does not modify your calendar or add tools to the model. Before installing it, first install and authorize lark-cli, then use the dsh plugin add command from the directory page or repository to attach it to the web profile, and finally review the source code and sandbox policy yourself.

Directory page: https://deepseek-harness-plugin.com/zh-CN/plugins/dsh-lark-meeting-notifier/

GitHub: https://github.com/yeruizhi/dsh-lark-meeting-notifier

Official DeepSeek Harness repository: https://github.com/deepseek-ai/deepseek-harness