跳到正文
cccskills
免费在 GitHub 公开

google_meet

Have an agent join Google Meet, collect live captions, and use the transcript for summaries and follow-up tasks. An optional voice mode lets it speak during calls after additional audio setup.

中文简介正在准备中。当前显示英语简介。

原文查看原文说明

Join a Google Meet call, transcribe live captions, optionally speak in realtime, and do the followup work afterwards. Use when the user asks the agent to sit in on a meeting, take notes, summarize, respond in-call, or action items from it.

集成工具OpenAI
查看安装方法

适用场景

  • Have an agent take notes during a Google Meet call
  • Summarize a meeting and identify action items
  • Let an agent speak when a specified condition occurs
  • Run the meeting bot on a separate signed-in computer

包含的文件(18)

  • SKILL.md6.8 KB
  • __init__.py2.8 KB
  • _jsonfile.py1.1 KB
  • audio_bridge.py5.2 KB
  • cli.py12.0 KB
  • meet_bot.py24.2 KB
  • node/__init__.py1.1 KB
  • node/cli.py3.7 KB
  • node/client.py2.9 KB
  • node/protocol.py3.5 KB
  • node/registry.py2.5 KB
  • node/server.py5.5 KB
  • plugin.yaml719 B
  • process_manager.py8.0 KB
  • README.md7.1 KB
  • realtime/__init__.py201 B
  • realtime/openai_client.py9.0 KB
  • tools.py7.9 KB

SKILL.md(原文)

安装前可以查看交给 AI 代理的指令内容。

google_meet

When to use

The user says any of:

  • "join my Meet at <url>"
  • "take notes on this meeting"
  • "summarize the meeting and send followups"
  • "sit in on my standup"
  • "be a bot in this call and speak up when X"

Two modes

ModeWhat the bot does
transcribe (default)Joins, enables captions, scrapes a transcript. Listen-only.
realtimeSame as transcribe PLUS speaks into the meeting via OpenAI Realtime. The agent calls meet_say(text) and the bot's voice comes out of the call.

Pick realtime only when the user actually wants the agent to speak. It costs real money (OpenAI Realtime is pay-per-audio-minute) and requires a virtual audio device set up on the machine running the bot.

Two locations

LocationWhen
Local (default)Gateway machine runs the Playwright bot directly.
Remote node (node="<name>")Bot runs on a different machine that has a signed-in Chrome and (for realtime) a configured audio bridge. Useful when the gateway runs on a headless Linux box but the user's real signed-in Chrome lives on their Mac.

Prerequisites the user must handle once

Easiest path — run the built-in installer:

hermes plugins enable google_meet
hermes meet install                 # PM dependencies + Chromium (transcribe only)
hermes meet install --realtime      # + pulseaudio-utils / brew blackhole+ffmpeg
hermes meet auth                    # optional; skips guest-lobby wait
hermes meet setup                   # preflight checks

hermes meet install --realtime prompts before running sudo apt-get (Linux) or brew install (macOS). Pass --yes to skip the prompt. It will NOT touch your macOS default-input setting — you have to select BlackHole 2ch in System Settings yourself before starting a realtime meeting.

For manual realtime audio setup:

#   Linux:  sudo apt install pulseaudio-utils
#   macOS:  brew install blackhole-2ch ffmpeg
#           → System Settings → Sound → Input → BlackHole 2ch
#   Then set OPENAI_API_KEY or HERMES_MEET_REALTIME_KEY in ~/.hermes/.env

For a remote node:

# on the user's Mac (where Chrome is signed in):
hermes plugins enable google_meet
hermes meet install
hermes meet node run --display-name my-mac    # persistent server
# copy the printed token

# on the gateway:
hermes meet node approve my-mac ws://<mac-ip>:18789 <token>
hermes meet node ping my-mac                   # confirm reachable

Run hermes meet setup to preflight local prereqs.

Flow

  1. Join — call meet_join(url=..., mode=..., node=...). Returns immediately.
  2. Announce yourself — no auto-consent. Say (in whatever channel the user is watching): "A Hermes agent bot is in this call taking notes."
  3. Poll — meet_status() for liveness, meet_transcript(last=20) for recent captions. Don't re-read the whole transcript every turn.
  4. Speak (realtime only) — meet_say(text="...") queues text for TTS. The speech lags by ~2s. Don't spam it.
  5. Leave — meet_leave() when done, or set duration="30m" on meet_join for auto-leave.
  6. Follow up — read meet_transcript() in full, summarize, and use regular tools to send the recap, file issues, schedule followups.

Tool reference

ToolParametersUse
meet_joinurl, mode?, guest_name?, duration?, headed?, node?Start bot
meet_statusnode?Liveness + progress
meet_transcriptlast?, node?Read captions
meet_leavenode?Close bot
meet_saytext, node?Speak in realtime meeting

node? on all tools: pass a registered node name (or "auto" for the sole node) to operate a remote bot instead of a local one. Omit for local.

