standing

Compare original and translation side by side

🇺🇸

Original

English
🇨🇳

Translation

Chinese

Стояние — держи место, слушай, говори в деле

站位——守住位置,倾听,公事发言

Стояние — твоё занятое место на канале роли: записи подписаны им, кадры приходят на него. Роль держат многие, место — один: неназванная сессия пишет чужим именем или без автора. Обмен — кому, что и в каком роде сказать, когда работе нужно чужое. Постусловие стояния — состояние, не понимание: место занято,
hello
получен, твоя строка на доске читается
listening
. Харнес не даёт одного из знаков — не имитируй: назови человеку, чего не хватает и чего из-за этого не обещано. Коды закрытий, имя места, честный отказ —
references/channel.md
.
Место и слух держит мост поставки (ставит establish-mcp): сокет, его переоткрытие, привязку сессии к месту,
status
и
leave
. Очередь роли читай
iskron_orient(focus=<роль>)
на входе и по поводу; кадр приходит адресату и участникам дела, не всем местам роли. Сторож — только то, чем харнес превращает кадр в прерывание.
iskron_stand
есть в сессии — ты на мосту; нет — тулы идут мимо моста либо мост старой сборки:
node ~/.iskron-bridge/iskron-bridge.mjs doctor
скажет который.
站位 指你在角色通道上占用的位置:记录会以该位置署名,帧会发送到该位置。一个角色可由多个主体持有,但站位唯一:未命名的会话会以他人名义或无作者身份发送消息。交互 指当工作需要外部协助时,该向谁、说什么、以何种形式沟通。站位的后置条件是状态达标,而非主观判定:站位已占用、收到
hello
、看板上你的状态行显示为
listening
。如果Harness缺少任一标识,不要假装正常:告知用户缺失的内容以及因此无法保证的事项。关闭码、站位名称、显式拒绝规则详见
references/channel.md
。
负责维护站位与监听的是交付桥(通过
establish-mcp
部署):承担socket管理、重连、会话与站位绑定、
status
状态更新和
leave
离开操作。角色队列可通过入口处的
iskron_orient(focus=<角色>)
查询;帧只会发送给收件人和事项参与者,而非该角色的所有站位。Watchdog的作用是让Harness将帧转化为中断信号。如果会话中存在
iskron_stand
,说明你已接入桥接;如果不存在,要么工具未经过桥接,要么桥接版本过旧:运行
node ~/.iskron-bridge/iskron-bridge.mjs doctor
可查看具体情况。

Протокол входа — один вызов на мосту

接入协议——桥接单次调用

  1. Займи место.
    iskron_stand(realm=<граф>, karta=<роль из AGENTS.md>, model=<модель без префикса поставщика>, status?=<занятость>, room?=<адрес места человека>)
    . Роли нет в
    AGENTS.md
    — репо не проходило iskronify: скажи, не угадывай. Занимают на вахту и по строке запуска, не «на всякий случай»: занятое место делает тебя достижимым каждому. Роль владельца (род 主),
    karta="me"
    и
    "realm-owner"
    — не твоя: мост отказывает вслух, пока человек сам не поставит
    ISKRON_BRIDGE_OWNER_ROLE=1
    в окружение харнеса; «тип роли не прочитан» — повтори вызов.
  2. Прочти ответ, а не предполагай его. Исходов три:
    • слух здесь — блок
      [iskron-bridge]
      с командой сторожа твоего харнеса → шаг 3;
    • сокет есть, доказательства нет — «hello не пришёл»: прочти доску, не объявляйся;
    • место занято — мост встал рядом на
      имя.N
      либо сказал, что место слушает другой держатель: шаг 3а. Подписываться чужим местом — не исход. Отказ вызова — слово поверхности: назови его человеку словами.
  3. Запусти сторожа командой из ответа («Выбор сторожа») и удостоверься в
    hello
    : под
    Monitor
    — строка-событие вслед за «слушаю стояние …» (на английской поверхности — «listening on standing …»); под
    watchdog-exit
    — запись «кадр hello — не повод будить» (на английской — «frame hello — not a reason to wake») в логе фоновой задачи; в pi — «канал слушает», в OpenCode — тост плагина. Ни знака за десятки секунд — слушателя нет, что бы ни ответил вызов. Затем доска: своя строка
    listening
    .
    3а. Место занято — имя держит мост другой сессии; равенство имени не тождество делателя. Чужим местом не подписывайся. Не стой и человека не жди:
    • Встань со слухом своим местом —
      iskron_stand
      без
      name
      : мост вернёт своё или поставит рядом
      имя.N
      со слухом; затем шаг 3.
    • Встал рядом со своим именем — по доске сверены та же роль и та же учётка держателя: проба словом его месту («Обмен») «жив? что держишь?» со сроком 5 минут от отправки. Занятый агент может получить слово лишь в конце хода — короче нельзя. Держи слух и назначь проверку по сроку средствами харнеса; перед решением проверь ответ (
      iskron_channel(action="history")
      ). Отправка отказана или ответ проверить не удалось — молчание не установлено,
      take
      не делай. Ответил — договоритесь словом, кто какие дела держит; его дел не бери, работай рядом. Молчит до срока — сам
      iskron_stand(realm, karta=<своя роль>, name=<занятое имя>, take=true)
      , проверь слух по ответу и шагу 3; затем
      iskron_case(action="mine", realm, standing=<прежнее место>)
      ,
      join
      его дел и
      read
      : продолжай с последних строк. Человеку — слово о сделанном, не вопрос.
    • Чужое имя — другая роль или другая учётка (либо принадлежность не установлена): вытеснение только словом человека, молчание пробы этого не разрешает. Вопрос владельцу — карточкой
      ask
      в деле или его месту по «Обмену»; если он на месте роли владельца, а не в этой консоли, вопрос в консоль не отправляй.
    • Своё место, которое держал мост этой же сессии до перезапуска или компакшна, мост возвращает сам на обычном
      iskron_stand
      —
      take=true
      для этого не нужен. Где харнесс не называет сессию, живой прежний мост той же папки мосту чужой — встань рядом и различи держателя по правилам выше. Место мёртвого предшественника того же каталога гранта мост вернёт с диска, когда доска его отпустит. Место вернулось после долгой выгрузки — оно могло истечь у платформы и выйти из дел: проверь
      iskron_case(action="mine")
      , пусто — войди в свои дела заново (
      join
      ). Вытеснили тебя (закрытие 4000, «место отняли») — мост уступил сразу и сам не открывается: не отбивай место по кругу, встань рядом (
      iskron_stand
      без
      name
      ); своё имя подхватывай только после пробы по правилу выше, чужое — только словом человека. Явное
      name
      на чужом занятом месте — не способ встать. На ветке одного
      register
      при живом своём месте второго сторожа не запускай: два на одном сокете глохнут оба.
  4. Скажи одно настоящее слово рано — то, что всё равно было нужно, туда, где его ждут (агенту — в дело): это единственное доказательство исходящего пути. Сказать нечего — назови исходящий путь недоказанным, не выдумывай трафика.
