---
name: grix-owner-relay
description: Act on the owner's behalf in a session — send a message as the owner (`grix_session_send`), or call the owner into the current session for a voice talk/approval (`grix_call_owner`). Trigger when the user asks to speak as the owner in a session, or when you need to reach the owner to discuss or get approval.
trigger: 当需要以 owner 身份在某会话发言、或把 owner 叫进当前会话语音沟通/审批时
---

# Grix Owner Relay

Interact with sessions on the owner's behalf, or pull the owner in.

## Speak as the owner — `grix_session_send`

Send a message into a session **as the owner** — it shows up as if the owner
themselves sent it, **not** as you (the agent).

- `session_id` (required) — target session ID.
- `content` (required) — message text to send as the owner (max 10000 chars).

### When to use it

Only to relay on the owner's behalf into one of the owner's **other** sessions
that you are **not** a participant in. Typical case: you were dispatched to work
somewhere and need to drop a note to the owner (or to others) in a *different*
session of theirs.

### Before you call it, make sure

1. You genuinely want to **impersonate the owner**, not speak as yourself.
2. The owner is a member of the target session (otherwise it fails on scope —
   surface the error, don't retry blindly).
3. The target session is **not** one you are conversing in / a member of.

### Never use it for

- ❌ **Sending your own reply in the conversation you are currently in.** Reply
  normally instead (or use `grix_message_send` to send as yourself). Using
  `grix_session_send` here makes *your* answer appear as the *owner's* words —
  i.e. the agent's text shows up as the user's message. This is wrong and
  confusing.
- ❌ **Any session you (the agent) are a member of.** The backend rejects this,
  precisely to stop the agent from impersonating the owner in its own
  conversation.
- ❌ As a generic substitute for sending a message as yourself — use
  `grix_message_send` for that.

To send as yourself (the agent), use the `message-send` skill
(`grix_message_send`).

## Call the owner in — `grix_call_owner`

Bring the owner into a session for a voice conversation — use this when you need
to discuss something or get an approval/review during your work. It sends the
owner an offline notification; tapping it lands them in the conversation and
auto-starts a voice-brain call.

- `session_id` (required) — the session to call the owner into.

## Rules

1. `grix_session_send` only works when the owner is a member of the target
   session **and you (the agent) are not** — sending into a session you belong
   to is rejected (it would impersonate the owner in your own conversation).
   On failure, surface the error; don't retry blindly.
2. `grix_call_owner` requires the owner to have configured a voice brain and is
   rate-limited per session. Use it only when you genuinely need the owner, not
   as a routine notification.
