github TypeScript analyzed f6c3b40

Kevin-Liu-01/Jarhead

github

Voice-first Mac assistant that uses the computer for you. GPT-Live-1 voice, vendor-neutral brains (Codex, Claude Code, any API), native Swift hands, an ASCII blob that shows its work.

maintainer
Kevin-Liu-01
licence
MIT
first seen
2026-09-11
last seen
2026-09-12
releases · 30d
0
short id

Drift inferred · capture-to-capture

No drift recorded — single capability capture; advisories appear once its surface changes.

capabilities 0 tools
transport stdio · http counts 0 tools · 0 res · 0 prompts permission surface via code analysis

No tools enumerated yet for this server.

skills & danger signals github-tarball
prompt-surface shipped agent-instruction files + hidden-content / dangerous-code findings — quoted from the analyzed source

analyzed commit f6c3b40 · analyzer v33 · 4h ago

skills & prompt files 1

danger signals3

code evidence vHEAD · github-tarball
evidence-backed findings quoted directly from the published source artifact — not inferred

code files: 216

filesystem 62

  • fs (weak) Kevin-Liu-01-Jarhead-f6c3b40/packages/agents/src/sessions/__tests__/codex.test.ts :3 import { chmodSync, cpSync, existsSync, mkdirSync, mkdtempSync, readFileSync, realpathSync, rmSync, utimesSync, writeFileSync } from "node:fs";
  • fs (weak) Kevin-Liu-01-Jarhead-f6c3b40/packages/agents/src/sessions/__tests__/fixtures/fake-codex.mjs :17 import { appendFileSync, existsSync, mkdirSync, readFileSync, readdirSync, statSync, writeFileSync } from "node:fs";
  • fs (weak) Kevin-Liu-01-Jarhead-f6c3b40/packages/agents/src/sessions/__tests__/sessions.test.ts :3 import { appendFileSync, cpSync, mkdirSync, mkdtempSync, readFileSync, rmSync, utimesSync, writeFileSync } from "node:fs";
  • fs (weak) Kevin-Liu-01-Jarhead-f6c3b40/packages/agents/src/sessions/__tests__/transcript.test.ts :3 import { appendFileSync, cpSync, existsSync, mkdirSync, mkdtempSync, readFileSync, rmSync, writeFileSync } from "node:fs";
  • fs Kevin-Liu-01-Jarhead-f6c3b40/packages/agents/src/sessions/claude-registry.ts :1 import { readdir, readFile } from "node:fs/promises";
  • fs Kevin-Liu-01-Jarhead-f6c3b40/packages/agents/src/sessions/claude-store.ts :1 import { readdir, stat } from "node:fs/promises";
  • fs Kevin-Liu-01-Jarhead-f6c3b40/packages/agents/src/sessions/codex-bin.ts :2 import { access, readFile, readdir, stat } from "node:fs/promises";
  • fs Kevin-Liu-01-Jarhead-f6c3b40/packages/agents/src/sessions/codex-store.ts :1 import { readFile, readdir, stat } from "node:fs/promises";
  • fs Kevin-Liu-01-Jarhead-f6c3b40/packages/agents/src/sessions/connector.ts :2 import { stat } from "node:fs/promises";
  • fs Kevin-Liu-01-Jarhead-f6c3b40/packages/agents/src/sessions/others.ts :1 import { stat } from "node:fs/promises";
  • fs Kevin-Liu-01-Jarhead-f6c3b40/packages/agents/src/sessions/runners/claude-code.ts :1 import { stat } from "node:fs/promises";
  • fs Kevin-Liu-01-Jarhead-f6c3b40/packages/agents/src/sessions/runners/codex.ts :2 import { stat } from "node:fs/promises";
