github TypeScript analyzed d47bcc6

xopcai/xopc

github

Open-source, self-hosted personal AI runtime for durable goals, agent workflows, and automations—local-first, BYOK, and available on desktop, web, CLI, and chat.

maintainer
xopcai
license
MIT
first seen
2026-06-07
last seen
2026-08-02
releases · 30d
39
short id

Drift inferred · capture-to-capture

  1. HIGH code analysis flagged dynamic code execution ×3 in xopcai/xopc
  2. HIGH code analysis flagged dynamic code execution in xopcai/xopc
  3. HIGH code analysis flagged dynamic code execution in xopcai/xopc
  4. HIGH code analysis flagged dynamic code execution in xopcai/xopc
  5. HIGH code analysis flagged dynamic code execution in xopcai/xopc
  6. HIGH code analysis flagged dynamic code execution in xopcai/xopc
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 d47bcc6 · analyzer v28 · 2d ago

skills & prompt files 23

danger signals17

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

code files: 3770

filesystem 105

  • fs xopcai-xopc-d47bcc6/apps/mobile-expo/plugins/with-ios-share-intake.js :1 const fs = require('fs');
  • fs xopcai-xopc-d47bcc6/electron/desktop-pet/prefs.ts :1 import { mkdir, readFile, readdir, writeFile } from "node:fs/promises";
  • fs xopcai-xopc-d47bcc6/electron/desktop-pet/window.ts :1 import { mkdir } from "node:fs/promises";
  • fs xopcai-xopc-d47bcc6/electron/devtools.ts :1 import { appendFileSync, mkdirSync } from 'node:fs';
  • fs xopcai-xopc-d47bcc6/electron/ensure-gateway-config.ts :1 import { mkdirSync, writeFileSync } from 'node:fs';
  • fs xopcai-xopc-d47bcc6/electron/gateway-process.ts :2 import { existsSync } from 'node:fs';
  • fs xopcai-xopc-d47bcc6/electron/ipc/file-ipc.ts :1 import { mkdir, readdir, readFile, stat, writeFile } from 'node:fs/promises';
  • fs xopcai-xopc-d47bcc6/electron/ipc/system-settings-ipc.ts :8 import { constants as fsConstants, access, readFile, writeFile } from 'node:fs/promises';
  • fs xopcai-xopc-d47bcc6/electron/main.ts :1 import { existsSync } from 'node:fs';
  • fs xopcai-xopc-d47bcc6/electron/uninstall/dir-size.ts :2 import { readdir, stat } from 'node:fs/promises';
  • fs xopcai-xopc-d47bcc6/electron/uninstall/paths.ts :1 import { existsSync } from 'node:fs';
  • fs xopcai-xopc-d47bcc6/electron/uninstall/remove-user-data-dirs.ts :1 import { rm } from 'node:fs/promises';
  • fs xopcai-xopc-d47bcc6/electron/voice-input-hotkey.ts :2 import { existsSync } from 'node:fs';
  • fs xopcai-xopc-d47bcc6/electron/window-state.ts :1 import { existsSync, readFileSync, writeFileSync } from 'node:fs';
  • fs xopcai-xopc-d47bcc6/extensions/feishu/src/adapters/cli-login.ts :8 import fs from 'node:fs';
  • fs xopcai-xopc-d47bcc6/extensions/feishu/src/outbound/media-load.ts :1 import { promises as fs } from 'node:fs';
  • fs xopcai-xopc-d47bcc6/extensions/telegram/src/token-resolver.ts :1 import { readFileSync } from 'node:fs';
  • fs xopcai-xopc-d47bcc6/extensions/telegram/src/update-offset-store.ts :1 import { mkdirSync, readFileSync, writeFileSync, renameSync } from 'node:fs';
  • fs xopcai-xopc-d47bcc6/extensions/tts-local-cli/index.ts :33 import { mkdtempSync, readdirSync, readFileSync, rmSync } from 'node:fs';
  • fs xopcai-xopc-d47bcc6/extensions/weixin/src/api/api.ts :2 import fs from "node:fs";
  • fs xopcai-xopc-d47bcc6/extensions/weixin/src/auth/accounts.ts :1 import fs from 'node:fs';
  • fs xopcai-xopc-d47bcc6/extensions/weixin/src/cdn/upload.ts :2 import fs from "node:fs/promises";
  • fs xopcai-xopc-d47bcc6/extensions/weixin/src/cli/gateway-qr-login.ts :5 import { readFileSync, writeFileSync } from "node:fs";
  • fs xopcai-xopc-d47bcc6/extensions/weixin/src/media/data-url.ts :1 import fs from "node:fs/promises";
  • fs xopcai-xopc-d47bcc6/extensions/weixin/src/messaging/debug-mode.ts :10 import fs from "node:fs";
  • fs xopcai-xopc-d47bcc6/extensions/weixin/src/messaging/inbound.ts :1 import fs from "node:fs";
  • fs xopcai-xopc-d47bcc6/extensions/weixin/src/messaging/process-message.ts :1 import { mkdir, readFile, writeFile } from 'node:fs/promises';
  • fs xopcai-xopc-d47bcc6/extensions/weixin/src/storage/sync-buf.ts :1 import fs from 'node:fs';
  • fs xopcai-xopc-d47bcc6/src/agent/agent-scope.ts :5 import fs from 'node:fs';
  • fs xopcai-xopc-d47bcc6/src/agent/bootstrap/load-bootstrap-files.ts :1 import { existsSync, readFileSync } from 'node:fs';
  • fs xopcai-xopc-d47bcc6/src/agent/bootstrap/project-agents-context.ts :1 import { existsSync, readFileSync } from 'node:fs';
  • fs xopcai-xopc-d47bcc6/src/agent/code-intelligence/binary.ts :20 } from 'node:fs';
  • fs xopcai-xopc-d47bcc6/src/agent/code-intelligence/runtime.ts :1 import { mkdirSync } from 'node:fs';
  • fs xopcai-xopc-d47bcc6/src/agent/context/expand-at-file-mentions.ts :1 import { readFile, readdir, stat } from 'node:fs/promises';
  • fs xopcai-xopc-d47bcc6/src/agent/context/workspace-seed.ts :7 import { existsSync, mkdirSync, readFileSync, writeFileSync } from 'node:fs';
  • fs xopcai-xopc-d47bcc6/src/agent/context/workspace-state.ts :6 import { mkdirSync, readFileSync, writeFileSync } from 'node:fs';
  • fs xopcai-xopc-d47bcc6/src/agent/context/workspace.ts :8 import { readFileSync, existsSync } from 'fs';
  • fs xopcai-xopc-d47bcc6/src/agent/image/load-image-media.ts :1 import { promises as fs } from 'node:fs';
  • fs xopcai-xopc-d47bcc6/src/agent/ipc/inbox.ts :1 import { readFile, readdir, rename, mkdir } from 'fs/promises';
  • fs xopcai-xopc-d47bcc6/src/agent/ipc/socket.ts :2 import { mkdir } from 'fs/promises';
  • fs xopcai-xopc-d47bcc6/src/agent/memory/builtin-memory-store.ts :6 import { existsSync, mkdirSync, readFileSync } from 'node:fs';
  • fs xopcai-xopc-d47bcc6/src/agent/memory/dreaming/deep-promotion.ts :1 import fs from 'node:fs/promises';
  • fs xopcai-xopc-d47bcc6/src/agent/memory/dreaming/events.ts :1 import fs from 'node:fs/promises';
  • fs xopcai-xopc-d47bcc6/src/agent/memory/dreaming/last-run.ts :1 import fs from 'node:fs/promises';
  • fs xopcai-xopc-d47bcc6/src/agent/memory/dreaming/light-sweep.ts :1 import fs from 'node:fs/promises';
  • fs xopcai-xopc-d47bcc6/src/agent/memory/dreaming/preview.ts :1 import fs from 'node:fs/promises';
  • fs xopcai-xopc-d47bcc6/src/agent/memory/dreaming/rem-patterns.ts :1 import fs from 'node:fs/promises';
  • fs xopcai-xopc-d47bcc6/src/agent/memory/dreaming/short-term-store.ts :1 import fs from 'node:fs/promises';
  • fs xopcai-xopc-d47bcc6/src/agent/memory/dreaming/utils.ts :1 import fs from 'node:fs/promises';
  • fs xopcai-xopc-d47bcc6/src/agent/memory/plugin-discovery.ts :1 import { stat } from 'node:fs/promises';
  • fs xopcai-xopc-d47bcc6/src/agent/prompt/memory/index.ts :2 import { readFileSync, existsSync } from 'fs';
  • fs xopcai-xopc-d47bcc6/src/agent/reply/post-compaction-context.ts :1 import { readFileSync } from 'node:fs';
  • fs xopcai-xopc-d47bcc6/src/agent/reply/workspace-boundary-read.ts :1 import { readFileSync } from 'node:fs';
  • fs xopcai-xopc-d47bcc6/src/agent/service.ts :9 import { existsSync, readFileSync } from 'node:fs';
  • fs xopcai-xopc-d47bcc6/src/agent/session/session-config-service.ts :17 import { mkdir } from 'node:fs/promises';
  • fs xopcai-xopc-d47bcc6/src/agent/session/session-hydrator.ts :17 import { mkdir } from 'node:fs/promises';
  • fs xopcai-xopc-d47bcc6/src/agent/skills/config.ts :8 import { existsSync, readFileSync } from 'fs';
  • fs xopcai-xopc-d47bcc6/src/agent/skills/hub-hash.ts :6 import { createReadStream } from 'node:fs';
  • fs xopcai-xopc-d47bcc6/src/agent/skills/hub-lock.ts :5 import { existsSync, readFileSync } from 'node:fs';
  • fs xopcai-xopc-d47bcc6/src/agent/skills/hub-pull.ts :17 } from 'node:fs';
  • fs xopcai-xopc-d47bcc6/src/agent/skills/index.ts :1 import { existsSync, readdirSync, readFileSync } from 'fs';
  • fs xopcai-xopc-d47bcc6/src/agent/skills/installer.ts :10 import { accessSync, constants, existsSync } from 'fs';
  • fs xopcai-xopc-d47bcc6/src/agent/skills/managed-store.ts :15 } from 'node:fs';
  • fs xopcai-xopc-d47bcc6/src/agent/skills/scanner.ts :6 import { readdir, readFile } from 'fs/promises';
  • fs xopcai-xopc-d47bcc6/src/agent/skills/skill-manage-ops.ts :5 import { existsSync, realpathSync } from 'fs';
  • fs xopcai-xopc-d47bcc6/src/agent/skills/skill-view-path.ts :5 import { existsSync, realpathSync } from 'fs';
  • fs xopcai-xopc-d47bcc6/src/agent/skills/watcher.ts :8 import { watch } from 'fs';
  • fs xopcai-xopc-d47bcc6/src/agent/starter-agents.ts :1 import { existsSync, mkdirSync, writeFileSync } from 'node:fs';
  • fs xopcai-xopc-d47bcc6/src/agent/tools/apply-patch.ts :3 import { mkdir, readFile, rm, stat, writeFile } from 'node:fs/promises';
  • fs xopcai-xopc-d47bcc6/src/agent/tools/dreaming-tool.ts :1 import fs from 'node:fs/promises';
  • fs xopcai-xopc-d47bcc6/src/agent/tools/find.ts :3 import { existsSync } from 'fs';
  • fs xopcai-xopc-d47bcc6/src/agent/tools/grep.ts :3 import { readFileSync, existsSync, statSync } from 'fs';
  • fs xopcai-xopc-d47bcc6/src/agent/tools/image-generate-tool.ts :2 import { mkdir, readFile, writeFile } from 'node:fs/promises';
  • fs xopcai-xopc-d47bcc6/src/agent/tools/list-dir.ts :4 import { readdir } from 'fs/promises';
  • fs xopcai-xopc-d47bcc6/src/agent/tools/read.ts :4 import { readFile, stat } from 'fs/promises';
  • fs xopcai-xopc-d47bcc6/src/agent/tools/send-media.ts :3 import { readFile } from 'fs/promises';
  • fs xopcai-xopc-d47bcc6/src/agent/tools/skill-manage-tool.ts :3 import { existsSync, rmSync } from 'fs';
  • fs xopcai-xopc-d47bcc6/src/agent/tools/skills-tools.ts :1 import { readFileSync, statSync } from 'fs';
  • fs xopcai-xopc-d47bcc6/src/agent/tools/write.ts :8 import { writeFile, mkdir } from 'fs/promises';
  • fs xopcai-xopc-d47bcc6/src/agent/workflow/catalog.ts :1 import { existsSync, mkdirSync, readdirSync, readFileSync, renameSync, rmSync, statSync, unlinkSync, writeFileSync } from 'node:fs';
  • fs xopcai-xopc-d47bcc6/src/auth/credentials.ts :1 import { readFile, mkdir, rm, readdir } from 'fs/promises';
  • fs xopcai-xopc-d47bcc6/src/auth/profiles/store.ts :8 import { chmodSync, existsSync, mkdirSync, readFileSync } from 'node:fs';
  • fs xopcai-xopc-d47bcc6/src/auth/sync-provider-auth.ts :6 import { existsSync, readFileSync } from 'node:fs';
  • fs xopcai-xopc-d47bcc6/src/browser/cdp-local-launcher.ts :10 import { existsSync } from 'node:fs';
  • fs xopcai-xopc-d47bcc6/src/browser/pipeline/source.ts :1 import { readFile } from 'node:fs/promises';
  • fs xopcai-xopc-d47bcc6/src/browser/providers/browser-ext-install.ts :15 } from 'node:fs';
  • fs xopcai-xopc-d47bcc6/src/browser/providers/cloakbrowser.ts :12 import { createReadStream, createWriteStream } from 'node:fs';
  • fs xopcai-xopc-d47bcc6/src/browser/providers/playwright-doctor.ts :1 import { existsSync } from 'node:fs';
  • fs xopcai-xopc-d47bcc6/src/browser/stealth.ts :10 import { stat, chmod } from 'node:fs/promises';
  • fs xopcai-xopc-d47bcc6/src/channels/catalog/channel-catalog-service.ts :1 import { existsSync, readFileSync } from 'node:fs';
  • fs xopcai-xopc-d47bcc6/src/channels/outbound/persist-store.ts :5 import { existsSync, mkdirSync, readFileSync } from 'fs';
  • fs xopcai-xopc-d47bcc6/src/channels/pairing/allow-from-file.ts :1 import fs from 'node:fs';
  • fs xopcai-xopc-d47bcc6/src/channels/pairing/pairing-store.ts :2 import fs from 'node:fs';
  • fs xopcai-xopc-d47bcc6/src/chat-commands/agent-edit.ts :5 import { readFile } from 'node:fs/promises';
  • fs xopcai-xopc-d47bcc6/src/chat-commands/context.ts :30 import { mkdir, writeFile } from 'fs/promises';
  • fs xopcai-xopc-d47bcc6/src/cli/commands/agents.ts :5 import { mkdir } from 'node:fs/promises';
  • fs xopcai-xopc-d47bcc6/src/cli/commands/config.ts :2 import { existsSync, readFileSync } from 'fs';
  • fs xopcai-xopc-d47bcc6/src/cli/commands/doctor/checks/channel-config.ts :1 import { existsSync } from 'node:fs';
  • fs xopcai-xopc-d47bcc6/src/cli/commands/doctor/checks/channel-pairing-pending.ts :1 import { existsSync } from 'node:fs';
  • fs xopcai-xopc-d47bcc6/src/cli/commands/doctor/checks/channel-plugins.ts :1 import { existsSync } from 'node:fs';
  • fs xopcai-xopc-d47bcc6/src/cli/commands/doctor/checks/config-health.ts :1 import { existsSync, readFileSync } from 'node:fs';
  • fs xopcai-xopc-d47bcc6/src/cli/commands/doctor/checks/database-schema.ts :1 import { existsSync } from 'node:fs';
  • fs xopcai-xopc-d47bcc6/src/cli/commands/doctor/checks/gateway-health.ts :1 import { existsSync } from 'node:fs';
  • fs xopcai-xopc-d47bcc6/src/cli/commands/doctor/checks/gateway-service.ts :2 import { existsSync } from 'node:fs';
  • fs xopcai-xopc-d47bcc6/src/cli/commands/doctor/checks/provider-auth.ts :1 import { existsSync } from 'node:fs';