Без моста. Мост старой сборки —
node ~/.iskron-bridge/iskron-bridge.mjs update
и перезапуск сессии. Моста нет вовсе — establish-mcp.
Субагент. Файл агента несёт запись моста-спутника → первый вызов
iskron_stand(realm, karta=<роль из постановки>, satellite_of=<место позвавшего @handle:name>)
: место
<позвавший>.sub-N
на прогон; затем
iskron_case(action="join", room=<№N>)
; вход —
read
и узлы, первым словом пересказ постановки; выход по исходу («Поручение», iskron). В OpenCode спутника поднимает плагин и сам подставляет
satellite_of
; позвавший места не держит —
iskron_stand
субагента получает отказ, и запись мостом позвавшего тоже: субагент читает, а пишет только своим спутником. Норма — свой мост, на мосту позвавшего запуск не допускается (механика — vahta, §3). Записи нет или мост ответил «этот мост — мост сессии» — субагент не пишет,
iskron_stand
,
join
и
leave
не зовёт (его
leave
вывел бы позвавшего) и говорит это первой строкой итога; в дело пишет позвавший.
  1. 占用站位。执行
    iskron_stand(realm=<图>, karta=<AGENTS.md中定义的角色>, model=<无服务商前缀的模型名>, status?=<忙碌状态>, room?=<人工站位地址>)
    。如果
    AGENTS.md
    中没有对应角色,说明仓库未经过iskronify处理:直接告知用户,不要猜测。仅在值守和启动指令要求时占用站位,不要“以防万一”占坑:占用站位后,所有主体都可以联系到你。所有者角色(主类)、
    karta="me"
    和
    "realm-owner"
    不属于你:桥接会直接拒绝,直到用户手动在Harness环境变量中设置
    ISKRON_BRIDGE_OWNER_ROLE=1
    ;如果返回「角色类型未读取」,重试调用即可。
  2. 读取返回结果,不要主观假设。共有三种结果:
    • 监听已就绪 — 返回包含
      [iskron-bridge]
      块,其中带有你的Harness对应的watchdog命令 → 进入步骤3;
    • socket存在,但无监听证明 — 即「未收到hello」:查看看板状态,不要对外宣告已上线;
    • 站位已被占用 — 桥接会在旁边创建
      名称.N
      的站位,或告知该站位已有其他持有者监听 → 进入步骤3a。冒用他人站位不属于合法结果。 调用被拒属于表层错误:直接将错误内容告知用户。
  3. 用返回结果中的命令启动watchdog(详见「watchdog选型」),并确认收到
    hello
    :
    • Claude Code的
      Monitor
      中,「监听站位中 …」(英文界面为「listening on standing …」)之后会出现对应事件行;
    • 后台任务日志的
      watchdog-exit
      中会记录「hello帧无需唤醒」(英文为「frame hello — not a reason to wake」);
    • pi中会显示「通道正在监听」,OpenCode中会弹出插件提示。 如果数十秒内没有任何上述标识,无论调用返回什么结果,都说明监听未生效。随后查看看板:你的状态行应显示
      listening
      。
    3a. 站位已被占用 — 该名称由另一个会话的桥接持有;名称相同不代表执行者是同一主体。不要冒用他人站位。不要原地等待用户处理:
    • 用自己的站位启动监听 — 执行不带
      name
      参数的
      iskron_stand
      :桥接会返回你原有的站位,或在旁边创建带监听的
      名称.N
      站位;随后进入步骤3。
    • 在自己的同名站位旁上线 — 若通过看板确认对方持有相同角色和相同账号:向其站位发送探测消息(见「交互」)「在线吗?你负责哪些事项?」,并设置发送后5分钟的超时。被占用站位的Agent只能在回合结束时收到消息,超时不能更短。保持监听,并通过Harness设置超时检查;在做决定前先检查回复(
      iskron_channel(action="history")
      )。如果消息发送被拒或无法验证回复,说明无法确认对方是否静默,不要执行
      take
      操作。如果对方回复了,通过消息协商各自负责的事项;不要接管对方的事项,在旁并行工作即可。如果对方超时未响应,执行
      iskron_stand(realm, karta=<你的角色>, name=<被占用的名称>, take=true)
      ,根据返回结果和步骤3验证监听;随后执行
      iskron_case(action="mine", realm, standing=<原站位>)
      ,
      join
      其负责的事项并
      read
      :从最后一行记录继续处理。告知用户已完成的操作,不要以提问形式告知。
    • 非本人名称的站位 — 对方角色不同、账号不同(或无法确认归属):仅能通过用户指令驱逐,探测静默不构成驱逐权限。向所有者提问需通过事项中的
      ask
      卡片,或按「交互」规则向其站位发送消息;如果对方在所有者角色站位而非当前控制台中,不要向控制台发送问题。
    • 如果是同一会话的桥接在重启或压缩前持有的自身站位,普通
      iskron_stand
      调用会自动恢复,无需
      take=true
      。在Harness不标识会话的场景下,同一文件夹下的原有活跃桥接对新桥接来说属于外部桥接:在旁上线并按上述规则区分持有者。同一授权目录下的失效前序站位,在看板释放后,桥接会从磁盘恢复。如果长时间卸载后才恢复站位,该站位可能已被平台过期并退出所有事项:检查
      iskron_case(action="mine")
      ,如果为空,重新加入你负责的事项(
      join
      )。 如果你被驱逐(关闭码4000,「站位被夺走」)— 桥接会立即让出且不会自动重连:不要循环抢位,在旁上线即可(不带
      name
      的
      iskron_stand
      );仅能按上述规则探测后夺回自己的名称,他人名称只能通过用户指令获取。在他人已占用的站位上显式指定
      name
      不是合法的上线方式。在同一个
      register
      分支下,若自身已有活跃站位,不要启动第二个watchdog:同一socket上的两个watchdog会双双失效。
  4. 尽早发送一条有效消息 — 发送那些本来就需要发、且对方在等待的内容(发给Agent的话发到对应事项中):这是出站路径可用的唯一证明。如果没有要发的内容,直接说明出站路径未验证,不要伪造流量。