show 28 more
  • fs Kevin-Liu-01-Jarhead-f6c3b40/packages/agents/src/sessions/store.ts :1 import { open, stat } from "node:fs/promises";
  • fs Kevin-Liu-01-Jarhead-f6c3b40/packages/agents/src/sessions/tail.ts :1 import { watch, type FSWatcher } from "node:fs";
  • fs Kevin-Liu-01-Jarhead-f6c3b40/packages/agents/src/sessions/transcript.ts :1 import { open, readFile, stat, type FileHandle } from "node:fs/promises";
  • fs (weak) Kevin-Liu-01-Jarhead-f6c3b40/packages/brain/src/__tests__/archive.test.ts :3 import { existsSync, mkdirSync, readFileSync, readdirSync, utimesSync, writeFileSync } from "node:fs";
  • fs (weak) Kevin-Liu-01-Jarhead-f6c3b40/packages/brain/src/__tests__/brain.test.ts :3 import { mkdtempSync } from "node:fs";
  • fs (weak) Kevin-Liu-01-Jarhead-f6c3b40/packages/brain/src/__tests__/codex.test.ts :4 import { chmodSync, existsSync, lstatSync, mkdirSync, mkdtempSync, readdirSync, readFileSync, readlinkSync, realpathSync, writeFileSync } from "node:fs";
  • fs (weak) Kevin-Liu-01-Jarhead-f6c3b40/packages/brain/src/__tests__/fakes.ts :1 import { mkdtempSync } from "node:fs";
  • fs (weak) Kevin-Liu-01-Jarhead-f6c3b40/packages/brain/src/__tests__/files.test.ts :4 import { mkdirSync, mkdtempSync, writeFileSync } from "node:fs";
  • fs (weak) Kevin-Liu-01-Jarhead-f6c3b40/packages/brain/src/__tests__/marks.test.ts :4 import { mkdirSync, mkdtempSync, writeFileSync } from "node:fs";
  • fs (weak) Kevin-Liu-01-Jarhead-f6c3b40/packages/brain/src/__tests__/mcp-bridge.test.ts :4 import { mkdtempSync } from "node:fs";
  • fs (weak) Kevin-Liu-01-Jarhead-f6c3b40/packages/brain/src/__tests__/reflex.test.ts :4 import { mkdtempSync } from "node:fs";
  • fs (weak) Kevin-Liu-01-Jarhead-f6c3b40/packages/brain/src/__tests__/selfedit.test.ts :4 import { chmodSync, existsSync, mkdirSync, mkdtempSync, readFileSync, writeFileSync } from "node:fs";
  • fs (weak) Kevin-Liu-01-Jarhead-f6c3b40/packages/brain/src/__tests__/tools.test.ts :4 import { existsSync, mkdirSync, mkdtempSync, readFileSync, symlinkSync, writeFileSync } from "node:fs";
  • fs Kevin-Liu-01-Jarhead-f6c3b40/packages/brain/src/attachments.ts :1 import { readFileSync } from "node:fs";
  • fs Kevin-Liu-01-Jarhead-f6c3b40/packages/brain/src/claude.ts :1 import { readFileSync, rmSync, writeFileSync } from "node:fs";
  • fs Kevin-Liu-01-Jarhead-f6c3b40/packages/brain/src/codex-config.ts :1 import { existsSync, lstatSync, mkdirSync, readFileSync, readlinkSync, realpathSync, renameSync, rmSync, symlinkSync, writeFileSync } from "node:fs";
  • fs Kevin-Liu-01-Jarhead-f6c3b40/packages/brain/src/codex.ts :1 import { accessSync, constants, existsSync, mkdirSync, readFileSync, statSync } from "node:fs";
  • fs Kevin-Liu-01-Jarhead-f6c3b40/packages/brain/src/files.ts :2 import { existsSync, lstatSync, mkdirSync, readFileSync, readdirSync, realpathSync, statSync, writeFileSync } from "node:fs";
  • fs Kevin-Liu-01-Jarhead-f6c3b40/packages/brain/src/mcp-bridge.ts :1 import { realpathSync } from "node:fs";
  • fs Kevin-Liu-01-Jarhead-f6c3b40/packages/brain/src/runner.ts :2 import { appendFileSync, existsSync, mkdirSync, readdirSync, renameSync, rmdirSync, statSync, writeFileSync } from "node:fs";
  • fs Kevin-Liu-01-Jarhead-f6c3b40/packages/brain/src/selfedit.ts :2 import { accessSync, constants, existsSync, mkdirSync, readFileSync, readdirSync, rmSync, statSync, writeFileSync } from "node:fs";
  • fs Kevin-Liu-01-Jarhead-f6c3b40/packages/brain/src/shell.ts :2 import { mkdirSync, openSync, closeSync, readFileSync, statSync } from "node:fs";
  • fs Kevin-Liu-01-Jarhead-f6c3b40/packages/cli/src/bench-brain.ts :3 import { existsSync, mkdtempSync, readFileSync, writeFileSync } from "node:fs";
  • fs Kevin-Liu-01-Jarhead-f6c3b40/packages/cli/src/bench.ts :3 import { existsSync, mkdtempSync } from "node:fs";
  • fs Kevin-Liu-01-Jarhead-f6c3b40/packages/cli/src/doctor.ts :2 import { existsSync, readFileSync } from "node:fs";
  • fs (weak) Kevin-Liu-01-Jarhead-f6c3b40/packages/core/src/__tests__/env.test.ts :3 import { mkdtempSync, writeFileSync } from "node:fs";
  • fs (weak) Kevin-Liu-01-Jarhead-f6c3b40/packages/core/src/__tests__/ledger.test.ts :3 import { mkdtempSync, appendFileSync } from "node:fs";
  • fs (weak) Kevin-Liu-01-Jarhead-f6c3b40/packages/core/src/__tests__/policy.test.ts :690 "node -e \"require('fs').rmSync(process.env.HOME + '/.jarhead/trash',{recursive:true})\"",

