@xopcai/xopcbot 0.1.3 → 0.2.0
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 +57 -52
- package/README.zh-CN.md +56 -49
- package/dist/agent/__tests__/media-processing.test.d.ts +6 -0
- package/dist/agent/__tests__/media-processing.test.js +385 -0
- package/dist/agent/__tests__/media-processing.test.js.map +1 -0
- package/dist/agent/fallback/__tests__/index.test.js +16 -5
- package/dist/agent/fallback/__tests__/index.test.js.map +1 -1
- package/dist/agent/fallback/candidates.d.ts +2 -4
- package/dist/agent/fallback/candidates.js +19 -26
- package/dist/agent/fallback/candidates.js.map +1 -1
- package/dist/agent/helpers.d.ts +1 -0
- package/dist/agent/helpers.js.map +1 -1
- package/dist/agent/index.d.ts +6 -1
- package/dist/agent/index.js +10 -1
- package/dist/agent/index.js.map +1 -1
- package/dist/agent/models/compat.d.ts +35 -0
- package/dist/agent/models/compat.js +110 -0
- package/dist/agent/models/compat.js.map +1 -0
- package/dist/agent/models/fallback.d.ts +38 -0
- package/dist/agent/models/fallback.js +133 -0
- package/dist/agent/models/fallback.js.map +1 -0
- package/dist/agent/models/index.d.ts +10 -0
- package/dist/agent/models/index.js +11 -0
- package/dist/agent/models/index.js.map +1 -0
- package/dist/agent/{model-manager.d.ts → models/manager.d.ts} +2 -8
- package/dist/agent/{model-manager.js → models/manager.js} +38 -24
- package/dist/agent/models/manager.js.map +1 -0
- package/dist/agent/models/scan.d.ts +46 -0
- package/dist/agent/models/scan.js +177 -0
- package/dist/agent/models/scan.js.map +1 -0
- package/dist/agent/models/selection.d.ts +44 -0
- package/dist/agent/models/selection.js +141 -0
- package/dist/agent/models/selection.js.map +1 -0
- package/dist/agent/prompt/index.js +1 -1
- package/dist/agent/prompt/index.js.map +1 -1
- package/dist/agent/service.js +34 -16
- package/dist/agent/service.js.map +1 -1
- package/dist/agent/skills/__tests__/test-framework.test.js +15 -7
- package/dist/agent/skills/__tests__/test-framework.test.js.map +1 -1
- package/dist/agent/skills/config.d.ts +1 -1
- package/dist/agent/skills/config.js +2 -2
- package/dist/agent/skills/config.js.map +1 -1
- package/dist/agent/skills/index.js +15 -28
- package/dist/agent/skills/index.js.map +1 -1
- package/dist/agent/skills/installer.d.ts +1 -1
- package/dist/agent/skills/installer.js +1 -1
- package/dist/agent/skills/scanner.d.ts +1 -1
- package/dist/agent/skills/scanner.js +1 -1
- package/dist/agent/skills/test-framework.js +24 -23
- package/dist/agent/skills/test-framework.js.map +1 -1
- package/dist/agent/skills/types.d.ts +3 -3
- package/dist/agent/skills/types.js +1 -1
- package/dist/agent/skills/watcher.d.ts +1 -1
- package/dist/agent/skills/watcher.js +1 -1
- package/dist/agent/system-prompt.d.ts +67 -0
- package/dist/agent/system-prompt.js +351 -0
- package/dist/agent/system-prompt.js.map +1 -0
- package/dist/agent/tools/__tests__/send-media.test.d.ts +6 -0
- package/dist/agent/tools/__tests__/send-media.test.js +251 -0
- package/dist/agent/tools/__tests__/send-media.test.js.map +1 -0
- package/dist/agent/types.agent-defaults.d.ts +48 -0
- package/dist/agent/types.agent-defaults.js +5 -0
- package/dist/agent/types.agent-defaults.js.map +1 -0
- package/dist/agent/types.d.ts +14 -6
- package/dist/agent/types.js +5 -0
- package/dist/agent/types.js.map +1 -1
- package/dist/agent/workspace.d.ts +94 -0
- package/dist/agent/workspace.js +625 -0
- package/dist/agent/workspace.js.map +1 -0
- package/dist/auth/index.js +1 -1
- package/dist/auth/index.js.map +1 -1
- package/dist/auth/oauth/index.d.ts +1 -0
- package/dist/auth/oauth/index.js +1 -0
- package/dist/auth/oauth/index.js.map +1 -1
- package/dist/auth/oauth/kimi.d.ts +2 -1
- package/dist/auth/oauth/kimi.js +51 -48
- package/dist/auth/oauth/kimi.js.map +1 -1
- package/dist/auth/oauth/minimax-cn.d.ts +12 -0
- package/dist/auth/oauth/minimax-cn.js +111 -0
- package/dist/auth/oauth/minimax-cn.js.map +1 -0
- package/dist/auth/oauth/qwen.d.ts +5 -0
- package/dist/auth/oauth/qwen.js +54 -84
- package/dist/auth/oauth/qwen.js.map +1 -1
- package/dist/auth/profiles/index.d.ts +0 -2
- package/dist/auth/profiles/index.js +0 -2
- package/dist/auth/profiles/index.js.map +1 -1
- package/dist/auth/storage.js +7 -1
- package/dist/auth/storage.js.map +1 -1
- package/dist/channels/__tests__/media-integration.test.d.ts +6 -0
- package/dist/channels/__tests__/media-integration.test.js +398 -0
- package/dist/channels/__tests__/media-integration.test.js.map +1 -0
- package/dist/channels/__tests__/media.test.d.ts +6 -0
- package/dist/channels/__tests__/media.test.js +251 -0
- package/dist/channels/__tests__/media.test.js.map +1 -0
- package/dist/channels/access-control.d.ts +1 -1
- package/dist/channels/access-control.js +1 -1
- package/dist/channels/draft-stream.d.ts +1 -1
- package/dist/channels/draft-stream.js +1 -1
- package/dist/channels/format.d.ts +1 -1
- package/dist/channels/format.js +1 -1
- package/dist/channels/telegram/command-handler.js +15 -48
- package/dist/channels/telegram/command-handler.js.map +1 -1
- package/dist/channels/telegram/plugin.js +3 -2
- package/dist/channels/telegram/plugin.js.map +1 -1
- package/dist/channels/telegram/webhook.d.ts +1 -1
- package/dist/channels/telegram/webhook.js +1 -1
- package/dist/channels/types.d.ts +1 -1
- package/dist/channels/types.js +1 -1
- package/dist/channels/update-offset-store.d.ts +1 -1
- package/dist/channels/update-offset-store.js +1 -1
- package/dist/cli/commands/auth.js +8 -23
- package/dist/cli/commands/auth.js.map +1 -1
- package/dist/cli/commands/gateway.js +9 -1
- package/dist/cli/commands/gateway.js.map +1 -1
- package/dist/cli/commands/models.js +35 -29
- package/dist/cli/commands/models.js.map +1 -1
- package/dist/cli/commands/onboard.js +166 -115
- package/dist/cli/commands/onboard.js.map +1 -1
- package/dist/cli/commands/setup.js +123 -0
- package/dist/cli/commands/setup.js.map +1 -0
- package/dist/cli/commands/skills.js +6 -6
- package/dist/cli/commands/skills.js.map +1 -1
- package/dist/cli/index.d.ts +1 -1
- package/dist/cli/index.js +1 -1
- package/dist/cli/index.js.map +1 -1
- package/dist/cli/templates.d.ts +2 -0
- package/dist/cli/templates.js +1 -1
- package/dist/cli/templates.js.map +1 -1
- package/dist/config/defaults.d.ts +19 -0
- package/dist/config/defaults.js +168 -0
- package/dist/config/defaults.js.map +1 -0
- package/dist/config/index.d.ts +5 -0
- package/dist/config/index.js +4 -0
- package/dist/config/index.js.map +1 -1
- package/dist/config/integration.d.ts +12 -0
- package/dist/config/integration.js +14 -0
- package/dist/config/integration.js.map +1 -0
- package/dist/config/models-json.d.ts +454 -0
- package/dist/config/models-json.js +323 -0
- package/dist/config/models-json.js.map +1 -0
- package/dist/config/paths.d.ts +2 -0
- package/dist/config/paths.js +4 -0
- package/dist/config/paths.js.map +1 -1
- package/dist/config/reload.d.ts +1 -1
- package/dist/config/reload.js +3 -3
- package/dist/config/reload.js.map +1 -1
- package/dist/config/resolve-config-value.d.ts +36 -0
- package/dist/config/resolve-config-value.js +218 -0
- package/dist/config/resolve-config-value.js.map +1 -0
- package/dist/config/rules.js +3 -2
- package/dist/config/rules.js.map +1 -1
- package/dist/config/schema.d.ts +17 -884
- package/dist/config/schema.js +36 -312
- package/dist/config/schema.js.map +1 -1
- package/dist/config/types.models.d.ts +54 -0
- package/dist/config/types.models.js +2 -0
- package/dist/config/types.models.js.map +1 -0
- package/dist/cron/validation.d.ts +4 -4
- package/dist/gateway/hono/app.js +232 -78
- package/dist/gateway/hono/app.js.map +1 -1
- package/dist/gateway/hono/oauth-async.d.ts +14 -0
- package/dist/gateway/hono/oauth-async.js +285 -0
- package/dist/gateway/hono/oauth-async.js.map +1 -0
- package/dist/gateway/hono/oauth.d.ts +9 -0
- package/dist/gateway/hono/oauth.js +157 -0
- package/dist/gateway/hono/oauth.js.map +1 -0
- package/dist/gateway/hono/sse.js +5 -2
- package/dist/gateway/hono/sse.js.map +1 -1
- package/dist/gateway/process-manager.js +12 -10
- package/dist/gateway/process-manager.js.map +1 -1
- package/dist/gateway/service.d.ts +6 -2
- package/dist/gateway/service.js +20 -6
- package/dist/gateway/service.js.map +1 -1
- package/dist/gateway/static/root/assets/flow-BqIEBwW6.js +2 -0
- package/dist/gateway/static/root/assets/flow-BqIEBwW6.js.map +1 -0
- package/dist/gateway/static/root/assets/main-Br2tw-87.js +5168 -0
- package/dist/gateway/static/root/assets/main-Br2tw-87.js.map +1 -0
- package/dist/gateway/static/root/assets/main-DwlbPf8Z.css +1 -0
- package/dist/gateway/static/root/index.html +2 -2
- package/dist/plugins/index.d.ts +0 -2
- package/dist/plugins/index.js +0 -2
- package/dist/plugins/index.js.map +1 -1
- package/dist/plugins/types.d.ts +0 -2
- package/dist/plugins/types.js +0 -2
- package/dist/plugins/types.js.map +1 -1
- package/dist/providers/index.d.ts +50 -22
- package/dist/providers/index.js +276 -50
- package/dist/providers/index.js.map +1 -1
- package/dist/providers/model-registry.d.ts +84 -0
- package/dist/providers/model-registry.js +385 -0
- package/dist/providers/model-registry.js.map +1 -0
- package/dist/types/providers.d.ts +2 -63
- package/dist/types/providers.js +1 -1
- package/dist/utils/__tests__/frontmatter.test.d.ts +4 -0
- package/dist/utils/__tests__/frontmatter.test.js +150 -0
- package/dist/utils/__tests__/frontmatter.test.js.map +1 -0
- package/dist/utils/diagnostic-events.d.ts +230 -0
- package/dist/utils/diagnostic-events.js +189 -0
- package/dist/utils/diagnostic-events.js.map +1 -0
- package/dist/utils/frontmatter.d.ts +0 -1
- package/dist/utils/frontmatter.js +15 -79
- package/dist/utils/frontmatter.js.map +1 -1
- package/dist/utils/log-stream.d.ts +95 -0
- package/dist/utils/log-stream.js +229 -0
- package/dist/utils/log-stream.js.map +1 -0
- package/dist/utils/logger.d.ts +5 -0
- package/dist/utils/logger.js +25 -0
- package/dist/utils/logger.js.map +1 -1
- package/dist/utils/redact.d.ts +73 -0
- package/dist/utils/redact.js +245 -0
- package/dist/utils/redact.js.map +1 -0
- package/package.json +6 -4
- package/skills/find-skills/SKILL.md +0 -9
- package/dist/__tests__/core.test.js +0 -72
- package/dist/__tests__/core.test.js.map +0 -1
- package/dist/agent/model-manager.js.map +0 -1
- package/dist/cli/commands/configure.d.ts +0 -1
- package/dist/cli/commands/configure.js +0 -173
- package/dist/cli/commands/configure.js.map +0 -1
- package/dist/cli/commands/gateway-daemon.d.ts +0 -1
- package/dist/cli/commands/gateway-daemon.js +0 -141
- package/dist/cli/commands/gateway-daemon.js.map +0 -1
- package/dist/config/__tests__/diff.test.d.ts +0 -1
- package/dist/config/__tests__/diff.test.js +0 -192
- package/dist/config/__tests__/diff.test.js.map +0 -1
- package/dist/config/__tests__/loader.test.d.ts +0 -1
- package/dist/config/__tests__/loader.test.js +0 -356
- package/dist/config/__tests__/loader.test.js.map +0 -1
- package/dist/config/__tests__/paths.test.d.ts +0 -1
- package/dist/config/__tests__/paths.test.js +0 -192
- package/dist/config/__tests__/paths.test.js.map +0 -1
- package/dist/config/__tests__/reload.test.d.ts +0 -1
- package/dist/config/__tests__/reload.test.js +0 -374
- package/dist/config/__tests__/reload.test.js.map +0 -1
- package/dist/config/__tests__/rules.test.d.ts +0 -1
- package/dist/config/__tests__/rules.test.js +0 -204
- package/dist/config/__tests__/rules.test.js.map +0 -1
- package/dist/config/__tests__/schema.test.d.ts +0 -1
- package/dist/config/__tests__/schema.test.js +0 -672
- package/dist/config/__tests__/schema.test.js.map +0 -1
- package/dist/daemon/background-start.d.ts +0 -33
- package/dist/daemon/background-start.js +0 -89
- package/dist/daemon/background-start.js.map +0 -1
- package/dist/daemon/gateway-manager.d.ts +0 -87
- package/dist/daemon/gateway-manager.js +0 -324
- package/dist/daemon/gateway-manager.js.map +0 -1
- package/dist/daemon/index.d.ts +0 -5
- package/dist/daemon/index.js +0 -6
- package/dist/daemon/index.js.map +0 -1
- package/dist/gateway/static/root/assets/main-DevbZW9K.js +0 -2227
- package/dist/gateway/static/root/assets/main-DevbZW9K.js.map +0 -1
- package/dist/gateway/static/root/assets/main-DxZg1Nmz.css +0 -1
- package/dist/providers/__tests__/registry.test.d.ts +0 -1
- package/dist/providers/__tests__/registry.test.js +0 -110
- package/dist/providers/__tests__/registry.test.js.map +0 -1
- package/dist/providers/api-strategies.d.ts +0 -15
- package/dist/providers/api-strategies.js +0 -96
- package/dist/providers/api-strategies.js.map +0 -1
- package/dist/providers/auto-discovery.d.ts +0 -84
- package/dist/providers/auto-discovery.js +0 -236
- package/dist/providers/auto-discovery.js.map +0 -1
- package/dist/providers/config.d.ts +0 -25
- package/dist/providers/config.js +0 -42
- package/dist/providers/config.js.map +0 -1
- package/dist/providers/model-catalog.d.ts +0 -205
- package/dist/providers/model-catalog.js +0 -1071
- package/dist/providers/model-catalog.js.map +0 -1
- package/dist/providers/models-dev-data.d.ts +0 -11
- package/dist/providers/models-dev-data.js +0 -1035
- package/dist/providers/models-dev-data.js.map +0 -1
- package/dist/providers/models-dev.d.ts +0 -30
- package/dist/providers/models-dev.js +0 -42
- package/dist/providers/models-dev.js.map +0 -1
- package/dist/providers/pi-ai.d.ts +0 -62
- package/dist/providers/pi-ai.js +0 -221
- package/dist/providers/pi-ai.js.map +0 -1
- package/dist/providers/provider-catalog.d.ts +0 -173
- package/dist/providers/provider-catalog.js +0 -834
- package/dist/providers/provider-catalog.js.map +0 -1
- package/dist/providers/registry.d.ts +0 -155
- package/dist/providers/registry.js +0 -524
- package/dist/providers/registry.js.map +0 -1
- package/dist/providers/types.d.ts +0 -95
- package/dist/providers/types.js +0 -7
- package/dist/providers/types.js.map +0 -1
- package/dist/session/chat-manager.d.ts +0 -49
- package/dist/session/chat-manager.js +0 -167
- package/dist/session/chat-manager.js.map +0 -1
- package/dist/session/chat-types.d.ts +0 -53
- package/dist/session/chat-types.js +0 -63
- package/dist/session/chat-types.js.map +0 -1
- /package/dist/{__tests__/core.test.d.ts → cli/commands/setup.d.ts} +0 -0
package/README.md
CHANGED
|
@@ -1,7 +1,5 @@
|
|
|
1
1
|
# 🐈 xopcbot: Ultra-Lightweight Personal AI Assistant
|
|
2
2
|
|
|
3
|
-
[中文](./README.zh-CN.md) | English
|
|
4
|
-
|
|
5
3
|
<div align="center">
|
|
6
4
|
<p>
|
|
7
5
|
<strong>An ultra-lightweight, plugin-driven personal AI assistant built with Node.js and TypeScript.</strong>
|
|
@@ -16,106 +14,113 @@
|
|
|
16
14
|
<a href="#">
|
|
17
15
|
<img src="https://img.shields.io/badge/Node-%3E%3D22.0.0-brightgreen" alt="Node">
|
|
18
16
|
</a>
|
|
19
|
-
<a href="#">
|
|
20
|
-
<img src="https://img.shields.io/badge/TypeScript-5.x-blue" alt="TypeScript">
|
|
21
|
-
</a>
|
|
22
17
|
<a href="#">
|
|
23
18
|
<img src="https://img.shields.io/badge/License-MIT-green" alt="License">
|
|
24
19
|
</a>
|
|
25
20
|
</p>
|
|
26
21
|
</div>
|
|
27
22
|
|
|
28
|
-
|
|
23
|
+
## ✨ What can xopcbot do?
|
|
29
24
|
|
|
30
|
-
|
|
25
|
+
xopcbot is your personal AI assistant that runs locally. It can help you with:
|
|
31
26
|
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
-
|
|
39
|
-
|
|
40
|
-
|
|
27
|
+
| Use Case | Example |
|
|
28
|
+
|----------|---------|
|
|
29
|
+
| **Coding assistant** | Debug code, explain snippets, write functions |
|
|
30
|
+
| **Task automation** | Schedule recurring tasks with cron |
|
|
31
|
+
| **File operations** | Search, read, edit files in your workspace |
|
|
32
|
+
| **Web research** | Search the web and summarize results |
|
|
33
|
+
| **Multi-channel chat** | Talk via Telegram, WhatsApp, Feishu, or Web UI |
|
|
34
|
+
|
|
35
|
+
```bash
|
|
36
|
+
# Chat interactively in your terminal
|
|
37
|
+
xopcbot agent -i
|
|
38
|
+
|
|
39
|
+
# Or send a single message
|
|
40
|
+
xopcbot agent -m "Explain what this code does: function foo() { return 42; }"
|
|
41
|
+
|
|
42
|
+
# Let xopcbot help with a git task
|
|
43
|
+
xopcbot agent -m "Show me the recent commits and create a PR summary"
|
|
44
|
+
```
|
|
41
45
|
|
|
42
46
|
---
|
|
43
47
|
|
|
44
48
|
## 🚀 Quick Start
|
|
45
49
|
|
|
46
|
-
###
|
|
50
|
+
### 1️⃣ Install
|
|
47
51
|
|
|
48
52
|
```bash
|
|
49
|
-
#
|
|
53
|
+
# From npm (recommended)
|
|
50
54
|
npm install -g @xopcai/xopcbot
|
|
51
55
|
|
|
52
|
-
#
|
|
53
|
-
xopcbot
|
|
54
|
-
|
|
55
|
-
# Start chatting!
|
|
56
|
-
xopcbot agent -i
|
|
56
|
+
# Or from source
|
|
57
|
+
git clone https://github.com/xopcai/xopcbot.git
|
|
58
|
+
cd xopcbot && npm install && npm build
|
|
57
59
|
```
|
|
58
60
|
|
|
59
|
-
###
|
|
61
|
+
### 2️⃣ Setup (interactive wizard)
|
|
60
62
|
|
|
61
63
|
```bash
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
pnpm install
|
|
64
|
+
xopcbot onboard
|
|
65
|
+
# or: npm run dev -- onboard
|
|
66
|
+
```
|
|
66
67
|
|
|
67
|
-
|
|
68
|
-
|
|
68
|
+
The wizard will guide you through:
|
|
69
|
+
- Choosing your preferred AI model (20+ providers supported)
|
|
70
|
+
- Configuring API keys
|
|
71
|
+
- Setting up chat channels (Telegram, WhatsApp, etc.)
|
|
69
72
|
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
+
> **Tip:** Use `xopcbot onboard --quick` for quick model setup only.
|
|
74
|
+
|
|
75
|
+
### 3️⃣ Start chatting!
|
|
73
76
|
|
|
74
|
-
|
|
77
|
+
```bash
|
|
78
|
+
# Interactive chat mode
|
|
79
|
+
xopcbot agent -i
|
|
80
|
+
|
|
81
|
+
# Or use specific channels
|
|
82
|
+
xopcbot agent -m "Hello!" --channel telegram --chat-id 123456
|
|
83
|
+
```
|
|
75
84
|
|
|
76
85
|
---
|
|
77
86
|
|
|
78
87
|
## 📖 Documentation
|
|
79
88
|
|
|
80
|
-
Full documentation is available at **[xopcai.github.io/xopcbot](https://xopcai.github.io/xopcbot/)**
|
|
81
|
-
|
|
82
89
|
| Guide | Description |
|
|
83
90
|
|-------|-------------|
|
|
84
91
|
| [Getting Started](https://xopcai.github.io/xopcbot/getting-started) | Setup and basic usage |
|
|
85
92
|
| [Configuration](https://xopcai.github.io/xopcbot/configuration) | Full config reference |
|
|
86
93
|
| [CLI Reference](https://xopcai.github.io/xopcbot/cli) | All available commands |
|
|
87
94
|
| [Channels](https://xopcai.github.io/xopcbot/channels) | Telegram, WhatsApp, Feishu setup |
|
|
88
|
-
| [Plugins](https://xopcai.github.io/xopcbot/plugins) | Build your own plugins |
|
|
89
95
|
| [Tools](https://xopcai.github.io/xopcbot/tools) | Built-in tools reference |
|
|
90
|
-
| [Architecture](https://xopcai.github.io/xopcbot/architecture) | Under the hood |
|
|
91
96
|
|
|
92
97
|
---
|
|
93
98
|
|
|
94
|
-
##
|
|
99
|
+
## 🔌 Supported Channels
|
|
95
100
|
|
|
96
|
-
| Channel | Status |
|
|
97
|
-
|
|
98
|
-
| Telegram | ✅ |
|
|
99
|
-
| WhatsApp | ✅ |
|
|
100
|
-
| Feishu/Lark | ✅ |
|
|
101
|
-
| Web UI | ✅ |
|
|
101
|
+
| Channel | Status | Install |
|
|
102
|
+
|---------|--------|---------|
|
|
103
|
+
| Telegram | ✅ | [Setup Guide](https://xopcai.github.io/xopcbot/channels#telegram) |
|
|
104
|
+
| WhatsApp | ✅ | [Setup Guide](https://xopcai.github.io/xopcbot/channels#whatsapp) |
|
|
105
|
+
| Feishu/Lark | ✅ | [Setup Guide](https://xopcai.github.io/xopcbot/channels#feishu) |
|
|
106
|
+
| Web UI | ✅ | Built-in, run `xopcbot gateway` |
|
|
102
107
|
|
|
103
108
|
---
|
|
104
109
|
|
|
105
110
|
## 🛠️ Development
|
|
106
111
|
|
|
107
112
|
```bash
|
|
108
|
-
# Development
|
|
109
|
-
|
|
113
|
+
# Development (with hot reload)
|
|
114
|
+
npm run dev
|
|
110
115
|
|
|
111
|
-
# Build
|
|
112
|
-
|
|
116
|
+
# Build for production
|
|
117
|
+
npm run build
|
|
113
118
|
|
|
114
|
-
#
|
|
115
|
-
|
|
119
|
+
# Run tests
|
|
120
|
+
npm test
|
|
116
121
|
|
|
117
122
|
# Lint
|
|
118
|
-
|
|
123
|
+
npm run lint
|
|
119
124
|
```
|
|
120
125
|
|
|
121
126
|
---
|
package/README.zh-CN.md
CHANGED
|
@@ -14,106 +14,113 @@
|
|
|
14
14
|
<a href="#">
|
|
15
15
|
<img src="https://img.shields.io/badge/Node-%3E%3D22.0.0-brightgreen" alt="Node">
|
|
16
16
|
</a>
|
|
17
|
-
<a href="#">
|
|
18
|
-
<img src="https://img.shields.io/badge/TypeScript-5.x-blue" alt="TypeScript">
|
|
19
|
-
</a>
|
|
20
17
|
<a href="#">
|
|
21
18
|
<img src="https://img.shields.io/badge/License-MIT-green" alt="License">
|
|
22
19
|
</a>
|
|
23
20
|
</p>
|
|
24
21
|
</div>
|
|
25
22
|
|
|
26
|
-
|
|
23
|
+
## ✨ xopcbot 能做什么?
|
|
24
|
+
|
|
25
|
+
xopcbot 是运行在本地 的个人 AI 助手,可以帮助你:
|
|
26
|
+
|
|
27
|
+
| 使用场景 | 示例 |
|
|
28
|
+
|----------|------|
|
|
29
|
+
| **编程助手** | 调试代码、解释代码片段、编写函数 |
|
|
30
|
+
| **任务自动化** | 使用 cron 设置定时任务 |
|
|
31
|
+
| **文件操作** | 在工作区中搜索、读取、编辑文件 |
|
|
32
|
+
| **网络搜索** | 搜索网页并总结结果 |
|
|
33
|
+
| **多渠道聊天** | 通过 Telegram、WhatsApp、飞书或网页 UI 交流 |
|
|
34
|
+
|
|
35
|
+
```bash
|
|
36
|
+
# 在终端中交互式聊天
|
|
37
|
+
xopcbot agent -i
|
|
27
38
|
|
|
28
|
-
|
|
39
|
+
# 或发送单条消息
|
|
40
|
+
xopcbot agent -m "解释这段代码:function foo() { return 42; }"
|
|
29
41
|
|
|
30
|
-
|
|
31
|
-
-
|
|
32
|
-
|
|
33
|
-
- **🧠 持久记忆** - 对话历史,自动上下文压缩
|
|
34
|
-
- **📂 会话管理** - 通过 CLI 或 Web UI 浏览、搜索、归档和管理对话
|
|
35
|
-
- **🔧 丰富的内置工具** - 文件系统、Shell、Web 搜索、grep、查找、编辑等
|
|
36
|
-
- **⏰ 定时任务** - 基于 Cron 的自动化
|
|
37
|
-
- **🖥️ 强大的 CLI** - 从命令行管理代理、配置和插件
|
|
38
|
-
- **🌐 现代 Web UI** - 聊天、会话、Cron、子代理、日志和设置
|
|
42
|
+
# 让 xopcbot 帮你处理 git 任务
|
|
43
|
+
xopcbot agent -m "查看最近的提交并创建 PR 摘要"
|
|
44
|
+
```
|
|
39
45
|
|
|
40
46
|
---
|
|
41
47
|
|
|
42
48
|
## 🚀 快速开始
|
|
43
49
|
|
|
44
|
-
###
|
|
50
|
+
### 1️⃣ 安装
|
|
45
51
|
|
|
46
52
|
```bash
|
|
47
|
-
#
|
|
53
|
+
# 从 npm 安装(推荐)
|
|
48
54
|
npm install -g @xopcai/xopcbot
|
|
49
55
|
|
|
50
|
-
#
|
|
51
|
-
xopcbot
|
|
52
|
-
|
|
53
|
-
# 开始聊天!
|
|
54
|
-
xopcbot agent -i
|
|
56
|
+
# 或从源码构建
|
|
57
|
+
git clone https://github.com/xopcai/xopcbot.git
|
|
58
|
+
cd xopcbot && npm install && npm build
|
|
55
59
|
```
|
|
56
60
|
|
|
57
|
-
###
|
|
61
|
+
### 2️⃣ 配置(交互式向导)
|
|
58
62
|
|
|
59
63
|
```bash
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
pnpm install
|
|
64
|
+
xopcbot onboard
|
|
65
|
+
# 或: npm run dev -- onboard
|
|
66
|
+
```
|
|
64
67
|
|
|
65
|
-
|
|
66
|
-
|
|
68
|
+
向导会引导你完成:
|
|
69
|
+
- 选择喜欢的 AI 模型(支持 20+ 提供商)
|
|
70
|
+
- 配置 API 密钥
|
|
71
|
+
- 设置聊天渠道(Telegram、WhatsApp 等)
|
|
67
72
|
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
73
|
+
> **提示:** 使用 `xopcbot onboard --quick` 可快速设置模型。
|
|
74
|
+
|
|
75
|
+
### 3️⃣ 开始聊天!
|
|
71
76
|
|
|
72
|
-
|
|
77
|
+
```bash
|
|
78
|
+
# 交互式聊天模式
|
|
79
|
+
xopcbot agent -i
|
|
80
|
+
|
|
81
|
+
# 或使用特定渠道
|
|
82
|
+
xopcbot agent -m "你好!" --channel telegram --chat-id 123456
|
|
83
|
+
```
|
|
73
84
|
|
|
74
85
|
---
|
|
75
86
|
|
|
76
87
|
## 📖 文档
|
|
77
88
|
|
|
78
|
-
完整文档请访问 **[xopcai.github.io/xopcbot](https://xopcai.github.io/xopcbot/)**
|
|
79
|
-
|
|
80
89
|
| 指南 | 描述 |
|
|
81
90
|
|------|------|
|
|
82
91
|
| [快速开始](https://xopcai.github.io/xopcbot/getting-started) | 安装和基本用法 |
|
|
83
92
|
| [配置](https://xopcai.github.io/xopcbot/configuration) | 完整配置参考 |
|
|
84
93
|
| [CLI 参考](https://xopcai.github.io/xopcbot/cli) | 所有可用命令 |
|
|
85
94
|
| [渠道](https://xopcai.github.io/xopcbot/channels) | Telegram、WhatsApp、飞书设置 |
|
|
86
|
-
| [插件](https://xopcai.github.io/xopcbot/plugins) | 构建你自己的插件 |
|
|
87
95
|
| [工具](https://xopcai.github.io/xopcbot/tools) | 内置工具参考 |
|
|
88
|
-
| [架构](https://xopcai.github.io/xopcbot/architecture) | 底层实现 |
|
|
89
96
|
|
|
90
97
|
---
|
|
91
98
|
|
|
92
|
-
##
|
|
99
|
+
## 🔌 支持的渠道
|
|
93
100
|
|
|
94
|
-
| 渠道 | 状态 |
|
|
101
|
+
| 渠道 | 状态 | 安装 |
|
|
95
102
|
|------|------|------|
|
|
96
|
-
| Telegram | ✅ |
|
|
97
|
-
| WhatsApp | ✅ |
|
|
98
|
-
| 飞书/Lark | ✅ |
|
|
99
|
-
|
|
|
103
|
+
| Telegram | ✅ | [设置指南](https://xopcai.github.io/xopcbot/channels#telegram) |
|
|
104
|
+
| WhatsApp | ✅ | [设置指南](https://xopcai.github.io/xopcbot/channels#whatsapp) |
|
|
105
|
+
| 飞书/Lark | ✅ | [设置指南](https://xopcai.github.io/xopcbot/channels#feishu) |
|
|
106
|
+
| 网页 UI | ✅ | 内置,运行 `xopcbot gateway` 即可 |
|
|
100
107
|
|
|
101
108
|
---
|
|
102
109
|
|
|
103
110
|
## 🛠️ 开发
|
|
104
111
|
|
|
105
112
|
```bash
|
|
106
|
-
#
|
|
107
|
-
|
|
113
|
+
# 开发模式(热重载)
|
|
114
|
+
npm run dev
|
|
108
115
|
|
|
109
|
-
#
|
|
110
|
-
|
|
116
|
+
# 构建生产版本
|
|
117
|
+
npm run build
|
|
111
118
|
|
|
112
|
-
#
|
|
113
|
-
|
|
119
|
+
# 运行测试
|
|
120
|
+
npm test
|
|
114
121
|
|
|
115
122
|
# 代码检查
|
|
116
|
-
|
|
123
|
+
npm run lint
|
|
117
124
|
```
|
|
118
125
|
|
|
119
126
|
---
|