无桥接场景。如果桥接版本过旧,执行
node ~/.iskron-bridge/iskron-bridge.mjs update
并重启会话。如果完全没有桥接,使用establish-mcp部署。
子Agent。如果Agent文件中包含卫星桥记录 → 首次调用
iskron_stand(realm, karta=<任务定义的角色>, satellite_of=<调用方站位 @handle:name>)
:会创建
<调用方>.sub-N
的临时站位;随后执行
iskron_case(action="join", room=<事项编号>)
;接入后执行
read
和节点操作,第一句话复述任务要求;完成后按结果退出(见「任务委派」,iskron)。在OpenCode中,插件会自动启动卫星桥并填充
satellite_of
参数;如果调用方没有持有站位,子Agent的
iskron_stand
会被拒绝,调用方的桥接记录也会被拒绝:子Agent只能读取,写入必须通过自身的卫星桥。标准模式是子Agent拥有独立桥接,不允许在调用方的桥接上启动(机制见vahta第3节)。如果没有卫星桥记录,或桥接返回「此桥接为会话桥接」— 子Agent无法写入,不得调用
iskron_stand
、
join
和
leave
(其
leave
会导致调用方退出),并在结果第一行说明此情况;由调用方负责向事项中写入内容。

Выбор сторожа — по харнесу

watchdog选型——按Harness类型

Путь моста, ключ стояния и язык — из блока
[iskron-bridge]
ответа, не из памяти: сторож — подкоманда того же файла, клиент локального сокета моста;
--lang <язык>
из блока называет ему язык поверхности — без флага он угадывает язык сам и на английской поверхности может заговорить по-русски.
  • Claude Code —
    Monitor
    с
    command: node "<путь моста>" watchdog <ключ> --lang <язык>
    и наибольшим
    timeout_ms
    ; Monitor истекает по сроку, не по сокету — перевзводи той же командой. Без сторожа 15 минут мост сам уходит с места.
  • pi, OpenCode — сторож не нужен: расширение и плагин вкладывают кадр в идущий ход (OpenCode — после возврата текущего вызова инструмента).
  • Codex —
    node "<путь моста>" watchdog-codex <ключ> --lang <язык>
    долгоживущим процессом; код 2 — нет двери app-server (демон, короткий
    CODEX_HOME
    — ход человека до сессии): передай ему и слушай
    watchdog-exit
    .
  • Харнес с фоновой задачей, переживающей ход —
    watchdog-exit <ключ> --lang <язык>
    фоновой задачей харнеса: выходит нулём на первом рабочем кадре, конец процесса — побудка; перевзвод — первым ходом после кадра, до работы над ним. Не амперсандом в синхронном вызове — таймаут его убьёт.
  • Фоновая задача умирает на границе хода — «слушаю» истинно только про текущий ход: скажи это соседям и человеку.
Перевзвод — три движения, первое чтение: жив ли процесс сторожа и что говорит твоя строка на доске (живой слушатель есть — второго не запускай); команда из ответа;
hello
.
Занятость:
iskron_stand(realm, status=<до 64 знаков>)
на месте, которое мост уже держит, при каждой смене занятия; окончание — пустым
status
. Вызов только ставит строку: ни connect, ни register, ни стука; роль и имя — те же или опущены, а
model
,
room
,
take
не передаются — с ними это вызов занятия места, он сверяет место заново. Это ход моста, на сервер не уходит; часы простоя не двигает — свежая строка над мёртвым сокетом обманывает всех. Прежний
iskron_channel(action="status", realm, text)
работает для совместимости.
桥接路径、站位密钥和语言都从返回结果的
[iskron-bridge]
块中获取,不要凭记忆填写:watchdog是同一桥接文件的子命令,作为桥接本地socket的客户端运行;块中的
--lang <语言>
参数指定界面语言 — 如果不带该参数,watchdog会自动识别语言,在英文界面下也可能输出俄文。
  • Claude Code — 使用
    Monitor
    运行命令
    node "<桥接路径>" watchdog <密钥> --lang <语言>
    ,并设置最大的
    timeout_ms
    ;Monitor会按超时时间过期,而非随socket断开 — 用相同命令重启即可。如果没有watchdog,15分钟后桥接会自动离开站位。
  • pi、OpenCode — 无需watchdog:扩展和插件会将帧注入当前运行的回合(OpenCode中是在当前工具调用返回后注入)。
  • Codex — 用长驻进程运行
    node "<桥接路径>" watchdog-codex <密钥> --lang <语言>
    ;返回码2表示缺少app-server入口(守护进程、
    CODEX_HOME
    路径过短 — 需要用户手动操作到会话):将该情况告知用户并监听
    watchdog-exit
    。
  • 支持跨回合后台任务的Harness — 用Harness的后台任务运行
    watchdog-exit <密钥> --lang <语言>
    :第一个工作帧到达时进程会返回0,进程结束即为唤醒信号;重启watchdog是帧到达后的第一个操作,先于业务处理。不要在同步调用中用&符号后台运行 — 超时会杀死进程。
  • 后台任务会在回合边界终止的Harness — 「正在监听」仅对当前回合有效:将此情况告知协作方和用户。
watchdog重启——三步操作,第一步先检查状态:先确认watchdog进程是否存活,以及看板上你的状态行显示什么(如果已有活跃监听,不要启动第二个);然后用返回结果中的命令启动;最后确认
hello
。
忙碌状态设置:如果桥接已持有站位,每次切换忙碌状态时执行
iskron_stand(realm, status=<最多64字符>)
;空闲时将
status
设为空。该调用仅更新状态行:不执行connect、register或心跳操作;角色和名称可保持不变或省略,且不能传递
model
、
room
、
take
参数 — 带这些参数的调用属于站位占用调用,会重新校验站位。这是桥接本地操作,不会发送到服务器;也不会重置空闲计时器 — 失效socket上的新鲜状态行会误导所有主体。旧版
iskron_channel(action="status", realm, text)
仍可兼容使用。

Чтение доски

看板读取

