github analyzed 6ecc3e5

Sirhap/PierCode

github

Local AI assistant proxy — connect ChatGPT/Claude/Gemini/Qwen to your local filesystem & browser via a Chrome extension + sandboxed Go server.

maintainer
Sirhap
license
NOASSERTION
first seen
2026-06-05
last seen
2026-06-05
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 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
code evidence vHEAD · github-tarball
evidence-backed findings quoted directly from the published source artifact — not inferred

filesystem 5

  • fs Sirhap-PierCode-6ecc3e5/extension/scripts/generate-icons.js :8 const fs = require('fs');
  • fs Sirhap-PierCode-6ecc3e5/extension/vite.config.ts :4 import { copyFileSync, mkdirSync, existsSync } from 'fs'
  • fs Sirhap-PierCode-6ecc3e5/scripts/browser-live-smoke.mjs :2 import { existsSync, mkdirSync, rmSync, statSync, writeFileSync } from 'node:fs';
  • fs Sirhap-PierCode-6ecc3e5/scripts/browser-smoke.mjs :3 import { existsSync, mkdirSync, rmSync, writeFileSync, statSync } from 'node:fs';
  • fs Sirhap-PierCode-6ecc3e5/scripts/tools-e2e.mjs :3 import { existsSync, mkdirSync, rmSync, statSync, writeFileSync } from 'node:fs';

shell / exec 3

  • shell Sirhap-PierCode-6ecc3e5/scripts/browser-smoke.mjs :2 import { spawn, spawnSync } from 'node:child_process';
  • shell Sirhap-PierCode-6ecc3e5/scripts/qwen-context-e2e.mjs :1 import { spawn } from 'node:child_process';
  • shell Sirhap-PierCode-6ecc3e5/scripts/tools-e2e.mjs :1 import { spawn, spawnSync } from 'node:child_process';

network 6

  • net Sirhap-PierCode-6ecc3e5/extension/src/background/index.ts :208 const response = await fetch(apiEndpoint(info.apiUrl, '/stats'), {
  • net Sirhap-PierCode-6ecc3e5/extension/src/popup/App.tsx :209 fetch(`${url}/health`)
  • net Sirhap-PierCode-6ecc3e5/scripts/browser-live-smoke.mjs :1 import { createServer } from 'node:http';
  • net Sirhap-PierCode-6ecc3e5/scripts/browser-smoke.mjs :1 import { createServer } from 'node:http';
  • net Sirhap-PierCode-6ecc3e5/scripts/qwen-context-e2e.mjs :210 const response = await fetch(`${apiUrl}/stats`, {
  • net Sirhap-PierCode-6ecc3e5/scripts/tools-e2e.mjs :2 import { createServer } from 'node:http';

secrets 2

  • secrets Sirhap-PierCode-6ecc3e5/scripts/browser-live-smoke.mjs :13 const token = process.env.PIERCODE_TOKEN || '';
  • secrets Sirhap-PierCode-6ecc3e5/scripts/qwen-context-e2e.mjs :4 const token = process.env.PIERCODE_TOKEN || '';

declared dependencies 1

  • ws@^8.21.0

clipboard 1

  • navigator.clipboard Sirhap-PierCode-6ecc3e5/extension/src/content/index.ts :223 await navigator.clipboard.writeText(payload);