shell / exec 25

  • shell xopcai-xopc-d47bcc6/electron.vite.config.ts :1 import { execSync } from 'node:child_process';
  • shell xopcai-xopc-d47bcc6/electron/gateway-process.ts :1 import { type ChildProcess, spawn, spawnSync } from 'node:child_process';
  • shell xopcai-xopc-d47bcc6/electron/ipc/file-ipc.ts :4 import { spawn } from 'node:child_process';
  • shell xopcai-xopc-d47bcc6/electron/ipc/search-ipc.ts :1 import { spawn } from 'node:child_process';
  • shell xopcai-xopc-d47bcc6/electron/ipc/system-settings-ipc.ts :7 import { execFile } from 'node:child_process';
  • shell xopcai-xopc-d47bcc6/electron/uninstall/dir-size.ts :1 import { execFile } from 'node:child_process';
  • shell xopcai-xopc-d47bcc6/electron/uninstall/paths.ts :29 const { execFile } = await import('node:child_process');
  • shell xopcai-xopc-d47bcc6/electron/uninstall/uninstall-win32.ts :1 import { spawn } from 'node:child_process';
  • shell xopcai-xopc-d47bcc6/electron/voice-input-hotkey.ts :1 import { spawn, type ChildProcessByStdio } from 'node:child_process';
  • shell xopcai-xopc-d47bcc6/extensions/tts-local-cli/index.ts :32 import { spawn } from 'node:child_process';
  • shell xopcai-xopc-d47bcc6/src/agent/code-intelligence/binary.ts :1 import { execFile } from 'node:child_process';
  • shell xopcai-xopc-d47bcc6/src/agent/code-intelligence/tools.ts :1 import { execFile } from 'node:child_process';
  • shell xopcai-xopc-d47bcc6/src/agent/context/workspace-seed.ts :6 import { execFileSync } from 'node:child_process';
  • shell xopcai-xopc-d47bcc6/src/agent/mcp/mcp-stdio-transport.ts :1 import { spawn, type ChildProcess } from "node:child_process";
  • shell xopcai-xopc-d47bcc6/src/agent/skills/hub-pull.ts :5 import { execFileSync } from 'node:child_process';
  • shell xopcai-xopc-d47bcc6/src/agent/skills/installer.ts :8 import { exec } from 'child_process';
  • shell xopcai-xopc-d47bcc6/src/agent/skills/scanner.ts :39 message: 'child_process.exec usage',
  • shell xopcai-xopc-d47bcc6/src/agent/tools/exec-command.ts :7 import { spawn } from 'node:child_process';
  • shell xopcai-xopc-d47bcc6/src/browser/cdp-local-launcher.ts :14 import { ChildProcess, spawn } from 'node:child_process';
  • shell xopcai-xopc-d47bcc6/src/browser/manager.ts :32 private cloakChildProcess: import('node:child_process').ChildProcess | null = null;
  • shell xopcai-xopc-d47bcc6/src/browser/providers/browser-ext-install.ts :17 import { spawn } from 'node:child_process';
  • shell xopcai-xopc-d47bcc6/src/browser/providers/cloakbrowser.ts :18 import { ChildProcess, spawn } from 'node:child_process';
  • shell xopcai-xopc-d47bcc6/src/browser/providers/playwright-install.ts :1 import { spawn } from 'node:child_process';
  • shell xopcai-xopc-d47bcc6/src/browser/session-lifecycle.ts :156 const { exec } = await import('node:child_process');
  • shell xopcai-xopc-d47bcc6/src/browser/stealth.ts :9 import { exec } from 'node:child_process';