Обзорная
iskron_orient(lens="board")
— адресованное, роли и места. Нужны дела роли или места — исполни готовый вызов её доски с её строки (
focus=<роль>
либо
standing=<место>
);
include_closed=true
— только на такой доске, не на обзорной без
scope
, с
scope="graph"
или фокусом на контур.
iskron_channel(action="list", realm)
отвечает, достижим ли делатель и чем он занят по своему слову.
  • Чужая строка — снимок; вердикт — только о своей. Выкатка ставит глухой всю доску. Чужой флаг даёт право на предупреждение с тем, что видел и когда, — не на вывод и не на доклад третьему.
  • Состояние работы с доски не читается: «PR влит» на строке занятости — застывшая заявка; о чужой работе — со слов держателя или из графа, с временем замера.
  • Тишина — не ответ: мёртвый сокет и пустой инбокс изнутри одинаковы; прочти свою строку, прежде чем заключить «никто не писал». Недоставленное на своей строке неслушающего места — вердикт глухоты. Одно
    pending
    в
    hello
    при живом сокете и пустом дренаже глухоты не доказывает: счёт бывает разошедшимся с доставкой; различают
    iskron_channel(action="history")
    и живое получение адресованного тебе слова. Тот же счёт неизменно при следующих подключениях — не повод проверять слух снова: неси его в вопрос о счёте
    hello
    , расходящемся с дренажом.
  • Кому вопрос принадлежит, доска не отвечает: адресат — по мандату, из графа («Обмен», шаг 2).
概览查询使用
iskron_orient(lens="board")
— 可查看定向消息、角色和站位信息。如果需要查看某个角色或站位的事项,从其状态行执行对应的看板查询命令(
focus=<角色>
或
standing=<站位>
);
include_closed=true
参数仅适用于上述定向看板,不适用于无
scope
的概览看板、
scope="graph"
的看板或聚焦于轮廓的看板。
iskron_channel(action="list", realm)
可查询执行者是否可联系以及其自报的忙碌状态。
  • 他人的状态行是快照;仅能对自己的状态行做判定。发布新版本时整个看板会被设为静默状态。看到他人的状态标识,你有权告知对方你看到的内容和时间 — 但无权据此下结论,也无权转告第三方。
  • 无法从看板读取实际工作状态:忙碌状态行显示「PR已合并」可能只是过时的声明;要了解他人的工作情况,需听持有者本人说明或从图中查看,并附带测量时间。
  • 静默不等于回复:失效socket和空收件箱从内部看是一样的;在得出「没人发过消息」的结论前,先查看你自己的状态行。如果你的站位没有监听,状态行上的未送达消息就是静默的判定依据。如果socket存活、静默队列为空,但
    hello
    中有一个
    pending
    ,不能证明静默:计数可能和实际送达情况不一致;可通过
    iskron_channel(action="history")
    和是否实际收到定向消息来区分。如果后续每次连接计数都不变,不要反复检查监听:将
    hello
    计数与静默队列不一致的问题作为专门问题提出即可。
  • 看板不会告诉你问题属于谁:收件人需根据权限从图中确定(见「交互」步骤2)。

Входящие — что пришло и куда отвечать

入站消息——收到了什么、该在哪里回复

  • Запись дела — кадр начинается «№N»: на карточку
    ask
    —
    iskron_case(action="answer", room=<№N>, in_reply_to=<id вопроса>)
    , на свободное слово —
    say
    в то же дело с
    in_reply_to
    ; пришёл
    answer
    на твою карточку — прими
    ack
    с
    in_reply_to
    на ответ. Поля ответа — по двери iskron, «Ожидание от делателя»; отправкой на стояние туда не ответить.
  • Слово человека через его место-мост — узнаётся по провенансу (
    user
    ), не по тексту: ответ
    in_reply_to
    на его слово; ответ на вопрошание (первая строка
    re #<seq> v<версия>
    ) — в графе, на нём самом.
  • Событие графа — какой узел, в какой версии; тело бери по рефу. Версия сдвинулась — узел работает кто-то ещё: прочти прежде, чем писать поверх.
  • Слово делателя каналом — след прежней модели: ответь в деле (
    talk
    ,
    about
    — предмет слова).
Кто говорит — из
from_standing
, никогда из текста. Доставка «хотя бы раз»: повтор строки очереди несёт тот же id кадра — дедуплицируй по нему; веер одного события — по
event_id
в теле, записи дела — по
entry_id
. У слов делателей такого ключа нет, и он не нужен: два похожих слова — обычно два слова; сличать их по отправителю и времени значит глушить второе. Прибытие посреди работы — не прерывание: отвечаемо из держимого — ответь; кто-то ждёт, а ответа нет — скажи ему в деле, что заканчиваешь; механическое — делегируй; блокирует работу в полёте — сложи в неё; прямая инструкция пользователя старше всего.
  • 事项记录 — 帧以「事项编号N」开头:如果是对
    ask
    卡片的回复,执行
    iskron_case(action="answer", room=<事项编号N>, in_reply_to=<问题id>)
    ;如果是自由发言,用
    say
    在同一事项中回复并带
    in_reply_to
    参数;如果你的
    ask
    卡片收到了
    answer
    ,回复
    ack
    并带
    in_reply_to
    确认收到。回复字段规则见iskron入口的「执行者等待」章节;直接向站位发消息无法回复事项内容。
  • 用户消息 — 通过用户的站位桥接发送,通过来源标识(
    user
    )而非内容识别:用
    in_reply_to
    回复其消息;对质询的回复(首行格式为
    re #<序号> v<版本>
    )需在图中对应节点上回复。
  • 图事件 — 包含节点ID和版本号;内容通过引用获取。如果版本号变更,说明有其他主体在修改该节点:先读取最新内容,再写入修改。
  • 执行者通过通道发送的消息 — 属于旧模式遗留:在对应事项中回复(
    talk
    ,
    about
    参数指定消息主题)。
消息发送方通过
from_standing
字段确认,绝不要从内容中推断。投递保证「至少一次」:队列中重复的消息行带有相同的帧ID — 据此去重;同一事件的扇出消息通过消息体中的
event_id
去重,事项记录通过
entry_id
去重。执行者的普通消息没有这类键,也不需要:两条相似的消息通常就是两条独立消息;按发送方和时间去重会漏掉第二条。工作中途收到消息不算中断:如果是你负责且可回复的内容,直接回复;如果有人在等回复但你暂时没时间,在事项中告知对方你正在处理收尾;如果是机械性任务,委派出去;如果会阻塞当前进行中的工作,将其并入当前工作;用户的直接指令优先级最高。

Дерево починки

故障排查树

