agent-shell-chat 1.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/LICENSE +21 -0
- package/README.md +199 -0
- package/dist/bin/agent-shell.d.ts +15 -0
- package/dist/bin/agent-shell.d.ts.map +1 -0
- package/dist/bin/agent-shell.js +816 -0
- package/dist/bin/agent-shell.js.map +1 -0
- package/dist/package.json +54 -0
- package/dist/src/acp/agent-manager.d.ts +22 -0
- package/dist/src/acp/agent-manager.d.ts.map +1 -0
- package/dist/src/acp/agent-manager.js +79 -0
- package/dist/src/acp/agent-manager.js.map +1 -0
- package/dist/src/acp/client.d.ts +64 -0
- package/dist/src/acp/client.d.ts.map +1 -0
- package/dist/src/acp/client.js +265 -0
- package/dist/src/acp/client.js.map +1 -0
- package/dist/src/acp/session.d.ts +81 -0
- package/dist/src/acp/session.d.ts.map +1 -0
- package/dist/src/acp/session.js +339 -0
- package/dist/src/acp/session.js.map +1 -0
- package/dist/src/adapter/inbound.d.ts +39 -0
- package/dist/src/adapter/inbound.d.ts.map +1 -0
- package/dist/src/adapter/inbound.js +264 -0
- package/dist/src/adapter/inbound.js.map +1 -0
- package/dist/src/bridge.d.ts +115 -0
- package/dist/src/bridge.d.ts.map +1 -0
- package/dist/src/bridge.js +969 -0
- package/dist/src/bridge.js.map +1 -0
- package/dist/src/config.d.ts +155 -0
- package/dist/src/config.d.ts.map +1 -0
- package/dist/src/config.js +265 -0
- package/dist/src/config.js.map +1 -0
- package/dist/src/index.d.ts +9 -0
- package/dist/src/index.d.ts.map +1 -0
- package/dist/src/index.js +7 -0
- package/dist/src/index.js.map +1 -0
- package/dist/src/inject/monitor.d.ts +24 -0
- package/dist/src/inject/monitor.d.ts.map +1 -0
- package/dist/src/inject/monitor.js +149 -0
- package/dist/src/inject/monitor.js.map +1 -0
- package/dist/src/inject/queue.d.ts +13 -0
- package/dist/src/inject/queue.d.ts.map +1 -0
- package/dist/src/inject/queue.js +35 -0
- package/dist/src/inject/queue.js.map +1 -0
- package/dist/src/inject/types.d.ts +10 -0
- package/dist/src/inject/types.d.ts.map +1 -0
- package/dist/src/inject/types.js +2 -0
- package/dist/src/inject/types.js.map +1 -0
- package/dist/src/storage/accounts.d.ts +43 -0
- package/dist/src/storage/accounts.d.ts.map +1 -0
- package/dist/src/storage/accounts.js +289 -0
- package/dist/src/storage/accounts.js.map +1 -0
- package/dist/src/storage/runtime.d.ts +23 -0
- package/dist/src/storage/runtime.d.ts.map +1 -0
- package/dist/src/storage/runtime.js +104 -0
- package/dist/src/storage/runtime.js.map +1 -0
- package/dist/src/storage/state.d.ts +17 -0
- package/dist/src/storage/state.d.ts.map +1 -0
- package/dist/src/storage/state.js +78 -0
- package/dist/src/storage/state.js.map +1 -0
- package/dist/src/telemetry/index.d.ts +33 -0
- package/dist/src/telemetry/index.d.ts.map +1 -0
- package/dist/src/telemetry/index.js +167 -0
- package/dist/src/telemetry/index.js.map +1 -0
- package/dist/src/weixin/api.d.ts +50 -0
- package/dist/src/weixin/api.d.ts.map +1 -0
- package/dist/src/weixin/api.js +90 -0
- package/dist/src/weixin/api.js.map +1 -0
- package/dist/src/weixin/auth.d.ts +26 -0
- package/dist/src/weixin/auth.d.ts.map +1 -0
- package/dist/src/weixin/auth.js +103 -0
- package/dist/src/weixin/auth.js.map +1 -0
- package/dist/src/weixin/media.d.ts +24 -0
- package/dist/src/weixin/media.d.ts.map +1 -0
- package/dist/src/weixin/media.js +64 -0
- package/dist/src/weixin/media.js.map +1 -0
- package/dist/src/weixin/monitor.d.ts +16 -0
- package/dist/src/weixin/monitor.d.ts.map +1 -0
- package/dist/src/weixin/monitor.js +113 -0
- package/dist/src/weixin/monitor.js.map +1 -0
- package/dist/src/weixin/send.d.ts +28 -0
- package/dist/src/weixin/send.d.ts.map +1 -0
- package/dist/src/weixin/send.js +162 -0
- package/dist/src/weixin/send.js.map +1 -0
- package/dist/src/weixin/types.d.ts +149 -0
- package/dist/src/weixin/types.d.ts.map +1 -0
- package/dist/src/weixin/types.js +33 -0
- package/dist/src/weixin/types.js.map +1 -0
- package/package.json +54 -0
package/LICENSE
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2026 Jun Han
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
package/README.md
ADDED
|
@@ -0,0 +1,199 @@
|
|
|
1
|
+
# agent-shell-chat
|
|
2
|
+
|
|
3
|
+
[](https://www.npmjs.com/package/agent-shell-chat)
|
|
4
|
+
|
|
5
|
+
通过微信直接使用本地 AI Agent。
|
|
6
|
+
|
|
7
|
+
`agent-shell-chat` 使用微信 iLink Bot API 接收私聊消息,通过
|
|
8
|
+
Agent Client Protocol(ACP)将消息转发给本地 Agent,再把回复、图片和文件发送回微信。
|
|
9
|
+
|
|
10
|
+
```text
|
|
11
|
+
微信私聊 <-> agent-shell-chat <-> ACP Agent
|
|
12
|
+
```
|
|
13
|
+
|
|
14
|
+
## 核心功能
|
|
15
|
+
|
|
16
|
+
- **支持主流 Agent**:内置 Copilot、Claude Code、Gemini CLI、Qwen Code、Codex、OpenCode、Kimi 等预设。
|
|
17
|
+
- **兼容任意 ACP Agent**:既可以使用内置预设,也可以传入自定义启动命令。
|
|
18
|
+
- **微信扫码登录**:登录信息保存在本地,无需每次重新扫码。
|
|
19
|
+
- **连续会话**:每个微信用户拥有独立的 Agent 会话和上下文。
|
|
20
|
+
- **文件与图片收发**:微信文件会保存到本地供 Agent 读取;Agent 可通过 `@send:` 标记发送文件。
|
|
21
|
+
- **后台运行**:支持守护进程、状态查询、停止和本地消息注入。
|
|
22
|
+
- **多账号支持**:多个微信账号可分别绑定不同 Agent 和项目目录。
|
|
23
|
+
|
|
24
|
+
> 当前只处理微信私聊消息,群聊消息会被忽略。
|
|
25
|
+
|
|
26
|
+
## 环境要求
|
|
27
|
+
|
|
28
|
+
- Node.js 20 或更高版本
|
|
29
|
+
- 可使用 iLink Bot API 的微信环境
|
|
30
|
+
- 对应 Agent 所需的账号及认证信息
|
|
31
|
+
|
|
32
|
+
## 安装
|
|
33
|
+
|
|
34
|
+
推荐直接通过 `npx` 运行,无需全局安装:
|
|
35
|
+
|
|
36
|
+
```bash
|
|
37
|
+
npx -y agent-shell-chat@latest --help
|
|
38
|
+
```
|
|
39
|
+
|
|
40
|
+
也可以全局安装:
|
|
41
|
+
|
|
42
|
+
```bash
|
|
43
|
+
npm install -g agent-shell-chat
|
|
44
|
+
agent-shell --help
|
|
45
|
+
```
|
|
46
|
+
|
|
47
|
+
## 快速开始
|
|
48
|
+
|
|
49
|
+
### 1. 登录微信
|
|
50
|
+
|
|
51
|
+
```bash
|
|
52
|
+
npx -y agent-shell-chat@latest login
|
|
53
|
+
```
|
|
54
|
+
|
|
55
|
+
根据终端提示添加账号名称,并使用微信扫描二维码。登录信息默认保存在
|
|
56
|
+
`~/.agent-shell/`。
|
|
57
|
+
|
|
58
|
+
### 2. 启动 Agent
|
|
59
|
+
|
|
60
|
+
使用内置 Agent 预设:
|
|
61
|
+
|
|
62
|
+
```bash
|
|
63
|
+
npx -y agent-shell-chat@latest --agent copilot
|
|
64
|
+
```
|
|
65
|
+
|
|
66
|
+
指定 Agent 操作的项目目录:
|
|
67
|
+
|
|
68
|
+
```bash
|
|
69
|
+
npx -y agent-shell-chat@latest --agent codex --cwd D:\code\my-project
|
|
70
|
+
```
|
|
71
|
+
|
|
72
|
+
使用自定义 ACP 启动命令:
|
|
73
|
+
|
|
74
|
+
```bash
|
|
75
|
+
npx -y agent-shell-chat@latest --agent "npx my-agent --acp"
|
|
76
|
+
```
|
|
77
|
+
|
|
78
|
+
启动后,在微信中向 Bot 发送私聊消息即可。
|
|
79
|
+
|
|
80
|
+
## 内置 Agent
|
|
81
|
+
|
|
82
|
+
查看当前版本提供的全部预设:
|
|
83
|
+
|
|
84
|
+
```bash
|
|
85
|
+
npx -y agent-shell-chat@latest agents
|
|
86
|
+
```
|
|
87
|
+
|
|
88
|
+
常用预设包括:
|
|
89
|
+
|
|
90
|
+
```text
|
|
91
|
+
copilot claude gemini qwen codex opencode
|
|
92
|
+
openclaw kiro hermes kimi pi
|
|
93
|
+
```
|
|
94
|
+
|
|
95
|
+
不同 Agent 可能需要提前完成各自的登录或 API Key 配置。
|
|
96
|
+
|
|
97
|
+
## 常用操作
|
|
98
|
+
|
|
99
|
+
### 后台运行
|
|
100
|
+
|
|
101
|
+
```bash
|
|
102
|
+
npx -y agent-shell-chat@latest --agent codex --cwd D:\code\my-project --daemon
|
|
103
|
+
```
|
|
104
|
+
|
|
105
|
+
查看运行状态或停止进程:
|
|
106
|
+
|
|
107
|
+
```bash
|
|
108
|
+
npx -y agent-shell-chat@latest status
|
|
109
|
+
npx -y agent-shell-chat@latest stop
|
|
110
|
+
```
|
|
111
|
+
|
|
112
|
+
日志保存在对应账号的存储目录中。
|
|
113
|
+
|
|
114
|
+
### 多账号
|
|
115
|
+
|
|
116
|
+
添加并查看账号:
|
|
117
|
+
|
|
118
|
+
```bash
|
|
119
|
+
npx -y agent-shell-chat@latest login --account-name work
|
|
120
|
+
npx -y agent-shell-chat@latest accounts
|
|
121
|
+
```
|
|
122
|
+
|
|
123
|
+
为指定账号启动不同的 Agent:
|
|
124
|
+
|
|
125
|
+
```bash
|
|
126
|
+
npx -y agent-shell-chat@latest --account work --agent claude --cwd D:\code\project-a --daemon
|
|
127
|
+
```
|
|
128
|
+
|
|
129
|
+
### 收发文件
|
|
130
|
+
|
|
131
|
+
微信收到的文件默认保存到账号目录下的 `inbox/`,Agent 会在消息中收到文件的绝对路径。
|
|
132
|
+
|
|
133
|
+
Agent 回复时可使用以下格式把文件发送到微信:
|
|
134
|
+
|
|
135
|
+
```text
|
|
136
|
+
报告已生成:@send:output/report.pdf
|
|
137
|
+
```
|
|
138
|
+
|
|
139
|
+
`@send:` 后的文件必须位于 Agent 工作目录内。可通过
|
|
140
|
+
`--auto-send-media off|tagged|all` 控制自动发送策略,默认使用 `tagged`。
|
|
141
|
+
|
|
142
|
+
### 本地注入消息
|
|
143
|
+
|
|
144
|
+
向正在后台运行的实例发送一条本地消息:
|
|
145
|
+
|
|
146
|
+
```bash
|
|
147
|
+
npx -y agent-shell-chat@latest inject --account work --text "总结今天的代码变更"
|
|
148
|
+
```
|
|
149
|
+
|
|
150
|
+
也可以从文件读取消息:
|
|
151
|
+
|
|
152
|
+
```bash
|
|
153
|
+
npx -y agent-shell-chat@latest inject --account work --file ./prompt.txt
|
|
154
|
+
```
|
|
155
|
+
|
|
156
|
+
## 微信内置命令
|
|
157
|
+
|
|
158
|
+
以下命令由 bridge 直接处理,不会转发给 Agent:
|
|
159
|
+
|
|
160
|
+
```text
|
|
161
|
+
/acp-config 查看当前 Agent 的会话配置
|
|
162
|
+
/acp-config set <配置项> <值> 修改会话配置
|
|
163
|
+
/acp-cancel 取消当前任务
|
|
164
|
+
/acp-cancel all 取消当前任务并清空等待队列
|
|
165
|
+
```
|
|
166
|
+
|
|
167
|
+
## 常用参数
|
|
168
|
+
|
|
169
|
+
| 参数 | 说明 |
|
|
170
|
+
| --- | --- |
|
|
171
|
+
| `--agent <预设或命令>` | 选择内置 Agent 或自定义 ACP 命令 |
|
|
172
|
+
| `--cwd <目录>` | 设置 Agent 工作目录 |
|
|
173
|
+
| `--account <名称>` | 选择已保存的微信账号 |
|
|
174
|
+
| `--daemon` | 在后台运行 |
|
|
175
|
+
| `--system-prompt <文本>` | 为每个新会话设置系统提示词 |
|
|
176
|
+
| `--inbox-dir <目录>` | 修改微信文件保存目录 |
|
|
177
|
+
| `--no-inbox` | 禁止保存微信收到的文件 |
|
|
178
|
+
| `--max-sessions <数量>` | 设置最大并发用户会话数 |
|
|
179
|
+
| `--idle-timeout <分钟>` | 设置会话空闲超时,`0` 表示不清理 |
|
|
180
|
+
| `-v, --verbose` | 输出详细日志 |
|
|
181
|
+
|
|
182
|
+
查看完整参数:
|
|
183
|
+
|
|
184
|
+
```bash
|
|
185
|
+
npx -y agent-shell-chat@latest --help
|
|
186
|
+
```
|
|
187
|
+
|
|
188
|
+
## 本地开发
|
|
189
|
+
|
|
190
|
+
```bash
|
|
191
|
+
npm ci
|
|
192
|
+
npm run build
|
|
193
|
+
npm test
|
|
194
|
+
node dist/bin/agent-shell.js --help
|
|
195
|
+
```
|
|
196
|
+
|
|
197
|
+
## License
|
|
198
|
+
|
|
199
|
+
[MIT](LICENSE)
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
/**
|
|
3
|
+
* agent-shell CLI entry point.
|
|
4
|
+
*
|
|
5
|
+
* Usage:
|
|
6
|
+
* agent-shell --agent "claude code"
|
|
7
|
+
* agent-shell --agent "gemini" --cwd /path/to/project
|
|
8
|
+
* agent-shell --agent "npx tsx ./agent.ts" --login
|
|
9
|
+
* agent-shell --agent "claude code" --daemon
|
|
10
|
+
* agent-shell stop
|
|
11
|
+
* agent-shell status
|
|
12
|
+
* agent-shell inject --text "今日 AI 资讯"
|
|
13
|
+
*/
|
|
14
|
+
export {};
|
|
15
|
+
//# sourceMappingURL=agent-shell.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"agent-shell.d.ts","sourceRoot":"","sources":["../../bin/agent-shell.ts"],"names":[],"mappings":";AAEA;;;;;;;;;;;GAWG"}
|