@halfagiraf/clawx 0.1.38 → 0.2.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/cli/main.js +31 -0
- package/dist/cli/main.js.map +1 -1
- package/dist/cli/scout.d.ts +12 -0
- package/dist/cli/scout.d.ts.map +1 -0
- package/dist/cli/scout.js +164 -0
- package/dist/cli/scout.js.map +1 -0
- package/dist/config/hardware.d.ts +17 -0
- package/dist/config/hardware.d.ts.map +1 -0
- package/dist/config/hardware.js +61 -0
- package/dist/config/hardware.js.map +1 -0
- package/dist/extensions/chat-mode.d.ts.map +1 -1
- package/dist/extensions/chat-mode.js +4 -9
- package/dist/extensions/chat-mode.js.map +1 -1
- package/dist/tools/hfModelInfo.d.ts +17 -0
- package/dist/tools/hfModelInfo.d.ts.map +1 -0
- package/dist/tools/hfModelInfo.js +91 -0
- package/dist/tools/hfModelInfo.js.map +1 -0
- package/dist/tools/hfReadme.d.ts +19 -0
- package/dist/tools/hfReadme.d.ts.map +1 -0
- package/dist/tools/hfReadme.js +63 -0
- package/dist/tools/hfReadme.js.map +1 -0
- package/dist/tools/hfSearch.d.ts +20 -0
- package/dist/tools/hfSearch.d.ts.map +1 -0
- package/dist/tools/hfSearch.js +77 -0
- package/dist/tools/hfSearch.js.map +1 -0
- package/dist/utils/scout-prompt.d.ts +10 -0
- package/dist/utils/scout-prompt.d.ts.map +1 -0
- package/dist/utils/scout-prompt.js +72 -0
- package/dist/utils/scout-prompt.js.map +1 -0
- package/package.json +1 -1
package/dist/cli/main.js
CHANGED
|
@@ -28,6 +28,7 @@ import { createSessionId, saveSession, getLatestSession, listSessions, } from ".
|
|
|
28
28
|
import { log } from "../utils/logger.js";
|
|
29
29
|
import { startRepl } from "./repl.js";
|
|
30
30
|
import { startTui } from "./tui.js";
|
|
31
|
+
import { startScout } from "./scout.js";
|
|
31
32
|
import { VERSION, printBannerCompact } from "./banner.js";
|
|
32
33
|
const program = new Command();
|
|
33
34
|
program
|
|
@@ -185,6 +186,36 @@ program
|
|
|
185
186
|
// This is the mode users are directed to when their model doesn't support tools.
|
|
186
187
|
await startRepl(config, sessionId, messages, { chatOnly: true });
|
|
187
188
|
});
|
|
189
|
+
program
|
|
190
|
+
.command("scout")
|
|
191
|
+
.description("AI-powered HuggingFace model researcher — find models that fit your hardware")
|
|
192
|
+
.option("-m, --model <model>", "Model to use for the scout agent")
|
|
193
|
+
.option("-p, --provider <provider>", "Provider")
|
|
194
|
+
.option("-u, --base-url <url>", "Provider base URL")
|
|
195
|
+
.option("-d, --work-dir <dir>", "Working directory")
|
|
196
|
+
.option("-v, --verbose", "Verbose logging")
|
|
197
|
+
.option("--setup-hardware", "Re-prompt hardware specs (GPU, VRAM, RAM)")
|
|
198
|
+
.action(async (opts) => {
|
|
199
|
+
if (opts.verbose)
|
|
200
|
+
log.setLogLevel("info");
|
|
201
|
+
const config = loadConfig({
|
|
202
|
+
model: opts.model,
|
|
203
|
+
provider: opts.provider,
|
|
204
|
+
baseUrl: opts.baseUrl,
|
|
205
|
+
workDir: opts.workDir,
|
|
206
|
+
});
|
|
207
|
+
try {
|
|
208
|
+
await startScout(config, {
|
|
209
|
+
setupHardware: !!opts.setupHardware,
|
|
210
|
+
verbose: opts.verbose,
|
|
211
|
+
});
|
|
212
|
+
}
|
|
213
|
+
catch (e) {
|
|
214
|
+
const errMsg = e instanceof Error ? e.message : String(e);
|
|
215
|
+
console.error(`Scout failed: ${errMsg}`);
|
|
216
|
+
process.exit(1);
|
|
217
|
+
}
|
|
218
|
+
});
|
|
188
219
|
program
|
|
189
220
|
.command("continue")
|
|
190
221
|
.description("Continue the last session")
|
package/dist/cli/main.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"main.js","sourceRoot":"","sources":["../../src/cli/main.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"main.js","sourceRoot":"","sources":["../../src/cli/main.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Scout command — AI-powered HuggingFace model researcher.
|
|
3
|
+
*
|
|
4
|
+
* Launches an interactive TUI session with HuggingFace tools
|
|
5
|
+
* and an expert system prompt for model discovery.
|
|
6
|
+
*/
|
|
7
|
+
import type { ClawxConfig } from "../types/index.js";
|
|
8
|
+
export declare function startScout(config: ClawxConfig, options?: {
|
|
9
|
+
setupHardware?: boolean;
|
|
10
|
+
verbose?: boolean;
|
|
11
|
+
}): Promise<void>;
|
|
12
|
+
//# sourceMappingURL=scout.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"scout.d.ts","sourceRoot":"","sources":["../../src/cli/scout.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAaH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAgErD,wBAAsB,UAAU,CAC9B,MAAM,EAAE,WAAW,EACnB,OAAO,GAAE;IACP,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,OAAO,CAAC,EAAE,OAAO,CAAC;CACd,GACL,OAAO,CAAC,IAAI,CAAC,CA+Gf"}
|
|
@@ -0,0 +1,164 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Scout command — AI-powered HuggingFace model researcher.
|
|
3
|
+
*
|
|
4
|
+
* Launches an interactive TUI session with HuggingFace tools
|
|
5
|
+
* and an expert system prompt for model discovery.
|
|
6
|
+
*/
|
|
7
|
+
import { createAgentSession, InteractiveMode, AuthStorage, ModelRegistry, DefaultResourceLoader, SettingsManager, } from "@mariozechner/pi-coding-agent";
|
|
8
|
+
import { resolveModel } from "../core/provider.js";
|
|
9
|
+
import { loadHardwareSpec, promptHardwareSpec } from "../config/hardware.js";
|
|
10
|
+
import { createHfSearchTool } from "../tools/hfSearch.js";
|
|
11
|
+
import { createHfModelInfoTool } from "../tools/hfModelInfo.js";
|
|
12
|
+
import { createHfReadmeTool } from "../tools/hfReadme.js";
|
|
13
|
+
import { buildScoutPrompt, buildScoutChatPrompt } from "../utils/scout-prompt.js";
|
|
14
|
+
import { createChatModeExtension } from "../extensions/chat-mode.js";
|
|
15
|
+
import { createToolParsingStreamFn } from "../core/text-tool-parser.js";
|
|
16
|
+
import { log } from "../utils/logger.js";
|
|
17
|
+
import { printBanner } from "./banner.js";
|
|
18
|
+
/**
|
|
19
|
+
* Convert a tool object to a ToolDefinition for pi-coding-agent.
|
|
20
|
+
* Same pattern as tui.ts.
|
|
21
|
+
*/
|
|
22
|
+
function toolToDefinition(tool) {
|
|
23
|
+
return {
|
|
24
|
+
name: tool.name,
|
|
25
|
+
label: tool.label,
|
|
26
|
+
description: tool.description,
|
|
27
|
+
parameters: tool.parameters,
|
|
28
|
+
execute: tool.execute.bind(tool),
|
|
29
|
+
};
|
|
30
|
+
}
|
|
31
|
+
function buildScoutTools() {
|
|
32
|
+
return [
|
|
33
|
+
toolToDefinition(createHfSearchTool()),
|
|
34
|
+
toolToDefinition(createHfModelInfoTool()),
|
|
35
|
+
toolToDefinition(createHfReadmeTool()),
|
|
36
|
+
];
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* Check if an Ollama model supports tool calling.
|
|
40
|
+
* Duplicated from tui.ts — same pre-flight check.
|
|
41
|
+
*/
|
|
42
|
+
async function checkOllamaToolSupport(config) {
|
|
43
|
+
if (config.provider !== "ollama" && config.provider !== "local")
|
|
44
|
+
return true;
|
|
45
|
+
try {
|
|
46
|
+
const ollamaBase = config.baseUrl.replace(/\/v1\/?$/, "");
|
|
47
|
+
const res = await fetch(`${ollamaBase}/api/chat`, {
|
|
48
|
+
method: "POST",
|
|
49
|
+
headers: { "Content-Type": "application/json" },
|
|
50
|
+
body: JSON.stringify({
|
|
51
|
+
model: config.model,
|
|
52
|
+
messages: [{ role: "user", content: "test" }],
|
|
53
|
+
tools: [{ type: "function", function: { name: "test", description: "test", parameters: { type: "object", properties: {} } } }],
|
|
54
|
+
stream: false,
|
|
55
|
+
}),
|
|
56
|
+
});
|
|
57
|
+
if (!res.ok) {
|
|
58
|
+
const text = await res.text();
|
|
59
|
+
if (text.includes("does not support tools") || text.includes("does not support tool")) {
|
|
60
|
+
return false;
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
return true;
|
|
64
|
+
}
|
|
65
|
+
catch {
|
|
66
|
+
return true;
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
export async function startScout(config, options = {}) {
|
|
70
|
+
// Load or prompt for hardware spec
|
|
71
|
+
let hardware = null;
|
|
72
|
+
if (options.setupHardware) {
|
|
73
|
+
hardware = await promptHardwareSpec();
|
|
74
|
+
}
|
|
75
|
+
else {
|
|
76
|
+
hardware = loadHardwareSpec();
|
|
77
|
+
if (!hardware) {
|
|
78
|
+
console.log(" No hardware spec found. Let's set up your system info for Scout.\n");
|
|
79
|
+
hardware = await promptHardwareSpec();
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
const model = resolveModel(config);
|
|
83
|
+
const customTools = buildScoutTools();
|
|
84
|
+
printBanner(config.model, config.provider);
|
|
85
|
+
console.error(" Mode: Scout (HuggingFace Model Researcher)\n");
|
|
86
|
+
// Pre-flight: check tool support
|
|
87
|
+
const toolsSupported = await checkOllamaToolSupport(config);
|
|
88
|
+
if (!toolsSupported) {
|
|
89
|
+
log.info(`Model '${config.model}' does not support tools — starting in chat mode`);
|
|
90
|
+
}
|
|
91
|
+
log.info(`Starting Scout with ${model.id} @ ${model.provider}`);
|
|
92
|
+
log.info(`Scout tools: ${customTools.map((t) => t.name).join(", ")}`);
|
|
93
|
+
log.info(`Hardware: ${hardware.gpu}, ${hardware.vram} VRAM, ${hardware.ram} RAM`);
|
|
94
|
+
// Auth setup — same as tui.ts
|
|
95
|
+
const authStorage = AuthStorage.create();
|
|
96
|
+
authStorage.setRuntimeApiKey(config.provider, config.apiKey);
|
|
97
|
+
const modelRegistry = new ModelRegistry(authStorage);
|
|
98
|
+
modelRegistry.registerProvider(config.provider, {
|
|
99
|
+
baseUrl: config.baseUrl,
|
|
100
|
+
apiKey: config.apiKey,
|
|
101
|
+
api: model.api,
|
|
102
|
+
models: [
|
|
103
|
+
{
|
|
104
|
+
id: model.id,
|
|
105
|
+
name: model.name ?? model.id,
|
|
106
|
+
reasoning: model.reasoning ?? false,
|
|
107
|
+
input: model.input ?? ["text"],
|
|
108
|
+
cost: model.cost ?? { input: 0, output: 0, cacheRead: 0, cacheWrite: 0 },
|
|
109
|
+
contextWindow: model.contextWindow ?? 32768,
|
|
110
|
+
maxTokens: model.maxTokens ?? config.maxTokens,
|
|
111
|
+
},
|
|
112
|
+
],
|
|
113
|
+
});
|
|
114
|
+
// Build scout-specific system prompts
|
|
115
|
+
const agentSystemPrompt = buildScoutPrompt(hardware);
|
|
116
|
+
const chatSystemPrompt = buildScoutChatPrompt(hardware);
|
|
117
|
+
// Chat mode extension
|
|
118
|
+
const chatModeFactory = createChatModeExtension({
|
|
119
|
+
agentSystemPrompt,
|
|
120
|
+
chatSystemPrompt,
|
|
121
|
+
startInChatMode: !toolsSupported,
|
|
122
|
+
});
|
|
123
|
+
const resourceLoader = new DefaultResourceLoader({
|
|
124
|
+
cwd: config.workDir,
|
|
125
|
+
extensionFactories: [chatModeFactory],
|
|
126
|
+
extensionsOverride: (base) => {
|
|
127
|
+
for (const ext of base.extensions) {
|
|
128
|
+
if (ext.path.startsWith("<inline:")) {
|
|
129
|
+
ext.path = "scout";
|
|
130
|
+
ext.resolvedPath = "scout";
|
|
131
|
+
}
|
|
132
|
+
}
|
|
133
|
+
return base;
|
|
134
|
+
},
|
|
135
|
+
});
|
|
136
|
+
await resourceLoader.reload();
|
|
137
|
+
const settingsManager = SettingsManager.create(config.workDir);
|
|
138
|
+
settingsManager.setQuietStartup(true);
|
|
139
|
+
// Create session
|
|
140
|
+
const { session, extensionsResult, modelFallbackMessage } = await createAgentSession({
|
|
141
|
+
cwd: config.workDir,
|
|
142
|
+
model: model,
|
|
143
|
+
thinkingLevel: config.thinkingLevel === "off" ? undefined : config.thinkingLevel,
|
|
144
|
+
customTools,
|
|
145
|
+
authStorage,
|
|
146
|
+
modelRegistry,
|
|
147
|
+
resourceLoader,
|
|
148
|
+
settingsManager,
|
|
149
|
+
});
|
|
150
|
+
// Set scout system prompt
|
|
151
|
+
session.agent.setSystemPrompt(toolsSupported ? agentSystemPrompt : chatSystemPrompt);
|
|
152
|
+
// Inject text tool parser for Qwen-style models
|
|
153
|
+
const allToolNames = session.getAllTools().map((t) => t.name);
|
|
154
|
+
if (allToolNames.length > 0) {
|
|
155
|
+
session.agent.streamFn = createToolParsingStreamFn(allToolNames);
|
|
156
|
+
}
|
|
157
|
+
// Launch interactive mode
|
|
158
|
+
const mode = new InteractiveMode(session, {
|
|
159
|
+
modelFallbackMessage,
|
|
160
|
+
verbose: options.verbose,
|
|
161
|
+
});
|
|
162
|
+
await mode.run();
|
|
163
|
+
}
|
|
164
|
+
//# sourceMappingURL=scout.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"scout.js","sourceRoot":"","sources":["../../src/cli/scout.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Hardware spec management for Clawx Scout.
|
|
3
|
+
*
|
|
4
|
+
* Stores user's hardware info (GPU, VRAM, RAM) so the scout agent
|
|
5
|
+
* can recommend models that actually fit the user's system.
|
|
6
|
+
*/
|
|
7
|
+
export interface HardwareSpec {
|
|
8
|
+
gpu: string;
|
|
9
|
+
vram: string;
|
|
10
|
+
ram: string;
|
|
11
|
+
os: string;
|
|
12
|
+
notes?: string;
|
|
13
|
+
}
|
|
14
|
+
export declare function loadHardwareSpec(): HardwareSpec | null;
|
|
15
|
+
export declare function saveHardwareSpec(spec: HardwareSpec): void;
|
|
16
|
+
export declare function promptHardwareSpec(): Promise<HardwareSpec>;
|
|
17
|
+
//# sourceMappingURL=hardware.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"hardware.d.ts","sourceRoot":"","sources":["../../src/config/hardware.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAOH,MAAM,WAAW,YAAY;IAC3B,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;IACZ,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAaD,wBAAgB,gBAAgB,IAAI,YAAY,GAAG,IAAI,CAStD;AAED,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,YAAY,GAAG,IAAI,CAIzD;AAED,wBAAsB,kBAAkB,IAAI,OAAO,CAAC,YAAY,CAAC,CAgChE"}
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Hardware spec management for Clawx Scout.
|
|
3
|
+
*
|
|
4
|
+
* Stores user's hardware info (GPU, VRAM, RAM) so the scout agent
|
|
5
|
+
* can recommend models that actually fit the user's system.
|
|
6
|
+
*/
|
|
7
|
+
import fs from "node:fs";
|
|
8
|
+
import path from "node:path";
|
|
9
|
+
import readline from "node:readline";
|
|
10
|
+
import { getGlobalConfigDir } from "./index.js";
|
|
11
|
+
const DEFAULTS = {
|
|
12
|
+
gpu: "Unknown GPU",
|
|
13
|
+
vram: "Unknown",
|
|
14
|
+
ram: "Unknown",
|
|
15
|
+
os: process.platform === "win32" ? "Windows" : process.platform === "darwin" ? "macOS" : "Linux",
|
|
16
|
+
};
|
|
17
|
+
function getHardwarePath() {
|
|
18
|
+
return path.join(getGlobalConfigDir(), "hardware.json");
|
|
19
|
+
}
|
|
20
|
+
export function loadHardwareSpec() {
|
|
21
|
+
const filePath = getHardwarePath();
|
|
22
|
+
if (!fs.existsSync(filePath))
|
|
23
|
+
return null;
|
|
24
|
+
try {
|
|
25
|
+
const raw = fs.readFileSync(filePath, "utf-8");
|
|
26
|
+
return JSON.parse(raw);
|
|
27
|
+
}
|
|
28
|
+
catch {
|
|
29
|
+
return null;
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
export function saveHardwareSpec(spec) {
|
|
33
|
+
const dir = getGlobalConfigDir();
|
|
34
|
+
fs.mkdirSync(dir, { recursive: true });
|
|
35
|
+
fs.writeFileSync(getHardwarePath(), JSON.stringify(spec, null, 2), "utf-8");
|
|
36
|
+
}
|
|
37
|
+
export async function promptHardwareSpec() {
|
|
38
|
+
const rl = readline.createInterface({
|
|
39
|
+
input: process.stdin,
|
|
40
|
+
output: process.stdout,
|
|
41
|
+
});
|
|
42
|
+
const ask = (q, def) => new Promise((resolve) => {
|
|
43
|
+
const suffix = def ? ` [${def}]` : "";
|
|
44
|
+
rl.question(`${q}${suffix}: `, (answer) => resolve(answer.trim() || def || ""));
|
|
45
|
+
});
|
|
46
|
+
console.log("\n Hardware Setup for Scout\n");
|
|
47
|
+
console.log(" Scout uses your hardware specs to recommend models that fit.\n");
|
|
48
|
+
const gpu = await ask(" GPU", DEFAULTS.gpu);
|
|
49
|
+
const vram = await ask(" VRAM (e.g. 12GB, 24GB)", DEFAULTS.vram);
|
|
50
|
+
const ram = await ask(" System RAM (e.g. 32GB, 64GB)", DEFAULTS.ram);
|
|
51
|
+
const os = await ask(" OS", DEFAULTS.os);
|
|
52
|
+
const notes = await ask(" Notes (optional, e.g. 'prefer uncensored models')");
|
|
53
|
+
rl.close();
|
|
54
|
+
const spec = { gpu, vram, ram, os };
|
|
55
|
+
if (notes)
|
|
56
|
+
spec.notes = notes;
|
|
57
|
+
saveHardwareSpec(spec);
|
|
58
|
+
console.log(`\n Hardware spec saved to ${getHardwarePath()}\n`);
|
|
59
|
+
return spec;
|
|
60
|
+
}
|
|
61
|
+
//# sourceMappingURL=hardware.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"hardware.js","sourceRoot":"","sources":["../../src/config/hardware.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chat-mode.d.ts","sourceRoot":"","sources":["../../src/extensions/chat-mode.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAElE,MAAM,WAAW,eAAe;IAC9B,gDAAgD;IAChD,iBAAiB,EAAE,MAAM,CAAC;IAC1B,6CAA6C;IAC7C,gBAAgB,EAAE,MAAM,CAAC;IACzB,qCAAqC;IACrC,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,iDAAiD;IACjD,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,sCAAsC;IACtC,gBAAgB,CAAC,EAAE,CAAC,QAAQ,EAAE,OAAO,KAAK,IAAI,CAAC;CAChD;AAED,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,eAAe,IAC5B,IAAI,YAAY,KAAG,IAAI,
|
|
1
|
+
{"version":3,"file":"chat-mode.d.ts","sourceRoot":"","sources":["../../src/extensions/chat-mode.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAElE,MAAM,WAAW,eAAe;IAC9B,gDAAgD;IAChD,iBAAiB,EAAE,MAAM,CAAC;IAC1B,6CAA6C;IAC7C,gBAAgB,EAAE,MAAM,CAAC;IACzB,qCAAqC;IACrC,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,iDAAiD;IACjD,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,sCAAsC;IACtC,gBAAgB,CAAC,EAAE,CAAC,QAAQ,EAAE,OAAO,KAAK,IAAI,CAAC;CAChD;AAED,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,eAAe,IAC5B,IAAI,YAAY,KAAG,IAAI,CAyH1D"}
|
|
@@ -116,15 +116,10 @@ export function createChatModeExtension(options) {
|
|
|
116
116
|
}
|
|
117
117
|
}
|
|
118
118
|
});
|
|
119
|
-
// When model changes
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
if (chatMode) {
|
|
124
|
-
disableChatMode(ctx);
|
|
125
|
-
}
|
|
126
|
-
ctx.ui.setStatus("mode", "agent mode");
|
|
127
|
-
});
|
|
119
|
+
// When model changes while in chat mode, stay in chat mode.
|
|
120
|
+
// User can /chat to restore agent mode if the new model supports tools.
|
|
121
|
+
// If in agent mode and new model doesn't support tools, turn_end
|
|
122
|
+
// will auto-switch to chat mode after the first error.
|
|
128
123
|
};
|
|
129
124
|
}
|
|
130
125
|
//# sourceMappingURL=chat-mode.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chat-mode.js","sourceRoot":"","sources":["../../src/extensions/chat-mode.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAiBH,MAAM,UAAU,uBAAuB,CAAC,OAAwB;IAC9D,OAAO,SAAS,iBAAiB,CAAC,EAAgB;QAChD,IAAI,QAAQ,GAAG,OAAO,CAAC,eAAe,IAAI,KAAK,CAAC;QAChD,IAAI,UAAU,GAAG,OAAO,CAAC,UAAU,IAAI,KAAK,CAAC;QAC7C,IAAI,cAAc,GAAa,EAAE,CAAC;QAClC,MAAM,QAAQ,GAAG,SAAS,CAAC;QAE3B,SAAS,cAAc,CAAC,GAAmF;YACzG,IAAI,QAAQ;gBAAE,OAAO;YACrB,QAAQ,GAAG,IAAI,CAAC;YAChB,sCAAsC;YACtC,cAAc,GAAG,EAAE,CAAC,WAAW,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;YACrD,EAAE,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC;YACtB,GAAG,CAAC,EAAE,CAAC,MAAM,CAAC,oCAAoC,EAAE,MAAM,CAAC,CAAC;YAC5D,OAAO,CAAC,gBAAgB,EAAE,CAAC,IAAI,CAAC,CAAC;QACnC,CAAC;QAED,SAAS,eAAe,CAAC,GAAmF;YAC1G,IAAI,CAAC,QAAQ;gBAAE,OAAO;YACtB,QAAQ,GAAG,KAAK,CAAC;YACjB,6CAA6C;YAC7C,MAAM,QAAQ,GAAG,EAAE,CAAC,WAAW,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;YACrD,MAAM,OAAO,GAAG,cAAc,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,QAAQ,CAAC;YACtE,EAAE,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;YAC3B,GAAG,CAAC,EAAE,CAAC,MAAM,CAAC,qCAAqC,EAAE,MAAM,CAAC,CAAC;YAC7D,OAAO,CAAC,gBAAgB,EAAE,CAAC,KAAK,CAAC,CAAC;QACpC,CAAC;QAED,uCAAuC;QACvC,EAAE,CAAC,EAAE,CAAC,eAAe,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,EAAE;YAC3C,IAAI,QAAQ,EAAE,CAAC;gBACb,cAAc,GAAG,EAAE,CAAC,WAAW,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;gBACrD,EAAE,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC;gBACtB,GAAG,CAAC,EAAE,CAAC,SAAS,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;YACxC,CAAC;iBAAM,CAAC;gBACN,+CAA+C;gBAC/C,IAAI,CAAC,UAAU,EAAE,CAAC;oBAChB,MAAM,WAAW,GAAG,EAAE,CAAC,WAAW,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,QAAQ,CAAC,CAAC;oBACtF,EAAE,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC;gBACjC,CAAC;gBACD,GAAG,CAAC,EAAE,CAAC,SAAS,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;YACzC,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,mCAAmC;QACnC,EAAE,CAAC,eAAe,CAAC,MAAM,EAAE;YACzB,WAAW,EAAE,gDAAgD;YAC7D,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE;gBAC5B,IAAI,QAAQ,EAAE,CAAC;oBACb,eAAe,CAAC,GAAG,CAAC,CAAC;oBACrB,GAAG,CAAC,EAAE,CAAC,SAAS,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;gBACzC,CAAC;qBAAM,CAAC;oBACN,cAAc,CAAC,GAAG,CAAC,CAAC;oBACpB,GAAG,CAAC,EAAE,CAAC,SAAS,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;gBACxC,CAAC;YACH,CAAC;SACF,CAAC,CAAC;QAEH,4CAA4C;QAC5C,EAAE,CAAC,eAAe,CAAC,KAAK,EAAE;YACxB,WAAW,EAAE,6CAA6C;YAC1D,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE;gBAC5B,IAAI,QAAQ,EAAE,CAAC;oBACb,GAAG,CAAC,EAAE,CAAC,MAAM,CAAC,wEAAwE,EAAE,SAAS,CAAC,CAAC;oBACnG,OAAO;gBACT,CAAC;gBACD,UAAU,GAAG,CAAC,UAAU,CAAC;gBACzB,MAAM,YAAY,GAAG,EAAE,CAAC,WAAW,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;gBACzD,IAAI,UAAU,EAAE,CAAC;oBACf,mCAAmC;oBACnC,EAAE,CAAC,cAAc,CAAC,YAAY,CAAC,CAAC;oBAChC,GAAG,CAAC,EAAE,CAAC,MAAM,CAAC,kEAAkE,EAAE,SAAS,CAAC,CAAC;gBAC/F,CAAC;qBAAM,CAAC;oBACN,sBAAsB;oBACtB,EAAE,CAAC,cAAc,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC;oBAC9D,GAAG,CAAC,EAAE,CAAC,MAAM,CAAC,oBAAoB,EAAE,MAAM,CAAC,CAAC;gBAC9C,CAAC;YACH,CAAC;SACF,CAAC,CAAC;QAEH,4CAA4C;QAC5C,EAAE,CAAC,EAAE,CAAC,oBAAoB,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE;YAC1C,IAAI,QAAQ,EAAE,CAAC;gBACb,OAAO;oBACL,YAAY,EAAE,OAAO,CAAC,gBAAgB;iBACvC,CAAC;YACJ,CAAC;YACD,iDAAiD;YACjD,OAAO;gBACL,YAAY,EAAE,OAAO,CAAC,iBAAiB;aACxC,CAAC;QACJ,CAAC,CAAC,CAAC;QAEH,kDAAkD;QAClD,EAAE,CAAC,EAAE,CAAC,UAAU,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE;YACrC,IAAI,QAAQ;gBAAE,OAAO;YACrB,MAAM,GAAG,GAAG,KAAK,CAAC,OAAO,CAAC;YAC1B,IACE,GAAG,CAAC,IAAI,KAAK,WAAW;gBACxB,YAAY,IAAI,GAAG;gBAClB,GAAW,CAAC,UAAU,KAAK,OAAO,EACnC,CAAC;gBACD,MAAM,QAAQ,GAAG,CAAC,cAAc,IAAI,GAAG,CAAC,CAAC,CAAE,GAAW,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC;gBAChF,IACE,QAAQ,CAAC,QAAQ,CAAC,wBAAwB,CAAC;oBAC3C,QAAQ,CAAC,QAAQ,CAAC,uBAAuB,CAAC,EAC1C,CAAC;oBACD,cAAc,CAAC,GAAG,CAAC,CAAC;oBACpB,GAAG,CAAC,EAAE,CAAC,SAAS,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;oBACtC,GAAG,CAAC,EAAE,CAAC,MAAM,CACX,gFAAgF,EAChF,SAAS,CACV,CAAC;gBACJ,CAAC;YACH,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,
|
|
1
|
+
{"version":3,"file":"chat-mode.js","sourceRoot":"","sources":["../../src/extensions/chat-mode.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* HuggingFace Model Info tool for Scout.
|
|
3
|
+
*
|
|
4
|
+
* Fetches detailed metadata for a specific model, including
|
|
5
|
+
* file sizes (useful for estimating VRAM from GGUF quants).
|
|
6
|
+
*/
|
|
7
|
+
import type { AgentTool } from "@mariozechner/pi-agent-core";
|
|
8
|
+
declare const HfModelInfoSchema: import("@sinclair/typebox").TObject<{
|
|
9
|
+
model_id: import("@sinclair/typebox").TString;
|
|
10
|
+
}>;
|
|
11
|
+
export interface HfModelInfoDetails {
|
|
12
|
+
modelId: string;
|
|
13
|
+
found: boolean;
|
|
14
|
+
}
|
|
15
|
+
export declare function createHfModelInfoTool(): AgentTool<typeof HfModelInfoSchema, HfModelInfoDetails>;
|
|
16
|
+
export {};
|
|
17
|
+
//# sourceMappingURL=hfModelInfo.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"hfModelInfo.d.ts","sourceRoot":"","sources":["../../src/tools/hfModelInfo.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,KAAK,EAAE,SAAS,EAAmB,MAAM,6BAA6B,CAAC;AAE9E,QAAA,MAAM,iBAAiB;;EAErB,CAAC;AAIH,MAAM,WAAW,kBAAkB;IACjC,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,OAAO,CAAC;CAChB;AA2BD,wBAAgB,qBAAqB,IAAI,SAAS,CAAC,OAAO,iBAAiB,EAAE,kBAAkB,CAAC,CAsF/F"}
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* HuggingFace Model Info tool for Scout.
|
|
3
|
+
*
|
|
4
|
+
* Fetches detailed metadata for a specific model, including
|
|
5
|
+
* file sizes (useful for estimating VRAM from GGUF quants).
|
|
6
|
+
*/
|
|
7
|
+
import { Type } from "@sinclair/typebox";
|
|
8
|
+
const HfModelInfoSchema = Type.Object({
|
|
9
|
+
model_id: Type.String({ description: "Full model ID (e.g. 'TheBloke/Mistral-7B-Instruct-v0.2-GGUF', 'Qwen/Qwen2.5-Coder-14B-Instruct')" }),
|
|
10
|
+
});
|
|
11
|
+
function formatSize(bytes) {
|
|
12
|
+
if (bytes >= 1_073_741_824)
|
|
13
|
+
return `${(bytes / 1_073_741_824).toFixed(1)}GB`;
|
|
14
|
+
if (bytes >= 1_048_576)
|
|
15
|
+
return `${(bytes / 1_048_576).toFixed(0)}MB`;
|
|
16
|
+
return `${(bytes / 1024).toFixed(0)}KB`;
|
|
17
|
+
}
|
|
18
|
+
export function createHfModelInfoTool() {
|
|
19
|
+
return {
|
|
20
|
+
name: "hf_model_info",
|
|
21
|
+
label: "HuggingFace Model Info",
|
|
22
|
+
description: "Get detailed info about a specific HuggingFace model. " +
|
|
23
|
+
"Returns tags, file list with sizes (useful for GGUF quant sizing), config, and metadata. " +
|
|
24
|
+
"Use this after hf_search to drill into a promising model.",
|
|
25
|
+
parameters: HfModelInfoSchema,
|
|
26
|
+
async execute(_toolCallId, params) {
|
|
27
|
+
const url = `https://huggingface.co/api/models/${params.model_id}`;
|
|
28
|
+
try {
|
|
29
|
+
const res = await fetch(url, {
|
|
30
|
+
headers: { Accept: "application/json" },
|
|
31
|
+
signal: AbortSignal.timeout(15_000),
|
|
32
|
+
});
|
|
33
|
+
if (res.status === 404) {
|
|
34
|
+
return {
|
|
35
|
+
content: [{ type: "text", text: `Model "${params.model_id}" not found on HuggingFace.` }],
|
|
36
|
+
details: { modelId: params.model_id, found: false },
|
|
37
|
+
};
|
|
38
|
+
}
|
|
39
|
+
if (!res.ok) {
|
|
40
|
+
return {
|
|
41
|
+
content: [{ type: "text", text: `HuggingFace API error: ${res.status} ${res.statusText}` }],
|
|
42
|
+
details: { modelId: params.model_id, found: false },
|
|
43
|
+
};
|
|
44
|
+
}
|
|
45
|
+
const data = (await res.json());
|
|
46
|
+
// Build file listing, highlighting GGUF files with sizes
|
|
47
|
+
const siblings = data.siblings || [];
|
|
48
|
+
const ggufFiles = siblings
|
|
49
|
+
.filter((s) => s.rfilename.endsWith(".gguf"))
|
|
50
|
+
.map((s) => ` ${s.rfilename}${s.size ? ` (${formatSize(s.size)})` : ""}`);
|
|
51
|
+
const otherFiles = siblings
|
|
52
|
+
.filter((s) => !s.rfilename.endsWith(".gguf"))
|
|
53
|
+
.slice(0, 20)
|
|
54
|
+
.map((s) => ` ${s.rfilename}${s.size ? ` (${formatSize(s.size)})` : ""}`);
|
|
55
|
+
const sections = [
|
|
56
|
+
`Model: ${data.id}`,
|
|
57
|
+
`Author: ${data.author || "?"}`,
|
|
58
|
+
`Downloads: ${data.downloads.toLocaleString()} | Likes: ${data.likes}`,
|
|
59
|
+
`Updated: ${data.lastModified?.slice(0, 10) || "?"}`,
|
|
60
|
+
`Pipeline: ${data.pipeline_tag || "?"}`,
|
|
61
|
+
`Library: ${data.library_name || "?"}`,
|
|
62
|
+
`Tags: ${data.tags?.join(", ") || "none"}`,
|
|
63
|
+
];
|
|
64
|
+
if (ggufFiles.length > 0) {
|
|
65
|
+
sections.push(`\nGGUF files (${ggufFiles.length}):\n${ggufFiles.join("\n")}`);
|
|
66
|
+
}
|
|
67
|
+
if (otherFiles.length > 0) {
|
|
68
|
+
const totalOther = siblings.filter((s) => !s.rfilename.endsWith(".gguf")).length;
|
|
69
|
+
const suffix = totalOther > 20 ? `\n ... and ${totalOther - 20} more files` : "";
|
|
70
|
+
sections.push(`\nOther files:\n${otherFiles.join("\n")}${suffix}`);
|
|
71
|
+
}
|
|
72
|
+
if (data.config && Object.keys(data.config).length > 0) {
|
|
73
|
+
const configStr = JSON.stringify(data.config, null, 2).slice(0, 1500);
|
|
74
|
+
sections.push(`\nConfig:\n${configStr}`);
|
|
75
|
+
}
|
|
76
|
+
return {
|
|
77
|
+
content: [{ type: "text", text: sections.join("\n") }],
|
|
78
|
+
details: { modelId: params.model_id, found: true },
|
|
79
|
+
};
|
|
80
|
+
}
|
|
81
|
+
catch (e) {
|
|
82
|
+
const msg = e instanceof Error ? e.message : String(e);
|
|
83
|
+
return {
|
|
84
|
+
content: [{ type: "text", text: `Failed to fetch model info: ${msg}` }],
|
|
85
|
+
details: { modelId: params.model_id, found: false },
|
|
86
|
+
};
|
|
87
|
+
}
|
|
88
|
+
},
|
|
89
|
+
};
|
|
90
|
+
}
|
|
91
|
+
//# sourceMappingURL=hfModelInfo.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"hfModelInfo.js","sourceRoot":"","sources":["../../src/tools/hfModelInfo.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* HuggingFace README Reader tool for Scout.
|
|
3
|
+
*
|
|
4
|
+
* Fetches and truncates model README/model-card content.
|
|
5
|
+
* Useful for reading benchmark results, quant info, and usage instructions.
|
|
6
|
+
*/
|
|
7
|
+
import type { AgentTool } from "@mariozechner/pi-agent-core";
|
|
8
|
+
declare const HfReadmeSchema: import("@sinclair/typebox").TObject<{
|
|
9
|
+
model_id: import("@sinclair/typebox").TString;
|
|
10
|
+
max_chars: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
|
|
11
|
+
}>;
|
|
12
|
+
export interface HfReadmeDetails {
|
|
13
|
+
modelId: string;
|
|
14
|
+
charCount: number;
|
|
15
|
+
truncated: boolean;
|
|
16
|
+
}
|
|
17
|
+
export declare function createHfReadmeTool(): AgentTool<typeof HfReadmeSchema, HfReadmeDetails>;
|
|
18
|
+
export {};
|
|
19
|
+
//# sourceMappingURL=hfReadme.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"hfReadme.d.ts","sourceRoot":"","sources":["../../src/tools/hfReadme.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,KAAK,EAAE,SAAS,EAAmB,MAAM,6BAA6B,CAAC;AAE9E,QAAA,MAAM,cAAc;;;EAGlB,CAAC;AAIH,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,OAAO,CAAC;CACpB;AAED,wBAAgB,kBAAkB,IAAI,SAAS,CAAC,OAAO,cAAc,EAAE,eAAe,CAAC,CA0DtF"}
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* HuggingFace README Reader tool for Scout.
|
|
3
|
+
*
|
|
4
|
+
* Fetches and truncates model README/model-card content.
|
|
5
|
+
* Useful for reading benchmark results, quant info, and usage instructions.
|
|
6
|
+
*/
|
|
7
|
+
import { Type } from "@sinclair/typebox";
|
|
8
|
+
const HfReadmeSchema = Type.Object({
|
|
9
|
+
model_id: Type.String({ description: "Full model ID (e.g. 'bartowski/Qwen2.5-Coder-14B-Instruct-GGUF')" }),
|
|
10
|
+
max_chars: Type.Optional(Type.Number({ description: "Max characters to return (default: 3000)" })),
|
|
11
|
+
});
|
|
12
|
+
export function createHfReadmeTool() {
|
|
13
|
+
return {
|
|
14
|
+
name: "hf_readme",
|
|
15
|
+
label: "HuggingFace README",
|
|
16
|
+
description: "Read a model's README/model card from HuggingFace. " +
|
|
17
|
+
"Returns the first ~3000 characters by default. " +
|
|
18
|
+
"Useful for reading benchmark results, quantization details, prompt formats, and usage instructions.",
|
|
19
|
+
parameters: HfReadmeSchema,
|
|
20
|
+
async execute(_toolCallId, params) {
|
|
21
|
+
const maxChars = params.max_chars || 3000;
|
|
22
|
+
const url = `https://huggingface.co/${params.model_id}/raw/main/README.md`;
|
|
23
|
+
try {
|
|
24
|
+
const res = await fetch(url, {
|
|
25
|
+
signal: AbortSignal.timeout(15_000),
|
|
26
|
+
});
|
|
27
|
+
if (res.status === 404) {
|
|
28
|
+
return {
|
|
29
|
+
content: [{ type: "text", text: `No README found for "${params.model_id}".` }],
|
|
30
|
+
details: { modelId: params.model_id, charCount: 0, truncated: false },
|
|
31
|
+
};
|
|
32
|
+
}
|
|
33
|
+
if (!res.ok) {
|
|
34
|
+
return {
|
|
35
|
+
content: [{ type: "text", text: `Failed to fetch README: ${res.status} ${res.statusText}` }],
|
|
36
|
+
details: { modelId: params.model_id, charCount: 0, truncated: false },
|
|
37
|
+
};
|
|
38
|
+
}
|
|
39
|
+
const fullText = await res.text();
|
|
40
|
+
const truncated = fullText.length > maxChars;
|
|
41
|
+
const text = truncated
|
|
42
|
+
? fullText.slice(0, maxChars) + `\n\n... [truncated at ${maxChars} chars, full README is ${fullText.length} chars]`
|
|
43
|
+
: fullText;
|
|
44
|
+
return {
|
|
45
|
+
content: [{ type: "text", text: `README for ${params.model_id}:\n\n${text}` }],
|
|
46
|
+
details: {
|
|
47
|
+
modelId: params.model_id,
|
|
48
|
+
charCount: fullText.length,
|
|
49
|
+
truncated,
|
|
50
|
+
},
|
|
51
|
+
};
|
|
52
|
+
}
|
|
53
|
+
catch (e) {
|
|
54
|
+
const msg = e instanceof Error ? e.message : String(e);
|
|
55
|
+
return {
|
|
56
|
+
content: [{ type: "text", text: `Failed to fetch README: ${msg}` }],
|
|
57
|
+
details: { modelId: params.model_id, charCount: 0, truncated: false },
|
|
58
|
+
};
|
|
59
|
+
}
|
|
60
|
+
},
|
|
61
|
+
};
|
|
62
|
+
}
|
|
63
|
+
//# sourceMappingURL=hfReadme.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"hfReadme.js","sourceRoot":"","sources":["../../src/tools/hfReadme.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* HuggingFace Model Search tool for Scout.
|
|
3
|
+
*
|
|
4
|
+
* Searches the HuggingFace API for models matching query/filters.
|
|
5
|
+
* No auth required — uses the public API.
|
|
6
|
+
*/
|
|
7
|
+
import type { AgentTool } from "@mariozechner/pi-agent-core";
|
|
8
|
+
declare const HfSearchSchema: import("@sinclair/typebox").TObject<{
|
|
9
|
+
search: import("@sinclair/typebox").TString;
|
|
10
|
+
filter: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
|
|
11
|
+
sort: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
|
|
12
|
+
limit: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
|
|
13
|
+
}>;
|
|
14
|
+
export interface HfSearchDetails {
|
|
15
|
+
query: string;
|
|
16
|
+
resultCount: number;
|
|
17
|
+
}
|
|
18
|
+
export declare function createHfSearchTool(): AgentTool<typeof HfSearchSchema, HfSearchDetails>;
|
|
19
|
+
export {};
|
|
20
|
+
//# sourceMappingURL=hfSearch.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"hfSearch.d.ts","sourceRoot":"","sources":["../../src/tools/hfSearch.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,KAAK,EAAE,SAAS,EAAmB,MAAM,6BAA6B,CAAC;AAE9E,QAAA,MAAM,cAAc;;;;;EAKlB,CAAC;AAIH,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;CACrB;AAWD,wBAAgB,kBAAkB,IAAI,SAAS,CAAC,OAAO,cAAc,EAAE,eAAe,CAAC,CA0EtF"}
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* HuggingFace Model Search tool for Scout.
|
|
3
|
+
*
|
|
4
|
+
* Searches the HuggingFace API for models matching query/filters.
|
|
5
|
+
* No auth required — uses the public API.
|
|
6
|
+
*/
|
|
7
|
+
import { Type } from "@sinclair/typebox";
|
|
8
|
+
const HfSearchSchema = Type.Object({
|
|
9
|
+
search: Type.String({ description: "Search query (e.g. 'qwen coder', 'llama uncensored')" }),
|
|
10
|
+
filter: Type.Optional(Type.String({ description: "Comma-separated filters (e.g. 'gguf', 'text-generation', 'text-generation,gguf')" })),
|
|
11
|
+
sort: Type.Optional(Type.String({ description: "Sort by: downloads, likes, lastModified, trending (default: downloads)" })),
|
|
12
|
+
limit: Type.Optional(Type.Number({ description: "Max results to return (default: 10, max: 30)" })),
|
|
13
|
+
});
|
|
14
|
+
export function createHfSearchTool() {
|
|
15
|
+
return {
|
|
16
|
+
name: "hf_search",
|
|
17
|
+
label: "HuggingFace Search",
|
|
18
|
+
description: "Search HuggingFace for models. Returns model IDs, download counts, likes, tags, and last modified dates. " +
|
|
19
|
+
"Use filters like 'gguf' to find quantized models, 'text-generation' for LLMs. " +
|
|
20
|
+
"Sort by 'downloads' (popular), 'likes' (community favorites), 'lastModified' (newest), or 'trending'.",
|
|
21
|
+
parameters: HfSearchSchema,
|
|
22
|
+
async execute(_toolCallId, params) {
|
|
23
|
+
const limit = Math.min(params.limit || 10, 30);
|
|
24
|
+
const sort = params.sort || "downloads";
|
|
25
|
+
const url = new URL("https://huggingface.co/api/models");
|
|
26
|
+
url.searchParams.set("search", params.search);
|
|
27
|
+
url.searchParams.set("sort", sort);
|
|
28
|
+
url.searchParams.set("direction", "-1");
|
|
29
|
+
url.searchParams.set("limit", String(limit));
|
|
30
|
+
if (params.filter) {
|
|
31
|
+
for (const f of params.filter.split(",")) {
|
|
32
|
+
url.searchParams.append("filter", f.trim());
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
try {
|
|
36
|
+
const res = await fetch(url.toString(), {
|
|
37
|
+
headers: { Accept: "application/json" },
|
|
38
|
+
signal: AbortSignal.timeout(15_000),
|
|
39
|
+
});
|
|
40
|
+
if (!res.ok) {
|
|
41
|
+
return {
|
|
42
|
+
content: [{ type: "text", text: `HuggingFace API error: ${res.status} ${res.statusText}` }],
|
|
43
|
+
details: { query: params.search, resultCount: 0 },
|
|
44
|
+
};
|
|
45
|
+
}
|
|
46
|
+
const models = (await res.json());
|
|
47
|
+
if (models.length === 0) {
|
|
48
|
+
return {
|
|
49
|
+
content: [{ type: "text", text: `No models found for "${params.search}" with filters: ${params.filter || "none"}` }],
|
|
50
|
+
details: { query: params.search, resultCount: 0 },
|
|
51
|
+
};
|
|
52
|
+
}
|
|
53
|
+
const lines = models.map((m) => {
|
|
54
|
+
const tags = m.tags?.slice(0, 8).join(", ") || "";
|
|
55
|
+
return [
|
|
56
|
+
`- ${m.id}`,
|
|
57
|
+
` downloads: ${m.downloads.toLocaleString()} | likes: ${m.likes} | updated: ${m.lastModified?.slice(0, 10) || "?"}`,
|
|
58
|
+
` pipeline: ${m.pipeline_tag || "?"} | tags: ${tags}`,
|
|
59
|
+
].join("\n");
|
|
60
|
+
});
|
|
61
|
+
const text = `Found ${models.length} models for "${params.search}" (sorted by ${sort}):\n\n${lines.join("\n\n")}`;
|
|
62
|
+
return {
|
|
63
|
+
content: [{ type: "text", text }],
|
|
64
|
+
details: { query: params.search, resultCount: models.length },
|
|
65
|
+
};
|
|
66
|
+
}
|
|
67
|
+
catch (e) {
|
|
68
|
+
const msg = e instanceof Error ? e.message : String(e);
|
|
69
|
+
return {
|
|
70
|
+
content: [{ type: "text", text: `HuggingFace search failed: ${msg}` }],
|
|
71
|
+
details: { query: params.search, resultCount: 0 },
|
|
72
|
+
};
|
|
73
|
+
}
|
|
74
|
+
},
|
|
75
|
+
};
|
|
76
|
+
}
|
|
77
|
+
//# sourceMappingURL=hfSearch.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"hfSearch.js","sourceRoot":"","sources":["../../src/tools/hfSearch.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Scout system prompt builder.
|
|
3
|
+
*
|
|
4
|
+
* Creates an expert prompt that instructs the agent to research
|
|
5
|
+
* HuggingFace models using its 3 HF tools, tailored to the user's hardware.
|
|
6
|
+
*/
|
|
7
|
+
import type { HardwareSpec } from "../config/hardware.js";
|
|
8
|
+
export declare function buildScoutPrompt(hardware: HardwareSpec): string;
|
|
9
|
+
export declare function buildScoutChatPrompt(hardware: HardwareSpec): string;
|
|
10
|
+
//# sourceMappingURL=scout-prompt.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"scout-prompt.d.ts","sourceRoot":"","sources":["../../src/utils/scout-prompt.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAE1D,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,YAAY,GAAG,MAAM,CA+C/D;AAED,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,YAAY,GAAG,MAAM,CAkBnE"}
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Scout system prompt builder.
|
|
3
|
+
*
|
|
4
|
+
* Creates an expert prompt that instructs the agent to research
|
|
5
|
+
* HuggingFace models using its 3 HF tools, tailored to the user's hardware.
|
|
6
|
+
*/
|
|
7
|
+
export function buildScoutPrompt(hardware) {
|
|
8
|
+
const hwBlock = [
|
|
9
|
+
`- GPU: ${hardware.gpu}`,
|
|
10
|
+
`- VRAM: ${hardware.vram}`,
|
|
11
|
+
`- System RAM: ${hardware.ram}`,
|
|
12
|
+
`- OS: ${hardware.os}`,
|
|
13
|
+
hardware.notes ? `- Notes: ${hardware.notes}` : "",
|
|
14
|
+
]
|
|
15
|
+
.filter(Boolean)
|
|
16
|
+
.join("\n");
|
|
17
|
+
return `You are Scout, an AI-powered HuggingFace model researcher. You are an expert at finding, evaluating, and recommending local LLMs — especially GGUF quantized models that run on consumer hardware.
|
|
18
|
+
|
|
19
|
+
User's Hardware:
|
|
20
|
+
${hwBlock}
|
|
21
|
+
|
|
22
|
+
Your Tools:
|
|
23
|
+
- hf_search: Search HuggingFace for models by query and filters. Use filters like "gguf" for quantized models, "text-generation" for LLMs.
|
|
24
|
+
- hf_model_info: Get detailed info about a specific model — file sizes, tags, config. Essential for checking GGUF quant sizes and VRAM fit.
|
|
25
|
+
- hf_readme: Read a model's README/model card for benchmarks, prompt formats, and usage details.
|
|
26
|
+
|
|
27
|
+
Your Expertise:
|
|
28
|
+
- GGUF quantization levels: Q2_K (~2-3 bits), Q3_K_M (~3.5 bits), Q4_K_M (~4.5 bits), Q5_K_M (~5.5 bits), Q6_K (~6.5 bits), Q8_0 (8 bits), F16 (16 bits)
|
|
29
|
+
- VRAM estimation: model file size ≈ VRAM needed (plus ~500MB-1GB overhead for context)
|
|
30
|
+
- Tool calling support: models need specific training/fine-tuning for structured tool use
|
|
31
|
+
- Uncensored/abliterated models: models with safety filters removed, useful for unrestricted coding assistance
|
|
32
|
+
- Ollama compatibility: models need a Modelfile or be available on the Ollama library
|
|
33
|
+
- Context window sizes and their impact on coding tasks
|
|
34
|
+
- Popular GGUF quantizers: bartowski, TheBloke, MaziyarPanahi, mradermacher, unsloth
|
|
35
|
+
|
|
36
|
+
Workflow:
|
|
37
|
+
1. When the user asks about models, use hf_search to find candidates
|
|
38
|
+
2. Use hf_model_info to check file sizes and estimate VRAM fit for the user's hardware
|
|
39
|
+
3. Use hf_readme to read model cards for benchmark results, prompt formats, and details
|
|
40
|
+
4. Recommend models with clear reasoning: why they fit, VRAM estimate, expected quality
|
|
41
|
+
5. When appropriate, suggest Ollama Modelfile configurations for promising finds
|
|
42
|
+
|
|
43
|
+
Guidelines:
|
|
44
|
+
- Always consider the user's VRAM when recommending models — never suggest models that won't fit
|
|
45
|
+
- Prefer models with high download counts and recent updates (active community)
|
|
46
|
+
- For coding tasks, prioritize models trained on code (CodeLlama, Qwen-Coder, DeepSeek-Coder, StarCoder, etc.)
|
|
47
|
+
- For tool calling, look for models explicitly fine-tuned for function/tool calling
|
|
48
|
+
- When recommending quantizations, explain the quality/size tradeoff
|
|
49
|
+
- Be proactive: if the user asks about "coding models", search for multiple relevant terms
|
|
50
|
+
- Format recommendations clearly with model name, quant, estimated VRAM, and key strengths
|
|
51
|
+
|
|
52
|
+
You are conversational and helpful. Research thoroughly before making recommendations.`;
|
|
53
|
+
}
|
|
54
|
+
export function buildScoutChatPrompt(hardware) {
|
|
55
|
+
const hwBlock = [
|
|
56
|
+
`- GPU: ${hardware.gpu}`,
|
|
57
|
+
`- VRAM: ${hardware.vram}`,
|
|
58
|
+
`- System RAM: ${hardware.ram}`,
|
|
59
|
+
`- OS: ${hardware.os}`,
|
|
60
|
+
hardware.notes ? `- Notes: ${hardware.notes}` : "",
|
|
61
|
+
]
|
|
62
|
+
.filter(Boolean)
|
|
63
|
+
.join("\n");
|
|
64
|
+
return `You are Scout, an AI model researcher. You help users find and evaluate LLMs for local use.
|
|
65
|
+
|
|
66
|
+
User's Hardware:
|
|
67
|
+
${hwBlock}
|
|
68
|
+
|
|
69
|
+
You are in chat mode — you cannot search HuggingFace right now. You can still discuss models, quantization, VRAM estimates, and recommendations based on your knowledge.
|
|
70
|
+
If the user needs live HuggingFace searches, suggest they switch back with /chat.`;
|
|
71
|
+
}
|
|
72
|
+
//# sourceMappingURL=scout-prompt.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"scout-prompt.js","sourceRoot":"","sources":["../../src/utils/scout-prompt.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,MAAM,UAAU,gBAAgB,CAAC,QAAsB;IACrD,MAAM,OAAO,GAAG;QACd,UAAU,QAAQ,CAAC,GAAG,EAAE;QACxB,WAAW,QAAQ,CAAC,IAAI,EAAE;QAC1B,iBAAiB,QAAQ,CAAC,GAAG,EAAE;QAC/B,SAAS,QAAQ,CAAC,EAAE,EAAE;QACtB,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,YAAY,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE;KACnD;SACE,MAAM,CAAC,OAAO,CAAC;SACf,IAAI,CAAC,IAAI,CAAC,CAAC;IAEd,OAAO;;;EAGP,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;uFAgC8E,CAAC;AACxF,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,QAAsB;IACzD,MAAM,OAAO,GAAG;QACd,UAAU,QAAQ,CAAC,GAAG,EAAE;QACxB,WAAW,QAAQ,CAAC,IAAI,EAAE;QAC1B,iBAAiB,QAAQ,CAAC,GAAG,EAAE;QAC/B,SAAS,QAAQ,CAAC,EAAE,EAAE;QACtB,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,YAAY,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE;KACnD;SACE,MAAM,CAAC,OAAO,CAAC;SACf,IAAI,CAAC,IAAI,CAAC,CAAC;IAEd,OAAO;;;EAGP,OAAO;;;kFAGyE,CAAC;AACnF,CAAC"}
|