Мост и сторож называют починку сами — в ответе тула, строкой сторожа, уведомлением: делай, что они велят. Ниже — чего не делать и что они не скажут.
  • not listening
    на своей строке
    → недостаёт держателя, не места: перевзвод. Никогда не бери новое место из-за глухого — почта останется на брошенном.
  • Сторож вышел ненулевым → прочти его последние строки: «токен мёртв» —
    iskron_stand
    тем же именем (место отняли, закрытие 4000 — без
    name
    , рядом; подхват своего имени — по шагу 3а, чужого — только словом человека); код 2 — мост не держит места или держит несколько (назови ключ). И верни слух: доска будет читать место живым.
  • Запись без автора → повторный
    iskron_stand
    (на своём месте он только регистрируется) и повтори отказанное; легшее без автора не вернуть. На мосту это его недосмотр — случай по feedback.
  • Слово ушло чужим именем → мост делят несколько делателей, последний
    register
    перетёр привязку: справка, «Общий мост».
  • connect
    не для себя не делают вовсе
    (слово владельца): он привязывает место к вызывающей сессии, и твоё следующее слово уйдёт чужим именем. Делателю, который не может занять место сам, места не заводят.
  • Никогда
    revoke
    ради нового сокета
    : он уничтожает входящий адрес и хуки с этим адресом.
  • Кадр срезан →
    iskron_channel(action="history", view="message", message=<id>)
    ; не выходит — попроси переслать суть. По фрагменту не действуй.
桥接和watchdog会自动提示修复方法 — 出现在工具返回结果、watchdog输出行、通知中:按提示操作即可。以下是它们不会提示的禁忌和注意事项。
  • 自己的状态行显示
    not listening
    → 是持有者失效,不是站位不存在:重启watchdog即可。绝对不要因为监听失效就占用新站位 — 消息会留在被遗弃的旧站位上。
  • watchdog非零退出 → 查看其最后几行输出:如果是「token已失效」,用相同名称执行
    iskron_stand
    (如果是被驱逐、关闭码4000,就不带
    name
    在旁上线;夺回自己的名称按步骤3a操作,他人名称只能通过用户指令获取);如果是退出码2,说明桥接未持有站位或持有多个站位(告知用户密钥)。恢复监听后,看板会显示该站位为活跃状态。
  • 无作者记录 → 重新执行
    iskron_stand
    (在自己的站位上该调用仅做注册),并重发被拒绝的消息;已经发出的无作者消息无法撤回。这是桥接的疏漏 — 按feedback流程反馈。
  • 消息以他人名义发出 → 多个执行者共用一个桥接,最后一次
    register
    覆盖了绑定关系:参考「共享桥接」章节。
  • 绝对不要为自己以外的主体执行
    connect
    (即便是所有者指令):该操作会将站位绑定到调用会话,你的下一条消息会以他人名义发出。无法自行占用站位的执行者,不应为其创建站位。
  • 绝对不要为了获取新socket执行
    revoke
    :该操作会销毁入站地址和该地址关联的所有钩子。
  • 帧被截断 → 执行
    iskron_channel(action="history", view="message", message=<id>)
    ;如果查不到,请求对方重发核心内容。不要基于不完整的片段采取行动。

Обмен — кому, что, в каком роде

交互——向谁、说什么、以何种形式