22 more not shown — this panel samples each group; the count above is the real total.

shell / exec 25

  • shell Kevin-Liu-01-Jarhead-f6c3b40/packages/agents/src/sessions/codex-bin.ts :1 import { execFile } from "node:child_process";
  • shell Kevin-Liu-01-Jarhead-f6c3b40/packages/agents/src/sessions/processes.ts :1 import { execFile } from "node:child_process";
  • shell Kevin-Liu-01-Jarhead-f6c3b40/packages/agents/src/sessions/runners/codex.ts :1 import { spawn, type ChildProcess } from "node:child_process";
  • shell (weak) Kevin-Liu-01-Jarhead-f6c3b40/packages/brain/src/__tests__/codex-app-server.test.ts :5 import type { ChildProcess } from "node:child_process";
  • shell (weak) Kevin-Liu-01-Jarhead-f6c3b40/packages/brain/src/__tests__/files.test.ts :3 import { execFileSync } from "node:child_process";
  • shell (weak) Kevin-Liu-01-Jarhead-f6c3b40/packages/brain/src/__tests__/selfedit.test.ts :3 import { execFileSync } from "node:child_process";
  • shell Kevin-Liu-01-Jarhead-f6c3b40/packages/brain/src/codex-app-server.ts :1 import { spawn, type ChildProcess } from "node:child_process";
  • shell Kevin-Liu-01-Jarhead-f6c3b40/packages/brain/src/codex.ts :2 import { execFile, spawn, type ChildProcess } from "node:child_process";
  • shell Kevin-Liu-01-Jarhead-f6c3b40/packages/brain/src/files.ts :1 import { execFile } from "node:child_process";
  • shell Kevin-Liu-01-Jarhead-f6c3b40/packages/brain/src/selfedit.ts :1 import { execFile, spawn, type ChildProcess } from "node:child_process";
  • shell Kevin-Liu-01-Jarhead-f6c3b40/packages/brain/src/shell.ts :1 import { spawn, type ChildProcess } from "node:child_process";
  • shell Kevin-Liu-01-Jarhead-f6c3b40/packages/cli/src/bench-brain.ts :2 import { spawn as realSpawn, type ChildProcess } from "node:child_process";
show 13 more
  • shell Kevin-Liu-01-Jarhead-f6c3b40/packages/cli/src/bench.ts :1 import { spawn } from "node:child_process";
  • shell Kevin-Liu-01-Jarhead-f6c3b40/packages/cli/src/doctor.ts :1 import { execFileSync } from "node:child_process";
  • shell Kevin-Liu-01-Jarhead-f6c3b40/packages/cli/src/main.ts :2 import { spawn, type ChildProcess } from "node:child_process";
  • shell (weak) Kevin-Liu-01-Jarhead-f6c3b40/packages/core/src/__tests__/env.test.ts :6 import { spawnSync } from "node:child_process";
  • shell Kevin-Liu-01-Jarhead-f6c3b40/packages/hands/native/smoke.mjs :9 import { spawn } from "node:child_process";
  • shell (weak) Kevin-Liu-01-Jarhead-f6c3b40/packages/hands/src/__tests__/delivery.test.ts :8 import type { ChildProcess } from "node:child_process";
  • shell (weak) Kevin-Liu-01-Jarhead-f6c3b40/packages/hands/src/__tests__/native.test.ts :8 import type { ChildProcess } from "node:child_process";
  • shell Kevin-Liu-01-Jarhead-f6c3b40/packages/hands/src/fake.ts :3 import type { ChildProcess, spawn } from "node:child_process";
  • shell Kevin-Liu-01-Jarhead-f6c3b40/packages/hands/src/fallback.ts :1 import { execFile } from "node:child_process";
  • shell Kevin-Liu-01-Jarhead-f6c3b40/packages/hands/src/native.ts :1 import { execFile, spawn, type ChildProcess } from "node:child_process";
  • shell (weak) Kevin-Liu-01-Jarhead-f6c3b40/scripts/build-hands.ts :4 import { execFileSync } from "node:child_process";
  • shell (weak) Kevin-Liu-01-Jarhead-f6c3b40/scripts/build-mac.ts :2 import { execFileSync } from "node:child_process";
  • shell (weak) Kevin-Liu-01-Jarhead-f6c3b40/scripts/make-icon.ts :3 import { execFileSync } from "node:child_process";

