Something went wrong. Try again.
personal experiment with a claw
Something went wrong. Try again.
123456789101112131415161718192021222324252627282930313233343536373839import { createInterface } from "node:readline/promises";import { stdin, stdout } from "node:process";import { createSharedDeps, describeModel } from "./agent.js";import { LaneManager } from "./lanes.js";
const KEY = "cli";
async function main() { const deps = await createSharedDeps(); const lanes = new LaneManager(deps);
const skills = deps.resourceLoader.getSkills().skills.map((s) => s.name).join(", "); console.log(`disclaw cli — ${describeModel()}`); console.log(`skills: ${skills || "(none)"}`); console.log(`/exit to quit\n`);
const rl = createInterface({ input: stdin, output: stdout, terminal: true }); while (true) { const line = await rl.question("> "); const trimmed = line.trim(); if (!trimmed) continue; if (trimmed === "/exit") break; const result = await lanes.send(KEY, trimmed, { onDelta: (s) => stdout.write(s), onToolStart: (name) => stdout.write(`\n ⟫ ${name}\n`), }); if (result.steered) stdout.write("\n[steered into running turn]"); stdout.write("\n"); }
rl.close(); lanes.dispose();}
main().catch((err) => { console.error(err); process.exit(1);});