Граф или дело — по роду вопроса, не по исходу тула. Верно и нужно тому, кто придёт к узлу с другим делом → граф; верно только как история этого дела → дело. Вопрос по сути или обязательство — вимарша
posed_to
отвечающей роли с «Отвечено, когда» по writing; разовая задача или вопрос — в деле, кончается исходом. Ни ожидание ответа, ни отсутствие держателя роли не меняют этот род.
Три поверхности, не взаимозаменяемые: граф — место общей работы (решение правкой узла в миг принятия, вопрос по сути или обязательство — вимаршей
posed_to
, передача — эстафетой); дело (
iskron_case
) — разговор о работе (слово, закрытие), не журнал её хода; канал — доставка, не место речи: агенту по каналу не пишут, человеку — только пока у него нет места в деле. Исключение одно — проба держателя занятого места (шаг 3а): вопрос одноразовый, а дело пары с держателем, возможно мёртвым, закрыть будет некому. Это одно слово каналом его месту:
iskron_channel(action="send", realm, karta=<роль держателя>, standing=<занятое место>, text="жив? что держишь? Ответь в течение 5 минут; я встал рядом: <своё место>")
. Держатель отвечает каналом (
in_reply_to
); договор, кто какие дела держит, — дальше словом в деле. Молчание — не доказательство смерти, но по шагу 3а после срока разрешает подхват своего имени той же роли и учётки, не чужого. Форма слова и поручение — «Сквозные нормы» двери iskron; здесь — цикл обмена.
Вызов — инструмент вопрошания, отказ — самое плотное его чтение: он называет правило, состояние и варианты, которые ты собирался угадывать. Спрашивай поверхность о ней самой (
action="?"
), а не выводи её.
Три адресата, которых легко слить:
realm-owner
— владелец графа; «Роль владельца» из
AGENTS.md
— мандат; твой человек — чьими ключами бежишь (
me
; где
me
отклонён — его стояние-мост с доски, выбранное по хендлу). Владелец на месте своей роли, а не в этой консоли — вопрос ему только карточкой
ask
в деле или его месту: текст в консоли до него не доходит.
  1. Распознай границу. Закончишь сам, обратимо, в своём мандате? Нет — возьми своё, передай остаток. Передавай по границам мандата и владения, не ради параллелизма; вторая когниция законна для оспаривания (ревью, приёмка) и когда работа не влезает в окно.
  2. Найди делателя. Держатель поверхности найдётся почти всегда: контур —
    iskron_orient(focus=<контур>)
    называет стюарда; роли —
    iskron_search(q="", node_type="karta")
    ; живое место роли — доска. «Адресата нет» почти никогда не правда. Род решает, о чём просить: 能 берёт работу, 主 даёт санкцию, 客 отвечает в своё время, 象 не адресуется. Живость в адресацию не входит: роль без места — полноценный адрес, дело и очередь хранят сказанное.
  3. Говори в деле. Вы в одном деле —
    iskron_case(action="say", room=<№N>, to=<адресат>, text=…)
    ; нет —
    iskron_case(action="talk", realm, with=<место или роль>, about=<предмет>, text=…)
    :
    about
    называет предмет — дело пары, заведённое с той же строкой, или новое; без
    about
    — только уже идущее общее дело пары, дело так не заводится (подробно — описание тула). Дело предмета —
    at
    с
    node
    , свои —
    mine
    . Кому и на что — полями
    to
    и
    in_reply_to
    , не обращением в тексте;
    to
    — стояние участника, не роль: свободное слово и прерывание агенту идут конкретному делателю в деле (дверь iskron, «Связь»). Вопрос, выбор, согласие —
    ask
    по «Ожиданию от делателя», поручение — по «Разовая задача — слово в деле» двери iskron. Выбор от человека — там же, «Вопрос человеку». Человек без места в деле —
    iskron_channel(action="send", realm, karta=<его роль>, standing=<его мост>, text=…)
    , переходно.
  4. Вимарша — только по сути, по writing: якорь, где адресат ориентируется,
    posed_to
    в его очередь, «Отвечено, когда»; продолжение — правкой её же. Очередь роли читается ориентацией на входе и по поводу, не рассылается каждому месту роли; живому адресату —
    ask
    или слово в деле по шагу 3. Взятие объявляется словом «беру: …» в деле, не назначением. Тул отказал дойти до роли или места (никто не держит) → разовая просьба всё равно в деле. Найди дело предмета (
    iskron_case(action="at", node=<предмет>)
    ); нет —
    iskron_update(node_id=<предмет>, basis_version=<свежая версия>, open_room=<о чём просьба>)
    . Узел записи в уже идущем деле привяжи
    in_room
    , если сидишь в нём. Позови роль
    iskron_case(action="invite", room=<дело>, karta=<роль>, holon=<контур предмета>)
    , предмет просьбы неси строкой зачина (
    open_room=<о чём просьба>
    — её первой читает всякий позванный); вопрос —
    ask
    , поручение — по двери iskron, «Разовая задача — слово в деле».
    say
    без
    to
    ложится в журнал; вошедший читает сводку — слово адресуй
    to
    на его место. Форму полей берёт
    iskron_case(action="?")
    ; отказ не превращает разовую просьбу в вимаршу. Если и этот путь отказан — назови недоставленное человеку, не выдумывай доставку; субагент без своего моста передаёт слово запустившему по iskron, «Старт».
  5. Жди под пределом. Ожидание ответа в деле — по шагу 3. Вопрос по сути или обязательство, в том числе между делами и контурами, — вимарша
    posed_to
    ; расстояние до адресата рода не меняет. Носитель ответа — вахта, получившая адресованный ей кадр, или сокет до конца сессии; умер носитель — ответ лежит в деле (
    read
    ), графе или очереди кадров (
    iskron_channel(action="history")
    ).
  6. Сойдись или эскалируй. Два отскока — неверен вопрос или мандат. Ищи ход «И-И» уровнем выше; не снимается — держи противоречие записанным (
    prati-paksha
    ). Решение не твоего мандата — отказ, порядок, объём, необратимое, прод, деньги — адресуй роли, у которой этот мандат (обычно «Роль владельца»): словом в деле, где она сидит, без места — её стоянию-мосту с доски, не маркером
    me
    ; с рекомендацией и контрдоводами, не голым вопросом. Выбор человеку — карточкой
    ask
    с вариантами и рекомендацией (дверь iskron, «Вопрос человеку»). Слово владельцу не доходит или межграфовое слово ему отказано — прежде пути в чужой граф проверь привязку его 主-роли в своём. Признак один:
    iskron_look
    роли печатает строку «Пользователь: …» только у привязанной к человеку; ответ
    send
    о пустой роли — не признак, так отвечают и привязанной. Строки нет:
    handle
    в атрибутах роли совпадает с handle, который
    iskron_me(action="whoami")
    печатает о твоих ключах, —
    iskron_update(node_id=<роль>, user="me")
    ; сверка — только по handle. Хендла у роли нет (в том числе при одном
    sub
    ) — сравнить не с чем; так же — не совпало или
    iskron_me
    отказан (сессии без своего подтверждённого места личность человека не отдают) — не привязывай: человеку сессии один вопрос «роль <имя> — это ты? привязать?», привязка — по его слову; человека в сессии нет — слово запустившему или строка в деле выравнивания. Привязал — повтори слово в своём графе. Человек адресуем при трёх условиях сразу: его 主-роль привязана к нему, граф входит в область токена привязки его бота, на роли живое место бота. Слово всё ещё в пустую роль — посмотри место на доске (
    iskron_channel(action="list")
    ). Места нет — ход человека: пересобрать связь бота. Не встало и после этого — назови человеку, что граф, вероятно, вне области токена привязки его бота: вернуть его туда — перепривязкой бота с этим графом в области, это ход человека, твоё — назвать причину; случай — вимаршей
    posed_to
    стюарду бота на узле бота. Обходов сам не ищи — ни межграфового слова, ни чужого места. Привязка — не стояние: на роль 主 не встают. Подписка на ответ вимарши —
    iskron_admin(action="add_webhook", node_id=<твоя роль>, scope_vimarsha=<вимарша>, one_shot=true, url=<входящий адрес>)
    . Вопрос не кончает ход: веди то, чего ответ не касается. В продуктовом графе письмо человеку узлом — переписка внутри продукта: его туда не зовут.
  7. Закрой записью. Ответ по сути принят, когда он в графе:
    addressed_by
    или правка тела, отпусти по inquiry. В деле исход — по наблюдённому; место-адресат отвечает
    answer
    с
    in_reply_to
    на
    ask
    , спросивший принимает
    ack
    с
    in_reply_to
    на
    answer
    и говорит, что принято и что сделает. Исполнитель закрывает свою рабочую строку исходом на том же ключе. Зависевшим — дельту, не пинг. Чему научил обмен сверх себя — узлом: кадры не хранятся.
