# plugin_states

id: http-api
name: http-api
version: 0.1.0
type: pt
mode: managed
transport: stdio
trust: builtin
status: loaded
loaded_at: 2026-08-17 21:42:10.217878656+00:00
created_at: 2026-08-16 21:37:00.388265134+00:00
updated_at: 2026-08-17 21:42:10.217919278+00:00
manifest:
  {"capabilities":{"provides":["platform.http-api"],"wants":["perception.emit","transmission.send"]},"config_schema":{"auth_token":{"default":"","secret":true,"type":"string"},"enable_docs":{"default":false,"type":"boolean"},"health_path":{"default":"/healthz","type":"string"},"ingest_path":{"default":"/ingest","type":"string"},"listen_host":{"default":"127.0.0.1","type":"string"},"listen_port":{"default":8787,"type":"integer"},"outbound_auth_token":{"default":"","secret":true,"type":"string"},"outbound_timeout_seconds":{"default":15,"type":"number"},"outbound_typing_webhook_url":{"default":"","type":"string"},"outbound_webhook_url":{"default":"","type":"string"}},"id":"http-api","mode":"managed","name":"http-api","supports_hot_reload":true,"transport":"stdio","trust":"builtin","type":"pt","version":"0.1.0"}

config:
  {"auth_token":"","enable_docs":false,"health_path":"/healthz","ingest_path":"/ingest","listen_host":"127.0.0.1","listen_port":8787,"outbound_auth_token":"","outbound_timeout_seconds":15,"outbound_typing_webhook_url":"","outbound_webhook_url":""}


id: telegram-bot
name: telegram-bot
version: 0.1.0
type: pt
mode: managed
transport: stdio
trust: builtin
status: error
error_msg: telegram-bot: bot_token is required
last_error: telegram-bot: bot_token is required
created_at: 2026-08-16 21:37:00.389388978+00:00
updated_at: 2026-08-17 21:42:10.221752551+00:00
manifest:
  {"author":"Friend","capabilities":{"provides":["platform.telegram"],"wants":["perception.emit","transmission.send"]},"config_schema":{"allowed_chat_ids":{"default":[],"description":"允许交互的 Chat ID 列表（为空则允许所有）","required":false,"type":"array"},"api_base":{"default":"","description":"自定义 Telegram API 地址（留空使用默认 api.telegram.org）","required":false,"type":"string"},"bot_token":{"default":"","description":"Telegram Bot Token (from @BotFather)","required":true,"secret":true,"type":"string"},"download_dir":{"default":"./data/telegram-downloads","description":"接收 Telegram 文件的默认下载目录（服务器路径）","format":"directory","required":false,"type":"string"},"ignore_usernames":{"default":[],"description":"忽略感知的 Telegram 用户名列表（支持 @name，大小写不敏感）","required":false,"type":"array"},"outbound_parse_mode":{"default":"markdown","description":"出站文本默认 parse_mode：plain/MarkdownV2/Markdown/html（markdown 会渲染为 Telegram HTML，自动转义保留字符）","required":false,"type":"string"},"poll_timeout_seconds":{"default":30,"description":"getUpdates 长轮询 timeout 秒数（\u003c=0 时回退默认 30）","required":false,"type":"integer"},"polling_retry_base_seconds":{"default":1,"description":"轮询失败后重试基础退避秒数","required":false,"type":"integer"},"polling_retry_max_seconds":{"default":30,"description":"轮询失败后重试最大退避秒数","required":false,"type":"integer"},"proxy_url":{"default":"","description":"HTTP/SOCKS5 代理地址，如 http://127.0.0.1:7890","required":false,"type":"string"},"request_timeout_seconds":{"default":60,"description":"Telegram 请求超时秒数（\u003c=0 时回退默认 60）","required":false,"type":"integer"}},"description":"Telegram Bot 感知与发送插件","id":"telegram-bot","mode":"managed","name":"telegram-bot","permissions":["network","events"],"supports_hot_reload":true,"transport":"stdio","trust":"builtin","type":"pt","version":"0.1.0"}

config:
  {"allowed_chat_ids":[],"api_base":"","bot_token":"","download_dir":"./data/telegram-downloads","ignore_usernames":[],"outbound_parse_mode":"markdown","poll_timeout_seconds":30,"polling_retry_base_seconds":1,"polling_retry_max_seconds":30,"proxy_url":"","request_timeout_seconds":60}


