aixxai 1.6.0 → 1.6.1
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 +52 -52
- package/bin/aixx.js +133 -133
- package/package.json +33 -33
- package/src/commands/balance.js +168 -168
- package/src/commands/config.js +68 -68
- package/src/commands/help.js +45 -45
- package/src/commands/install.js +89 -2
- package/src/commands/models.js +120 -120
- package/src/commands/recharge.js +131 -131
- package/src/commands/search.js +2 -2
- package/src/commands/test.js +91 -91
- package/templates/references/chat.md +135 -135
- package/templates/references/data.md +151 -151
- package/templates/references/notify.md +53 -53
- package/templates/references/search.md +96 -96
- package/aixxai-1.6.0.tgz +0 -0
package/README.md
CHANGED
|
@@ -1,52 +1,52 @@
|
|
|
1
|
-
# AIXX CLI
|
|
2
|
-
|
|
3
|
-
> 让你的AI调用万物。一个命令,agent就能调用全世界的AI能力。
|
|
4
|
-
|
|
5
|
-
## 安装
|
|
6
|
-
|
|
7
|
-
```bash
|
|
8
|
-
npx aixxai
|
|
9
|
-
```
|
|
10
|
-
|
|
11
|
-
(等价于 `npx aixxai install`,裸命令即安装)
|
|
12
|
-
|
|
13
|
-
带推荐码安装(推荐人获分润):
|
|
14
|
-
|
|
15
|
-
```bash
|
|
16
|
-
npx aixxai zhangsan
|
|
17
|
-
```
|
|
18
|
-
|
|
19
|
-
## 命令
|
|
20
|
-
|
|
21
|
-
| 命令 | 说明 |
|
|
22
|
-
|---|---|
|
|
23
|
-
| `aixx install [推荐码]` | 安装AIXX skill到本地agent |
|
|
24
|
-
| `aixx search <关键词>` | 搜索AIXX能力库(数据/技能,免key) |
|
|
25
|
-
| `aixx installed` | 查看安装状态(skill/账号/版本) |
|
|
26
|
-
| `aixx config` | 查看当前配置 |
|
|
27
|
-
| `aixx test` | 测试AIXX连通性+调用模型 |
|
|
28
|
-
| `aixx balance` | 查询账户余额(还剩多少钱) |
|
|
29
|
-
| `aixx models` | 列出可用模型(国产/海外分组) |
|
|
30
|
-
| `aixx recharge [金额]` | 充值引导(默认$5) |
|
|
31
|
-
| `aixx --version` | 查看版本 |
|
|
32
|
-
| `aixx --help` | 帮助 |
|
|
33
|
-
|
|
34
|
-
## 当前状态(1.4.0)
|
|
35
|
-
|
|
36
|
-
- ✅ CLI代码完成,本地测试通过
|
|
37
|
-
- ⏳ 待发布到npm(等注册)
|
|
38
|
-
- ✅ 后端已部署:http://14.103.27.195:8080
|
|
39
|
-
- ✅ 已接通:DeepSeek / GLM / Kimi
|
|
40
|
-
|
|
41
|
-
## 技术栈
|
|
42
|
-
|
|
43
|
-
- Node.js (>=18) + ES Modules
|
|
44
|
-
- 纯原生API,零运行时依赖
|
|
45
|
-
- skill文件内嵌在包里(templates/),网络挂了也能装
|
|
46
|
-
|
|
47
|
-
## 文档
|
|
48
|
-
|
|
49
|
-
完整文档:https://gitee.com/kk0803/token-hub
|
|
50
|
-
|
|
51
|
-
---
|
|
52
|
-
维护者:龙龙(AIXX PM)| 2026-08-08
|
|
1
|
+
# AIXX CLI
|
|
2
|
+
|
|
3
|
+
> 让你的AI调用万物。一个命令,agent就能调用全世界的AI能力。
|
|
4
|
+
|
|
5
|
+
## 安装
|
|
6
|
+
|
|
7
|
+
```bash
|
|
8
|
+
npx aixxai
|
|
9
|
+
```
|
|
10
|
+
|
|
11
|
+
(等价于 `npx aixxai install`,裸命令即安装)
|
|
12
|
+
|
|
13
|
+
带推荐码安装(推荐人获分润):
|
|
14
|
+
|
|
15
|
+
```bash
|
|
16
|
+
npx aixxai zhangsan
|
|
17
|
+
```
|
|
18
|
+
|
|
19
|
+
## 命令
|
|
20
|
+
|
|
21
|
+
| 命令 | 说明 |
|
|
22
|
+
|---|---|
|
|
23
|
+
| `aixx install [推荐码]` | 安装AIXX skill到本地agent |
|
|
24
|
+
| `aixx search <关键词>` | 搜索AIXX能力库(数据/技能,免key) |
|
|
25
|
+
| `aixx installed` | 查看安装状态(skill/账号/版本) |
|
|
26
|
+
| `aixx config` | 查看当前配置 |
|
|
27
|
+
| `aixx test` | 测试AIXX连通性+调用模型 |
|
|
28
|
+
| `aixx balance` | 查询账户余额(还剩多少钱) |
|
|
29
|
+
| `aixx models` | 列出可用模型(国产/海外分组) |
|
|
30
|
+
| `aixx recharge [金额]` | 充值引导(默认$5) |
|
|
31
|
+
| `aixx --version` | 查看版本 |
|
|
32
|
+
| `aixx --help` | 帮助 |
|
|
33
|
+
|
|
34
|
+
## 当前状态(1.4.0)
|
|
35
|
+
|
|
36
|
+
- ✅ CLI代码完成,本地测试通过
|
|
37
|
+
- ⏳ 待发布到npm(等注册)
|
|
38
|
+
- ✅ 后端已部署:http://14.103.27.195:8080
|
|
39
|
+
- ✅ 已接通:DeepSeek / GLM / Kimi
|
|
40
|
+
|
|
41
|
+
## 技术栈
|
|
42
|
+
|
|
43
|
+
- Node.js (>=18) + ES Modules
|
|
44
|
+
- 纯原生API,零运行时依赖
|
|
45
|
+
- skill文件内嵌在包里(templates/),网络挂了也能装
|
|
46
|
+
|
|
47
|
+
## 文档
|
|
48
|
+
|
|
49
|
+
完整文档:https://gitee.com/kk0803/token-hub
|
|
50
|
+
|
|
51
|
+
---
|
|
52
|
+
维护者:龙龙(AIXX PM)| 2026-08-08
|
package/bin/aixx.js
CHANGED
|
@@ -1,133 +1,133 @@
|
|
|
1
|
-
#!/usr/bin/env node
|
|
2
|
-
|
|
3
|
-
/**
|
|
4
|
-
* AIXX CLI
|
|
5
|
-
* 让你的AI调用万物。
|
|
6
|
-
*
|
|
7
|
-
* 用法:
|
|
8
|
-
* npx aixxai install [
|
|
9
|
-
* npx aixxai install --yes 非交互安装(脚本/CI用,跳过确认)
|
|
10
|
-
* npx aixxai search <关键词> 搜索AIXX能力库(数据/技能,免key)
|
|
11
|
-
* npx aixxai installed 查看安装状态(skill/账号/版本)
|
|
12
|
-
* npx aixxai config 配置/查看AIXX
|
|
13
|
-
* npx aixxai test 测试AIXX是否可用
|
|
14
|
-
* npx aixxai balance 查询账户余额
|
|
15
|
-
* npx aixxai models 列出可用模型(分组)
|
|
16
|
-
* npx aixxai recharge [金额] 充值引导
|
|
17
|
-
* npx aixxai --version 查看版本
|
|
18
|
-
*/
|
|
19
|
-
|
|
20
|
-
import { readFileSync } from 'fs';
|
|
21
|
-
import { fileURLToPath } from 'url';
|
|
22
|
-
import { dirname, join } from 'path';
|
|
23
|
-
import { install } from '../src/commands/install.js';
|
|
24
|
-
import { search } from '../src/commands/search.js';
|
|
25
|
-
import { installed } from '../src/commands/installed.js';
|
|
26
|
-
import { config } from '../src/commands/config.js';
|
|
27
|
-
import { test } from '../src/commands/test.js';
|
|
28
|
-
import { balance } from '../src/commands/balance.js';
|
|
29
|
-
import { models } from '../src/commands/models.js';
|
|
30
|
-
import { recharge } from '../src/commands/recharge.js';
|
|
31
|
-
import { showHelp, showVersion } from '../src/commands/help.js';
|
|
32
|
-
|
|
33
|
-
// 版本号从 package.json 读(单一来源,别再硬编码)
|
|
34
|
-
const __dirname = dirname(fileURLToPath(import.meta.url));
|
|
35
|
-
const VERSION = JSON.parse(readFileSync(join(__dirname, '..', 'package.json'), 'utf-8')).version;
|
|
36
|
-
|
|
37
|
-
// 默认AIXX后端地址
|
|
38
|
-
// 会话16换门:统一走域名网关入口(详见 src/utils/env.js 注释)
|
|
39
|
-
// 卡170(1011)换门二: baodan.run网关的/api/*全归爆单后端(CLI注册/login/token 404断链39天)——账号管理与模型调用统一走萬安云自有域名console.aixx.ai
|
|
40
|
-
// 改完后请全局搜索 "安全警告" 同步更新 env.js 与 templates/QUICKSTART.md 中的同名地址。
|
|
41
|
-
export const DEFAULT_BASE_URL = 'https://console.aixx.ai/v1';
|
|
42
|
-
|
|
43
|
-
// 命令表:所有子命令的单一来源(新增命令在这里加一行即可)。
|
|
44
|
-
// 未知命令的"你想用的是不是"近似匹配也从这张表取已知命令名,不另写一份。
|
|
45
|
-
const COMMANDS = [
|
|
46
|
-
{ name: 'install', aliases: ['i'], run: install },
|
|
47
|
-
{ name: 'search', run: search },
|
|
48
|
-
{ name: 'installed', run: installed },
|
|
49
|
-
{ name: 'config', aliases: ['c'], run: config },
|
|
50
|
-
{ name: 'test', aliases: ['t'], run: test },
|
|
51
|
-
{ name: 'balance', aliases: ['b'], run: balance },
|
|
52
|
-
{ name: 'models', aliases: ['m'], run: models },
|
|
53
|
-
{ name: 'recharge', aliases: ['r'], run: recharge },
|
|
54
|
-
];
|
|
55
|
-
|
|
56
|
-
// help/version 不吃子参数(走 flag/无参分支),但命令名仍参与下面的近似匹配
|
|
57
|
-
const BUILTIN_NAMES = ['help', 'version'];
|
|
58
|
-
|
|
59
|
-
// 零依赖近似匹配的兜底:a 是否按顺序出现在 b 里(允许跳字,serch 也能对上 search)
|
|
60
|
-
function isSubsequence(a, b) {
|
|
61
|
-
let i = 0;
|
|
62
|
-
for (const ch of b) {
|
|
63
|
-
if (ch === a[i]) i++;
|
|
64
|
-
}
|
|
65
|
-
return i === a.length;
|
|
66
|
-
}
|
|
67
|
-
|
|
68
|
-
// 未知命令 → 猜用户想输什么。小写比较;规则:前缀相同 / 互相包含 / 子序列。最多返回3个。
|
|
69
|
-
function didYouMean(input) {
|
|
70
|
-
const s = input.toLowerCase();
|
|
71
|
-
return [...COMMANDS.map(c => c.name), ...BUILTIN_NAMES]
|
|
72
|
-
.filter(n => {
|
|
73
|
-
const t = n.toLowerCase();
|
|
74
|
-
return t.startsWith(s) || s.startsWith(t) || t.includes(s) || s.includes(t) || isSubsequence(s, t);
|
|
75
|
-
})
|
|
76
|
-
.slice(0, 3);
|
|
77
|
-
}
|
|
78
|
-
|
|
79
|
-
async function main() {
|
|
80
|
-
const args = process.argv.slice(2);
|
|
81
|
-
const command = args[0];
|
|
82
|
-
const subArgs = args.slice(1);
|
|
83
|
-
|
|
84
|
-
// 裸命令即安装(1007 K哥令:命令越短越好)——npx aixxai 直接进安装,帮助走 help/--help
|
|
85
|
-
if (command === undefined) {
|
|
86
|
-
const installEntry = COMMANDS.find(c => c.name === 'install');
|
|
87
|
-
if (installEntry) {
|
|
88
|
-
await installEntry.run(subArgs);
|
|
89
|
-
return;
|
|
90
|
-
}
|
|
91
|
-
}
|
|
92
|
-
|
|
93
|
-
const entry = COMMANDS.find(c => c.name === command || c.aliases?.includes(command));
|
|
94
|
-
if (entry) {
|
|
95
|
-
await entry.run(subArgs);
|
|
96
|
-
return;
|
|
97
|
-
}
|
|
98
|
-
|
|
99
|
-
switch (command) {
|
|
100
|
-
case '--version':
|
|
101
|
-
case '-v':
|
|
102
|
-
case 'version':
|
|
103
|
-
showVersion(VERSION);
|
|
104
|
-
break;
|
|
105
|
-
case '--help':
|
|
106
|
-
case '-h':
|
|
107
|
-
case 'help':
|
|
108
|
-
showHelp(VERSION);
|
|
109
|
-
break;
|
|
110
|
-
default: {
|
|
111
|
-
// 卡170(1011 K哥令"安装命令带唯一码"): 未知参数不再直接报错——当作码传给 install。
|
|
112
|
-
// 覆盖 npx aixxai <CODE>(不带 install 子命令)的用法;install 内部会先查云侧区分绑定码/推荐码。
|
|
113
|
-
const installEntry = COMMANDS.find(c => c.name === 'install');
|
|
114
|
-
if (installEntry && command && !command.startsWith('-')) {
|
|
115
|
-
await installEntry.run([command, ...subArgs]);
|
|
116
|
-
return;
|
|
117
|
-
}
|
|
118
|
-
console.error(`未知命令: ${command}`);
|
|
119
|
-
const guesses = didYouMean(command);
|
|
120
|
-
if (guesses.length > 0) {
|
|
121
|
-
console.error(`你想用的是不是: ${guesses.join(', ')}`);
|
|
122
|
-
} else {
|
|
123
|
-
console.error('运行 aixx help 查看全部命令');
|
|
124
|
-
}
|
|
125
|
-
process.exit(1);
|
|
126
|
-
}
|
|
127
|
-
}
|
|
128
|
-
}
|
|
129
|
-
|
|
130
|
-
main().catch(err => {
|
|
131
|
-
console.error('❌ 发生错误:', err.message);
|
|
132
|
-
process.exit(1);
|
|
133
|
-
});
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* AIXX CLI
|
|
5
|
+
* 让你的AI调用万物。
|
|
6
|
+
*
|
|
7
|
+
* 用法:
|
|
8
|
+
* npx aixxai install [推荐码/绑定码/S####] 安装AIXX skill;S编号=买断技能门禁安装
|
|
9
|
+
* npx aixxai install --yes 非交互安装(脚本/CI用,跳过确认)
|
|
10
|
+
* npx aixxai search <关键词> 搜索AIXX能力库(数据/技能,免key)
|
|
11
|
+
* npx aixxai installed 查看安装状态(skill/账号/版本)
|
|
12
|
+
* npx aixxai config 配置/查看AIXX
|
|
13
|
+
* npx aixxai test 测试AIXX是否可用
|
|
14
|
+
* npx aixxai balance 查询账户余额
|
|
15
|
+
* npx aixxai models 列出可用模型(分组)
|
|
16
|
+
* npx aixxai recharge [金额] 充值引导
|
|
17
|
+
* npx aixxai --version 查看版本
|
|
18
|
+
*/
|
|
19
|
+
|
|
20
|
+
import { readFileSync } from 'fs';
|
|
21
|
+
import { fileURLToPath } from 'url';
|
|
22
|
+
import { dirname, join } from 'path';
|
|
23
|
+
import { install } from '../src/commands/install.js';
|
|
24
|
+
import { search } from '../src/commands/search.js';
|
|
25
|
+
import { installed } from '../src/commands/installed.js';
|
|
26
|
+
import { config } from '../src/commands/config.js';
|
|
27
|
+
import { test } from '../src/commands/test.js';
|
|
28
|
+
import { balance } from '../src/commands/balance.js';
|
|
29
|
+
import { models } from '../src/commands/models.js';
|
|
30
|
+
import { recharge } from '../src/commands/recharge.js';
|
|
31
|
+
import { showHelp, showVersion } from '../src/commands/help.js';
|
|
32
|
+
|
|
33
|
+
// 版本号从 package.json 读(单一来源,别再硬编码)
|
|
34
|
+
const __dirname = dirname(fileURLToPath(import.meta.url));
|
|
35
|
+
const VERSION = JSON.parse(readFileSync(join(__dirname, '..', 'package.json'), 'utf-8')).version;
|
|
36
|
+
|
|
37
|
+
// 默认AIXX后端地址
|
|
38
|
+
// 会话16换门:统一走域名网关入口(详见 src/utils/env.js 注释)
|
|
39
|
+
// 卡170(1011)换门二: baodan.run网关的/api/*全归爆单后端(CLI注册/login/token 404断链39天)——账号管理与模型调用统一走萬安云自有域名console.aixx.ai
|
|
40
|
+
// 改完后请全局搜索 "安全警告" 同步更新 env.js 与 templates/QUICKSTART.md 中的同名地址。
|
|
41
|
+
export const DEFAULT_BASE_URL = 'https://console.aixx.ai/v1';
|
|
42
|
+
|
|
43
|
+
// 命令表:所有子命令的单一来源(新增命令在这里加一行即可)。
|
|
44
|
+
// 未知命令的"你想用的是不是"近似匹配也从这张表取已知命令名,不另写一份。
|
|
45
|
+
const COMMANDS = [
|
|
46
|
+
{ name: 'install', aliases: ['i'], run: install },
|
|
47
|
+
{ name: 'search', run: search },
|
|
48
|
+
{ name: 'installed', run: installed },
|
|
49
|
+
{ name: 'config', aliases: ['c'], run: config },
|
|
50
|
+
{ name: 'test', aliases: ['t'], run: test },
|
|
51
|
+
{ name: 'balance', aliases: ['b'], run: balance },
|
|
52
|
+
{ name: 'models', aliases: ['m'], run: models },
|
|
53
|
+
{ name: 'recharge', aliases: ['r'], run: recharge },
|
|
54
|
+
];
|
|
55
|
+
|
|
56
|
+
// help/version 不吃子参数(走 flag/无参分支),但命令名仍参与下面的近似匹配
|
|
57
|
+
const BUILTIN_NAMES = ['help', 'version'];
|
|
58
|
+
|
|
59
|
+
// 零依赖近似匹配的兜底:a 是否按顺序出现在 b 里(允许跳字,serch 也能对上 search)
|
|
60
|
+
function isSubsequence(a, b) {
|
|
61
|
+
let i = 0;
|
|
62
|
+
for (const ch of b) {
|
|
63
|
+
if (ch === a[i]) i++;
|
|
64
|
+
}
|
|
65
|
+
return i === a.length;
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
// 未知命令 → 猜用户想输什么。小写比较;规则:前缀相同 / 互相包含 / 子序列。最多返回3个。
|
|
69
|
+
function didYouMean(input) {
|
|
70
|
+
const s = input.toLowerCase();
|
|
71
|
+
return [...COMMANDS.map(c => c.name), ...BUILTIN_NAMES]
|
|
72
|
+
.filter(n => {
|
|
73
|
+
const t = n.toLowerCase();
|
|
74
|
+
return t.startsWith(s) || s.startsWith(t) || t.includes(s) || s.includes(t) || isSubsequence(s, t);
|
|
75
|
+
})
|
|
76
|
+
.slice(0, 3);
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
async function main() {
|
|
80
|
+
const args = process.argv.slice(2);
|
|
81
|
+
const command = args[0];
|
|
82
|
+
const subArgs = args.slice(1);
|
|
83
|
+
|
|
84
|
+
// 裸命令即安装(1007 K哥令:命令越短越好)——npx aixxai 直接进安装,帮助走 help/--help
|
|
85
|
+
if (command === undefined) {
|
|
86
|
+
const installEntry = COMMANDS.find(c => c.name === 'install');
|
|
87
|
+
if (installEntry) {
|
|
88
|
+
await installEntry.run(subArgs);
|
|
89
|
+
return;
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
|
|
93
|
+
const entry = COMMANDS.find(c => c.name === command || c.aliases?.includes(command));
|
|
94
|
+
if (entry) {
|
|
95
|
+
await entry.run(subArgs);
|
|
96
|
+
return;
|
|
97
|
+
}
|
|
98
|
+
|
|
99
|
+
switch (command) {
|
|
100
|
+
case '--version':
|
|
101
|
+
case '-v':
|
|
102
|
+
case 'version':
|
|
103
|
+
showVersion(VERSION);
|
|
104
|
+
break;
|
|
105
|
+
case '--help':
|
|
106
|
+
case '-h':
|
|
107
|
+
case 'help':
|
|
108
|
+
showHelp(VERSION);
|
|
109
|
+
break;
|
|
110
|
+
default: {
|
|
111
|
+
// 卡170(1011 K哥令"安装命令带唯一码"): 未知参数不再直接报错——当作码传给 install。
|
|
112
|
+
// 覆盖 npx aixxai <CODE>(不带 install 子命令)的用法;install 内部会先查云侧区分绑定码/推荐码。
|
|
113
|
+
const installEntry = COMMANDS.find(c => c.name === 'install');
|
|
114
|
+
if (installEntry && command && !command.startsWith('-')) {
|
|
115
|
+
await installEntry.run([command, ...subArgs]);
|
|
116
|
+
return;
|
|
117
|
+
}
|
|
118
|
+
console.error(`未知命令: ${command}`);
|
|
119
|
+
const guesses = didYouMean(command);
|
|
120
|
+
if (guesses.length > 0) {
|
|
121
|
+
console.error(`你想用的是不是: ${guesses.join(', ')}`);
|
|
122
|
+
} else {
|
|
123
|
+
console.error('运行 aixx help 查看全部命令');
|
|
124
|
+
}
|
|
125
|
+
process.exit(1);
|
|
126
|
+
}
|
|
127
|
+
}
|
|
128
|
+
}
|
|
129
|
+
|
|
130
|
+
main().catch(err => {
|
|
131
|
+
console.error('❌ 发生错误:', err.message);
|
|
132
|
+
process.exit(1);
|
|
133
|
+
});
|
package/package.json
CHANGED
|
@@ -1,34 +1,34 @@
|
|
|
1
|
-
{
|
|
2
|
-
"name": "aixxai",
|
|
3
|
-
"version": "1.6.
|
|
4
|
-
"description": "AIXX CLI - 让你的AI调用万物。安装:npx aixxai",
|
|
5
|
-
"type": "module",
|
|
6
|
-
"bin": {
|
|
7
|
-
"aixx": "./bin/aixx.js"
|
|
8
|
-
},
|
|
9
|
-
"scripts": {
|
|
10
|
-
"test": "node bin/aixx.js --version"
|
|
11
|
-
},
|
|
12
|
-
"keywords": [
|
|
13
|
-
"aixx",
|
|
14
|
-
"ai",
|
|
15
|
-
"llm",
|
|
16
|
-
"gateway",
|
|
17
|
-
"openai",
|
|
18
|
-
"deepseek",
|
|
19
|
-
"glm",
|
|
20
|
-
"kimi",
|
|
21
|
-
"skill",
|
|
22
|
-
"agent"
|
|
23
|
-
],
|
|
24
|
-
"author": "AIXX",
|
|
25
|
-
"license": "ISC",
|
|
26
|
-
"homepage": "https://gitee.com/kk0803/token-hub",
|
|
27
|
-
"repository": {
|
|
28
|
-
"type": "git",
|
|
29
|
-
"url": "https://gitee.com/kk0803/token-hub.git"
|
|
30
|
-
},
|
|
31
|
-
"engines": {
|
|
32
|
-
"node": ">=18"
|
|
33
|
-
}
|
|
1
|
+
{
|
|
2
|
+
"name": "aixxai",
|
|
3
|
+
"version": "1.6.1",
|
|
4
|
+
"description": "AIXX CLI - 让你的AI调用万物。安装:npx aixxai",
|
|
5
|
+
"type": "module",
|
|
6
|
+
"bin": {
|
|
7
|
+
"aixx": "./bin/aixx.js"
|
|
8
|
+
},
|
|
9
|
+
"scripts": {
|
|
10
|
+
"test": "node bin/aixx.js --version"
|
|
11
|
+
},
|
|
12
|
+
"keywords": [
|
|
13
|
+
"aixx",
|
|
14
|
+
"ai",
|
|
15
|
+
"llm",
|
|
16
|
+
"gateway",
|
|
17
|
+
"openai",
|
|
18
|
+
"deepseek",
|
|
19
|
+
"glm",
|
|
20
|
+
"kimi",
|
|
21
|
+
"skill",
|
|
22
|
+
"agent"
|
|
23
|
+
],
|
|
24
|
+
"author": "AIXX",
|
|
25
|
+
"license": "ISC",
|
|
26
|
+
"homepage": "https://gitee.com/kk0803/token-hub",
|
|
27
|
+
"repository": {
|
|
28
|
+
"type": "git",
|
|
29
|
+
"url": "https://gitee.com/kk0803/token-hub.git"
|
|
30
|
+
},
|
|
31
|
+
"engines": {
|
|
32
|
+
"node": ">=18"
|
|
33
|
+
}
|
|
34
34
|
}
|