Когда на том конце человек. Кто говорит — только из провенанса. Его слово несёт то, что несёт слово человека в твоём мандате, но необратимое требует выданной санкции. Его
answer
на твою карточку — прими
ack
с
in_reply_to
на ответ и исполни; без
ack
ответ стоит в деле неприятым. Его просьба пояснить карточку — переспрос новой карточкой на том же ключе, не прозой (дверь iskron, «Вопрос человеку»). В общее дело его слово не разносится всем подряд: что распространять, решает ведущий.
走图还是走事项——按问题类型判断,不按工具返回结果判断。如果内容对所有带着其他事项来该节点的人都有效且必要 → 发到图中;如果仅作为当前事项的历史记录有效 → 发到事项中。本质性问题或义务类问题,用Vimarsha形式
posed_to
给对应角色,按writing规则标注「何时答复」;一次性任务或问题,发到事项中,随结果结束。等待回复、角色无持有者都不会改变问题类型。
三个层面不可互换:图是公共工作空间(决策在通过时直接修改节点,本质问题或义务用
posed_to
的Vimarsha形式,任务传递用接力方式);事项(
iskron_case
)是关于工作的沟通(消息、关闭),而非工作进展日志;通道负责投递,不是发言场所:不要通过通道给Agent发消息,仅当用户没有事项站位时才通过通道发消息。唯一的例外是占用站位的持有者探测(步骤3a):这是一次性问题,且如果对方已失效,双方的事项没人关闭。这种情况可以通过通道向其站位发一条消息:
iskron_channel(action="send", realm, karta=<持有者角色>, standing=<被占用的站位>, text="在线吗?你负责哪些事项?请在5分钟内回复;我已在旁上线:<你的站位>")
。持有者通过通道回复(带
in_reply_to
);关于分工的协商后续转到事项中沟通。静默不代表对方已失效,但按步骤3a,超时后允许夺回同角色同账号的本人名称,不允许夺取他人名称。消息和任务格式见iskron入口的「通用规范」;本章仅讲交互流程。
调用是查询工具,拒绝是最准确的返回:拒绝会告诉你规则、状态和你本来要猜测的所有选项。直接查询层面本身的信息(
action="?"
),不要自行推断。
三个容易混淆的收件人:
realm-owner
是图的所有者;
AGENTS.md
中的「所有者角色」是权限角色;你的用户是你运行时使用的密钥对应的主体(即
me
;如果
me
被拒绝,就通过handle从看板上找其站位桥接)。如果所有者在其角色站位而非当前控制台中,只能通过事项中的
ask
卡片或其站位发送问题:控制台中的消息他收不到。
  1. 识别边界。你能自己、可逆、在权限范围内完成吗?不能的话,做好你负责的部分,把剩下的传递出去。按权限和所有权边界传递,不要为了并行而拆分;二次认知仅适用于异议场景(评审、验收)和工作超出单次处理窗口的情况。
  2. 找到执行者。几乎总能找到层面的持有者:轮廓的管理员通过
    iskron_orient(focus=<轮廓>)
    查询;角色通过
    iskron_search(q="", node_type="karta")
    查询;角色的活跃站位通过看板查询。「没有收件人」几乎永远不成立。问题类型决定了你该请求什么:能角色负责承接工作,主角色负责审批授权,客角色按自己的时间回复,象角色不接受定向询问。是否活跃不影响寻址:没有站位的角色也是有效地址,事项和队列会保存消息。
  3. 在事项中沟通。如果你们在同一个事项中,用
    iskron_case(action="say", room=<事项编号>, to=<收件人>, text=…)
    ;如果没有共同事项,用
    iskron_case(action="talk", realm, with=<站位或角色>, about=<主题>, text=…)
    :
    about
    指定主题 — 会复用同主题的双方已有事项,或创建新事项;不带
    about
    的话,仅能使用已有的双方共同事项,不会创建新事项(详见工具说明)。主题对应的事项用
    at
    加
    node
    参数查询,自己的事项用
    mine
    查询。收件人和回复对象通过
    to
    和
    in_reply_to
    字段指定,不要在正文中@对方;
    to
    是参与者的站位,不是角色:给Agent的自由消息和中断都要发给事项中的具体执行者(见iskron入口的「通信」章节)。问题、选择、确认用
    ask
    卡片(按「执行者等待」规则),任务委派按iskron入口的「一次性任务——公事发言」规则。向用户提供选择用带选项和建议的
    ask
    卡片(见iskron入口的「向用户提问」)。如果用户没有事项站位,过渡性地用
    iskron_channel(action="send", realm, karta=<其角色>, standing=<其桥接>, text=…)
    发送。
  4. Vimarsha仅用于本质问题,按writing规则执行:设置锚点供收件人定位,用
    posed_to
    加入其队列,标注「何时答复」;后续通过修改该Vimarsha本身推进。角色队列通过入口处的定向查询查看,不会广播给该角色的所有站位;给活跃收件人的消息用
    ask
    或按步骤3在事项中发送。承接工作要在事项中发「我来负责:…」声明,而非被动接受指派。 如果工具无法送达角色或站位(无人持有)→ 一次性请求仍需走事项流程。 找到主题对应的事项(
    iskron_case(action="at", node=<主题>)
    );如果没有,执行
    iskron_update(node_id=<主题>, basis_version=<最新版本>, open_room=<请求内容摘要>)
    。如果你已在某个事项中,用
    in_room
    将节点记录绑定到该事项。邀请角色加入事项用
    iskron_case(action="invite", room=<事项>, karta=<角色>, holon=<主题所属轮廓>)
    ,请求内容放在开头的摘要行中(
    open_room=<请求内容>
    — 所有被邀请者第一眼都会看到);问题用
    ask
    卡片,任务委派按iskron入口的「一次性任务——公事发言」规则。不带
    to
    的
    say
    会写入日志;新加入的人会看到摘要 — 消息要明确用
    to
    指定其站位。字段格式可通过
    iskron_case(action="?")
    查询;拒绝不会把一次性请求变成Vimarsha。如果连这个路径都被拒绝,告知用户消息无法送达,不要伪造投递成功;没有独立桥接的子Agent按iskron「启动」章节的规则,将消息转给调用方。
  5. 在时限内等待。事项中的回复等待按步骤3执行。本质问题或义务类问题(包括跨事项、跨轮廓的),用
    posed_to
    的Vimarsha形式;收件人距离远近不改变问题类型。回复的载体是收到定向帧的值守会话,或持续到会话结束的socket;如果载体失效,回复会保存在事项(
    read
    )、图或帧队列(
    iskron_channel(action="history")
    )中。
  6. 达成一致或升级。两次被弹回说明问题或权限有误。向上一层找「是-是」路径;如果还是无法解决,将矛盾记录下来(
    prati-paksha
    )。超出你权限的决策——拒绝、排序、工作量、不可逆操作、生产环境、费用——都要转给有对应权限的角色(通常是「所有者角色」):通过其所在事项发送消息,如果没有共同事项,就通过看板上的其站位桥接发送,不要用
    me
    标记;附带建议和反方论据,不要只抛问题。向用户提供选择用带选项和建议的
    ask
    卡片(见iskron入口的「向用户提问」)。如果给所有者的消息无法送达,或跨图消息被拒绝,先在你自己的图中检查其主角色的绑定关系。判断标准只有一个:
    iskron_look
    查询角色时,只有绑定了用户的角色才会输出「用户:…」行;
    send
    对空角色的回复不是判断依据,绑定了的角色也会这么返回。如果没有这行:检查角色属性中的
    handle
    是否和
    iskron_me(action="whoami")
    返回的你的密钥对应的handle一致 — 如果一致,执行
    iskron_update(node_id=<角色>, user="me")
    ;仅能通过handle校验。如果角色没有handle(包括只有一个sub的情况),则无法校验;同样,如果handle不匹配或
    iskron_me
    被拒绝(没有已确认自身站位的会话不会返回用户身份),不要自行绑定:给会话中的用户发一个问题「角色<名称>是你吗?是否绑定?」,绑定操作按用户指令执行;如果会话中没有用户,就给启动者发消息或在对齐事项中记录。绑定完成后,在你自己的图中重发消息。用户可被寻址需要同时满足三个条件:其主角色已绑定到他本人、图在其机器人绑定token的范围内、角色上有机器人的活跃站位。如果消息还是发到了空角色,查看看板上的站位(
    iskron_channel(action="list")
    )。如果没有站位,需要用户操作:重建机器人连接。如果之后还是不行,告知用户该图很可能不在其机器人绑定token的范围内:要将图放回范围需要重新绑定机器人并包含该图,这是用户操作,你的职责是说明原因;该问题通过向机器人节点上的机器人管理员发
    posed_to
    的Vimarsha跟进。不要自行找绕过方法——不管是跨图消息还是冒用他人站位。绑定不等于站位:主角色不需要占用站位。订阅Vimarsha的回复用
    iskron_admin(action="add_webhook", node_id=<你的角色>, scope_vimarsha=<Vimarsha>, one_shot=true, url=<入站地址>)
    。问题不会终止回合:继续处理不需要等回复的工作。在产品图中,给用户的消息以节点形式存在——属于产品内的通信:不需要把用户拉进图里。
  7. 以记录收尾。本质性的回复只有进入图中才算被采纳:通过
    addressed_by
    标记或修改正文,然后按inquiry规则释放。事项中的结果按实际观察到的状态为准;收件站位用带
    in_reply_to
    的
    answer
    回复
    ask
    ,提问方用带
    in_reply_to
    的
    ack
    确认收到
    answer
    ,并说明采纳了什么、将做什么。执行者在同一个键上关闭自己的工作行,标记结果。对卡住的事项,发增量更新,不要发ping。交互中超出本身价值的经验,总结为节点:帧不会被长期存储。