id: feishu
name: feishu
version: 0.1.0
type: pt
mode: managed
transport: stdio
trust: builtin
status: error
error_msg: feishu: app_id and app_secret are required
last_error: feishu: app_id and app_secret are required
created_at: 2026-08-16 21:37:00.390481703+00:00
updated_at: 2026-08-17 21:42:10.19379412+00:00
manifest:
  {"author":"Friend","capabilities":{"provides":["platform.feishu"],"wants":["perception.emit","transmission.send"]},"config_schema":{"allowed_chat_ids":{"default":[],"description":"允许接收的 chat_id 列表（为空则允许所有）","required":false,"type":"array"},"api_base":{"default":"https://open.feishu.cn","description":"飞书 OpenAPI 地址","required":false,"type":"string"},"app_id":{"default":"","description":"飞书自建应用 App ID","required":true,"type":"string"},"app_secret":{"default":"","description":"飞书自建应用 App Secret","required":true,"secret":true,"type":"string"},"default_receive_id_type":{"default":"open_id","description":"私聊发送默认 receive_id_type：open_id/user_id/union_id/email","required":false,"type":"string"},"download_dir":{"default":"./data/feishu-downloads","description":"文件下载目录","format":"directory","required":false,"type":"string"},"encrypt_key":{"default":"","description":"飞书事件订阅 Encrypt Key（可选）","required":false,"secret":true,"type":"string"},"event_path":{"default":"/feishu/events","description":"事件回调路径","required":false,"type":"string"},"health_path":{"default":"/healthz","description":"健康检查路径","required":false,"type":"string"},"ignore_user_ids":{"default":[],"description":"忽略的飞书用户 ID 列表（open_id/user_id/union_id 均可）","required":false,"type":"array"},"listen_host":{"default":"127.0.0.1","description":"事件回调监听地址","required":false,"type":"string"},"listen_port":{"default":8790,"description":"事件回调监听端口","required":false,"type":"integer"},"receive_mode":{"default":"websocket","description":"事件接收方式：websocket（飞书长连接）或 callback（HTTP 回调）","required":false,"type":"string"},"request_timeout_seconds":{"default":15,"description":"OpenAPI 请求超时秒数","required":false,"type":"integer"},"verification_token":{"default":"","description":"飞书事件订阅 Verification Token","required":false,"secret":true,"type":"string"}},"description":"飞书/Lark Bot 感知与发送插件","id":"feishu","mode":"managed","name":"feishu","permissions":["network","events"],"supports_hot_reload":true,"transport":"stdio","trust":"builtin","type":"pt","version":"0.1.0"}

config:
  {"allowed_chat_ids":[],"api_base":"https://open.feishu.cn","app_id":"","app_secret":"","default_receive_id_type":"open_id","download_dir":"./data/feishu-downloads","encrypt_key":"","event_path":"/feishu/events","health_path":"/healthz","ignore_user_ids":[],"listen_host":"127.0.0.1","listen_port":8790,"receive_mode":"websocket","request_timeout_seconds":15,"verification_token":""}


id: wechat
name: wechat
version: 0.1.0
type: pt
mode: managed
transport: stdio
trust: builtin
status: loaded
loaded_at: 2026-08-17 21:42:10.223760856+00:00
created_at: 2026-08-16 21:37:00.391662827+00:00
updated_at: 2026-08-17 21:42:10.223797511+00:00
manifest:
  {"author":"Friend","capabilities":{"provides":["platform.wechat"],"wants":["perception.emit","transmission.send"]},"config_schema":{"api_base":{"default":"https://ilinkai.weixin.qq.com","description":"iLink API 基址（留空使用 https://ilinkai.weixin.qq.com）","required":false,"type":"string"},"auto_login":{"default":true,"description":"无 bot_token 时自动发起扫码登录","required":false,"type":"boolean"},"bot_token":{"default":"","description":"微信 iLink bot_token（扫码确认后自动写入，也可手动配置）","required":false,"secret":true,"type":"string"},"bot_type":{"default":"3","description":"get_bot_qrcode 的 bot_type 参数","required":false,"type":"string"},"channel_version":{"default":"1.0.3","description":"iLink base_info.channel_version","required":false,"type":"string"},"poll_timeout_seconds":{"default":35,"description":"getupdates 长轮询超时秒数（\u003c=0 回退默认 35）","required":false,"type":"integer"},"polling_retry_base_seconds":{"default":1,"description":"轮询失败后重试基础退避秒数","required":false,"type":"integer"},"polling_retry_max_seconds":{"default":30,"description":"轮询失败后重试最大退避秒数","required":false,"type":"integer"},"qr_notify_chat_id":{"default":"","description":"接收登录二维码的 chat_id（例如飞书群 oc_xxx）；缺省为空，未配置则不推送二维码","required":false,"type":"string"},"qr_notify_platform":{"default":"feishu","description":"把登录二维码推送到的已在线平台（如 feishu / telegram）","required":false,"type":"string"},"request_timeout_seconds":{"default":60,"description":"HTTP 请求超时秒数（\u003c=0 回退默认 60）","required":false,"type":"integer"},"state_dir":{"default":"./data/wechat","description":"token / context_token / 二维码状态目录","format":"directory","required":false,"type":"string"}},"description":"微信 iLink/ClawBot 感知与发送插件（内置扫码绑定，二维码可推送到其他在线通道）","id":"wechat","mode":"managed","name":"wechat","supports_hot_reload":true,"transport":"stdio","trust":"builtin","type":"pt","version":"0.1.0"}

