@ia-ccun/code-agent-claw 0.0.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.
Files changed (57) hide show
  1. package/.claude/plan/aicode-ui-npm.md +477 -0
  2. package/README.md +108 -0
  3. package/bin/cli.js +16 -0
  4. package/config/default.json +18 -0
  5. package/dist/config.d.ts +22 -0
  6. package/dist/config.d.ts.map +1 -0
  7. package/dist/config.js +257 -0
  8. package/dist/config.js.map +1 -0
  9. package/dist/index.d.ts +2 -0
  10. package/dist/index.d.ts.map +1 -0
  11. package/dist/index.js +37 -0
  12. package/dist/index.js.map +1 -0
  13. package/dist/public/aicode.svg +1 -0
  14. package/dist/public/index-v3.html +1757 -0
  15. package/dist/public/index.html +1818 -0
  16. package/dist/public/index_v3.html +1757 -0
  17. package/dist/public/juejin.css +143 -0
  18. package/dist/server/index.d.ts +11 -0
  19. package/dist/server/index.d.ts.map +1 -0
  20. package/dist/server/index.js +126 -0
  21. package/dist/server/index.js.map +1 -0
  22. package/dist/server/routes.d.ts +7 -0
  23. package/dist/server/routes.d.ts.map +1 -0
  24. package/dist/server/routes.js +343 -0
  25. package/dist/server/routes.js.map +1 -0
  26. package/dist/server/websocket.d.ts +7 -0
  27. package/dist/server/websocket.d.ts.map +1 -0
  28. package/dist/server/websocket.js +75 -0
  29. package/dist/server/websocket.js.map +1 -0
  30. package/dist/services/agent-rpc.d.ts +95 -0
  31. package/dist/services/agent-rpc.d.ts.map +1 -0
  32. package/dist/services/agent-rpc.js +389 -0
  33. package/dist/services/agent-rpc.js.map +1 -0
  34. package/dist/types/index.d.ts +52 -0
  35. package/dist/types/index.d.ts.map +1 -0
  36. package/dist/types/index.js +3 -0
  37. package/dist/types/index.js.map +1 -0
  38. package/dist/utils/logger.d.ts +2 -0
  39. package/dist/utils/logger.d.ts.map +1 -0
  40. package/dist/utils/logger.js +19 -0
  41. package/dist/utils/logger.js.map +1 -0
  42. package/ia-ccun-code-agent-claw-0.0.1.tgz +0 -0
  43. package/package.json +43 -0
  44. package/public/aicode.svg +1 -0
  45. package/public/index-v3.html +1757 -0
  46. package/public/index.html +1818 -0
  47. package/public/index_v3.html +1757 -0
  48. package/public/juejin.css +143 -0
  49. package/src/config.ts +239 -0
  50. package/src/index.ts +40 -0
  51. package/src/server/index.ts +103 -0
  52. package/src/server/routes.ts +342 -0
  53. package/src/server/websocket.ts +82 -0
  54. package/src/services/agent-rpc.ts +397 -0
  55. package/src/types/index.ts +60 -0
  56. package/src/utils/logger.ts +13 -0
  57. package/tsconfig.json +19 -0
