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.
Files changed (88) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +199 -0
  3. package/dist/bin/agent-shell.d.ts +15 -0
  4. package/dist/bin/agent-shell.d.ts.map +1 -0
  5. package/dist/bin/agent-shell.js +816 -0
  6. package/dist/bin/agent-shell.js.map +1 -0
  7. package/dist/package.json +54 -0
  8. package/dist/src/acp/agent-manager.d.ts +22 -0
  9. package/dist/src/acp/agent-manager.d.ts.map +1 -0
  10. package/dist/src/acp/agent-manager.js +79 -0
  11. package/dist/src/acp/agent-manager.js.map +1 -0
  12. package/dist/src/acp/client.d.ts +64 -0
  13. package/dist/src/acp/client.d.ts.map +1 -0
  14. package/dist/src/acp/client.js +265 -0
  15. package/dist/src/acp/client.js.map +1 -0
  16. package/dist/src/acp/session.d.ts +81 -0
  17. package/dist/src/acp/session.d.ts.map +1 -0
  18. package/dist/src/acp/session.js +339 -0
  19. package/dist/src/acp/session.js.map +1 -0
  20. package/dist/src/adapter/inbound.d.ts +39 -0
  21. package/dist/src/adapter/inbound.d.ts.map +1 -0
  22. package/dist/src/adapter/inbound.js +264 -0
  23. package/dist/src/adapter/inbound.js.map +1 -0
  24. package/dist/src/bridge.d.ts +115 -0
  25. package/dist/src/bridge.d.ts.map +1 -0
  26. package/dist/src/bridge.js +969 -0
  27. package/dist/src/bridge.js.map +1 -0
  28. package/dist/src/config.d.ts +155 -0
  29. package/dist/src/config.d.ts.map +1 -0
  30. package/dist/src/config.js +265 -0
  31. package/dist/src/config.js.map +1 -0
  32. package/dist/src/index.d.ts +9 -0
  33. package/dist/src/index.d.ts.map +1 -0
  34. package/dist/src/index.js +7 -0
  35. package/dist/src/index.js.map +1 -0
  36. package/dist/src/inject/monitor.d.ts +24 -0
  37. package/dist/src/inject/monitor.d.ts.map +1 -0
  38. package/dist/src/inject/monitor.js +149 -0
  39. package/dist/src/inject/monitor.js.map +1 -0
  40. package/dist/src/inject/queue.d.ts +13 -0
  41. package/dist/src/inject/queue.d.ts.map +1 -0
  42. package/dist/src/inject/queue.js +35 -0
  43. package/dist/src/inject/queue.js.map +1 -0
  44. package/dist/src/inject/types.d.ts +10 -0
  45. package/dist/src/inject/types.d.ts.map +1 -0
  46. package/dist/src/inject/types.js +2 -0
  47. package/dist/src/inject/types.js.map +1 -0
  48. package/dist/src/storage/accounts.d.ts +43 -0
  49. package/dist/src/storage/accounts.d.ts.map +1 -0
  50. package/dist/src/storage/accounts.js +289 -0
  51. package/dist/src/storage/accounts.js.map +1 -0
  52. package/dist/src/storage/runtime.d.ts +23 -0
  53. package/dist/src/storage/runtime.d.ts.map +1 -0
  54. package/dist/src/storage/runtime.js +104 -0
  55. package/dist/src/storage/runtime.js.map +1 -0
  56. package/dist/src/storage/state.d.ts +17 -0
  57. package/dist/src/storage/state.d.ts.map +1 -0
  58. package/dist/src/storage/state.js +78 -0
  59. package/dist/src/storage/state.js.map +1 -0
  60. package/dist/src/telemetry/index.d.ts +33 -0
  61. package/dist/src/telemetry/index.d.ts.map +1 -0
  62. package/dist/src/telemetry/index.js +167 -0
  63. package/dist/src/telemetry/index.js.map +1 -0
  64. package/dist/src/weixin/api.d.ts +50 -0
  65. package/dist/src/weixin/api.d.ts.map +1 -0
  66. package/dist/src/weixin/api.js +90 -0
  67. package/dist/src/weixin/api.js.map +1 -0
  68. package/dist/src/weixin/auth.d.ts +26 -0
  69. package/dist/src/weixin/auth.d.ts.map +1 -0
  70. package/dist/src/weixin/auth.js +103 -0
  71. package/dist/src/weixin/auth.js.map +1 -0
  72. package/dist/src/weixin/media.d.ts +24 -0
  73. package/dist/src/weixin/media.d.ts.map +1 -0
  74. package/dist/src/weixin/media.js +64 -0
  75. package/dist/src/weixin/media.js.map +1 -0
  76. package/dist/src/weixin/monitor.d.ts +16 -0
  77. package/dist/src/weixin/monitor.d.ts.map +1 -0
  78. package/dist/src/weixin/monitor.js +113 -0
  79. package/dist/src/weixin/monitor.js.map +1 -0
  80. package/dist/src/weixin/send.d.ts +28 -0
  81. package/dist/src/weixin/send.d.ts.map +1 -0
  82. package/dist/src/weixin/send.js +162 -0
  83. package/dist/src/weixin/send.js.map +1 -0
  84. package/dist/src/weixin/types.d.ts +149 -0
  85. package/dist/src/weixin/types.d.ts.map +1 -0
  86. package/dist/src/weixin/types.js +33 -0
  87. package/dist/src/weixin/types.js.map +1 -0
  88. 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
+ [![npm](https://img.shields.io/npm/v/agent-shell-chat)](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"}