@jclaw/core 0.1.0 → 0.3.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/dist/auto-skill/generator.js +0 -1
- package/dist/auto-skill/index.js +0 -1
- package/dist/auto-skill/installer.js +0 -1
- package/dist/auto-skill/types.js +0 -1
- package/dist/cli/commands/config.js +0 -1
- package/dist/cli/commands/exec.js +0 -1
- package/dist/cli/index.js +0 -1
- package/dist/cli/jclaw.js +291 -0
- package/dist/cli/run.js +0 -1
- package/dist/context/index.js +0 -1
- package/dist/context/memsearch-client.js +0 -1
- package/dist/context/mock-client.js +0 -1
- package/dist/context/simple-memory-client.js +0 -1
- package/dist/evolution/engine.js +0 -1
- package/dist/evolution/evolver-adapter.js +0 -1
- package/dist/evolution/index.js +0 -1
- package/dist/evolution/mutation.js +0 -1
- package/dist/evolution/sandbox.js +0 -1
- package/dist/evolution/types.js +0 -1
- package/dist/executor/index.js +0 -1
- package/dist/executor/interface.js +0 -1
- package/dist/executor/local.js +0 -1
- package/dist/extension-system/capability-router.js +0 -1
- package/dist/extension-system/index.js +0 -1
- package/dist/extension-system/loader.js +0 -1
- package/dist/extension-system/registry.js +0 -1
- package/dist/index.js +0 -1
- package/dist/network/client.js +0 -1
- package/dist/network/index.js +0 -1
- package/dist/network/protocol.js +0 -1
- package/dist/runtime/agent.js +0 -1
- package/dist/runtime/index.js +0 -1
- package/dist/runtime/llm-client.js +0 -1
- package/dist/runtime/task-executor.js +0 -1
- package/dist/skill-sh/adapter.js +0 -1
- package/dist/skill-sh/converter.js +0 -1
- package/dist/skill-sh/discovery.d.ts +1 -1
- package/dist/skill-sh/discovery.d.ts.map +1 -1
- package/dist/skill-sh/discovery.js +0 -1
- package/dist/skill-sh/index.js +0 -1
- package/dist/skill-sh/quality.js +0 -1
- package/dist/skill-sh/registry.js +0 -1
- package/dist/skill-sh/types.js +0 -1
- package/dist/types.js +0 -1
- package/package.json +9 -28
package/dist/auto-skill/index.js
CHANGED
package/dist/auto-skill/types.js
CHANGED
package/dist/cli/index.js
CHANGED
|
@@ -0,0 +1,291 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* JClaw CLI - Enhanced with flexible LLM provider support
|
|
5
|
+
*/
|
|
6
|
+
|
|
7
|
+
import { JClawAgent } from '../runtime/agent.js';
|
|
8
|
+
import { createSimpleMemoryClient } from '../context/simple-memory-client.js';
|
|
9
|
+
import { readFile, writeFile, mkdir } from 'fs/promises';
|
|
10
|
+
import { existsSync } from 'fs';
|
|
11
|
+
|
|
12
|
+
// 命令行参数
|
|
13
|
+
const args = process.argv.slice(2);
|
|
14
|
+
const command = args[0];
|
|
15
|
+
|
|
16
|
+
// 帮助信息
|
|
17
|
+
function showHelp() {
|
|
18
|
+
console.log(`
|
|
19
|
+
🧬 JClaw - Universal Self-Evolving Agent Framework
|
|
20
|
+
|
|
21
|
+
用法:
|
|
22
|
+
jclaw <command> [options]
|
|
23
|
+
|
|
24
|
+
命令:
|
|
25
|
+
execute <prompt> 执行任务
|
|
26
|
+
chat 交互模式
|
|
27
|
+
init 初始化项目
|
|
28
|
+
help 显示帮助
|
|
29
|
+
|
|
30
|
+
示例:
|
|
31
|
+
jclaw execute "分析我的简历,推荐公司和职位"
|
|
32
|
+
jclaw execute "读取 resume.pdf,生成 Cover Letter"
|
|
33
|
+
jclaw chat
|
|
34
|
+
|
|
35
|
+
环境变量:
|
|
36
|
+
OPENAI_API_KEY OpenAI API 密钥(必需)
|
|
37
|
+
JCLAW_MODEL 模型名称(默认:gpt-4)
|
|
38
|
+
LLM_PROVIDER provider 名称(可选)
|
|
39
|
+
`);
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
// 从配置文件加载 LLM 设置
|
|
43
|
+
async function loadLLMConfig() {
|
|
44
|
+
// 尝试加载配置文件
|
|
45
|
+
const configFiles = ['./jclaw.config.js', './jclaw.config.mjs'];
|
|
46
|
+
|
|
47
|
+
for (const configFile of configFiles) {
|
|
48
|
+
if (existsSync(configFile)) {
|
|
49
|
+
try {
|
|
50
|
+
const config = await import(configFile);
|
|
51
|
+
const { llm, providers } = config.default || config;
|
|
52
|
+
|
|
53
|
+
// 如果配置中指定了 provider
|
|
54
|
+
if (llm && llm.provider && providers && providers[llm.provider]) {
|
|
55
|
+
const provider = providers[llm.provider];
|
|
56
|
+
const apiKey = process.env[provider.apiKeyEnv];
|
|
57
|
+
|
|
58
|
+
if (!apiKey) {
|
|
59
|
+
console.error(`❌ 错误:请设置 ${provider.apiKeyEnv} 环境变量`);
|
|
60
|
+
process.exit(1);
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
return {
|
|
64
|
+
apiBase: provider.baseURL,
|
|
65
|
+
apiKey: apiKey,
|
|
66
|
+
model: llm.model || provider.models[0]
|
|
67
|
+
};
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
// 如果配置中有直接的 LLM 配置
|
|
71
|
+
if (llm && llm.apiKey) {
|
|
72
|
+
return {
|
|
73
|
+
apiBase: llm.apiBase || 'https://api.openai.com/v1',
|
|
74
|
+
apiKey: llm.apiKey,
|
|
75
|
+
model: llm.model || 'gpt-4'
|
|
76
|
+
};
|
|
77
|
+
}
|
|
78
|
+
} catch (e) {
|
|
79
|
+
// 配置文件加载失败,继续
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
// 没有配置文件,使用环境变量
|
|
85
|
+
return null;
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
// 获取 LLM 配置
|
|
89
|
+
async function getLLMConfig() {
|
|
90
|
+
// 1. 优先使用配置文件
|
|
91
|
+
const configFile = await loadLLMConfig();
|
|
92
|
+
if (configFile) return configFile;
|
|
93
|
+
|
|
94
|
+
// 2. 使用环境变量
|
|
95
|
+
if (process.env.OPENAI_API_KEY) {
|
|
96
|
+
return {
|
|
97
|
+
apiBase: process.env.LLM_API_BASE || 'https://api.openai.com/v1',
|
|
98
|
+
apiKey: process.env.OPENAI_API_KEY,
|
|
99
|
+
model: process.env.JCLAW_MODEL || 'gpt-4'
|
|
100
|
+
};
|
|
101
|
+
}
|
|
102
|
+
|
|
103
|
+
// 3. 错误提示
|
|
104
|
+
console.error('❌ 错误:请设置 OPENAI_API_KEY 或使用 jclaw.config.js 配置文件');
|
|
105
|
+
console.error('示例:export OPENAI_API_KEY=sk-...');
|
|
106
|
+
process.exit(1);
|
|
107
|
+
}
|
|
108
|
+
|
|
109
|
+
// 执行命令
|
|
110
|
+
async function execute(prompt) {
|
|
111
|
+
const llmConfig = await getLLMConfig();
|
|
112
|
+
|
|
113
|
+
console.log('🧬 启动 JClaw...\n');
|
|
114
|
+
console.log(`📡 使用模型:${llmConfig.model}`);
|
|
115
|
+
console.log(`🔌 API 端点:${llmConfig.apiBase}\n`);
|
|
116
|
+
|
|
117
|
+
const agent = new JClawAgent({
|
|
118
|
+
enableAutoSkill: true,
|
|
119
|
+
skillShConfig: { enableCache: true },
|
|
120
|
+
llm: llmConfig,
|
|
121
|
+
contextManager: createSimpleMemoryClient({
|
|
122
|
+
enableSynonyms: true,
|
|
123
|
+
enableFuzzyMatch: true
|
|
124
|
+
})
|
|
125
|
+
});
|
|
126
|
+
|
|
127
|
+
await agent.start();
|
|
128
|
+
console.log('✅ JClaw 已启动\n');
|
|
129
|
+
console.log('📝 任务:', prompt, '\n');
|
|
130
|
+
|
|
131
|
+
const result = await agent.execute({
|
|
132
|
+
id: 'cli-task',
|
|
133
|
+
prompt
|
|
134
|
+
});
|
|
135
|
+
|
|
136
|
+
console.log('\n✅ 结果:\n');
|
|
137
|
+
console.log(result.output || result.error);
|
|
138
|
+
|
|
139
|
+
await agent.stop();
|
|
140
|
+
console.log('\n🎉 完成!\n');
|
|
141
|
+
}
|
|
142
|
+
|
|
143
|
+
// 交互模式
|
|
144
|
+
async function chat() {
|
|
145
|
+
const llmConfig = await getLLMConfig();
|
|
146
|
+
|
|
147
|
+
if (!process.env.OPENAI_API_KEY && !llmConfig.apiKey) {
|
|
148
|
+
console.error('❌ 请设置 OPENAI_API_KEY 或使用配置文件');
|
|
149
|
+
process.exit(1);
|
|
150
|
+
}
|
|
151
|
+
|
|
152
|
+
console.log('🧬 JClaw 交互模式 (输入 "exit" 退出)\n');
|
|
153
|
+
console.log(`📡 使用模型:${llmConfig.model}\n`);
|
|
154
|
+
|
|
155
|
+
const agent = new JClawAgent({
|
|
156
|
+
enableAutoSkill: true,
|
|
157
|
+
llm: llmConfig
|
|
158
|
+
});
|
|
159
|
+
|
|
160
|
+
await agent.start();
|
|
161
|
+
|
|
162
|
+
const readline = await import('readline');
|
|
163
|
+
const rl = readline.createInterface({
|
|
164
|
+
input: process.stdin,
|
|
165
|
+
output: process.stdout
|
|
166
|
+
});
|
|
167
|
+
|
|
168
|
+
const ask = () => {
|
|
169
|
+
rl.question('你:', async (input) => {
|
|
170
|
+
if (input.toLowerCase() === 'exit') {
|
|
171
|
+
await agent.stop();
|
|
172
|
+
rl.close();
|
|
173
|
+
console.log('\n👋 再见!\n');
|
|
174
|
+
return;
|
|
175
|
+
}
|
|
176
|
+
|
|
177
|
+
console.log('\n🤖 JClaw:\n');
|
|
178
|
+
const result = await agent.execute({
|
|
179
|
+
id: 'chat',
|
|
180
|
+
prompt: input
|
|
181
|
+
});
|
|
182
|
+
console.log(result.output || result.error);
|
|
183
|
+
console.log('');
|
|
184
|
+
ask();
|
|
185
|
+
});
|
|
186
|
+
};
|
|
187
|
+
|
|
188
|
+
ask();
|
|
189
|
+
}
|
|
190
|
+
|
|
191
|
+
// 初始化项目
|
|
192
|
+
async function init() {
|
|
193
|
+
console.log('🧬 初始化 JClaw 项目...\n');
|
|
194
|
+
|
|
195
|
+
const configTemplate = `// JClaw 配置文件 - 支持多种 LLM provider
|
|
196
|
+
export default {
|
|
197
|
+
enableAutoSkill: true,
|
|
198
|
+
skillShConfig: { enableCache: true },
|
|
199
|
+
|
|
200
|
+
llm: {
|
|
201
|
+
provider: 'openai', // 或 'infini-openai', 'azure-openai', 'anthropic'
|
|
202
|
+
model: 'gpt-4' // 具体模型
|
|
203
|
+
},
|
|
204
|
+
|
|
205
|
+
providers: {
|
|
206
|
+
'openai': {
|
|
207
|
+
baseURL: 'https://api.openai.com/v1',
|
|
208
|
+
apiKeyEnv: 'OPENAI_API_KEY',
|
|
209
|
+
models: ['gpt-4', 'gpt-4o', 'gpt-3.5-turbo']
|
|
210
|
+
},
|
|
211
|
+
'infini-openai': {
|
|
212
|
+
baseURL: 'https://cloud.infini-ai.com/maas/coding/v1',
|
|
213
|
+
apiKeyEnv: 'INFINI_API_KEY',
|
|
214
|
+
models: ['kimi-k2.5', 'other-model']
|
|
215
|
+
}
|
|
216
|
+
},
|
|
217
|
+
|
|
218
|
+
contextManager: {
|
|
219
|
+
enableSynonyms: true,
|
|
220
|
+
enableFuzzyMatch: true,
|
|
221
|
+
memoryPath: './.jclaw/memory'
|
|
222
|
+
}
|
|
223
|
+
};
|
|
224
|
+
`;
|
|
225
|
+
|
|
226
|
+
const files = {
|
|
227
|
+
'jclaw.config.js': configTemplate,
|
|
228
|
+
'README.md': `# JClaw Project
|
|
229
|
+
|
|
230
|
+
运行:
|
|
231
|
+
export OPENAI_API_KEY=sk-...
|
|
232
|
+
jclaw execute "你的任务"
|
|
233
|
+
|
|
234
|
+
或者使用配置文件:
|
|
235
|
+
jclaw execute "你的任务"
|
|
236
|
+
`
|
|
237
|
+
};
|
|
238
|
+
|
|
239
|
+
for (const [name, content] of Object.entries(files)) {
|
|
240
|
+
if (!existsSync(name)) {
|
|
241
|
+
await writeFile(name, content);
|
|
242
|
+
console.log('✅ 创建:', name);
|
|
243
|
+
}
|
|
244
|
+
}
|
|
245
|
+
|
|
246
|
+
console.log('\n🎉 初始化完成!\n');
|
|
247
|
+
console.log('下一步:');
|
|
248
|
+
console.log(' 1. 编辑 jclaw.config.js 配置你的 LLM');
|
|
249
|
+
console.log(' 2. export OPENAI_API_KEY=sk-...');
|
|
250
|
+
console.log(' 3. jclaw execute "你的任务"');
|
|
251
|
+
}
|
|
252
|
+
|
|
253
|
+
// 主逻辑
|
|
254
|
+
switch (command) {
|
|
255
|
+
case 'execute':
|
|
256
|
+
case 'exec':
|
|
257
|
+
case 'e':
|
|
258
|
+
const prompt = args.slice(1).join(' ');
|
|
259
|
+
if (!prompt) {
|
|
260
|
+
console.error('❌ 错误:请提供任务描述');
|
|
261
|
+
console.error('示例:jclaw execute "分析我的简历"');
|
|
262
|
+
process.exit(1);
|
|
263
|
+
}
|
|
264
|
+
execute(prompt);
|
|
265
|
+
break;
|
|
266
|
+
|
|
267
|
+
case 'chat':
|
|
268
|
+
case 'c':
|
|
269
|
+
chat();
|
|
270
|
+
break;
|
|
271
|
+
|
|
272
|
+
case 'init':
|
|
273
|
+
case 'i':
|
|
274
|
+
init();
|
|
275
|
+
break;
|
|
276
|
+
|
|
277
|
+
case 'help':
|
|
278
|
+
case 'h':
|
|
279
|
+
case '--help':
|
|
280
|
+
case '-h':
|
|
281
|
+
showHelp();
|
|
282
|
+
break;
|
|
283
|
+
|
|
284
|
+
default:
|
|
285
|
+
if (command) {
|
|
286
|
+
// 如果没有命令,但有参数,当作 execute 处理
|
|
287
|
+
execute(args.join(' '));
|
|
288
|
+
} else {
|
|
289
|
+
showHelp();
|
|
290
|
+
}
|
|
291
|
+
}
|
package/dist/cli/run.js
CHANGED
package/dist/context/index.js
CHANGED
|
@@ -9,4 +9,3 @@ export { SimpleMemoryClient, createSimpleMemoryClient } from './simple-memory-cl
|
|
|
9
9
|
// export { OpenVikingClient, type OpenVikingConfig } from './openviking-client.js';
|
|
10
10
|
// export { OpenVikingMCPClient, type OpenVikingMCPConfig, createOpenVikingMCPClient } from './openviking-mcp-client.js';
|
|
11
11
|
export { MockClient } from './mock-client.js';
|
|
12
|
-
//# sourceMappingURL=index.js.map
|
package/dist/evolution/engine.js
CHANGED
package/dist/evolution/index.js
CHANGED
|
@@ -5,4 +5,3 @@ export { MutationGenerator, createMutationGenerator } from './mutation.js';
|
|
|
5
5
|
export { SandboxValidator, createSandbox } from './sandbox.js';
|
|
6
6
|
export { EvolutionEngine, createEvolutionEngine } from './engine.js';
|
|
7
7
|
export { EvolverAdapter, createEvolverAdapter } from './evolver-adapter.js';
|
|
8
|
-
//# sourceMappingURL=index.js.map
|
package/dist/evolution/types.js
CHANGED
package/dist/executor/index.js
CHANGED
package/dist/executor/local.js
CHANGED
package/dist/index.js
CHANGED
|
@@ -17,4 +17,3 @@ export { MutationGenerator, createMutationGenerator, SandboxValidator, createSan
|
|
|
17
17
|
export { AutoSkillGenerator, createAutoSkillGenerator, AutoSkillInstaller, createAutoSkillInstaller, } from './auto-skill/index.js';
|
|
18
18
|
// Network
|
|
19
19
|
export { A2AProtocol, GEPProtocol, EvoMapClient, createEvoMapClient, } from './network/index.js';
|
|
20
|
-
//# sourceMappingURL=index.js.map
|
package/dist/network/client.js
CHANGED
package/dist/network/index.js
CHANGED
package/dist/network/protocol.js
CHANGED
package/dist/runtime/agent.js
CHANGED
package/dist/runtime/index.js
CHANGED
package/dist/skill-sh/adapter.js
CHANGED
|
@@ -15,7 +15,7 @@ export declare class SkillDiscoveryEngine {
|
|
|
15
15
|
private skillShAdapter;
|
|
16
16
|
private skillConverter;
|
|
17
17
|
private autoSkillGenerator?;
|
|
18
|
-
constructor(llmClient: LLMClient, registry: ExtensionRegistry, skillShAdapter: SkillShAdapter, skillConverter: SkillConverter, autoSkillGenerator?: AutoSkillGenerator
|
|
18
|
+
constructor(llmClient: LLMClient, registry: ExtensionRegistry, skillShAdapter: SkillShAdapter, skillConverter: SkillConverter, autoSkillGenerator?: AutoSkillGenerator);
|
|
19
19
|
discover(query: string): Promise<SkillDiscoveryResult>;
|
|
20
20
|
private searchSkillSh;
|
|
21
21
|
private searchLocal;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"discovery.d.ts","sourceRoot":"","sources":["../../src/skill-sh/discovery.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AAC1D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,iCAAiC,CAAC;AACzE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AACrE,OAAO,KAAK,EACV,aAAa,EACb,oBAAoB,EAErB,MAAM,YAAY,CAAC;AACpB,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AACnD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAErD,qBAAa,oBAAoB;IAE7B,OAAO,CAAC,SAAS;IACjB,OAAO,CAAC,QAAQ;IAChB,OAAO,CAAC,cAAc;IACtB,OAAO,CAAC,cAAc;IACtB,OAAO,CAAC,kBAAkB,CAAC;gBAJnB,SAAS,EAAE,SAAS,EACpB,QAAQ,EAAE,iBAAiB,EAC3B,cAAc,EAAE,cAAc,EAC9B,cAAc,EAAE,cAAc,EAC9B,kBAAkB,CAAC,EAAE,kBAAkB
|
|
1
|
+
{"version":3,"file":"discovery.d.ts","sourceRoot":"","sources":["../../src/skill-sh/discovery.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AAC1D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,iCAAiC,CAAC;AACzE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AACrE,OAAO,KAAK,EACV,aAAa,EACb,oBAAoB,EAErB,MAAM,YAAY,CAAC;AACpB,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AACnD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAErD,qBAAa,oBAAoB;IAE7B,OAAO,CAAC,SAAS;IACjB,OAAO,CAAC,QAAQ;IAChB,OAAO,CAAC,cAAc;IACtB,OAAO,CAAC,cAAc;IACtB,OAAO,CAAC,kBAAkB,CAAC;gBAJnB,SAAS,EAAE,SAAS,EACpB,QAAQ,EAAE,iBAAiB,EAC3B,cAAc,EAAE,cAAc,EAC9B,cAAc,EAAE,cAAc,EAC9B,kBAAkB,CAAC,EAAE,kBAAkB;IAG3C,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,oBAAoB,CAAC;YA8B9C,aAAa;YAkBb,WAAW;IAuCzB,OAAO,CAAC,UAAU;IAiClB,OAAO,CAAC,gBAAgB;IA8BxB,OAAO,CAAC,mBAAmB;IAY3B,OAAO,CAAC,kBAAkB;IAgBpB,YAAY,CAAC,KAAK,EAAE,aAAa,GAAG,OAAO,CAAC,OAAO,CAAC;CAoB3D;AAED,wBAAgB,0BAA0B,CACxC,SAAS,EAAE,SAAS,EACpB,QAAQ,EAAE,iBAAiB,EAC3B,cAAc,EAAE,cAAc,EAC9B,cAAc,EAAE,cAAc,EAC9B,kBAAkB,CAAC,EAAE,kBAAkB,GACtC,oBAAoB,CAQtB"}
|
|
@@ -186,4 +186,3 @@ export class SkillDiscoveryEngine {
|
|
|
186
186
|
export function createSkillDiscoveryEngine(llmClient, registry, skillShAdapter, skillConverter, autoSkillGenerator) {
|
|
187
187
|
return new SkillDiscoveryEngine(llmClient, registry, skillShAdapter, skillConverter, autoSkillGenerator);
|
|
188
188
|
}
|
|
189
|
-
//# sourceMappingURL=discovery.js.map
|
package/dist/skill-sh/index.js
CHANGED
|
@@ -17,4 +17,3 @@ export { createSkillConverter, } from './converter.js';
|
|
|
17
17
|
export { createSkillDiscoveryEngine, } from './discovery.js';
|
|
18
18
|
export { createQualityAssessor, } from './quality.js';
|
|
19
19
|
export { createSkillRegistry, } from './registry.js';
|
|
20
|
-
//# sourceMappingURL=index.js.map
|
package/dist/skill-sh/quality.js
CHANGED
package/dist/skill-sh/types.js
CHANGED
package/dist/types.js
CHANGED
package/package.json
CHANGED
|
@@ -1,41 +1,22 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@jclaw/core",
|
|
3
|
-
"version": "0.
|
|
4
|
-
"description": "Universal self-evolving Agent framework with
|
|
3
|
+
"version": "0.3.0",
|
|
4
|
+
"description": "Universal self-evolving Agent framework with CLI and flexible LLM provider support",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/index.js",
|
|
7
7
|
"types": "dist/index.d.ts",
|
|
8
|
+
"bin": {
|
|
9
|
+
"jclaw": "./dist/cli/jclaw.js"
|
|
10
|
+
},
|
|
8
11
|
"exports": {
|
|
9
12
|
".": {
|
|
10
13
|
"types": "./dist/index.d.ts",
|
|
11
14
|
"import": "./dist/index.js"
|
|
12
15
|
}
|
|
13
16
|
},
|
|
14
|
-
"files": [
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
],
|
|
18
|
-
"scripts": {
|
|
19
|
-
"build": "tsc"
|
|
20
|
-
},
|
|
21
|
-
"keywords": [
|
|
22
|
-
"ai",
|
|
23
|
-
"agent",
|
|
24
|
-
"self-evolving",
|
|
25
|
-
"typescript",
|
|
26
|
-
"llm"
|
|
27
|
-
],
|
|
17
|
+
"files": ["dist", "README.md"],
|
|
18
|
+
"scripts": {"build": "tsc"},
|
|
19
|
+
"keywords": ["ai", "agent", "self-evolving", "cli", "llm"],
|
|
28
20
|
"author": "JClaw Team",
|
|
29
|
-
"license": "MIT"
|
|
30
|
-
"repository": {
|
|
31
|
-
"type": "git",
|
|
32
|
-
"url": "git+https://github.com/jabing/jclaw.git"
|
|
33
|
-
},
|
|
34
|
-
"bugs": {
|
|
35
|
-
"url": "https://github.com/jabing/jclaw/issues"
|
|
36
|
-
},
|
|
37
|
-
"homepage": "https://github.com/jabing/jclaw#readme",
|
|
38
|
-
"engines": {
|
|
39
|
-
"node": ">=18.0.0"
|
|
40
|
-
}
|
|
21
|
+
"license": "MIT"
|
|
41
22
|
}
|