package/dist/config.js ADDED
@@ -0,0 +1,257 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ Object.defineProperty(exports, "__esModule", { value: true });
36
+ exports.findAicodeCommand = findAicodeCommand;
37
+ exports.loadConfig = loadConfig;
38
+ exports.saveUserConfig = saveUserConfig;
39
+ exports.getUserConfigPath = getUserConfigPath;
40
+ exports.getAgentConfig = getAgentConfig;
41
+ const fs = __importStar(require("fs"));
42
+ const path = __importStar(require("path"));
43
+ const os = __importStar(require("os"));
44
+ const child_process_1 = require("child_process");
45
+ const logger_1 = require("./utils/logger");
46
+ /**
47
+ * 自动检测 aicode 命令路径
48
+ */
49
+ function findAicodeCommand() {
50
+ // 1. 检查环境变量
51
+ if (process.env.AICODE_UI_COMMAND) {
52
+ return process.env.AICODE_UI_COMMAND;
53
+ }
54
+ // 2. 尝试使用 whereis 命令检测
55
+ try {
56
+ const result = (0, child_process_1.execSync)('whereis aicode', { encoding: 'utf-8' });
57
+ const match = result.match(/aicode:\s*(.+)$/);
58
+ if (match && match[1] && !match[1].includes('not found')) {
59
+ const paths = match[1].trim().split(/\s+/);
60
+ // 返回第一个有效的路径
61
+ for (const cmdPath of paths) {
62
+ if (cmdPath && fs.existsSync(cmdPath)) {
63
+ logger_1.logger.info(`[Config] Found aicode at: ${cmdPath}`);
64
+ return cmdPath;
65
+ }
66
+ }
67
+ }
68
+ }
69
+ catch (e) {
70
+ // whereis 失败,尝试 which
71
+ }
72
+ // 3. 尝试 which 命令
73
+ try {
74
+ const result = (0, child_process_1.execSync)('which aicode', { encoding: 'utf-8' }).trim();
75
+ if (result && fs.existsSync(result)) {
76
+ logger_1.logger.info(`[Config] Found aicode at: ${result}`);
77
+ return result;
78
+ }
79
+ }
80
+ catch (e) {
81
+ // which 也失败
82
+ }
83
+ // 4. 尝试常见安装路径
84
+ const commonPaths = [
85
+ '/usr/local/bin/aicode',
86
+ '/usr/bin/aicode',
87
+ path.join(os.homedir(), '.local/bin/aicode'),
88
+ path.join(os.homedir(), 'bin/aicode'),
89
+ ];
90
+ for (const cmdPath of commonPaths) {
91
+ if (fs.existsSync(cmdPath)) {
92
+ logger_1.logger.info(`[Config] Found aicode at: ${cmdPath}`);
93
+ return cmdPath;
94
+ }
95
+ }
96
+ // 5. 默认返回 'aicode'
97
+ logger_1.logger.warn('[Config] aicode not found, using default: aicode');
98
+ return 'aicode';
99
+ }
100
+ /**
101
+ * 默认配置
102
+ */
103
+ const DEFAULT_CONFIG = {
104
+ server: {
105
+ port: 8081,
106
+ host: '0.0.0.0'
107
+ },
108
+ agent: {
109
+ enabled: false,
110
+ command: 'aicode',
111
+ provider: 'minimax-custom',
112
+ model: 'MiniMax-M2.5',
113
+ noSession: true,
114
+ sessionDir: '~/.aicode-cli/agent/sessions',
115
+ workingDir: '~/.aicode-cli'
116
+ },
117
+ logging: {
118
+ level: 'info'
119
+ }
120
+ };
121
+ /**
122
+ * 展开路径中的 ~ 为用户主目录
123
+ */
124
+ function expandPath(filePath) {
125
+ if (filePath.startsWith('~')) {
126
+ return path.join(os.homedir(), filePath.slice(1).replace(/^\//, ''));
127
+ }
128
+ return filePath;
129
+ }
130
+ /**
131
+ * 加载配置
132
+ */
133
+ function loadConfig() {
134
+ // 1. 加载默认配置
135
+ let config = JSON.parse(JSON.stringify(DEFAULT_CONFIG));
136
+ // 2. 加载默认配置文件 (项目内)
137
+ const defaultConfigPath = path.join(__dirname, '..', 'config', 'default.json');
138
+ if (fs.existsSync(defaultConfigPath)) {
139
+ try {
140
+ const fileConfig = JSON.parse(fs.readFileSync(defaultConfigPath, 'utf-8'));
141
+ config = deepMerge(config, fileConfig);
142
+ logger_1.logger.debug(`Loaded default config from ${defaultConfigPath}`);
143
+ }
144
+ catch (e) {
145
+ logger_1.logger.warn(`Failed to load default config: ${e}`);
146
+ }
147
+ }
148
+ // 3. 加载用户配置文件
149
+ const userConfigDir = path.join(os.homedir(), '.aicode-ui');
150
+ const userConfigPath = path.join(userConfigDir, 'config.json');
151
+ if (fs.existsSync(userConfigPath)) {
152
+ try {
153
+ const userConfig = JSON.parse(fs.readFileSync(userConfigPath, 'utf-8'));
154
+ config = deepMerge(config, userConfig);
155
+ logger_1.logger.info(`Loaded user config from ${userConfigPath}`);
156
+ }
157
+ catch (e) {
158
+ logger_1.logger.warn(`Failed to load user config: ${e}`);
159
+ }
160
+ }
161
+ // 4. 环境变量覆盖
162
+ if (process.env.AICODE_UI_PORT) {
163
+ config.server.port = parseInt(process.env.AICODE_UI_PORT, 10);
164
+ }
165
+ if (process.env.AICODE_UI_COMMAND) {
166
+ config.agent.command = process.env.AICODE_UI_COMMAND;
167
+ }
168
+ if (process.env.AICODE_UI_PROVIDER) {
169
+ config.agent.provider = process.env.AICODE_UI_PROVIDER;
170
+ }
171
+ if (process.env.AICODE_UI_MODEL) {
172
+ config.agent.model = process.env.AICODE_UI_MODEL;
173
+ }
174
+ if (process.env.AICODE_UI_LOG_LEVEL) {
175
+ config.logging.level = process.env.AICODE_UI_LOG_LEVEL;
176
+ }
177
+ // 5. 自动检测 aicode 命令路径(如果未配置)
178
+ if (!config.agent.command || config.agent.command === 'aicode') {
179
+ const detectedCommand = findAicodeCommand();
180
+ config.agent.command = detectedCommand;
181
+ }
182
+ // 6. 展开路径中的 ~
183
+ config.agent.sessionDir = expandPath(config.agent.sessionDir);
184
+ config.agent.workingDir = expandPath(config.agent.workingDir);
185
+ return config;
186
+ }
187
+ /**
188
+ * 保存配置到用户目录
189
+ */
190
+ function saveUserConfig(agentConfig) {
191
+ const userConfigDir = path.join(os.homedir(), '.aicode-ui');
192
+ const userConfigPath = path.join(userConfigDir, 'config.json');
193
+ // 确保目录存在
194
+ if (!fs.existsSync(userConfigDir)) {
195
+ fs.mkdirSync(userConfigDir, { recursive: true });
196
+ }
197
+ // 展开路径后保存
198
+ const configToSave = {
199
+ server: {
200
+ port: 8080,
201
+ host: '0.0.0.0'
202
+ },
203
+ agent: {
204
+ enabled: true,
205
+ command: agentConfig.command,
206
+ provider: agentConfig.provider,
207
+ model: agentConfig.model,
208
+ noSession: agentConfig.noSession,
209
+ sessionDir: expandPath(agentConfig.sessionDir),
210
+ workingDir: expandPath(agentConfig.workingDir)
211
+ },
212
+ logging: {
213
+ level: 'info'
214
+ }
215
+ };
216
+ fs.writeFileSync(userConfigPath, JSON.stringify(configToSave, null, 2), 'utf-8');
217
+ logger_1.logger.info(`Config saved to ${userConfigPath}`);
218
+ }
219
+ /**
220
+ * 获取用户配置路径
221
+ */
222
+ function getUserConfigPath() {
223
+ return path.join(os.homedir(), '.aicode-ui', 'config.json');
224
+ }
225
+ /**
226
+ * 深度合并对象
227
+ */
228
+ function deepMerge(target, source) {
229
+ const result = { ...target };
230
+ for (const key in source) {
231
+ if (source.hasOwnProperty(key)) {
232
+ const sourceValue = source[key];
233
+ const targetValue = result[key];
234
+ if (isObject(sourceValue) && isObject(targetValue)) {
235
+ result[key] = deepMerge(targetValue, sourceValue);
236
+ }
237
+ else if (sourceValue !== undefined) {
238
+ result[key] = sourceValue;
239
+ }
240
+ }
241
+ }
242
+ return result;
243
+ }
244
+ /**
245
+ * 判断是否为对象
246
+ */
247
+ function isObject(value) {
248
+ return value !== null && typeof value === 'object' && !Array.isArray(value);
249
+ }
250
+ /**
251
+ * 获取当前配置(仅返回 agent 部分)
252
+ */
253
+ function getAgentConfig() {
254
+ const config = loadConfig();
255
+ return config.agent;
256
+ }
257
+ //# sourceMappingURL=config.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":""}
package/dist/index.js ADDED
@@ -0,0 +1,37 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const server_1 = require("./server");
4
+ const logger_1 = require("./utils/logger");
5
+ const agent_rpc_1 = require("./services/agent-rpc");
6
+ /**
7
+ * 主入口
8
+ */
9
+ async function main() {
10
+ try {
11
+ // 捕获未处理的异常
12
+ process.on('uncaughtException', (err) => {
13
+ console.error('Uncaught exception:', err);
14
+ process.exit(1);
15
+ });
16
+ process.on('unhandledRejection', (reason, promise) => {
17
+ console.error('Unhandled rejection at:', promise, 'reason:', reason);
18
+ });
19
+ // 启动服务器
20
+ await (0, server_1.startServer)();
21
+ // 优雅退出
22
+ const shutdown = () => {
23
+ logger_1.logger.info('Shutting down...');
24
+ const agentService = (0, agent_rpc_1.getAgentRpcService)();
25
+ agentService.stop();
26
+ process.exit(0);
27
+ };
28
+ process.on('SIGINT', shutdown);
29
+ process.on('SIGTERM', shutdown);
30
+ }
31
+ catch (error) {
32
+ console.error('Failed to start server:', error);
33
+ process.exit(1);
34
+ }
35
+ }
36
+ main();
37
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;AAAA,qCAAuC;AACvC,2CAAwC;AACxC,oDAA0D;AAE1D;;GAEG;AACH,KAAK,UAAU,IAAI;IACjB,IAAI,CAAC;QACH,WAAW;QACX,OAAO,CAAC,EAAE,CAAC,mBAAmB,EAAE,CAAC,GAAG,EAAE,EAAE;YACtC,OAAO,CAAC,KAAK,CAAC,qBAAqB,EAAE,GAAG,CAAC,CAAC;YAC1C,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC,CAAC,CAAC;QAEH,OAAO,CAAC,EAAE,CAAC,oBAAoB,EAAE,CAAC,MAAM,EAAE,OAAO,EAAE,EAAE;YACnD,OAAO,CAAC,KAAK,CAAC,yBAAyB,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC;QACvE,CAAC,CAAC,CAAC;QAEH,QAAQ;QACR,MAAM,IAAA,oBAAW,GAAE,CAAC;QAEpB,OAAO;QACP,MAAM,QAAQ,GAAG,GAAG,EAAE;YACpB,eAAM,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;YAChC,MAAM,YAAY,GAAG,IAAA,8BAAkB,GAAE,CAAC;YAC1C,YAAY,CAAC,IAAI,EAAE,CAAC;YACpB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC,CAAC;QAEF,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;QAC/B,OAAO,CAAC,EAAE,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;IAElC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CAAC,yBAAyB,EAAE,KAAK,CAAC,CAAC;QAChD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC;AAED,IAAI,EAAE,CAAC"}
@@ -0,0 +1 @@
1
+ <svg t="1773568175464" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="13440" width="32" height="32"><path d="M160 448a64 64 0 0 1 14.4 126.368l0.064 117.6a32 32 0 0 0 13.088 25.792l3.2 2.08 305.472 171.936a32 32 0 0 0 27.712 1.792l3.744-1.824 304-171.84a32 32 0 0 0 16-24.064l0.256-3.808V656a16 16 0 0 1 13.088-15.744l2.88-0.256a16 16 0 0 1 16 16v36.032a64 64 0 0 1-32.48 55.712l-304 171.84a64 64 0 0 1-62.88 0.096L175.04 747.744a64 64 0 0 1-32.64-55.776v-118.4A64 64 0 0 1 160 448z m308.576-96.672L599.84 672h-48.352l-37.44-97.12h-134.08L344.8 672H299.712l123.136-320.672h45.76z m214.816 0V672H640.96V351.328h42.432z m-139.968-246.432l304 171.84a64 64 0 0 1 32.512 55.712l-0.032 117.536a64 64 0 1 1-32.032 0.064l0.064-117.6a32 32 0 0 0-13.056-25.76l-3.2-2.08-304-171.84a32 32 0 0 0-27.68-1.856l-3.776 1.792-305.472 171.968a32 32 0 0 0-16.064 24.064l-0.224 3.808V368a16 16 0 0 1-31.776 2.88l-0.256-2.88v-35.456a64 64 0 0 1 32.64-55.776l305.472-171.936a64 64 0 0 1 62.88 0.064zM160 480a32 32 0 1 0 0 64 32 32 0 0 0 0-64z m704 0a32 32 0 1 0 0 64 32 32 0 0 0 0-64z m-419.264-95.008c-4.096 20.576-9.856 40.96-17.28 61.248l-35.2 94.08h108.704l-33.472-88.832-3.712-9.888a805.984 805.984 0 0 1-19.04-56.608z" fill="#49bccf" p-id="13441"></path></svg>