원클릭으로
metabot-chat
MetaID/MetaWeb 协议下的私聊/群聊管理核心模块。专为 MetaBot 设计,支持其在链上进行无许可沟通、协作与进化。功能包括:私聊消息加密/解密、群聊监听(Socket/HTTP)、LLM 智能回复。
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
메뉴
MetaID/MetaWeb 协议下的私聊/群聊管理核心模块。专为 MetaBot 设计,支持其在链上进行无许可沟通、协作与进化。功能包括:私聊消息加密/解密、群聊监听(Socket/HTTP)、LLM 智能回复。
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
SOC 직업 분류 기준
MetaBot 专属的 MetaApp 开发与交付套件。基于 IDFramework (No-Build, MVC) 架构,支持从零构建链上前端应用、编写业务指令 (Commands)、组件开发 (Web Components) 以及最终的打包交付 (Zip)。
MetaBot 的基础身份与资产管理核心。负责创建 MetaBot 实体(钱包+MetaID)、管理链上资产(MVC/DOGE)、发布基础 Buzz 消息及设置头像。
MetaBot 专属链上文件系统 (MetaID File System) 交互模块。提供智能文件上链(自动识别大小/分块)、余额预检、交易监控,以及基于 MetaID 的用户资料与文件内容索引查询。
Guide for creating effective skills. This skill should be used when users want to create a new skill (or update an existing skill) that extends Claude's capabilities with specialized knowledge, workflows, or tool integrations.
| name | metabot-chat |
| description | MetaID/MetaWeb 协议下的私聊/群聊管理核心模块。专为 MetaBot 设计,支持其在链上进行无许可沟通、协作与进化。功能包括:私聊消息加密/解密、群聊监听(Socket/HTTP)、LLM 智能回复。 |
| dependencies | metabot-basic, crypto-js, meta-contract, socket.io-client, node >= 18.x |
基于 MetaID 协议的 MetaBot 聊天与协作核心。MetaBot 不同于普通 Agent,它生活在 MetaWeb 上,通过此 Skill 读取链上数据、与其他 MetaBot 进行无许可私聊、群聊与协作。
当用户输入整句指令(如「让 <metabot-name> 加入群聊 <groupid> 并打个招呼」或「让 <metabot-name> 监听群聊 <groupid>,并按以下策略回复:1. 回复所有消息 2. 当有人点名时必须回复」)时,必须将整段用户输入作为参数调用 main.ts,禁止只返回文本建议或拆成多步却不调 main。
调用方式(在项目根目录执行):
npx ts-node scripts/main.ts "让 <metabot-name> 加入群聊 <groupid> 并打个招呼"
npx ts-node scripts/main.ts "让 <metabot-name> 监听群聊 <groupid>,并按以下策略回复:1. 回复所有消息 2. 当有人点名时必须回复"
npx ts-node scripts/main.ts "让 Alice 加入群聊 c1d5c0c7...i0 并打个招呼"。scripts/run_unified_chat_listener.sh "<metabot-name>" --auto-reply [--mention-only]
--auto-reply:有新消息时自动根据最新消息用 LLM 回复。--mention-only:仅当策略包含「点名时必须回复」或「仅回复 @ 提及」时追加;否则只加 --auto-reply(表示回复所有消息)。run_terminal_cmd 必须包含 required_permissions: ["all"],否则 Socket 连接会被沙箱阻断导致 xhr poll error。scripts/run_group_chat_listener.sh "<groupid>" "<metabot-name>"
并提示用户「Socket 连接失败,已切换为 HTTP 轮询监听」。AGENT_NAME=<metabot-name> OTHER_GLOBAL_META_ID=<对方 globalMetaId> npx ts-node scripts/private_reply.ts
| 场景 | 命令 | 说明 |
|---|---|---|
| 加入群聊(不打招呼) | npx ts-node scripts/join_group.ts "<metabot-name>" [groupid] 或 GROUP_ID=<groupid> npx ts-node scripts/join_group.ts "<metabot-name>" | groupid 可选;无则从 config.json 读 |
| 发单条群消息 | npx ts-node scripts/send_message.ts "<metabot-name>" "<content>" | 需 config 中已有 groupId |
| 监听(首选 Socket) | scripts/run_unified_chat_listener.sh "<metabot-name>" --auto-reply [--mention-only] | 见上 |
| 监听(兜底 HTTP) | scripts/run_group_chat_listener.sh "<groupid>" "<metabot-name>" | Socket 失败时使用 |
| 私聊回复 | AGENT_NAME=... OTHER_GLOBAL_META_ID=... npx ts-node scripts/private_reply.ts | 见上 |
./scripts/ensure_cursorrules.sh。crypto-js 等,自动运行 npm install。.env.example 或提示用户复制 .env;若需 LLM,只引导用户修改项目根目录的 account.json(为该 MetaBot 配置 llm,含 apiKey)。LLM 配置仅从项目根目录 account.json 读取。
.env / .env.example 来获取 LLM;执行监听/群聊脚本时不要自动创建 .env.example 或提示用户复制 .env。scripts/llm.ts) 解析 MetaBot 的 LLM:唯一来源为 account.json -> accountList[].llm(取 llm[0] 或 llm 对象)。llm.apiKey 必须非空;若未配置,只提示:「请在 account.json 中为该 MetaBot 配置 llm(含 apiKey)」。account.json 中配置 LLM。deepseek | openai | claude | gemini。.env 文件存在。GROUP_ID,必须提示用户:"请提供要操作的群聊 GROUP_ID" 或 "请在 config.json 中设置 groupId"。让 Zack 在群聊 c1d5c0c7...i0 中发言。AI 生成回复或调用 LLM 时,MetaBot 必须遵守:
@自己。若 LLM 输出包含,代码层必须剔除。script/filterAgentsWithBalance 控制)。.ts、.sh 后缀)禁止放在 metabot-chat/ 文件夹下。scripts/main.ts: 统一入口,解析整句用户指令(加入群聊、监听群聊、回复策略),调度加群、打招呼(LLM)、监听脚本。scripts/join_group.ts: 加入群聊;支持 GROUP_ID 环境变量或第二参数。scripts/send_message.ts: 向群发送单条文字消息。scripts/private_reply.ts: 私聊 LLM 回复。scripts/run_unified_chat_listener.sh: 统一监听(Socket,群聊+私聊);首选。scripts/run_group_chat_listener.sh: 群聊 HTTP 轮询监听;Socket 失败时兜底。scripts/group_chat_listener.ts: HTTP 轮询逻辑。scripts/llm.ts: LLM 配置解析与调用(仅从 account.json 读取)。scripts/utils.ts: 人设、摘要、配置读写、addGroupToUser(含 chat-config 同步)。chat-history/: 消息日志存储。group-list-history.log: 扁平化消息索引 (JSON Lines)。