network 63

  • net xopcai-xopc-d47bcc6/apps/mobile-expo/src/api/client.ts :98 res = await fetch(url, { ...init, headers, signal: controller.signal });
  • net xopcai-xopc-d47bcc6/apps/mobile-expo/src/api/connection-strategy.ts :100 const res = await fetch(fetchUrl, {
  • net xopcai-xopc-d47bcc6/apps/mobile-expo/src/api/dual-fire-fetch.ts :120 fetch(joinUrl(attempt.url, path), {
  • net xopcai-xopc-d47bcc6/apps/mobile-expo/src/api/mobile-pair.ts :28 const res = await fetch(`${root}/api/tunnel/pair/ping`, { signal });
  • net xopcai-xopc-d47bcc6/apps/mobile-expo/src/api/share.ts :147 const res = await fetch(thumbnailUrl, { method: 'HEAD', headers });
  • net xopcai-xopc-d47bcc6/apps/mobile-expo/src/features/chat/FilePreviewModal.tsx :125 const res = await fetch(file.remoteUri, headers ? { headers } : undefined);
  • net xopcai-xopc-d47bcc6/apps/mobile-expo/src/features/chat/attachment-file-io.ts :41 res = await fetch(uri);
  • net xopcai-xopc-d47bcc6/apps/mobile-expo/src/features/gateway/GatewayEditScreen.tsx :205 const res = await fetch(`${active}/health`, { signal: controller.signal, headers });
  • net xopcai-xopc-d47bcc6/apps/mobile-expo/src/features/gateway/network-info.ts :121 const state = await mod.fetch();
  • net xopcai-xopc-d47bcc6/apps/mobile-expo/src/features/gateway/pair-gateway.ts :117 const res = await fetch(`${origin}/api/tunnel/exchange-token`, {
  • net xopcai-xopc-d47bcc6/apps/mobile-expo/src/query/notes.ts :188 const blob = await fetch(`data:${attachment.mimeType};base64,${attachment.data.replace(/\s/g, '')}`).then((res) => res.blob());
  • net xopcai-xopc-d47bcc6/electron/gateway-process.ts :3 import { createServer } from 'node:net';
  • net xopcai-xopc-d47bcc6/electron/tunnel-main.ts :38 const res = await fetch(`http://127.0.0.1:${embeddedGatewayPort}/api/tunnel/status`, {
  • net xopcai-xopc-d47bcc6/extensions/dashscope/src/image-generation-provider.ts :176 const res = await fetch(url, { redirect: 'follow', signal });
  • net xopcai-xopc-d47bcc6/extensions/demo-skill-hub/index.ts :71 const res = await fetch(`${base}${path}`, { headers: { Accept: 'application/json' } });
  • net xopcai-xopc-d47bcc6/extensions/fal/src/image-generation-provider.ts :248 const res = await fetch(statusUrl, { headers, signal });
  • net xopcai-xopc-d47bcc6/extensions/feishu/src/auth/app-registration.ts :26 const response = await fetch(`${baseUrl}${REGISTRATION_PATH}`, {
  • net xopcai-xopc-d47bcc6/extensions/feishu/src/outbound/media-load.ts :41 const res = await fetch(input, { redirect: 'follow' });
  • net xopcai-xopc-d47bcc6/extensions/feishu/src/transport/webhook/monitor.ts :2 import * as http from 'node:http';
  • net xopcai-xopc-d47bcc6/extensions/telegram/src/inbound-processor.ts :180 const response = await fetch(downloadUrl);
  • net xopcai-xopc-d47bcc6/extensions/telegram/src/outbound-sender.ts :241 const response = await fetch(mediaUrl);
  • net xopcai-xopc-d47bcc6/extensions/telegram/src/proxy-fetch.ts :1 import { ProxyAgent, fetch as undiciFetch } from 'undici';
  • net xopcai-xopc-d47bcc6/extensions/weixin/src/api/api.ts :6 import { Agent, EnvHttpProxyAgent, type Dispatcher, fetch as undiciFetch } from "undici";
  • net xopcai-xopc-d47bcc6/extensions/weixin/src/cdn/cdn-upload.ts :42 const res = await fetch(cdnUrl, {
  • net xopcai-xopc-d47bcc6/extensions/weixin/src/cdn/pic-decrypt.ts :11 res = await fetch(url);
  • net xopcai-xopc-d47bcc6/extensions/weixin/src/cdn/upload.ts :33 const res = await fetch(url);
  • net xopcai-xopc-d47bcc6/packages/gateway-sse-client/src/agent-sse.ts :461 * Use XHR `onprogress` for incremental SSE when `fetch().body` is unavailable (React Native Android/iOS).
  • net xopcai-xopc-d47bcc6/src/agent/image/load-image-media.ts :66 const res = await fetch(input, { redirect: 'follow' });
  • net xopcai-xopc-d47bcc6/src/agent/ipc/socket.ts :1 import { createServer, Server, Socket } from 'net';
  • net xopcai-xopc-d47bcc6/src/agent/mcp/mcp-transport.ts :7 import { fetch as undiciFetch } from "undici";
  • net xopcai-xopc-d47bcc6/src/agent/skills/hub-pull.ts :22 import { fetch } from 'undici';
  • net xopcai-xopc-d47bcc6/src/agent/skills/marketplace/adapters/clawhub/adapter.ts :163 const res = await fetch(url, {
  • net xopcai-xopc-d47bcc6/src/agent/skills/marketplace/adapters/skillhub/adapter.ts :170 const res = await fetch(url, {
  • net xopcai-xopc-d47bcc6/src/agent/skills/marketplace/adapters/store/store-api-client.ts :140 const res = await fetch(url, {
  • net xopcai-xopc-d47bcc6/src/agent/tools/search/providers/bing-api.ts :20 const response = await fetch(url, {
  • net xopcai-xopc-d47bcc6/src/agent/tools/search/providers/bing-html.ts :27 const response = await fetch(url.toString(), {
  • net xopcai-xopc-d47bcc6/src/agent/tools/search/providers/brave.ts :17 const response = await fetch(url, {
  • net xopcai-xopc-d47bcc6/src/agent/tools/search/providers/duckduckgo-html.ts :26 const response = await fetch(DDG_HTML, {
  • net xopcai-xopc-d47bcc6/src/agent/tools/search/providers/searxng.ts :20 const response = await fetch(url, { signal });
  • net xopcai-xopc-d47bcc6/src/agent/tools/search/providers/tavily.ts :16 const response = await fetch('https://api.tavily.com/search', {
  • net xopcai-xopc-d47bcc6/src/agent/tools/url-safety.ts :14 import { isIPv4, isIPv6 } from 'node:net';
  • net xopcai-xopc-d47bcc6/src/agent/tools/web-extract.ts :45 const response = await fetch(url, {
  • net xopcai-xopc-d47bcc6/src/agent/tools/web.ts :145 const response = await fetch(p.url, { signal });
  • net xopcai-xopc-d47bcc6/src/auth/oauth/anthropic.ts :41 const tokenResponse = await fetch(TOKEN_URL, {
  • net xopcai-xopc-d47bcc6/src/auth/oauth/google-oauth/google-antigravity.ts :9 import type { Server } from "node:http";
  • net xopcai-xopc-d47bcc6/src/auth/oauth/google-oauth/google-gemini-cli.ts :9 import type { Server } from "node:http";
  • net xopcai-xopc-d47bcc6/src/auth/oauth/kimi-coding.ts :19 const deviceResponse = await fetch(KIMI_OAUTH_DEVICE_URL, {
  • net xopcai-xopc-d47bcc6/src/auth/oauth/minimax-cn.ts :48 const tokenResponse = await fetch(MINIMAX_CN_OAUTH_TOKEN_URL, {
  • net xopcai-xopc-d47bcc6/src/auth/oauth/minimax.ts :48 const tokenResponse = await fetch(MINIMAX_OAUTH_TOKEN_URL, {
  • net xopcai-xopc-d47bcc6/src/auth/oauth/openai-codex.ts :8 import http from 'node:http';
  • net xopcai-xopc-d47bcc6/src/automations/service/automation-service.ts :510 const response = await fetch(url, {
  • net xopcai-xopc-d47bcc6/src/browser/actions/registry.ts :569 const response = await fetch(url, { method, headers, body });
  • net xopcai-xopc-d47bcc6/src/browser/cdp-local-launcher.ts :100 const res = await fetch(`http://127.0.0.1:${port}/json/version`, {
  • net xopcai-xopc-d47bcc6/src/browser/free-port.ts :1 import { createServer } from 'node:net';
  • net xopcai-xopc-d47bcc6/src/browser/pipeline/source.ts :66 const response = await fetch(url, {
  • net xopcai-xopc-d47bcc6/src/browser/providers/browser-use.ts :39 const response = await fetch(createUrl, {
  • net xopcai-xopc-d47bcc6/src/browser/providers/browserbase.ts :45 const response = await fetch(createUrl, {
  • net xopcai-xopc-d47bcc6/src/browser/providers/cloakbrowser.ts :262 const response = await fetch(url, { redirect: 'follow', signal });
  • net xopcai-xopc-d47bcc6/src/browser/readiness.ts :88 const res = await fetch(`http://${host}:${port}/`, {
  • net xopcai-xopc-d47bcc6/src/browser/url-policy.ts :1 import { isIPv4, isIPv6 } from 'node:net';
  • net xopcai-xopc-d47bcc6/src/capabilities/store-connector.ts :2 import { isIP } from 'node:net';
  • net xopcai-xopc-d47bcc6/src/cli/commands/browser-cli-helpers.ts :178 const res = await fetch(`http://${host}:${port}/`);
  • net xopcai-xopc-d47bcc6/src/cli/commands/doctor/checks/gateway-health.ts :46 const res = await fetch(url, { signal: controller.signal });

secrets 7

  • secrets xopcai-xopc-d47bcc6/extensions/demo-provider/index.ts :110 : (process.env.DEMO_API_KEY ?? '');
  • secrets xopcai-xopc-d47bcc6/extensions/telegram/src/adapters/onboard-cli.ts :29 return process.env.TELEGRAM_BOT_TOKEN?.trim() || null;
  • secrets xopcai-xopc-d47bcc6/extensions/telegram/src/adapters/setup-wizard.ts :12 return (fromAcc as string | undefined) || process.env.TELEGRAM_BOT_TOKEN;
  • secrets xopcai-xopc-d47bcc6/src/agent/skills/hub-pull.ts :83 const token = process.env.GITHUB_TOKEN || process.env.GH_TOKEN;
  • secrets xopcai-xopc-d47bcc6/src/browser/providers/browser-use.ts :32 const apiKey = this.config.apiKey || process.env.BROWSER_USE_API_KEY;
  • secrets xopcai-xopc-d47bcc6/src/browser/providers/browserbase.ts :32 const apiKey = this.config.apiKey || process.env.BROWSERBASE_API_KEY;
  • secrets xopcai-xopc-d47bcc6/src/browser/readiness.ts :183 ? process.env.BROWSERBASE_API_KEY?.trim()

install hooks 1

  • prepublishOnly xopcai-xopc-d47bcc6/package.json :92 npm test && npm run test:skills:all && npm run build && npm run release:check-package

declared dependencies 77

  • @modelcontextprotocol/sdk@1.29.0
  • @earendil-works/pi-agent-core@0.82.1
  • @earendil-works/pi-ai@0.82.1
  • @earendil-works/pi-coding-agent@0.82.1
  • @earendil-works/pi-tui@0.82.1
  • @grammyjs/runner@^2.0.3
  • @hono/node-server@^2.0.4
  • @inquirer/prompts@^8.5.0
  • @mozilla/readability@^0.6.0
  • @sinclair/typebox@^0.34.49
  • @vscode/ripgrep@^1.18.0
  • abort-controller@^3.0.0
  • adm-zip@^0.6.0
  • ajv@^8.20.0
  • chalk@^5.6.2
  • chokidar@^5.0.0
  • cli-table3@^0.6.5
  • commander@^14.0.3
  • cron-parser@^5.5.0
  • dotenv@^17.4.2
  • glob@^13.0.6
  • grammy@^1.43.0
  • hono@^4.12.25
  • jiti@^2.7.0
  • js-yaml@^4.1.1
  • linkedom@0.18.13
  • markdown-it@^14.2.0
  • node-edge-tts@^1.2.10
  • openai@^6.48.0
  • pino@^10.3.1
  • pino-pretty@^13.1.3
  • proper-lockfile@^4.1.2
  • semver@^7.8.1
  • silk-wasm@^3.7.1
  • thread-stream@^4.2.0
  • undici@^8.5.0
  • uuid@^14.0.0
  • ws@^8.21.0
  • zod@^4.4.3
  • @composio/core@0.14.0
  • @composio/experimental@0.2.0
  • @huggingface/transformers@3.8.1
  • @larksuiteoapi/node-sdk@^1.66.0
  • @resvg/resvg-js@^2.6.2
  • @tailwindcss/vite@^4.3.0
  • @types/adm-zip@^0.5.8
  • @types/js-yaml@^4.0.9
  • @types/jsdom@^28.0.3
  • @types/markdown-it@^14.1.2
  • @types/node@^25.9.1
  • @types/qrcode-terminal@^0.12.2
  • @types/ws@^8.18.1
  • @vitejs/plugin-react-swc@^4.3.1
  • @xopcai/gateway-contract@workspace:*
  • codebase-memory-mcp@0.9.0
  • cross-env@^10.1.0
  • dependency-cruiser@^17.4.3
  • electron@^42.4.1
  • electron-builder@^26.15.3
  • electron-updater@6.8.9
  • electron-vite@^6.0.0-beta.1
  • esbuild@^0.28.1
  • eslint@^10.4.0
  • jsdom@^29.1.1
  • onnxruntime-common@1.21.0
  • playwright-core@^1.60.0
  • sherpa-onnx-node@1.13.4
  • svgo@4.0.2
  • tailwindcss@^4.3.0
  • tsdown@0.21.10
  • tsx@^4.22.3
  • typescript@^6.0.3
  • typescript-eslint@^8.60.0
  • vite@^8.0.16
  • vitepress@^1.6.4
  • vitest@4.1.5
  • vue@^3.5.35

clipboard 2

  • clipboard shell call xopcai-xopc-d47bcc6/src/tui/clipboard-image.ts :64 const list = runCommand('wl-paste', ['--list-types'], { timeoutMs: 1000 });
  • clipboard shell call xopcai-xopc-d47bcc6/src/tui/clipboard-text.ts :22 if (tryWrite('pbcopy', [], text)) return;

transport_posture 2

  • network-listening, binds all interfaces, no auth detected xopcai-xopc-d47bcc6/src/gateway/__tests__/ports.test.ts :92 server.listen(0, '0.0.0.0', () => {
  • network-listening, binds all interfaces, no auth detected xopcai-xopc-d47bcc6/src/gateway/ports.ts :302 export async function checkPortAvailable(port: number, host = "0.0.0.0"): Promise<boolean> {