aicq-chat-plugin 2.5.3 → 2.5.5

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/SKILL.md CHANGED
@@ -4,7 +4,7 @@ description: AICQ End-to-end Encrypted Chat Plugin for OpenClaw — Full UI with
4
4
  license: MIT
5
5
  metadata:
6
6
  author: AICQ
7
- version: "2.5.2"
7
+ version: "2.5.5"
8
8
  ---
9
9
 
10
10
  # AICQ Encrypted Chat
package/cli.js CHANGED
@@ -123,6 +123,7 @@ function findOpenClawWorkspace() {
123
123
  }
124
124
 
125
125
  // Try to find workspace from clawhub or common locations
126
+ // Prefer directories that already have a skills/ directory
126
127
  const home = os.homedir();
127
128
  const candidates = [
128
129
  // Current working directory (most common for clawhub)
@@ -133,7 +134,7 @@ function findOpenClawWorkspace() {
133
134
  path.join(home, '.openclaw'),
134
135
  ];
135
136
 
136
- // Check if any candidate has a skills/ directory
137
+ // Check if any candidate has a skills/ directory (existing)
137
138
  for (const dir of candidates) {
138
139
  const skillsDir = path.join(dir, 'skills');
139
140
  if (fs.existsSync(skillsDir)) {
@@ -151,6 +152,14 @@ function findOpenClawWorkspace() {
151
152
  current = path.dirname(current);
152
153
  }
153
154
 
155
+ // If no existing skills/ found, fall back to the OpenClaw directory itself.
156
+ // This handles the case where ~/.openclaw/ exists but has no skills/ yet.
157
+ // We'll auto-create skills/ inside it during installation.
158
+ const openclawDir = findOpenClawDir();
159
+ if (openclawDir) {
160
+ return openclawDir;
161
+ }
162
+
154
163
  return null;
155
164
  }
156
165
 
@@ -214,7 +223,7 @@ function installToDir(sourceDir, targetDir, version) {
214
223
  function installToOpenClaw() {
215
224
  const PLUGIN_ID = 'aicq-chat';
216
225
  const sourceDir = path.resolve(__dirname);
217
- let version = '2.5.2';
226
+ let version = '2.5.5';
218
227
 
219
228
  // Read version from package.json
220
229
  try {
@@ -1,15 +1,19 @@
1
1
  {
2
2
  "id": "aicq-chat",
3
3
  "name": "AICQ Encrypted Chat",
4
- "version": "2.5.3",
5
- "description": "End-to-end encrypted chat plugin for OpenClaw agents Node.js implementation with full UI",
4
+ "version": "2.5.5",
5
+ "description": "End-to-end encrypted chat plugin for OpenClaw agents \u2014 Node.js implementation with full UI",
6
6
  "entry": "index.js",
7
7
  "activation": {
8
8
  "onStartup": true
9
9
  },
10
10
  "enabledByDefault": true,
11
11
  "contracts": {
12
- "tools": ["chat-friend", "chat-send", "chat-export-key"],
12
+ "tools": [
13
+ "chat-friend",
14
+ "chat-send",
15
+ "chat-export-key"
16
+ ],
13
17
  "gateway": [
14
18
  "aicq.status",
15
19
  "aicq.friends.list",
@@ -36,12 +40,20 @@
36
40
  },
37
41
  "sidecar": {
38
42
  "command": "node",
39
- "args": ["index.js"],
43
+ "args": [
44
+ "index.js"
45
+ ],
40
46
  "port": 6109
41
47
  },
42
48
  "runtime": "node",
43
49
  "requires": {
44
50
  "node": ">=18.0.0",
45
- "packages": ["better-sqlite3", "tweetnacl", "ws", "qrcode", "express"]
51
+ "packages": [
52
+ "better-sqlite3",
53
+ "tweetnacl",
54
+ "ws",
55
+ "qrcode",
56
+ "express"
57
+ ]
46
58
  }
47
59
  }
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "aicq-chat-plugin",
3
- "version": "2.5.3",
4
- "description": "AICQ End-to-end Encrypted Chat Plugin for OpenClaw Full UI with friend management, group chat, file transfer, and AI agent communication",
3
+ "version": "2.5.5",
4
+ "description": "AICQ End-to-end Encrypted Chat Plugin for OpenClaw \u2014 Full UI with friend management, group chat, file transfer, and AI agent communication",
5
5
  "main": "index.js",
6
6
  "bin": {
7
7
  "aicq-plugin": "cli.js"
@@ -56,5 +56,13 @@
56
56
  },
57
57
  "engines": {
58
58
  "node": ">=18.0.0"
59
+ },
60
+ "openclaw": {
61
+ "extensions": [
62
+ "./index.js"
63
+ ],
64
+ "compat": {
65
+ "pluginApi": ">=2026.3.24-beta.2"
66
+ }
59
67
  }
60
68
  }
package/postinstall.js CHANGED
@@ -125,6 +125,14 @@ function findOpenClawWorkspace() {
125
125
  current = path.dirname(current);
126
126
  }
127
127
 
128
+ // If no existing skills/ found, fall back to the OpenClaw directory itself.
129
+ // This handles the case where ~/.openclaw/ exists but has no skills/ yet.
130
+ // We'll auto-create skills/ inside it during installation.
131
+ const openclawDir = findOpenClawDir();
132
+ if (openclawDir) {
133
+ return openclawDir;
134
+ }
135
+
128
136
  return null;
129
137
  }
130
138
 
@@ -261,7 +269,7 @@ console.log(' ╚════════════════════
261
269
  console.log('');
262
270
 
263
271
  // Read version from package.json
264
- let version = '2.5.2';
272
+ let version = '2.5.5';
265
273
  try {
266
274
  const pkg = JSON.parse(fs.readFileSync(path.join(PLUGIN_DIR, 'package.json'), 'utf8'));
267
275
  version = pkg.version;