@ecat/weixin-bot-cli 0.1.1 → 0.2.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -1,6 +1,6 @@
1
1
  # weixin-bot-cli
2
2
 
3
- 这是一个轻量级、独立的微信命令行工具(CLI)。它支持通过终端二维码登录微信、实时接收微信消息,并通过命令行直接发送基础的文本消息。
3
+ 这是一个轻量级、独立的微信命令行工具(CLI)。它支持通过终端二维码登录微信、实时接收微信消息,并通过命令行直接发送基础的文本消息。还可以作为ACP客户端连接ACP服务端,实现智能回复。
4
4
 
5
5
  该项目基于官方 iLink 微信协议,直接获取配置并将收到的消息稳定地输出到标准终端。它完全独立运行,**不依赖**庞大复杂的插件系统或任何 AI 框架代理层,非常适合用于编写自定义自动化脚本或进行终端调试。
6
6
 
@@ -19,7 +19,7 @@
19
19
 
20
20
  ## 使用方法
21
21
 
22
- 账号配置文件和状态数据的默认存放路径为用户的 `~/.weixin-bot-cli`。如果需要修改数据目录,你可以通过 `-h` 或 `--home` 参数进行覆盖,同样也支持设置 `WEIXIN_BOT_HOME` 环境变量。
22
+ 账号配置文件和状态数据的默认存放路径为用户的 `~/.weixin-bot-cli`。如果需要修改数据目录,你可以通过 `-h` 或 `--home` 参数进行覆盖,同样也支持设置 `WEIXIN_BOT_CLI_HOME` 环境变量。
23
23
 
24
24
  ### 1. 登录
25
25
 
@@ -41,6 +41,18 @@ npx @ecat/weixin-bot-cli --home D:/my-data login
41
41
  npx @ecat/weixin-bot-cli start
42
42
  ```
43
43
 
44
+ 也可以启动ACP客户端连接ACP服务端,实现智能回复。
45
+
46
+ ```bash
47
+ npx @ecat/weixin-bot-cli start --acp-cmd "gemini --acp"
48
+ ```
49
+
50
+ 如果需要复用原来的session可以使用--acp-session参数指定session id。
51
+
52
+ ```bash
53
+ npx @ecat/weixin-bot-cli start --acp-cmd "gemini --acp" --acp-session "session-123"
54
+ ```
55
+
44
56
  ### 3. 发送消息
45
57
 
46
58
  你可以在不中断 CLI 运行的情况下(或开个新终端),通过命令行的形式给特定的用户发送纯文本消息。(注:必须携带接收方的 微信 User ID)
@@ -48,6 +60,8 @@ npx @ecat/weixin-bot-cli start
48
60
 
49
61
  ```bash
50
62
  npx @ecat/weixin-bot-cli send <接收方的_user_id> "Hello,这是来自命令行的测试消息!"
