Skip to content

Gateway Donor Map

PicoClaw is useful to Gormes as a donor repo for Go channel-edge work, not as the architecture to copy wholesale. Hermes/Gormes still owns the kernel, session model, agent behavior, and the Operative System AI product direction.

  • Donor inspected for this section: external sibling repo <picoclaw donor repo>.
  • Donor commit pinned for this research: 6421f146a99df1bebcd4b1ca8de2a289dfca3622.
  • Upstream donor repo: https://github.com/sipeed/picoclaw.
  • Any pkg/... or docs/... path listed on this page is relative to that donor root, not relative to the Gormes repo.
  • Turn PicoClaw’s finished Go adapters into concrete porting notes for Gormes Phase 2 channel work
  • Separate transport-edge reuse from PicoClaw-specific runtime coupling
  • Point contributors at the files worth mining first before they open a spec or internal/<channel>/ port PR
  1. Read Shared Adapter Patterns first.
  2. Cross-check the channel with the current gateway core-system doc and the Phase 2 gateway ledger.
  3. Lift transport-edge ideas only. Rebuild them inside Gormes’s kernel/session boundaries.
  • copy candidate — donor control flow is close enough to port after reshaping it around Gormes interfaces.
  • adapt pattern only — donor code proves useful transport mechanics, but product behavior and runtime boundaries must be rebuilt.
  • not worth reusing — donor coverage is too thin or too coupled to justify porting work.

These PicoClaw files are the highest-leverage shared references across more than one adapter:

  • picoclaw/pkg/channels/base.go for allow-lists, group-trigger handling, max-message-length policy, and reasoning-channel plumbing
  • picoclaw/pkg/channels/manager.go for placeholder-edit, typing-stop, reaction-undo, and per-channel rate-limit orchestration
  • picoclaw/pkg/channels/split.go for outbound chunking that preserves fenced code blocks
  • picoclaw/pkg/channels/dynamic_mux.go and picoclaw/pkg/channels/webhook.go for webhook-family fan-in patterns
  • picoclaw/pkg/channels/media.go and picoclaw/pkg/channels/voice_capabilities.go for optional capability boundaries
ChannelRecommendationDonor SurfaceDossier
Telegramadapt pattern onlypkg/channels/telegram/Telegram
Discordcopy candidatepkg/channels/discord/Discord
Slackcopy candidatepkg/channels/slack/Slack
WhatsAppadapt pattern onlypkg/channels/whatsapp/, pkg/channels/whatsapp_native/WhatsApp
Matrixadapt pattern onlypkg/channels/matrix/Matrix
IRCadapt pattern onlypkg/channels/irc/IRC
LINEadapt pattern onlypkg/channels/line/LINE
OneBotadapt pattern onlypkg/channels/onebot/OneBot
QQcopy candidatepkg/channels/qq/QQ
WeComcopy candidatepkg/channels/wecom/WeCom
WeiXinadapt pattern onlypkg/channels/weixin/WeiXin
Feishuadapt pattern onlypkg/channels/feishu/Feishu
DingTalkadapt pattern onlypkg/channels/dingtalk/DingTalk
VKnot worth reusingpkg/channels/vk/VK
Webhookadapt pattern onlypkg/channels/webhook.goWebhook

This section is already split into shared patterns plus per-channel dossiers. Start with the shared page, read the triage row for the channel, then open only the dossier you are about to turn into a spec or progress row.