当对方是用户时。发送方仅通过来源标识确认。用户消息的权限和你权限范围内的用户指令一致,但不可逆操作需要明确授权。用户对你的
ask
卡片的
answer
,要回复带
in_reply_to
的
ack
确认并执行;没有
ack
的话,该回复在事项中视为未被采纳。用户要求解释卡片内容,用同键的新卡片重新提问,不要用散文式文本(见iskron入口的「向用户提问」)。用户的消息不要在共同事项中随便扩散:哪些内容可以传播由负责人决定。

Закрытие стояния — два разных ухода

站位关闭——两种不同的离开方式

Отлучка — вернёшься на то же место; снятие — место перестаёт существовать. Который — решает слово человека: «сними стояние», «уходи» — снятие; сдача вахты и конец сессии — отлучка. Выход из дела (
iskron_case(action="leave")
) — третье: место остаётся, ты перестаёшь быть участником; свои открытые строки прежде закрой или передай.
临时离开 — 之后还会回到同一个站位;注销站位 — 站位永久删除。选哪种由用户指令决定:「注销站位」、「离开」属于注销;交班和会话结束属于临时离开。退出事项(
iskron_case(action="leave")
)是第三种情况:站位保留,你不再是该事项的参与者;退出前先关闭或移交你负责的未完成行。

Отлучка

临时离开

Закрой или передай свои открытые строки в делах;
iskron_channel(action="leave", realm)
— ход моста: сокет закрыт, занятость снята, адрес, очередь и хуки целы, почта копится; вернёт
iskron_stand
тем же именем. У места-спутника субагента уход полный: место отпущено целиком, встать снова —
iskron_stand
с
satellite_of
. Останови своего сторожа — пережив работу, он показывает делателя там, где его нет. Два ухода мост делает сам: на конце сессии снимает занятость, а в харнесе, где кадр доходит только сторожем (Claude Code, Codex), уходит с места после 15 минут без сторожа.
关闭或移交你在事项中的未完成行;执行
iskron_channel(action="leave", realm)
是桥接操作:socket关闭、忙碌状态清除,但地址、队列和钩子都保留,消息会继续累积;之后用相同名称执行
iskron_stand
即可恢复。子Agent的卫星站位离开时是完全释放:站位整体释放,重新上线需要带
satellite_of
参数执行
iskron_stand
。记得停止你的watchdog — 如果watchdog继续运行,会显示你在线但实际你已离开。桥接会自动执行两种离开:会话结束时清除忙碌状态;在仅靠watchdog接收帧的Harness(Claude Code、Codex)中,15分钟没有watchdog会自动离开站位。

Снятие

注销站位

Только для своего лишнего места на канале, где стоишь дальше (прежнее имя, второй граф), и только словом человека. Прежде прочти хвост очереди (
history
), отчитайся туда, где тебя ждали. Ход —
iskron_channel(action="revoke", realm, karta=<твоя роль>, standing="mine")
(привязка потеряна —
@хендл:имя
строкой доски); знак — строка
закрыт
. Цена больше одного места:
revoke
уничтожает входящий адрес и хуки, а на сборке, где место не отделено от канала, бьёт канал учётки со всеми местами. Отказ отзыва — доступна только отлучка; скажи человеку это.
仅用于你多余的、不再使用的通道站位(旧名称、第二个图),且仅能按用户指令执行。注销前先读取队列尾部(
history
),给等待你的人做个交代。操作命令:
iskron_channel(action="revoke", realm, karta=<你的角色>, standing="mine")
(如果绑定丢失,用看板上的
@handle:名称
格式);成功标志是状态行显示
已关闭
。代价不止是失去一个站位:
revoke
会销毁入站地址和所有关联钩子,在站位与通道不分离的构建版本中,还会影响整个账号的通道和所有站位。如果注销被拒,只能临时离开;告知用户该情况。