Feishu meeting reminder: a dsh-plugin which has only side effect: reminding you, mid-flow with AI, that you "have to go meet carbon-based lifeforms".
Install
# from GitHub (first run asks for allowBuilds approval — follow the hint, retry)
dsh plugin --profile web add github:yeruizhi/dsh-lark-meeting-notifier
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
This plugin publishes its README in Chinese only.
dsh-lark-meeting-notifier · 飞书会议提醒
这个插件只有副作用:在你跟 AI 聊得神魂颠倒的时候,提醒你「不得不去跟碳基生命开会了」。
一个 DeepSeek Harness(DSH)插件:在工作区右侧显示一个可展开/收起的悬浮框,列出今天剩余的飞书会议,让你埋头写代码时不会错过会议。
- 会议室名称(从飞书日历的「会议室」资源参会人读取)
- 多闹钟提醒:每个提醒提前量独立触发,开始前到点闪烁(黄/橙/红随紧迫度)
- 点击会议记录关闭当前提醒(关闹钟);可开启「30 秒后自动停止闪烁」
- 提醒触发时自动展开面板(可关)
- 单条「✕」移除提醒(本地持久化,不会动飞书日历里的真实日程)
- 开始时间已过的会议自动移除;今日会议清空时可查看「明日」会议
- 配置持久化,设置面板可调
安装
dsh plugin --profile web add github:yeruizhi/dsh-lark-meeting-notifier
然后重启 dsh web(或 npx @deepseek-ai/dsh web)。页面右侧会出现「🕐 会议」小胶囊。
前置条件:lark-cli 安装与授权
本插件通过 @larksuite/cli(命令名 lark-cli)读取飞书日历。
1. 安装 lark-cli
npm install -g @larksuite/cli
验证:lark-cli --version 应输出 lark-cli version x.y.z。
2. 初始化应用配置
lark-cli config init
按提示完成应用配置(打开授权链接或扫描二维码)。
3. 授权日历读取权限(user 身份,最小 scope)
lark-cli auth login --scope "calendar:calendar:readonly"
必须使用 user 身份(
--as user),bot 身份看不到个人日历。
4. 验证
lark-cli auth status --json --verify
确认 identity 为 user、verified 为 true。
使用
- 展开/收起:点击右侧「🕐 会议 N」胶囊。
- 会议条目:时间段、标题(有视频会议可点击打开)、组织人、会议室。
- 关闭提醒:会议闪烁时点击该条目(关闹钟)。
- 移除提醒:点条目右侧 ✕。
- 明日:今日会议清空时,展开面板头部出现「明日」,点击加载明天的会议。
配置(设置 → 飞书会议提醒)
| 配置项 | 说明 | 默认 |
|---|---|---|
| 提醒提前时间 | 多选(分钟),每个是一个独立闹钟 | 20、10、5 |
| 30 秒后自动停止闪烁 | 开关 | 开 |
| 提醒时自动展开 | 开关 | 开 |
| 刷新间隔 | 30 / 60 / 120 秒 | 30 秒 |
| 会议室名显示 | 完整 / 简短 | 完整 |
故障排查
| 现象 | 原因 | 解决 |
|---|---|---|
| 面板显示「lark-cli 未安装」 | 缺少 @larksuite/cli |
npm install -g @larksuite/cli |
| 面板显示「飞书未授权或缺少日历权限」 | 未授权 / scope 缺失 / 登录态过期 | lark-cli auth login --scope "calendar:calendar:readonly" |
| 列表为空 | 今天确实没有剩余会议 | lark-cli calendar +agenda --as user 核对 |
技术要点(二次开发参考)
- 数据源:
lark-cli calendar +agenda --as user(今日日程列表) - 会议室名:
lark-cli calendar events get --calendar-id primary --event-id <id> --need-attendee,取type=resource参会人的display_name- 重复日程实例用
recurring_event_id,例外实例用event_id
- 重复日程实例用
- Host 内执行 lark-cli 需
sandboxPolicy: { mode: 'danger-full-access' }(读配置 + 联网) - Client↔Host 通信:Host 注册 webServer 路由(
/dsh-lark-meeting/list、/health),Client 用fetch拉取
License
MIT
Links
More in this category
xmanrui/dsh-im★ 3118
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★ 2685
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★ 1373
Bridges DeepSeek Harness lifecycle status, errors, and approval requests to a locally running OpenPets desktop companion.
c1overzz/dsh-bili-scroll★ 1150
Let your DSH agent browse Bilibili on its own, read subtitles, write a daily digest, and @ you when it finds something worth your attention.
inclusionAI/Avernet#deepseek-harness-channel-bcn★ 599
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.
zaofan-make/dsh-qqbot★ 213
QQ official bot channel (enhanced fork of tencent-connect/dsh-qqbot): full agent chat in groups and DMs, rich media, an auto-tagged sticker library with AI image replies, join approval, mute and broadcast, scheduled wakeups, remote approvals over QQ, interactive cards, multi-account instances, extensions, member profiles, and token-saving value-scored wakeups.
Community comments
Comments are public GitHub Discussions. Loading them connects to GitHub and Giscus; a GitHub account is required to post.