jinzd-ai-cli 0.4.93 → 0.4.95
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 +429 -429
- package/README.zh-CN.md +448 -448
- package/dist/{batch-NAPWSE3V.js → batch-EGNBEZ7L.js} +2 -2
- package/dist/{chunk-5D7LG2TY.js → chunk-27KAJTRV.js} +2 -2
- package/dist/{chunk-3SRJBTIY.js → chunk-3OTYFGZX.js} +1 -1
- package/dist/{chunk-OL6TUUBE.js → chunk-64NBIR3O.js} +1 -1
- package/dist/{chunk-ZTBXPEG2.js → chunk-DBNMDRR3.js} +1 -1
- package/dist/{chunk-WR4M4TXV.js → chunk-KANAVCLY.js} +1 -1
- package/dist/{chunk-3CU4NKPD.js → chunk-VWJ6UJCF.js} +35 -9
- package/dist/electron-server.js +38 -10
- package/dist/{hub-LJAXL2LO.js → hub-6NPN7P76.js} +1 -1
- package/dist/index.js +21 -13
- package/dist/{run-tests-RO24F4Z2.js → run-tests-52NQAWN3.js} +2 -2
- package/dist/{run-tests-LKZFHPQK.js → run-tests-A3HXYWYK.js} +1 -1
- package/dist/{server-YXETATAI.js → server-DBJJXHMH.js} +3 -3
- package/dist/{server-YHECGYRX.js → server-ON3BYV2G.js} +9 -7
- package/dist/{task-orchestrator-3LZHLZCG.js → task-orchestrator-3TEU2UXU.js} +3 -3
- package/dist/web/client/style.css +129 -129
- package/package.json +164 -164
- package/dist/wasm/tree-sitter-javascript.wasm +0 -0
- package/dist/wasm/tree-sitter-python.wasm +0 -0
- package/dist/wasm/tree-sitter-tsx.wasm +0 -0
- package/dist/wasm/tree-sitter-typescript.wasm +0 -0
- package/dist/wasm/web-tree-sitter.wasm +0 -0
|
@@ -845,132 +845,132 @@ button, a, .session-item, .file-tree-row, .template-item, .tool-item, .mcp-serve
|
|
|
845
845
|
@media (display-mode: standalone) {
|
|
846
846
|
.navbar { padding-top: env(safe-area-inset-top, 0px); }
|
|
847
847
|
}
|
|
848
|
-
|
|
849
|
-
/* ── Session Replay (B1) ───────────────────────────── */
|
|
850
|
-
.replay-step {
|
|
851
|
-
border-left: 3px solid hsl(var(--b3));
|
|
852
|
-
padding: 0.5rem 0.6rem;
|
|
853
|
-
background: hsl(var(--b1));
|
|
854
|
-
border-radius: 0 0.35rem 0.35rem 0;
|
|
855
|
-
font-size: 0.85rem;
|
|
856
|
-
}
|
|
857
|
-
.replay-step.role-user { border-left-color: #3b82f6; }
|
|
858
|
-
.replay-step.role-assistant { border-left-color: #10b981; }
|
|
859
|
-
.replay-step.role-tool { border-left-color: #f59e0b; }
|
|
860
|
-
.replay-step.role-tool.error { border-left-color: #ef4444; }
|
|
861
|
-
.replay-step-header {
|
|
862
|
-
display: flex;
|
|
863
|
-
gap: 0.5rem;
|
|
864
|
-
align-items: center;
|
|
865
|
-
font-size: 0.72rem;
|
|
866
|
-
opacity: 0.75;
|
|
867
|
-
margin-bottom: 0.25rem;
|
|
868
|
-
}
|
|
869
|
-
.replay-step-header .role-tag {
|
|
870
|
-
font-weight: 600;
|
|
871
|
-
padding: 0 0.35rem;
|
|
872
|
-
border-radius: 0.25rem;
|
|
873
|
-
background: hsl(var(--b3));
|
|
874
|
-
}
|
|
875
|
-
.replay-step-body {
|
|
876
|
-
white-space: pre-wrap;
|
|
877
|
-
word-break: break-word;
|
|
878
|
-
font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
|
|
879
|
-
font-size: 0.78rem;
|
|
880
|
-
max-height: 18rem;
|
|
881
|
-
overflow-y: auto;
|
|
882
|
-
}
|
|
883
|
-
.replay-step-body.text-body {
|
|
884
|
-
font-family: inherit;
|
|
885
|
-
font-size: 0.85rem;
|
|
886
|
-
}
|
|
887
|
-
.replay-tool-block {
|
|
888
|
-
margin-top: 0.3rem;
|
|
889
|
-
padding: 0.4rem;
|
|
890
|
-
background: hsl(var(--b2));
|
|
891
|
-
border-radius: 0.3rem;
|
|
892
|
-
font-size: 0.78rem;
|
|
893
|
-
}
|
|
894
|
-
.replay-tool-block .tool-name {
|
|
895
|
-
font-weight: 600;
|
|
896
|
-
color: #f59e0b;
|
|
897
|
-
}
|
|
898
|
-
.replay-tool-block pre {
|
|
899
|
-
margin: 0.2rem 0 0;
|
|
900
|
-
white-space: pre-wrap;
|
|
901
|
-
word-break: break-word;
|
|
902
|
-
font-size: 0.72rem;
|
|
903
|
-
max-height: 12rem;
|
|
904
|
-
overflow-y: auto;
|
|
905
|
-
}
|
|
906
|
-
|
|
907
|
-
/* ── B2 Branch picker (sidebar) ─────────────────────────── */
|
|
908
|
-
.branch-item {
|
|
909
|
-
display: flex;
|
|
910
|
-
align-items: center;
|
|
911
|
-
gap: 0.35rem;
|
|
912
|
-
padding: 0.35rem 0.5rem;
|
|
913
|
-
border-radius: 0.35rem;
|
|
914
|
-
cursor: pointer;
|
|
915
|
-
border: 1px solid transparent;
|
|
916
|
-
transition: background 0.1s, border-color 0.1s;
|
|
917
|
-
font-size: 0.78rem;
|
|
918
|
-
line-height: 1.25;
|
|
919
|
-
position: relative;
|
|
920
|
-
}
|
|
921
|
-
.branch-item:hover {
|
|
922
|
-
background: rgba(128, 128, 128, 0.12);
|
|
923
|
-
}
|
|
924
|
-
.branch-item.active {
|
|
925
|
-
background: rgba(34, 197, 94, 0.12);
|
|
926
|
-
border-color: rgba(34, 197, 94, 0.45);
|
|
927
|
-
}
|
|
928
|
-
.branch-item .branch-marker {
|
|
929
|
-
flex-shrink: 0;
|
|
930
|
-
width: 0.8rem;
|
|
931
|
-
color: rgb(34, 197, 94);
|
|
932
|
-
}
|
|
933
|
-
.branch-item .branch-title {
|
|
934
|
-
flex: 1;
|
|
935
|
-
min-width: 0;
|
|
936
|
-
overflow: hidden;
|
|
937
|
-
text-overflow: ellipsis;
|
|
938
|
-
white-space: nowrap;
|
|
939
|
-
}
|
|
940
|
-
.branch-item .branch-id {
|
|
941
|
-
flex-shrink: 0;
|
|
942
|
-
opacity: 0.5;
|
|
943
|
-
font-family: ui-monospace, SFMono-Regular, monospace;
|
|
944
|
-
font-size: 0.7rem;
|
|
945
|
-
}
|
|
946
|
-
.branch-item .branch-count {
|
|
947
|
-
flex-shrink: 0;
|
|
948
|
-
opacity: 0.55;
|
|
949
|
-
font-size: 0.7rem;
|
|
950
|
-
}
|
|
951
|
-
.branch-item .branch-actions {
|
|
952
|
-
display: none;
|
|
953
|
-
gap: 0.15rem;
|
|
954
|
-
flex-shrink: 0;
|
|
955
|
-
}
|
|
956
|
-
.branch-item:hover .branch-actions {
|
|
957
|
-
display: flex;
|
|
958
|
-
}
|
|
959
|
-
.branch-item .branch-actions button {
|
|
960
|
-
background: transparent;
|
|
961
|
-
border: none;
|
|
962
|
-
padding: 0 0.2rem;
|
|
963
|
-
font-size: 0.72rem;
|
|
964
|
-
cursor: pointer;
|
|
965
|
-
opacity: 0.7;
|
|
966
|
-
}
|
|
967
|
-
.branch-item .branch-actions button:hover {
|
|
968
|
-
opacity: 1;
|
|
969
|
-
}
|
|
970
|
-
.branch-item .branch-indent {
|
|
971
|
-
flex-shrink: 0;
|
|
972
|
-
color: rgba(128, 128, 128, 0.5);
|
|
973
|
-
font-family: ui-monospace, SFMono-Regular, monospace;
|
|
974
|
-
font-size: 0.72rem;
|
|
975
|
-
white-space: pre;
|
|
976
|
-
}
|
|
848
|
+
|
|
849
|
+
/* ── Session Replay (B1) ───────────────────────────── */
|
|
850
|
+
.replay-step {
|
|
851
|
+
border-left: 3px solid hsl(var(--b3));
|
|
852
|
+
padding: 0.5rem 0.6rem;
|
|
853
|
+
background: hsl(var(--b1));
|
|
854
|
+
border-radius: 0 0.35rem 0.35rem 0;
|
|
855
|
+
font-size: 0.85rem;
|
|
856
|
+
}
|
|
857
|
+
.replay-step.role-user { border-left-color: #3b82f6; }
|
|
858
|
+
.replay-step.role-assistant { border-left-color: #10b981; }
|
|
859
|
+
.replay-step.role-tool { border-left-color: #f59e0b; }
|
|
860
|
+
.replay-step.role-tool.error { border-left-color: #ef4444; }
|
|
861
|
+
.replay-step-header {
|
|
862
|
+
display: flex;
|
|
863
|
+
gap: 0.5rem;
|
|
864
|
+
align-items: center;
|
|
865
|
+
font-size: 0.72rem;
|
|
866
|
+
opacity: 0.75;
|
|
867
|
+
margin-bottom: 0.25rem;
|
|
868
|
+
}
|
|
869
|
+
.replay-step-header .role-tag {
|
|
870
|
+
font-weight: 600;
|
|
871
|
+
padding: 0 0.35rem;
|
|
872
|
+
border-radius: 0.25rem;
|
|
873
|
+
background: hsl(var(--b3));
|
|
874
|
+
}
|
|
875
|
+
.replay-step-body {
|
|
876
|
+
white-space: pre-wrap;
|
|
877
|
+
word-break: break-word;
|
|
878
|
+
font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
|
|
879
|
+
font-size: 0.78rem;
|
|
880
|
+
max-height: 18rem;
|
|
881
|
+
overflow-y: auto;
|
|
882
|
+
}
|
|
883
|
+
.replay-step-body.text-body {
|
|
884
|
+
font-family: inherit;
|
|
885
|
+
font-size: 0.85rem;
|
|
886
|
+
}
|
|
887
|
+
.replay-tool-block {
|
|
888
|
+
margin-top: 0.3rem;
|
|
889
|
+
padding: 0.4rem;
|
|
890
|
+
background: hsl(var(--b2));
|
|
891
|
+
border-radius: 0.3rem;
|
|
892
|
+
font-size: 0.78rem;
|
|
893
|
+
}
|
|
894
|
+
.replay-tool-block .tool-name {
|
|
895
|
+
font-weight: 600;
|
|
896
|
+
color: #f59e0b;
|
|
897
|
+
}
|
|
898
|
+
.replay-tool-block pre {
|
|
899
|
+
margin: 0.2rem 0 0;
|
|
900
|
+
white-space: pre-wrap;
|
|
901
|
+
word-break: break-word;
|
|
902
|
+
font-size: 0.72rem;
|
|
903
|
+
max-height: 12rem;
|
|
904
|
+
overflow-y: auto;
|
|
905
|
+
}
|
|
906
|
+
|
|
907
|
+
/* ── B2 Branch picker (sidebar) ─────────────────────────── */
|
|
908
|
+
.branch-item {
|
|
909
|
+
display: flex;
|
|
910
|
+
align-items: center;
|
|
911
|
+
gap: 0.35rem;
|
|
912
|
+
padding: 0.35rem 0.5rem;
|
|
913
|
+
border-radius: 0.35rem;
|
|
914
|
+
cursor: pointer;
|
|
915
|
+
border: 1px solid transparent;
|
|
916
|
+
transition: background 0.1s, border-color 0.1s;
|
|
917
|
+
font-size: 0.78rem;
|
|
918
|
+
line-height: 1.25;
|
|
919
|
+
position: relative;
|
|
920
|
+
}
|
|
921
|
+
.branch-item:hover {
|
|
922
|
+
background: rgba(128, 128, 128, 0.12);
|
|
923
|
+
}
|
|
924
|
+
.branch-item.active {
|
|
925
|
+
background: rgba(34, 197, 94, 0.12);
|
|
926
|
+
border-color: rgba(34, 197, 94, 0.45);
|
|
927
|
+
}
|
|
928
|
+
.branch-item .branch-marker {
|
|
929
|
+
flex-shrink: 0;
|
|
930
|
+
width: 0.8rem;
|
|
931
|
+
color: rgb(34, 197, 94);
|
|
932
|
+
}
|
|
933
|
+
.branch-item .branch-title {
|
|
934
|
+
flex: 1;
|
|
935
|
+
min-width: 0;
|
|
936
|
+
overflow: hidden;
|
|
937
|
+
text-overflow: ellipsis;
|
|
938
|
+
white-space: nowrap;
|
|
939
|
+
}
|
|
940
|
+
.branch-item .branch-id {
|
|
941
|
+
flex-shrink: 0;
|
|
942
|
+
opacity: 0.5;
|
|
943
|
+
font-family: ui-monospace, SFMono-Regular, monospace;
|
|
944
|
+
font-size: 0.7rem;
|
|
945
|
+
}
|
|
946
|
+
.branch-item .branch-count {
|
|
947
|
+
flex-shrink: 0;
|
|
948
|
+
opacity: 0.55;
|
|
949
|
+
font-size: 0.7rem;
|
|
950
|
+
}
|
|
951
|
+
.branch-item .branch-actions {
|
|
952
|
+
display: none;
|
|
953
|
+
gap: 0.15rem;
|
|
954
|
+
flex-shrink: 0;
|
|
955
|
+
}
|
|
956
|
+
.branch-item:hover .branch-actions {
|
|
957
|
+
display: flex;
|
|
958
|
+
}
|
|
959
|
+
.branch-item .branch-actions button {
|
|
960
|
+
background: transparent;
|
|
961
|
+
border: none;
|
|
962
|
+
padding: 0 0.2rem;
|
|
963
|
+
font-size: 0.72rem;
|
|
964
|
+
cursor: pointer;
|
|
965
|
+
opacity: 0.7;
|
|
966
|
+
}
|
|
967
|
+
.branch-item .branch-actions button:hover {
|
|
968
|
+
opacity: 1;
|
|
969
|
+
}
|
|
970
|
+
.branch-item .branch-indent {
|
|
971
|
+
flex-shrink: 0;
|
|
972
|
+
color: rgba(128, 128, 128, 0.5);
|
|
973
|
+
font-family: ui-monospace, SFMono-Regular, monospace;
|
|
974
|
+
font-size: 0.72rem;
|
|
975
|
+
white-space: pre;
|
|
976
|
+
}
|
package/package.json
CHANGED
|
@@ -1,164 +1,164 @@
|
|
|
1
|
-
{
|
|
2
|
-
"name": "jinzd-ai-cli",
|
|
3
|
-
"version": "0.4.
|
|
4
|
-
"description": "Cross-platform REPL-style AI CLI with multi-provider support",
|
|
5
|
-
"type": "module",
|
|
6
|
-
"main": "./dist/index.js",
|
|
7
|
-
"bin": {
|
|
8
|
-
"aicli": "dist/index.js"
|
|
9
|
-
},
|
|
10
|
-
"publishConfig": {
|
|
11
|
-
"access": "public",
|
|
12
|
-
"registry": "https://registry.npmjs.org/"
|
|
13
|
-
},
|
|
14
|
-
"exports": {
|
|
15
|
-
".": "./dist/index.js",
|
|
16
|
-
"./core": "./dist/core/types.js",
|
|
17
|
-
"./providers": "./dist/providers/base.js"
|
|
18
|
-
},
|
|
19
|
-
"scripts": {
|
|
20
|
-
"build": "tsup",
|
|
21
|
-
"dev": "tsx src/index.ts",
|
|
22
|
-
"test": "vitest run",
|
|
23
|
-
"test:watch": "vitest",
|
|
24
|
-
"lint": "eslint src",
|
|
25
|
-
"prepublishOnly": "npm run build",
|
|
26
|
-
"patch": "node scripts/patch-sqlite.mjs",
|
|
27
|
-
"pack:win": "npm run build && npm run patch && npx pkg dist-cjs/index.cjs --target node22-win-x64 --output release/ai-cli-win.exe --compress GZip --options no-deprecation",
|
|
28
|
-
"pack:mac": "npm run build && npm run patch && npx pkg dist-cjs/index.cjs --target node22-macos-arm64 --output release/ai-cli-mac --compress GZip --options no-deprecation",
|
|
29
|
-
"pack:mac-x64": "npm run build && npm run patch && npx pkg dist-cjs/index.cjs --target node22-macos-x64 --output release/ai-cli-mac-x64 --compress GZip --options no-deprecation",
|
|
30
|
-
"pack:linux": "npm run build && npm run patch && npx pkg dist-cjs/index.cjs --target node22-linux-x64 --output release/ai-cli-linux --compress GZip --options no-deprecation",
|
|
31
|
-
"pack:all": "npm run build && npm run patch && npx pkg dist-cjs/index.cjs --target node22-win-x64,node22-macos-arm64,node22-linux-x64 --out-path release --compress GZip --options no-deprecation",
|
|
32
|
-
"electron": "npm run build && electron electron/main.cjs",
|
|
33
|
-
"electron:dev": "electron electron/main.cjs",
|
|
34
|
-
"electron:build-win": "npm run build && electron-builder --win",
|
|
35
|
-
"electron:build-mac": "npm run build && electron-builder --mac",
|
|
36
|
-
"electron:build-linux": "npm run build && electron-builder --linux",
|
|
37
|
-
"electron:build-all": "npm run build && electron-builder --win --mac --linux"
|
|
38
|
-
},
|
|
39
|
-
"pkg": {
|
|
40
|
-
"scripts": "dist-cjs/index.cjs",
|
|
41
|
-
"assets": [
|
|
42
|
-
"dist/wasm/**/*"
|
|
43
|
-
],
|
|
44
|
-
"targets": [
|
|
45
|
-
"node22-win-x64",
|
|
46
|
-
"node22-macos-arm64",
|
|
47
|
-
"node22-linux-x64"
|
|
48
|
-
],
|
|
49
|
-
"outputPath": "release",
|
|
50
|
-
"options": "no-deprecation"
|
|
51
|
-
},
|
|
52
|
-
"engines": {
|
|
53
|
-
"node": ">=20.0.0"
|
|
54
|
-
},
|
|
55
|
-
"files": [
|
|
56
|
-
"dist/*.js",
|
|
57
|
-
"dist/web/",
|
|
58
|
-
"dist/wasm/",
|
|
59
|
-
"README.md"
|
|
60
|
-
],
|
|
61
|
-
"keywords": [
|
|
62
|
-
"ai",
|
|
63
|
-
"cli",
|
|
64
|
-
"claude",
|
|
65
|
-
"gemini",
|
|
66
|
-
"deepseek",
|
|
67
|
-
"kimi",
|
|
68
|
-
"chatbot",
|
|
69
|
-
"repl"
|
|
70
|
-
],
|
|
71
|
-
"repository": {
|
|
72
|
-
"type": "git",
|
|
73
|
-
"url": "git+https://github.com/jinzhengdong/ai-cli.git"
|
|
74
|
-
},
|
|
75
|
-
"bugs": {
|
|
76
|
-
"url": "https://github.com/jinzhengdong/ai-cli/issues"
|
|
77
|
-
},
|
|
78
|
-
"homepage": "https://github.com/jinzhengdong/ai-cli#readme",
|
|
79
|
-
"license": "MIT",
|
|
80
|
-
"dependencies": {
|
|
81
|
-
"@anthropic-ai/sdk": "^0.39.0",
|
|
82
|
-
"@google/generative-ai": "^0.24.0",
|
|
83
|
-
"@huggingface/transformers": "^4.1.0",
|
|
84
|
-
"@inquirer/prompts": "^7.0.0",
|
|
85
|
-
"chalk": "^5.4.1",
|
|
86
|
-
"commander": "^13.0.0",
|
|
87
|
-
"express": "^5.2.1",
|
|
88
|
-
"openai": "^4.77.0",
|
|
89
|
-
"tree-sitter-javascript": "^0.25.0",
|
|
90
|
-
"tree-sitter-python": "^0.25.0",
|
|
91
|
-
"tree-sitter-typescript": "^0.23.2",
|
|
92
|
-
"undici": "^7.22.0",
|
|
93
|
-
"uuid": "^11.0.5",
|
|
94
|
-
"web-tree-sitter": "^0.26.8",
|
|
95
|
-
"ws": "^8.19.0",
|
|
96
|
-
"zod": "^3.24.1"
|
|
97
|
-
},
|
|
98
|
-
"devDependencies": {
|
|
99
|
-
"@types/express": "^5.0.6",
|
|
100
|
-
"@types/node": "^22.10.0",
|
|
101
|
-
"@types/uuid": "^10.0.0",
|
|
102
|
-
"@types/ws": "^8.18.1",
|
|
103
|
-
"@yao-pkg/pkg": "^6.14.0",
|
|
104
|
-
"electron": "^35.0.0",
|
|
105
|
-
"electron-builder": "^26.0.0",
|
|
106
|
-
"tsup": "^8.3.5",
|
|
107
|
-
"tsx": "^4.19.2",
|
|
108
|
-
"typescript": "^5.7.3",
|
|
109
|
-
"vitest": "^2.1.8"
|
|
110
|
-
},
|
|
111
|
-
"author": "jinzd",
|
|
112
|
-
"build": {
|
|
113
|
-
"appId": "com.jinzd.ai-cli",
|
|
114
|
-
"productName": "ai-cli",
|
|
115
|
-
"artifactName": "ai-cli-${os}-${arch}.${ext}",
|
|
116
|
-
"extraMetadata": {
|
|
117
|
-
"main": "electron/main.cjs"
|
|
118
|
-
},
|
|
119
|
-
"files": [
|
|
120
|
-
"dist/**/*",
|
|
121
|
-
"electron/**/*.cjs"
|
|
122
|
-
],
|
|
123
|
-
"extraResources": [
|
|
124
|
-
{
|
|
125
|
-
"from": "dist/web/client",
|
|
126
|
-
"to": "web-client"
|
|
127
|
-
}
|
|
128
|
-
],
|
|
129
|
-
"asar": true,
|
|
130
|
-
"asarUnpack": [
|
|
131
|
-
"dist/electron-server.js",
|
|
132
|
-
"dist/chunk-*.js"
|
|
133
|
-
],
|
|
134
|
-
"forceCodeSigning": false,
|
|
135
|
-
"win": {
|
|
136
|
-
"target": [
|
|
137
|
-
"nsis",
|
|
138
|
-
"portable"
|
|
139
|
-
],
|
|
140
|
-
"icon": "src/web/client/icon-512.png",
|
|
141
|
-
"signAndEditExecutable": false
|
|
142
|
-
},
|
|
143
|
-
"mac": {
|
|
144
|
-
"target": [
|
|
145
|
-
"dmg",
|
|
146
|
-
"zip"
|
|
147
|
-
],
|
|
148
|
-
"category": "public.app-category.developer-tools",
|
|
149
|
-
"icon": "src/web/client/icon-512.png"
|
|
150
|
-
},
|
|
151
|
-
"linux": {
|
|
152
|
-
"target": [
|
|
153
|
-
"AppImage",
|
|
154
|
-
"deb"
|
|
155
|
-
],
|
|
156
|
-
"icon": "src/web/client/icon-512.png",
|
|
157
|
-
"category": "Development"
|
|
158
|
-
},
|
|
159
|
-
"nsis": {
|
|
160
|
-
"oneClick": false,
|
|
161
|
-
"allowToChangeInstallationDirectory": true
|
|
162
|
-
}
|
|
163
|
-
}
|
|
164
|
-
}
|
|
1
|
+
{
|
|
2
|
+
"name": "jinzd-ai-cli",
|
|
3
|
+
"version": "0.4.95",
|
|
4
|
+
"description": "Cross-platform REPL-style AI CLI with multi-provider support",
|
|
5
|
+
"type": "module",
|
|
6
|
+
"main": "./dist/index.js",
|
|
7
|
+
"bin": {
|
|
8
|
+
"aicli": "dist/index.js"
|
|
9
|
+
},
|
|
10
|
+
"publishConfig": {
|
|
11
|
+
"access": "public",
|
|
12
|
+
"registry": "https://registry.npmjs.org/"
|
|
13
|
+
},
|
|
14
|
+
"exports": {
|
|
15
|
+
".": "./dist/index.js",
|
|
16
|
+
"./core": "./dist/core/types.js",
|
|
17
|
+
"./providers": "./dist/providers/base.js"
|
|
18
|
+
},
|
|
19
|
+
"scripts": {
|
|
20
|
+
"build": "tsup",
|
|
21
|
+
"dev": "tsx src/index.ts",
|
|
22
|
+
"test": "vitest run",
|
|
23
|
+
"test:watch": "vitest",
|
|
24
|
+
"lint": "eslint src",
|
|
25
|
+
"prepublishOnly": "npm run build",
|
|
26
|
+
"patch": "node scripts/patch-sqlite.mjs",
|
|
27
|
+
"pack:win": "npm run build && npm run patch && npx pkg dist-cjs/index.cjs --target node22-win-x64 --output release/ai-cli-win.exe --compress GZip --options no-deprecation",
|
|
28
|
+
"pack:mac": "npm run build && npm run patch && npx pkg dist-cjs/index.cjs --target node22-macos-arm64 --output release/ai-cli-mac --compress GZip --options no-deprecation",
|
|
29
|
+
"pack:mac-x64": "npm run build && npm run patch && npx pkg dist-cjs/index.cjs --target node22-macos-x64 --output release/ai-cli-mac-x64 --compress GZip --options no-deprecation",
|
|
30
|
+
"pack:linux": "npm run build && npm run patch && npx pkg dist-cjs/index.cjs --target node22-linux-x64 --output release/ai-cli-linux --compress GZip --options no-deprecation",
|
|
31
|
+
"pack:all": "npm run build && npm run patch && npx pkg dist-cjs/index.cjs --target node22-win-x64,node22-macos-arm64,node22-linux-x64 --out-path release --compress GZip --options no-deprecation",
|
|
32
|
+
"electron": "npm run build && electron electron/main.cjs",
|
|
33
|
+
"electron:dev": "electron electron/main.cjs",
|
|
34
|
+
"electron:build-win": "npm run build && electron-builder --win",
|
|
35
|
+
"electron:build-mac": "npm run build && electron-builder --mac",
|
|
36
|
+
"electron:build-linux": "npm run build && electron-builder --linux",
|
|
37
|
+
"electron:build-all": "npm run build && electron-builder --win --mac --linux"
|
|
38
|
+
},
|
|
39
|
+
"pkg": {
|
|
40
|
+
"scripts": "dist-cjs/index.cjs",
|
|
41
|
+
"assets": [
|
|
42
|
+
"dist/wasm/**/*"
|
|
43
|
+
],
|
|
44
|
+
"targets": [
|
|
45
|
+
"node22-win-x64",
|
|
46
|
+
"node22-macos-arm64",
|
|
47
|
+
"node22-linux-x64"
|
|
48
|
+
],
|
|
49
|
+
"outputPath": "release",
|
|
50
|
+
"options": "no-deprecation"
|
|
51
|
+
},
|
|
52
|
+
"engines": {
|
|
53
|
+
"node": ">=20.0.0"
|
|
54
|
+
},
|
|
55
|
+
"files": [
|
|
56
|
+
"dist/*.js",
|
|
57
|
+
"dist/web/",
|
|
58
|
+
"dist/wasm/",
|
|
59
|
+
"README.md"
|
|
60
|
+
],
|
|
61
|
+
"keywords": [
|
|
62
|
+
"ai",
|
|
63
|
+
"cli",
|
|
64
|
+
"claude",
|
|
65
|
+
"gemini",
|
|
66
|
+
"deepseek",
|
|
67
|
+
"kimi",
|
|
68
|
+
"chatbot",
|
|
69
|
+
"repl"
|
|
70
|
+
],
|
|
71
|
+
"repository": {
|
|
72
|
+
"type": "git",
|
|
73
|
+
"url": "git+https://github.com/jinzhengdong/ai-cli.git"
|
|
74
|
+
},
|
|
75
|
+
"bugs": {
|
|
76
|
+
"url": "https://github.com/jinzhengdong/ai-cli/issues"
|
|
77
|
+
},
|
|
78
|
+
"homepage": "https://github.com/jinzhengdong/ai-cli#readme",
|
|
79
|
+
"license": "MIT",
|
|
80
|
+
"dependencies": {
|
|
81
|
+
"@anthropic-ai/sdk": "^0.39.0",
|
|
82
|
+
"@google/generative-ai": "^0.24.0",
|
|
83
|
+
"@huggingface/transformers": "^4.1.0",
|
|
84
|
+
"@inquirer/prompts": "^7.0.0",
|
|
85
|
+
"chalk": "^5.4.1",
|
|
86
|
+
"commander": "^13.0.0",
|
|
87
|
+
"express": "^5.2.1",
|
|
88
|
+
"openai": "^4.77.0",
|
|
89
|
+
"tree-sitter-javascript": "^0.25.0",
|
|
90
|
+
"tree-sitter-python": "^0.25.0",
|
|
91
|
+
"tree-sitter-typescript": "^0.23.2",
|
|
92
|
+
"undici": "^7.22.0",
|
|
93
|
+
"uuid": "^11.0.5",
|
|
94
|
+
"web-tree-sitter": "^0.26.8",
|
|
95
|
+
"ws": "^8.19.0",
|
|
96
|
+
"zod": "^3.24.1"
|
|
97
|
+
},
|
|
98
|
+
"devDependencies": {
|
|
99
|
+
"@types/express": "^5.0.6",
|
|
100
|
+
"@types/node": "^22.10.0",
|
|
101
|
+
"@types/uuid": "^10.0.0",
|
|
102
|
+
"@types/ws": "^8.18.1",
|
|
103
|
+
"@yao-pkg/pkg": "^6.14.0",
|
|
104
|
+
"electron": "^35.0.0",
|
|
105
|
+
"electron-builder": "^26.0.0",
|
|
106
|
+
"tsup": "^8.3.5",
|
|
107
|
+
"tsx": "^4.19.2",
|
|
108
|
+
"typescript": "^5.7.3",
|
|
109
|
+
"vitest": "^2.1.8"
|
|
110
|
+
},
|
|
111
|
+
"author": "jinzd",
|
|
112
|
+
"build": {
|
|
113
|
+
"appId": "com.jinzd.ai-cli",
|
|
114
|
+
"productName": "ai-cli",
|
|
115
|
+
"artifactName": "ai-cli-${os}-${arch}.${ext}",
|
|
116
|
+
"extraMetadata": {
|
|
117
|
+
"main": "electron/main.cjs"
|
|
118
|
+
},
|
|
119
|
+
"files": [
|
|
120
|
+
"dist/**/*",
|
|
121
|
+
"electron/**/*.cjs"
|
|
122
|
+
],
|
|
123
|
+
"extraResources": [
|
|
124
|
+
{
|
|
125
|
+
"from": "dist/web/client",
|
|
126
|
+
"to": "web-client"
|
|
127
|
+
}
|
|
128
|
+
],
|
|
129
|
+
"asar": true,
|
|
130
|
+
"asarUnpack": [
|
|
131
|
+
"dist/electron-server.js",
|
|
132
|
+
"dist/chunk-*.js"
|
|
133
|
+
],
|
|
134
|
+
"forceCodeSigning": false,
|
|
135
|
+
"win": {
|
|
136
|
+
"target": [
|
|
137
|
+
"nsis",
|
|
138
|
+
"portable"
|
|
139
|
+
],
|
|
140
|
+
"icon": "src/web/client/icon-512.png",
|
|
141
|
+
"signAndEditExecutable": false
|
|
142
|
+
},
|
|
143
|
+
"mac": {
|
|
144
|
+
"target": [
|
|
145
|
+
"dmg",
|
|
146
|
+
"zip"
|
|
147
|
+
],
|
|
148
|
+
"category": "public.app-category.developer-tools",
|
|
149
|
+
"icon": "src/web/client/icon-512.png"
|
|
150
|
+
},
|
|
151
|
+
"linux": {
|
|
152
|
+
"target": [
|
|
153
|
+
"AppImage",
|
|
154
|
+
"deb"
|
|
155
|
+
],
|
|
156
|
+
"icon": "src/web/client/icon-512.png",
|
|
157
|
+
"category": "Development"
|
|
158
|
+
},
|
|
159
|
+
"nsis": {
|
|
160
|
+
"oneClick": false,
|
|
161
|
+
"allowToChangeInstallationDirectory": true
|
|
162
|
+
}
|
|
163
|
+
}
|
|
164
|
+
}
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|