63
+ # 或者通过标准输入发送大段内容
64
+ cat message.txt | npx @ecat/weixin-bot-cli send <接收方的_user_id>
51
65
  ```
52
66
 
53
67
  ## 项目目录架构
@@ -57,6 +71,7 @@ npx @ecat/weixin-bot-cli send <接收方的_user_id> "Hello,这是来自命令
57
71
  - `src/api/` - 底层通信实现,对 iLink API 进行了直接封装(包括 `getupdates`, `sendmessage`, `getconfig` 等)。
58
72
  - `src/monitor/` - 核心长轮询工作器 Worker 处理循环逻辑。
59
73
  - `src/messaging/` - 消息发送模块,暴露可以独立发文本、处理内部 Markdown 以及组装 WeChat 发送上下文的基础 API。
74
+ - `src/acp/` - Agent Client Protocol 客户端,用于与 Agent Client Protocol 服务器进行通信。
60
75
 
61
76
  ## 开发
62
77
 
@@ -0,0 +1,19 @@
1
+ import * as acp from "@agentclientprotocol/sdk";
2
+ export declare class AcpManager {
3
+ private agentProcess;
4
+ private connection;
5
+ private sessions;
6
+ private agentCmd;
7
+ private agentArgs;
8
+ private client;
9
+ constructor(agentCmd: string, agentArgs: string[]);
10
+ connect(): Promise<acp.InitializeResponse>;
11
+ listSessions(cwd?: string): Promise<string[]>;
12
+ loadSession(sessionId: string, cwd?: string, mcpServers?: any[]): Promise<void>;
13
+ createSession(opts?: {
14
+ cwd?: string;
15
+ mcpServers?: any[];
16
+ }): Promise<string>;
17
+ prompt(sessionId: string, text: string): Promise<string>;
18
+ close(): void;
19
+ }
@@ -0,0 +1,211 @@
1
+ import { spawn } from "node:child_process";
2
+ import fs from "node:fs";
3
+ import { Writable, Readable } from "node:stream";
4
+ import readline from "node:readline/promises";
5
+ import * as acp from "@agentclientprotocol/sdk";
6
+ class Client {
7
+ agentMessage = "";
8
+ async requestPermission(params) {
9
+ console.log(`\n🔐 Permission requested: ${params.toolCall.title}`);
10
+ console.log(`\nOptions:`);
11
+ params.options.forEach((option, index) => {
12
+ console.log(` ${index + 1}. ${option.name} (${option.kind})`);
13
+ });
14
+ // 永远回复allow
15
+ for (const option of params.options) {
16
+ if (option.kind.startsWith("allow_")) {
17
+ console.log(` ✅ Auto selected<allow>: ${option.name}`);
18
+ return {
19
+ outcome: {
20
+ outcome: "selected",
21
+ optionId: option.optionId,
22
+ },
23
+ };
24
+ }
25
+ }
26
+ // 如果没有allow选项,就返回第一个
27
+ console.log(` ✅ Auto selected<first>: ${params.options[0].name}`);
28
+ return {
29
+ outcome: {
30
+ outcome: "selected",
31
+ optionId: params.options[0].optionId,
32
+ },
33
+ };
34
+ }
35
+ async sessionUpdate(params) {
36
+ const update = params.update;
37
+ console.log(`\n⚡[${update.sessionUpdate}]`);
38
+ switch (update.sessionUpdate) {
39
+ case "agent_message_chunk":
40
+ console.log(` 🤖[${update.content.type}]`);
41
+ if (update.content.type === "text") {
42
+ process.stdout.write(update.content.text);
43
+ this.agentMessage += update.content.text;
44
+ }
45
+ break;
46
+ case "tool_call":
47
+ console.log(` 🔧 ${update.title} (${update.status})`);
48
+ break;
49
+ case "tool_call_update":
50
+ console.log(` 🔧 Tool call \`${update.toolCallId}\` updated: ${update.status}\n`);
51
+ break;
52
+ case "plan":
53
+ console.log(` 📋\n${update.entries.map(entry => entry.status + " - " + entry.content).join("\n")}`);
54
+ break;
55
+ case "agent_thought_chunk":
56
+ console.log(` 💭${update.content.type}`);
57
+ if (update.content.type === "text") {
58
+ process.stdout.write(update.content.text);
59
+ }
60
+ break;
61
+ case "user_message_chunk":
62
+ console.log(` 👤[${update.content.type}]`);
63
+ if (update.content.type === "text") {
64
+ process.stdout.write(update.content.text);
65
+ }
66
+ break;
67
+ case "available_commands_update":
68
+ console.log(JSON.stringify(update.availableCommands, null, 2));
69
+ break;
70
+ default:
71
+ break;
72
+ }
73
+ }
74
+ async writeTextFile(params) {
75
+ fs.writeFileSync(params.path, params.content, 'utf8');
76
+ return {};
77
+ }
78
+ async readTextFile(params) {
79
+ if (!fs.existsSync(params.path)) {
80
+ return {
81
+ content: "",
82
+ };
83
+ }
84
+ const stream = fs.createReadStream(params.path, 'utf8');
85
+ const rl = readline.createInterface({ input: stream, crlfDelay: Infinity });
86
+ const content = [];
87
+ let i = 0;
88
+ const startLine = params.line ?? 1;
89
+ const endLine = params.limit ? startLine + params.limit : Number.MAX_VALUE;
90
+ for await (const line of rl) {
91
+ i++;
92
+ if (i >= startLine && i <= endLine) {
93
+ content.push(line);
94
+ }
95
+ if (i > endLine) {
96
+ break;
97
+ }
98
+ }
99
+ return {
100
+ content: content.join('\n'),
101
+ };
102
+ }
103
+ }
104
+ export class AcpManager {
105
+ agentProcess = null;
106
+ connection = null;
107
+ sessions = new Set();
108
+ agentCmd;
109
+ agentArgs;
110
+ client;
111
+ constructor(agentCmd, agentArgs) {
112
+ this.agentCmd = agentCmd;
113
+ this.agentArgs = agentArgs;
114
+ this.client = new Client();
115
+ }
116
+ async connect() {
117
+ if (this.connection) {
118
+ throw new Error("Connection already initialized. Call close() first.");
119
+ }
120
+ // Spawn the agent as a subprocess
121
+ const cmd = process.platform === "win32" ? "cmd" : "bash";
122
+ const cmdArgs = process.platform === "win32" ? ["/c", this.agentCmd, ...this.agentArgs] : ["-c", `"${this.agentCmd} ${this.agentArgs.join(" ")}"`];
123
+ this.agentProcess = spawn(cmd, cmdArgs, {
124
+ stdio: ["pipe", "pipe", "inherit"],
125
+ });
126
+ // Create streams to communicate with the agent
127
+ const input = Writable.toWeb(this.agentProcess.stdin);
128
+ const output = Readable.toWeb(this.agentProcess.stdout);
129
+ // Create the client connection
130
+ const stream = acp.ndJsonStream(input, output);
131
+ this.connection = new acp.ClientSideConnection((_agent) => this.client, stream);
132
+ // Initialize the connection
133
+ const initResult = await this.connection.initialize({
134
+ protocolVersion: acp.PROTOCOL_VERSION,
135
+ clientCapabilities: {
136
+ fs: {
137
+ readTextFile: true,
138
+ writeTextFile: true,
139
+ },
140
+ },
141
+ });
142
+ return initResult;
143
+ }
144
+ async listSessions(cwd) {
145
+ if (!this.connection) {
146
+ throw new Error("Connection not initialized. Call connect() first.");
147
+ }
148
+ try {
149
+ let nextCursor = null;
150
+ let newSessions = new Set();
151
+ do {
152
+ const sessionResult = await this.connection.listSessions({ cwd: cwd ?? process.cwd(), cursor: nextCursor });
153
+ nextCursor = sessionResult.nextCursor;
154
+ sessionResult.sessions.forEach((sessionInfo) => {
155
+ newSessions.add(sessionInfo.sessionId);
156
+ });
157
+ } while (nextCursor);
158
+ this.sessions = newSessions;
159
+ }
160
+ catch (error) {
161
+ console.error("Failed to list sessions:", error);
162
+ }
163
+ return Array.from(this.sessions);
164
+ }
165
+ async loadSession(sessionId, cwd, mcpServers) {
166
+ if (!this.connection) {
167
+ throw new Error("Connection not initialized. Call connect() first.");
168
+ }
169
+ await this.connection.loadSession({
170
+ sessionId: sessionId,
171
+ cwd: cwd ?? process.cwd(),
172
+ mcpServers: mcpServers ?? [],
173
+ });
174
+ }
175
+ async createSession(opts) {
176
+ if (!this.connection) {
177
+ throw new Error("Connection not initialized. Call connect() first.");
178
+ }
179
+ const sessionResult = await this.connection.newSession({
180
+ cwd: opts?.cwd ?? process.cwd(),
181
+ mcpServers: opts?.mcpServers ?? [],
182
+ });
183
+ this.sessions.add(sessionResult.sessionId);
184
+ return sessionResult.sessionId;
185
+ }
186
+ async prompt(sessionId, text) {
187
+ if (!this.connection) {
188
+ throw new Error("Connection not initialized. Call connect() first.");
189
+ }
190
+ this.client.agentMessage = "";
191
+ await this.connection.prompt({
192
+ sessionId: sessionId,
193
+ prompt: [
194
+ {
195
+ type: "text",
196
+ text: text,
197
+ },
198
+ ],
199
+ });
200
+ return this.client.agentMessage;
201
+ }
202
+ close() {
203
+ if (this.agentProcess && !this.agentProcess.killed) {
204
+ this.agentProcess.kill();
205
+ this.agentProcess = null;
206
+ this.connection = null;
207
+ this.sessions.clear();
208
+ }
209
+ }
210
+ }
211
+ //# sourceMappingURL=client.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/acp/client.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ export * from "./client.js";
@@ -0,0 +1,2 @@
1
+ export * from "./client.js";
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/acp/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC"}
package/dist/cli.js CHANGED
@@ -5,18 +5,28 @@ import { saveWeixinAccount, registerWeixinAccountId, clearStaleAccountsForUserId
5
5
  import { monitorWeixinProvider } from "./monitor/monitor.js";
6
6
  import { sendMessageWeixin } from "./messaging/send.js";
7
7
  import { logger } from "./util/logger.js";
8
+ import { extractSummary } from "./monitor/monitor.js";
9
+ import { AcpManager } from "./acp/client.js";
10
+ import { getConfig, sendTyping } from "./api/api.js";
11
+ import fs from "fs";
12
+ import path from "path";
13
+ import { fileURLToPath } from "url";
14
+ const __filename = fileURLToPath(import.meta.url);
15
+ const __dirname = path.dirname(__filename);
16
+ const pkg = JSON.parse(fs.readFileSync(path.join(__dirname, "../package.json"), "utf-8"));
8
17
  const program = new Command();
9
18
  program
10
19
  .name("weixin-bot-cli")
11
20
  .description("Weixin Bot CLI for receiving messages")
12
- .version("1.0.0")
21
+ .version(pkg.version)
13
22
  .option("-d, --dir <path>", "Home directory for data storage (overrides ~/.weixin-bot-cli)")
14
23
  .option("-h, --home <path>", "Alias for --dir")
15
24
  .hook("preAction", (thisCommand) => {
16
25
  const opts = thisCommand.opts();
17
26
  const homeDir = opts.home || opts.dir;
18
27
  if (homeDir) {
19
- process.env.WEIXIN_BOT_HOME = homeDir;
28
+ process.env.WEIXIN_BOT_CLI_HOME = homeDir;
29
+ console.log(`WEIXIN_BOT_CLI_HOME overrides to: ${homeDir}`);
20
30
  }
21
31
  });
22
32
  program
@@ -69,7 +79,9 @@ program
69
79
  program
70
80
  .command("start")
71
81
  .description("Start polling for incoming messages")
72
- .action(async () => {
82
+ .option("--acp-cmd <command>", "Command to start the ACP agent (e.g., npx, gemini)")
83
+ .option("--acp-session <sessionId>", "Reuse an existing ACP session ID")
84
+ .action(async (opts) => {
73
85
  const ids = listIndexedWeixinAccountIds();
74
86
  if (ids.length === 0) {
75
87
  console.error("❌ 未找到已登录的账号,请先运行 `weixin-bot-cli login`。");
@@ -81,11 +93,125 @@ program
81
93
  console.error(`❌ 账号 ${accountId} 凭证无效或未配置。`);
82
94
  process.exit(1);
83
95
  }
96
+ let acpManager = null;
97
+ let acpSessionId = null;
98
+ if (opts.acpCmd) {
99
+ console.log(`🚀 正在启动Agent: ${opts.acpCmd}`);
100
+ const acpCmdList = opts.acpCmd.split(" ");
101
+ acpManager = new AcpManager(acpCmdList[0], acpCmdList.slice(1));
102
+ try {
103
+ const acpIntialResult = await acpManager.connect();
104
+ console.log(`🔗 ACP初始化结果:`);
105
+ console.log(JSON.stringify(acpIntialResult, null, 2));
106
+ console.log(`🤖 现有会话列表:`);
107
+ for (const s of await acpManager.listSessions()) {
108
+ console.log(` - ${s}`);
109
+ }
110
+ if (opts.acpSession) {
111
+ acpSessionId = opts.acpSession;
112
+ console.log(`⏳ 加载会话: ${acpSessionId}`);
113
+ await acpManager.loadSession(acpSessionId);
114
+ console.log(`\n💬 复用会话: ${acpSessionId}`);
115
+ }
116
+ else {
117
+ acpSessionId = await acpManager.createSession();
118
+ console.log(`\n🆕 创建新会话: ${acpSessionId}`);
119
+ }
120
+ }
121
+ catch (err) {
122
+ console.error("❌ 无法连接到Agent:", err);
123
+ process.exit(1);
124
+ }
125
+ }
126
+ const onMessage = async (msg) => {
127
+ const to = msg.from_user_id ?? "unknown";
128
+ try {
129
+ const userText = extractSummary(msg);
130
+ let replyText = `已收到:${userText}`;
131
+ if (acpManager && acpSessionId) {
132
+ try {
133
+ console.log(`\n💬 将消息发送给Agent: ${userText}`);
134
+ console.log(`⏳ 等待Agent响应...`);
135
+ // 获取"正在输入"状态的ticket
136
+ let typingInterval;
137
+ let typingTicket;
138
+ try {
139
+ const cfg = await getConfig({
140
+ baseUrl: accountInfo.baseUrl,
141
+ token: accountInfo.token,
142
+ ilinkUserId: to,
143
+ contextToken: msg.context_token,
144
+ });
145
+ if (cfg.typing_ticket) {
146
+ typingTicket = cfg.typing_ticket;
147
+ }
148
+ ;
149
+ }
150
+ catch (err) {
151
+ console.error(`⚠️ 获取打字状态配置失败: ${String(err)}`);
152
+ }
153
+ // 定义发送"正在输入"状态的函数, status: 1表示正在输入, 2表示取消
154
+ const triggerTyping = async (status) => {
155
+ if (!typingTicket) {
156
+ return;
157
+ }
158
+ try {
159
+ await sendTyping({
160
+ baseUrl: accountInfo.baseUrl,
161
+ token: accountInfo.token,
162
+ body: {
163
+ ilink_user_id: to,
164
+ typing_ticket: typingTicket,
165
+ status: status,
166
+ },
167
+ });
168
+ }
169
+ catch (e) {
170
+ // 静默忽略定时状态重发过程中的偶尔网络波动
171
+ }
172
+ };
173
+ // 立即发送第一次"正在输入"状态
174
+ triggerTyping(1);
175
+ // 随后每隔 10 秒刷新一次"正在输入"状态,防止回复时间过长导致"正在输入"状态超时
176
+ typingInterval = setInterval(() => { void triggerTyping(1); }, 10_000);
177
+ // 转发给Agent获取回复
178
+ const agentResponse = await acpManager.prompt(acpSessionId, userText);
179
+ clearInterval(typingInterval); // Agent响应后,清除重发定时器
180
+ // 取消"正在输入"状态
181
+ triggerTyping(2);
182
+ if (agentResponse) {
183
+ replyText = agentResponse;
184
+ }
185
+ else {
186
+ replyText = "Agent没有返回任何文本。";
187
+ }
188
+ }
189
+ catch (err) {
190
+ console.error("❌ Agent处理该消息时发生错误:", err);
191
+ replyText = `[Agent Error]\n${JSON.stringify(err)}`;
192
+ }
193
+ }
194
+ await sendMessageWeixin({
195
+ to,
196
+ text: replyText,
197
+ opts: {
198
+ baseUrl: accountInfo.baseUrl,
199
+ token: accountInfo.token,
200
+ }
201
+ });
202
+ console.log(`\n✅ 消息已成功回复给: ${to}`);
203
+ }
204
+ catch (err) {
205
+ console.error("\n❌ 消息回复失败:", err);
206
+ }
207
+ };
84
208
  try {
209
+ console.log("\n⏳ 开始监听微信消息...");
85
210
  await monitorWeixinProvider({
86
211
  baseUrl: accountInfo.baseUrl,
87
212
  token: accountInfo.token,
88
213
  accountId: accountInfo.accountId,
214
+ onMessage,
89
215
  });
90
216
  }
91
217
  catch (err) {
@@ -94,8 +220,8 @@ program
94
220
  }
95
221
  });
96
222
  program
97
- .command("send <to> <text>")
98
- .description("Send a text message to a specific WeChat user")
223
+ .command("send <to> [text]")
224
+ .description("发送消息,如果没有提供文本,则从标准输入读取。")
99
225
  .action(async (to, text) => {
100
226
  const ids = listIndexedWeixinAccountIds();
101
227
  if (ids.length === 0) {
@@ -107,10 +233,30 @@ program
107
233
  console.error("❌ 账号凭证无效。");
108
234
  process.exit(1);
109
235
  }
236
+ let messageText = text;
237
+ if (!messageText) {
238
+ try {
239
+ messageText = await new Promise((resolve, reject) => {
240
+ let buf = "";
241
+ process.stdin.setEncoding("utf-8");
242
+ process.stdin.on("data", (chunk) => { buf += chunk; });
243
+ process.stdin.on("end", () => resolve(buf.trim()));
244
+ process.stdin.on("error", reject);
245
+ });
246
+ }
247
+ catch (err) {
248
+ console.error("❌ 读取标准输入失败:", err);
249
+ process.exit(1);
250
+ }
251
+ }
252
+ if (!messageText) {
253
+ console.error("❌ 消息内容不能为空。");
254
+ process.exit(1);
255
+ }
110
256
  try {
111
257
  await sendMessageWeixin({
112
258
  to,
113
- text,
259
+ text: messageText,
114
260
  opts: {
115
261
  baseUrl: accountInfo.baseUrl,
116
262
  token: accountInfo.token,
package/dist/cli.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,4 @@
1
+ import type { WeixinMessage } from "../api/types.js";
1
2
  export type MonitorWeixinOpts = {
2
3
  baseUrl: string;
3
4
  cdnBaseUrl?: string;
@@ -5,7 +6,12 @@ export type MonitorWeixinOpts = {
5
6
  accountId: string;
6
7
  abortSignal?: AbortSignal;
7
8
  longPollTimeoutMs?: number;
9
+ onMessage?: (msg: WeixinMessage) => Promise<void>;
8
10
  };
11
+ /**
12
+ * Extract text body from item_list.
13
+ */
14
+ export declare function extractSummary(full: WeixinMessage): string;
9
15
  /**
10
16
  * Long-poll loop. Runs until abort.
11
17
  */
@@ -12,7 +12,7 @@ const RETRY_DELAY_MS = 2_000;
12
12
  /**
13
13
  * Extract text body from item_list.
14
14
  */
15
- function extractSummary(full) {
15
+ export function extractSummary(full) {
16
16
  const itemList = full.item_list;
17
17
  if (!itemList?.length)
18
18
  return "[Empty Message]";
@@ -43,7 +43,7 @@ function extractSummary(full) {
43
43
  * Long-poll loop. Runs until abort.
44
44
  */
45
45
  export async function monitorWeixinProvider(opts) {
46
- const { baseUrl, token, accountId, abortSignal, longPollTimeoutMs, } = opts;
46
+ const { baseUrl, token, accountId, abortSignal, longPollTimeoutMs, onMessage, } = opts;
47
47
  const aLog = logger.withAccount(accountId);
48
48
  console.log(`[weixin-bot-cli] 开始监听消息 (baseUrl=${baseUrl}, account=${accountId})`);
49
49
  aLog.info(`Monitor started: baseUrl=${baseUrl} timeoutMs=${longPollTimeoutMs ?? DEFAULT_LONG_POLL_TIMEOUT_MS}`);
@@ -112,6 +112,16 @@ export async function monitorWeixinProvider(opts) {
112
112
  aLog.info(`inbound message: from=${fromUserId} types=${full.item_list?.map((i) => i.type).join(",") ?? "none"}`);
113
113
  // Pre-warm the config cache just in case we add reply functionality
114
114
  await configManager.getForUser(fromUserId, full.context_token);
115
+ if (onMessage) {
116
+ try {
117
+ await onMessage(full);
118
+ aLog.info(`onMessage callback executed successfully`);
119
+ }
120
+ catch (cbErr) {
121
+ aLog.error(`onMessage callback error: ${String(cbErr)}`);
122
+ console.error(`[Error] onMessage 回调执行失败:`, cbErr);
123
+ }
124
+ }
115
125
  }
116
126
  }
117
127
  catch (err) {
@@ -1 +1 @@
1
- {"version":3,"file":"monitor.js","sourceRoot":"","sources":["../../src/monitor/monitor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"monitor.js","sourceRoot":"","sources":["../../src/monitor/monitor.ts"],"names":[],"mappings":"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"}
@@ -2,7 +2,7 @@ import os from "node:os";
2
2
  import path from "node:path";
3
3
  /** Resolve the state directory for weixin-bot-cli. */
4
4
  export function resolveStateDir() {
5
- return (process.env.WEIXIN_BOT_HOME?.trim() ||
5
+ return (process.env.WEIXIN_BOT_CLI_HOME?.trim() ||
6
6
  path.join(os.homedir(), ".weixin-bot-cli"));
7
7
  }
8
8
  //# sourceMappingURL=state-dir.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"state-dir.js","sourceRoot":"","sources":["../../src/storage/state-dir.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,IAAI,MAAM,WAAW,CAAC;AAE7B,sDAAsD;AACtD,MAAM,UAAU,eAAe;IAC7B,OAAO,CACL,OAAO,CAAC,GAAG,CAAC,eAAe,EAAE,IAAI,EAAE;QACnC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,iBAAiB,CAAC,CAC3C,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"state-dir.js","sourceRoot":"","sources":["../../src/storage/state-dir.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,IAAI,MAAM,WAAW,CAAC;AAE7B,sDAAsD;AACtD,MAAM,UAAU,eAAe;IAC7B,OAAO,CACL,OAAO,CAAC,GAAG,CAAC,mBAAmB,EAAE,IAAI,EAAE;QACvC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,iBAAiB,CAAC,CAC3C,CAAC;AACJ,CAAC"}
@@ -1,6 +1,6 @@
1
1
  /**
2
2
  * Path to the persistent get_updates_buf file for an account.
3
- * Stored alongside account data: ~/.openclaw/openclaw-weixin/accounts/{accountId}.sync.json
3
+ * Stored alongside account data: ~/.weixin-bot-cli/accounts/{accountId}.sync.json
4
4
  */
5
5
  export declare function getSyncBufFilePath(accountId: string): string;
6
6
  export type SyncBufData = {
@@ -8,10 +8,6 @@ export type SyncBufData = {
8
8
  };
9
9
  /**
10
10
  * Load persisted get_updates_buf.
11
- * Falls back in order:
12
- * 1. Primary path (normalized accountId, new installs)
13
- * 2. Compat path (raw accountId derived from pattern, old installs)
14
- * 3. Legacy single-account path (very old installs without multi-account support)
15
11
  */
16
12
  export declare function loadGetUpdatesBuf(filePath: string): string | undefined;
17
13
  /**
@@ -3,19 +3,15 @@ import path from "node:path";
3
3
  import { deriveRawAccountId } from "../auth/accounts.js";
4
4
  import { resolveStateDir } from "./state-dir.js";
5
5
  function resolveAccountsDir() {
6
- return path.join(resolveStateDir(), "openclaw-weixin", "accounts");
6
+ return path.join(resolveStateDir(), "accounts");
7
7
  }
8
8
  /**
9
9
  * Path to the persistent get_updates_buf file for an account.
10
- * Stored alongside account data: ~/.openclaw/openclaw-weixin/accounts/{accountId}.sync.json
10
+ * Stored alongside account data: ~/.weixin-bot-cli/accounts/{accountId}.sync.json
11
11
  */
12
12
  export function getSyncBufFilePath(accountId) {
13
13
  return path.join(resolveAccountsDir(), `${accountId}.sync.json`);
14
14
  }
15
- /** Legacy single-account syncbuf (pre multi-account): `.openclaw-weixin-sync/default.json`. */
16
- function getLegacySyncBufDefaultJsonPath() {
17
- return path.join(resolveStateDir(), "agents", "default", "sessions", ".openclaw-weixin-sync", "default.json");
18
- }
19
15
  function readSyncBufFile(filePath) {
20
16
  try {
21
17
  const raw = fs.readFileSync(filePath, "utf-8");
@@ -31,17 +27,12 @@ function readSyncBufFile(filePath) {
31
27
  }
32
28
  /**
33
29
  * Load persisted get_updates_buf.
34
- * Falls back in order:
35
- * 1. Primary path (normalized accountId, new installs)
36
- * 2. Compat path (raw accountId derived from pattern, old installs)
37
- * 3. Legacy single-account path (very old installs without multi-account support)
38
30
  */
39
31
  export function loadGetUpdatesBuf(filePath) {
40
32
  const value = readSyncBufFile(filePath);
41
33
  if (value !== undefined)
42
34
  return value;
43
35
  // Compat: if given path uses a normalized accountId (e.g. "b0f5860fdecb-im-bot.sync.json"),
44
- // also try the old raw-ID filename (e.g. "b0f5860fdecb@im.bot.sync.json").
45
36
  const accountId = path.basename(filePath, ".sync.json");
46
37
  const rawId = deriveRawAccountId(accountId);
47
38
  if (rawId) {
@@ -50,8 +41,6 @@ export function loadGetUpdatesBuf(filePath) {
50
41
  if (compatValue !== undefined)
51
42
  return compatValue;
52
43
  }
53
- // Legacy fallback: old single-account installs stored syncbuf without accountId.
54
- return readSyncBufFile(getLegacySyncBufDefaultJsonPath());
55
44
  }
56
45
  /**
57
46
  * Persist get_updates_buf. Creates parent dir if needed.
@@ -1 +1 @@
1
- {"version":3,"file":"sync-buf.js","sourceRoot":"","sources":["../../src/storage/sync-buf.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,IAAI,MAAM,WAAW,CAAC;AAE7B,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAEzD,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAEjD,SAAS,kBAAkB;IACzB,OAAO,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,EAAE,iBAAiB,EAAE,UAAU,CAAC,CAAC;AACrE,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,kBAAkB,CAAC,SAAiB;IAClD,OAAO,IAAI,CAAC,IAAI,CAAC,kBAAkB,EAAE,EAAE,GAAG,SAAS,YAAY,CAAC,CAAC;AACnE,CAAC;AAED,+FAA+F;AAC/F,SAAS,+BAA+B;IACtC,OAAO,IAAI,CAAC,IAAI,CACd,eAAe,EAAE,EACjB,QAAQ,EACR,SAAS,EACT,UAAU,EACV,uBAAuB,EACvB,cAAc,CACf,CAAC;AACJ,CAAC;AAMD,SAAS,eAAe,CAAC,QAAgB;IACvC,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,EAAE,CAAC,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QAC/C,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAiC,CAAC;QAC7D,IAAI,OAAO,IAAI,CAAC,eAAe,KAAK,QAAQ,EAAE,CAAC;YAC7C,OAAO,IAAI,CAAC,eAAe,CAAC;QAC9B,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,4BAA4B;IAC9B,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,iBAAiB,CAAC,QAAgB;IAChD,MAAM,KAAK,GAAG,eAAe,CAAC,QAAQ,CAAC,CAAC;IACxC,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO,KAAK,CAAC;IAEtC,4FAA4F;IAC5F,2EAA2E;IAC3E,MAAM,SAAS,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC;IACxD,MAAM,KAAK,GAAG,kBAAkB,CAAC,SAAS,CAAC,CAAC;IAC5C,IAAI,KAAK,EAAE,CAAC;QACV,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,kBAAkB,EAAE,EAAE,GAAG,KAAK,YAAY,CAAC,CAAC;QACzE,MAAM,WAAW,GAAG,eAAe,CAAC,UAAU,CAAC,CAAC;QAChD,IAAI,WAAW,KAAK,SAAS;YAAE,OAAO,WAAW,CAAC;IACpD,CAAC;IAED,iFAAiF;IACjF,OAAO,eAAe,CAAC,+BAA+B,EAAE,CAAC,CAAC;AAC5D,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,iBAAiB,CAAC,QAAgB,EAAE,aAAqB;IACvE,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IACnC,EAAE,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACvC,EAAE,CAAC,aAAa,CAAC,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,eAAe,EAAE,aAAa,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;AACnG,CAAC"}
1
+ {"version":3,"file":"sync-buf.js","sourceRoot":"","sources":["../../src/storage/sync-buf.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,IAAI,MAAM,WAAW,CAAC;AAE7B,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAEzD,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAEjD,SAAS,kBAAkB;IACzB,OAAO,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,EAAE,UAAU,CAAC,CAAC;AAClD,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,kBAAkB,CAAC,SAAiB;IAClD,OAAO,IAAI,CAAC,IAAI,CAAC,kBAAkB,EAAE,EAAE,GAAG,SAAS,YAAY,CAAC,CAAC;AACnE,CAAC;AAOD,SAAS,eAAe,CAAC,QAAgB;IACvC,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,EAAE,CAAC,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QAC/C,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAiC,CAAC;QAC7D,IAAI,OAAO,IAAI,CAAC,eAAe,KAAK,QAAQ,EAAE,CAAC;YAC7C,OAAO,IAAI,CAAC,eAAe,CAAC;QAC9B,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,4BAA4B;IAC9B,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,iBAAiB,CAAC,QAAgB;IAChD,MAAM,KAAK,GAAG,eAAe,CAAC,QAAQ,CAAC,CAAC;IACxC,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO,KAAK,CAAC;IAEtC,4FAA4F;IAC5F,MAAM,SAAS,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC;IACxD,MAAM,KAAK,GAAG,kBAAkB,CAAC,SAAS,CAAC,CAAC;IAC5C,IAAI,KAAK,EAAE,CAAC;QACV,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,kBAAkB,EAAE,EAAE,GAAG,KAAK,YAAY,CAAC,CAAC;QACzE,MAAM,WAAW,GAAG,eAAe,CAAC,UAAU,CAAC,CAAC;QAChD,IAAI,WAAW,KAAK,SAAS;YAAE,OAAO,WAAW,CAAC;IACpD,CAAC;AAEH,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,iBAAiB,CAAC,QAAgB,EAAE,aAAqB;IACvE,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IACnC,EAAE,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACvC,EAAE,CAAC,aAAa,CAAC,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,eAAe,EAAE,aAAa,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;AACnG,CAAC"}
@@ -1,17 +1,12 @@
1
1
  import fs from "node:fs";
2
2
  import os from "node:os";
3
3
  import path from "node:path";
4
- /**
5
- * Plugin logger — writes JSON lines to the main openclaw log file:
6
- * <tmpDir>/openclaw-YYYY-MM-DD.log
7
- * Same file and format used by all other channels.
8
- */
9
4
  const MAIN_LOG_DIR = path.join(os.homedir(), ".weixin-bot-cli", "logs");
10
5
  const SUBSYSTEM = "weixin-bot-cli";
11
6
  const RUNTIME = "node";
12
7
  const RUNTIME_VERSION = process.versions.node;
13
8
  const HOSTNAME = os.hostname() || "unknown";
14
- const PARENT_NAMES = ["openclaw"];
9
+ const PARENT_NAMES = ["cli"];
15
10
  /** tslog-compatible level IDs (higher = more severe). */
16
11
  const LEVEL_IDS = {
17
12
  TRACE: 1,
@@ -50,7 +45,7 @@ function localDateKey(now) {
50
45
  }
51
46
  function resolveMainLogPath() {
52
47
  const dateKey = localDateKey(new Date());
53
- return path.join(MAIN_LOG_DIR, `openclaw-${dateKey}.log`);
48
+ return path.join(MAIN_LOG_DIR, `${dateKey}.log`);
54
49
  }
55
50
  let logDirEnsured = false;
56
51
  function buildLoggerName(accountId) {
@@ -1 +1 @@
1
- {"version":3,"file":"logger.js","sourceRoot":"","sources":["../../src/util/logger.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"logger.js","sourceRoot":"","sources":["../../src/util/logger.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -3,7 +3,7 @@
3
3
  "publishConfig": {
4
4
  "access": "public"
5
5
  },
6
- "version": "0.1.1",
6
+ "version": "0.2.2",
7
7
  "description": "Weixin Bot CLI",
8
8
  "license": "MIT",
9
9
  "author": "ecat",
@@ -16,6 +16,13 @@
16
16
  "bugs": {
17
17
  "url": "https://github.com/ecator/weixin-bot-cli/issues"
18
18
  },
19
+ "keywords": [
20
+ "weixin",
21
+ "wechat",
22
+ "bot",
23
+ "cli",
24
+ "ilink"
25
+ ],
19
26
  "bin": {
20
27
  "weixin-bot-cli": "./dist/cli.js"
21
28
  },
@@ -26,6 +33,7 @@
26
33
  "node": ">=22"
27
34
  },
28
35
  "dependencies": {
36
+ "@agentclientprotocol/sdk": "^0.18.0",
29
37
  "commander": "^13.1.0",
30
38
  "qrcode-terminal": "0.12.0",
31
39
  "silk-wasm": "^3.7.1",