config:
  {"api_base":"https://ilinkai.weixin.qq.com","auto_login":true,"bot_token":"","bot_type":"3","channel_version":"1.0.3","poll_timeout_seconds":35,"polling_retry_base_seconds":1,"polling_retry_max_seconds":30,"qr_notify_chat_id":"","qr_notify_platform":"feishu","request_timeout_seconds":60,"state_dir":"./data/wechat"}


id: friend-im
name: Friend IM
version: 0.4.0
type: pt
mode: in_process
trust: builtin
status: loaded
loaded_at: 2026-08-17 21:42:10.215964847+00:00
created_at: 2026-08-16 21:37:00.392749607+00:00
updated_at: 2026-08-17 21:42:10.216008354+00:00
manifest:
  {"author":"Friend","capabilities":{"provides":["platform.friend-im"]},"config_schema":{"download_dir":{"default":"~/.friend/plugins/friend-im/downloads","description":"Friend IM 入站媒体下载目录；相对路径基于 ~/.friend 解析","format":"directory","required":false,"type":"string"},"friend_token":{"default":"","description":"Friend instance token issued by Friend IM Platform","required":true,"secret":true,"type":"string"},"im_base_url":{"default":"http://127.0.0.1:8090","description":"Friend IM Platform address","required":false,"type":"string"},"mirror_agent_timeline":{"default":true,"description":"在绑定的 IM 会话顶部同步思考与工具活动状态","required":false,"type":"boolean"},"mirror_thinking":{"default":true,"description":"在会话顶部实时显示具体思考摘要","required":false,"type":"boolean"},"mirror_tool_calls":{"default":true,"description":"在会话顶部实时显示工具调用状态","required":false,"type":"boolean"},"mirror_tool_results":{"default":true,"description":"在会话顶部实时显示工具结果状态","required":false,"type":"boolean"},"state_dir":{"default":"~/.friend/plugins/friend-im","description":"Friend IM 状态目录；相对路径基于 ~/.friend 解析","format":"directory","required":false,"type":"string"}},"description":"进程内 Friend IM 平台桥接、子链路由与 Agent 时间线同步","id":"friend-im","mode":"in_process","name":"Friend IM","permissions":["network","filesystem","events"],"supports_hot_reload":true,"trust":"builtin","type":"pt","version":"0.4.0"}

config:
  {"download_dir":"~/.friend/plugins/friend-im/downloads","friend_token":"","im_base_url":"http://127.0.0.1:8090","mirror_agent_timeline":true,"mirror_thinking":true,"mirror_tool_calls":true,"mirror_tool_results":true,"state_dir":"~/.friend/plugins/friend-im"}


id: tailscale
name: tailscale
version: 0.1.0
type: tool
mode: managed
transport: in-process
trust: builtin
config: {"auth_key":"","derp_url":"","hostname":"friend-node","state_dir":"./data/tailscale","tun":true}
status: loaded
loaded_at: 2026-08-17 21:42:10.219606941+00:00
created_at: 2026-08-16 21:37:00.393804505+00:00
updated_at: 2026-08-17 21:42:10.219656768+00:00
manifest:
  {"author":"Friend","capabilities":{"provides":["network.tailscale"],"wants":["tool.register"]},"config_schema":{"auth_key":{"default":"","description":"Tailscale auth key for authentication","required":false,"secret":true,"type":"string"},"derp_url":{"default":"","description":"Custom DERP map URL","required":false,"type":"string"},"hostname":{"default":"friend-node","description":"Hostname for this Tailscale node","required":false,"type":"string"},"state_dir":{"default":"./data/tailscale","description":"State directory for tsnet","format":"directory","required":false,"type":"string"},"tun":{"default":true,"description":"Enable TUN virtual network interface","required":false,"type":"boolean"}},"description":"Embedded Tailscale node with tsnet integration","id":"tailscale","mode":"managed","name":"tailscale","supports_hot_reload":true,"transport":"in-process","trust":"builtin","type":"tool","version":"0.1.0"}