Important limits

  • Captions are only as good as Google Meet's live captions. English-biased, lossy on overlapping speakers.
  • Guest mode sits in the lobby until a host admits. Warn the user; hermes meet auth avoids this.
  • Lobby timeout: if the host doesn't admit the bot within 5 minutes (configurable via HERMES_MEET_LOBBY_TIMEOUT env), the bot leaves and meet_status reports leaveReason: "lobby_timeout".
  • One active meeting per install per location. A second meet_join leaves the first.
  • Windows not supported.
  • Realtime mode needs a virtual audio device. If the audio bridge setup fails, the bot falls back to transcribe mode and flags it in meet_status().error.
  • meet_say requires mode='realtime' on the originating meet_join. Calling it against a transcribe-mode meeting returns a clear error.
  • Barge-in is best-effort. When a caption arrives attributed to a real participant while the bot is generating audio, the bot sends response.cancel to OpenAI Realtime. Captions take ~500ms to show up, so the bot will talk over the first second or so of a human interruption.

Status dict reference

meet_status() returns (subset shown, there are more):

KeyMeaning
inCallPast the lobby. False while waiting for admission.
lobbyWaitingClicked "Ask to join", waiting on host.
joinAttemptedAt / joinedAtTimestamps for lobby-click and actual admission.
captioningCaption observer is installed.
transcriptLines / lastCaptionAtTranscript progress.
realtime / realtimeReadyRealtime mode provisioned / WS connected.
realtimeDeviceAudio device name the bot is feeding (e.g. hermes_meet_src).
audioBytesOut / lastAudioOutAtHow much PCM the OpenAI session has produced.
lastBargeInAtTimestamp of the most recent response.cancel sent.
leaveReasonduration_expired, lobby_timeout, denied, page_closed, or null.
errorLast error (soft — bot may still be running).

Transcript location

Local:

$HERMES_HOME/workspace/meetings/<meeting-id>/transcript.txt

Remote node: transcript lives on the node host's disk. Use meet_transcript(node=...) to read it over RPC.

Safety

  • URL regex: only https://meet.google.com/... URLs pass.
  • No calendar scanning. No auto-dial.
  • Remote nodes use bearer-token auth; tokens are generated on the node (32 hex chars, persisted in $HERMES_HOME/workspace/meetings/node_token.json) and must be copied to the gateway via hermes meet node approve.
  • meet_say text is rate-limited by the OpenAI Realtime session; spam-protection is the bot's problem, not yours, but still — don't queue hundreds of lines.

评价

还没有评价。欢迎分享你的使用感受。

评论

无需登录即可发表。欢迎分享使用感受、提问,或说明在哪些环境下无法运行。

还没有评论。来写第一条吧。

提交后会立即公开。请勿填写邮箱、电话等个人信息。URL 最多 2 个。

0 / 1000 字

此表单受 reCAPTCHA 保护,适用 Google 的隐私权政策和服务条款。

同一仓库的技能

1password

免费

Set up the 1Password CLI and use stored passwords or API keys in commands and configuration templates. Choose an authentication method, retrieve secret references, and pass credentials to processes through environment variables.

中文简介正在准备中。当前显示英语简介。

  • Installing and configuring the 1Password CLI
  • Running commands with stored API keys
  • Filling configuration templates with stored secrets
NousResearch/hermes-agent25.5万2026年10月18日 更新

Build an Excel workbook linking the income statement, balance sheet, and cash flow statement. Populate historical figures, create formula-based forecasts, compare scenarios, and check that balances and cash totals agree across all three statements.

中文简介正在准备中。当前显示英语简介。

  • Populating a financial model template with historical data
  • Building linked forecasts across three financial statements
  • Comparing base, upside, and downside scenarios
NousResearch/hermes-agent25.5万2026年10月18日 更新

Adapt existing PyTorch training scripts to use multiple GPUs or machines with limited code changes. The skill guides configuration, launch commands, mixed precision, which uses lower-precision numbers, and DeepSpeed or FSDP settings for distributing training work and memory.

中文简介正在准备中。当前显示英语简介。

  • Move a single-GPU training script to multiple GPUs
  • Configure mixed precision training
  • Set up DeepSpeed or FSDP to reduce memory use
NousResearch/hermes-agent25.5万2026年10月18日 更新

Configure Hermes to run AI models through Actual Computer on your own hardware. Set up either the hosted relay or a local connection, select models, verify responses, and troubleshoot request errors or empty output.

中文简介正在准备中。当前显示英语简介。

  • Connecting Hermes with an Actual inference key
  • Running models through a local Actual daemon
  • Downloading and loading local models
NousResearch/hermes-agent25.5万2026年10月18日 更新

Test an app from the perspective of a frustrated, less technical user. Find confusing steps and barriers, separate actionable usability problems from personal complaints, and produce screenshots, suggested fixes, and prioritized tickets.

中文简介正在准备中。当前显示英语简介。

  • Reviewing usability before a launch or demo
  • Checking the experience of a new user
  • Finding friction in signup and subscription flows
NousResearch/hermes-agent25.5万2026年10月18日 更新

Resolve Git merge conflicts between two agents by comparing both changes and their stated goals. Combine compatible work, explain choices where designs differ, and verify the merged result with project builds or tests.

中文简介正在准备中。当前显示英语简介。

  • Resolving conflicts between branches edited by two agents
  • Integrating changes from parallel worktrees
  • Reviewing reasons for conflicting design choices
NousResearch/hermes-agent25.5万2026年10月18日 更新

查看 NousResearch 的全部技能

报告此技能的问题