network 9

  • net (weak) Kevin-Liu-01-Jarhead-f6c3b40/packages/brain/src/__tests__/fakes.ts :2 import { createServer, type IncomingMessage, type Server, type ServerResponse } from "node:http";
  • net (weak) Kevin-Liu-01-Jarhead-f6c3b40/packages/brain/src/__tests__/tools.test.ts :3 import { createServer, type Server } from "node:http";
  • net Kevin-Liu-01-Jarhead-f6c3b40/packages/brain/src/claude.ts :76 const r = await fetch("https://api.anthropic.com/v1/models?limit=1", { headers: { "x-api-key": key, "anthropic-version": "2023-06-01" }, signal: AbortSignal.timeout(6000) });
  • net Kevin-Liu-01-Jarhead-f6c3b40/packages/cli/src/doctor.ts :114 const r = await fetch(url, { headers, signal: AbortSignal.timeout(8000) });
  • net Kevin-Liu-01-Jarhead-f6c3b40/packages/cli/src/main.ts :169 const tts = await fetch("https://api.openai.com/v1/audio/speech", {
  • net (weak) Kevin-Liu-01-Jarhead-f6c3b40/packages/core/src/__tests__/policy.test.ts :266 ["node -e 'fetch(\"https://x\", {method:\"POST\", body: require(\"fs\").readFileSync(\"/etc/hosts\")})'", "confirm"],
  • net Kevin-Liu-01-Jarhead-f6c3b40/packages/daemon/src/client.ts :1 import { createConnection, type Socket } from "node:net";
  • net Kevin-Liu-01-Jarhead-f6c3b40/packages/daemon/src/server.ts :1 import { createServer, type Server, type Socket } from "node:net";
  • net Kevin-Liu-01-Jarhead-f6c3b40/packages/engine/src/engine.ts :930 const r = await fetch(`https://api.openai.com/v1/models/${encodeURIComponent(this.config.liveModel)}`, {

secrets 4

  • secrets Kevin-Liu-01-Jarhead-f6c3b40/packages/brain/src/claude.ts :63 let key = process.env["ANTHROPIC_API_KEY"];
  • secrets (weak) Kevin-Liu-01-Jarhead-f6c3b40/packages/core/src/__tests__/env.test.ts :40 assert.equal(process.env["OPENAI_API_KEY"], "sk-new");
  • secrets (weak) Kevin-Liu-01-Jarhead-f6c3b40/packages/core/src/__tests__/policy.test.ts :217 ["node -e 'console.log(process.env.ANTHROPIC_API_KEY)'", "refuse"],
  • secrets Kevin-Liu-01-Jarhead-f6c3b40/packages/core/src/env.ts :137 openai: Boolean(process.env["OPENAI_API_KEY"]),

declared dependencies 16

  • @modelcontextprotocol/sdk@^1.30.0
  • @anthropic-ai/claude-agent-sdk@^0.3.267
  • @anthropic-ai/sdk@^0.116.0
  • @jarhead/agents@workspace:*
  • @jarhead/brain@workspace:*
  • @jarhead/cli@workspace:*
  • @jarhead/core@workspace:*
  • @jarhead/daemon@workspace:*
  • @jarhead/engine@workspace:*
  • @jarhead/hands@workspace:*
  • @jarhead/live@workspace:*
  • @jarhead/protocol@workspace:*
show 4 more
  • zod@^4.0.0
  • @types/node@^24.10.1
  • tsx@^4.20.6
  • typescript@^5.9.3

clipboard 1

  • clipboard shell call Kevin-Liu-01-Jarhead-f6c3b40/packages/brain/src/runner.ts :690 const r = await runShell({ command: "pbpaste", argv: ["/usr/bin/pbpaste"], timeoutMs: 5000, env: this.opts.env });