ต้นแบบ · รุ่นทดลอง: มีทุก server ในทะเบียนทางการ อัปเดตทุก 30 นาที เข้าสู่ระบบด้วย Google เพื่อเขียนรีวิวได้แล้วต้นแบบ · อัปเดตทุก 30 นาที
PopNx MCPที่รวม MCP สำหรับคนใช้ AI · วิธีติดตั้งภาษาไทยทุกตัว

Shadowbroker Skill

โดย BigBodyCobain★ 11,5801 skill

ติดตั้ง

ใช้ทำอะไรได้

ยังไม่มีคำอธิบายภาษาไทย ดูข้อเท็จจริงด้านล่าง หรือเปิดคำอธิบายต้นฉบับจากผู้ทำ

  • ต่อแบบ ไฟล์คำสั่งให้ AI อ่าน ไม่ต่อบริการใด
  • บัญชีหรือคีย์ ไม่ต้องใส่คีย์
  • หมวด ข้อมูลและค้นคว้า
คำอธิบายต้นฉบับจากผู้ทำ (อังกฤษ)
Open-source intelligence for the global theater. Track everything from the corporate/private jets of the wealthy, and spy satellites, to seismic events in one unified interface. Hook an AI agent up to have it parse through data and find previously unseen correlations. The knowledge is available to…
สำหรับผู้ทำ: ติดป้ายใน README

ถ้าคุณเป็นผู้ทำตัวนี้ คัดลอกโค้ดนี้ไปวางใน README ได้เลย ป้ายลิงก์กลับมาที่หน้านี้

[![แนะนำบน PopNx MCP](https://mcp.popnx.com/badge/skill/bigbodycobain-shadowbroker.svg?lang=th)](https://mcp.popnx.com/th/skills/bigbodycobain-shadowbroker)

ใช้คู่กับ

MCP ที่ต่อ AI เข้ากับบริการในงานเดียวกัน

Firebase MCP

Gives AI development tools Firebase-specific capabilities and expertise.

โดย firebaseใช้กันมาก↓ 4.9M/สัปดาห์★ 4.5K ดาวรวมทั้งรีโปอัปเดต 12 เดือนที่ผ่านมา

MCP · ต่อบริการรันบนเครื่อง

Supabase

server ทางการของ Supabase ให้ AI สร้างตาราง ถามข้อมูล และดูการตั้งค่าโปรเจกต์ในฐานข้อมูล Supabase ของคุณ

โดย supabaseใช้กันมาก↓ 245.5K/สัปดาห์★ 3K ดาวรวมทั้งรีโปอัปเดต 3 วันที่ผ่านมา

MCP · ต่อบริการบนเครื่องหรือคลาวด์✓ เจ้าของบริการ · supabase.com

Dbx

Query databases from AI agents using connections configured in DBX.

โดย t8y2ใช้กันมาก↓ 9.4K/สัปดาห์★ 30.4Kอัปเดต 7 เดือนที่ผ่านมา

MCP · ต่อบริการรันบนเครื่อง

Skill ที่ทำงานคล้ายกัน

หมวดงานเดียวกัน เรียงแบบเดียวกับหน้ารายการ Skill

เทียบกับตัวที่คล้ายกัน
ตัวนี้
Shadowbroker
timesfmgoogle-maps-scraperSupervisor-SkillsAutoResearchClaw
ผู้ทำBigBodyCobaingoogle-researchgosomHKUSTDialaiming-lab
จำนวน Skill1111234
ดาว GitHub11,58035,5678,10712,58614,878
แก้โค้ดล่าสุด16 พ.ย. 256913 พ.ย. 256915 พ.ย. 25695 พ.ย. 256919 ส.ค. 2569
สัญญาอนุญาตAGPL-3.0Apache-2.0MIT–MIT

ชุดคำสั่ง (Skill) 1 ชุดจาก BigBodyCobain ให้ AI อ่านแล้วทำงานตามวิธีนี้ · ไม่ใช่ MCP server

Skill ต่างจาก MCP ยังไง

MCP = มือ

ต่อ AI เข้ากับบริการหรือข้อมูลข้างนอก เช่น อ่าน Notion หรือสร้างใบแจ้งหนี้ ต้องมีโปรแกรมหรือ server ทำงานอยู่

Skill = คู่มือ

ไฟล์ข้อความที่สอน AI ว่างานนี้ทำยังไง ไม่ต่อบริการใด

บางตัวคล้ายกัน: Skill บางตัวมีสคริปต์เรียกเครื่องมือ และ MCP บางตัวส่งแค่ความรู้ ให้ดูที่งานที่อยากทำเป็นหลัก

ใช้กับแอปไหน

ผู้ทำไม่ได้ระบุ · Skill แบบ SKILL.md ใช้ได้กับแอปที่รองรับ Agent Skills เช่น Claude Code, Codex และ Cursor

ติดตั้ง

ปลอดภัยไหม

  • ใครทำ

    บัญชี GitHub BigBodyCobain (บุคคล) เปิดมา 8 ปี

  • คนใช้และการดูแล

    ★ 11,580 ดาว · แก้โค้ดล่าสุด 16 พ.ย. 2569

  • มีสคริปต์ไหม

    มีสคริปต์ 9 ไฟล์ที่รันบนเครื่องได้: sb_get_summary.py, sb_gt_report.py, __init__.py, sb_alerts.py และอีก 5 ไฟล์

  • ใช้อินเทอร์เน็ตไหม

    สคริปต์ที่เรียกอินเทอร์เน็ต: verify_hmac.py

  • แก้ค่าตั้งทั้งเครื่องไหม

    ไม่พบ hook หรือการเขียนค่าตั้งของเครื่อง

ตรวจอัตโนมัติจากไฟล์ใน repo ที่ commit 5349d9d (อ่านไฟล์อย่างเดียว ไม่ได้รัน) ไม่ใช่การรับรองความปลอดภัย อ่านแล้วตัดสินใจเอง

ขั้นแรก: คุณใช้ AI ตัวไหน

เลือกแอปที่ใช้ แล้วหน้านี้จะแสดงเฉพาะวิธีติดตั้งของแอปนั้น

ทางที่ 1อัปโหลดเข้า claude.ai (เว็บและแอป)

  1. ดาวน์โหลดจาก GitHub

    Skill นี้ใช้ใบอนุญาต AGPL-3.0 ซึ่งไม่อยู่ในรายการที่เราแจกต่อ เราจึงไม่แจกไฟล์ ZIP จากเว็บเรา ดาวน์โหลดจาก GitHub แล้วจัดโฟลเดอร์เอง หรือใช้ทาง "ให้ AI ติดตั้งให้" ด้านบนซึ่งง่ายกว่า

    ดาวน์โหลดจาก GitHub (ทั้ง repo) ↗

    แตกไฟล์ แล้วบีบอัดเฉพาะโฟลเดอร์ openclaw-skills/shadowbroker ใหม่ ZIP ต้องมีโฟลเดอร์ shadowbroker ที่มี SKILL.md อยู่ชั้นบนสุด ห้ามวางไฟล์หลวมไว้ชั้นบนสุด

  2. เปิดหน้า Skills ใน claude.ai แล้วอัปโหลด

    +Create skillUpload a skillเลือกไฟล์ shadowbroker.zip

    เปิด claude.ai/customize/skills ↗

  3. ไม่เห็นปุ่ม Upload: เปิดสิทธิ์สร้างไฟล์ก่อน

    SettingsCapabilitiesCode execution and file creation

    ต้องเปิด Code execution and file creation ก่อน (เมนูรุ่นใหม่เรียก Create and edit files) · แผนส่วนตัวที่ Settings → Capabilities · Team/Enterprise ผู้ดูแลเปิดที่ Organization settings → Plugins & skills · ใช้ได้ทุกแผนรวมแผนฟรี

อัปโหลดครั้งเดียว ใช้ได้ทั้ง claude.ai และ Claude Desktop รวมถึง Claude Code รุ่นใหม่ที่ล็อกอินด้วยบัญชี Claude (ล็อกอินด้วยคีย์ API ไม่ซิงก์)

Cowork และ session บนคลาวด์ใช้ Skill ที่เปิดในบัญชี claude.ai ไม่อ่าน ~/.claude/skills ในเครื่อง (งานตั้งเวลาของ Claude Desktop ที่รันในเครื่องยังอ่านได้)

ตรวจกับเอกสารทางการล่าสุด 12 พ.ย. 2569 · แหล่ง: support.claude.com, support.claude.com, code.claude.com

ทางที่ 1ให้ Claude Code ติดตั้งให้

คัดลอกประโยคนี้ไปวางในแชตของ Claude Code

ติดตั้งไว้ที่ไหน

กำลังตรวจคำสั่ง · ปุ่มคัดลอกจะขึ้นเมื่อตรวจผ่าน

กำลังตรวจคำสั่ง · ปุ่มคัดลอกจะขึ้นเมื่อตรวจผ่าน

เลือกเฉพาะโปรเจกต์ ให้วางในแชตที่เปิดอยู่ในโฟลเดอร์ของโปรเจกต์นั้น · AI จะบอก path ให้ดูก่อนติดตั้งเสมอ

AI จะบอกก่อนว่าจะทำอะไร และขออนุญาตคุณทุกขั้น

เปิด Claude Code ใหม่ แล้วพิมพ์ /shadowbroker หรือสั่งงานที่ตรงเรื่อง Claude จะเลือกใช้เอง

ตรวจกับเอกสารทางการล่าสุด 12 พ.ย. 2569 · แหล่ง: code.claude.com

สำหรับคนที่ใช้ Terminal

Skill คือคำสั่งที่ AI จะทำตาม อ่านไฟล์ก่อนติดตั้ง และติดตั้งเฉพาะจากผู้ทำที่เชื่อถือได้

  1. เปิด Terminal

    Mac: กด Command+Space พิมพ์ Terminal · Windows: คำสั่งด้านล่างใช้ใน PowerShell ไม่ได้ ให้ใช้ทาง “ให้ AI ติดตั้งให้” ด้านบนแทน

  2. คัดลอกโฟลเดอร์ skill ไปไว้ที่ ~/.claude/skills

    คำสั่งนี้ดาวน์โหลด repo ไว้ชั่วคราว แล้วคัดลอกเฉพาะโฟลเดอร์ที่มี SKILL.md

    กำลังตรวจคำสั่ง · ปุ่มคัดลอกจะขึ้นเมื่อตรวจผ่าน

  3. เปิด Claude Code ใหม่ แล้วพิมพ์ /shadowbroker หรือสั่งงานที่ตรงเรื่อง Claude จะเลือกใช้เอง

Skill ที่ติดตั้งเองใช้ได้ในแอป ChatGPT บนคอม, Codex CLI และส่วนขยาย Codex ใน IDE · ChatGPT บนเว็บและมือถือใช้ Skill ที่ติดตั้งเองไม่ได้ ใช้ได้เฉพาะ Skill ที่มากับปลั๊กอินในไดเรกทอรี

แอป ChatGPT บนคอม

แอป ChatGPT บนคอมมี Codex อยู่ในตัว Codex อ่าน Skill จากโฟลเดอร์ ~/.agents/skills

ทางที่ 1ให้ ChatGPT ติดตั้งให้

เปิด Codex ในแอป ChatGPT บนคอม แล้ววางประโยคนี้ในแชต

ติดตั้งไว้ที่ไหน

กำลังตรวจคำสั่ง · ปุ่มคัดลอกจะขึ้นเมื่อตรวจผ่าน

กำลังตรวจคำสั่ง · ปุ่มคัดลอกจะขึ้นเมื่อตรวจผ่าน

AI จะบอก path ให้ดูก่อนติดตั้งเสมอ

AI จะบอกก่อนว่าจะทำอะไร และขออนุญาตคุณทุกขั้น

ทางที่ 2วางโฟลเดอร์เอง

วางโฟลเดอร์ shadowbroker ไว้ที่ ~/.agents/skills/shadowbroker

~ คือโฟลเดอร์บ้านของคุณ ($HOME)

สำหรับคนที่ใช้ Terminal

Skill คือคำสั่งที่ AI จะทำตาม อ่านไฟล์ก่อนติดตั้ง และติดตั้งเฉพาะจากผู้ทำที่เชื่อถือได้

  1. เปิด Terminal

    Mac: กด Command+Space พิมพ์ Terminal · Windows: คำสั่งด้านล่างใช้ใน PowerShell ไม่ได้ ให้ใช้ทาง “ให้ AI ติดตั้งให้” ด้านบนแทน

  2. คัดลอกโฟลเดอร์ skill ไปไว้ที่ ~/.agents/skills

    คำสั่งนี้ดาวน์โหลด repo ไว้ชั่วคราว แล้วคัดลอกเฉพาะโฟลเดอร์ที่มี SKILL.md

    กำลังตรวจคำสั่ง · ปุ่มคัดลอกจะขึ้นเมื่อตรวจผ่าน

หลังติดตั้ง

  • แอป ChatGPT บนคอม: เปิด Skills ในแถบข้างเพื่อดูว่า Skill ขึ้นแล้ว
  • เรียกใช้: ใน ChatGPT พิมพ์ @ แล้วเลือก Skill · ใน Codex CLI หรือส่วนขยายใน IDE พิมพ์ /skills หรือพิมพ์ $ แล้วตามด้วยชื่อ Skill
  • Codex เห็น Skill ที่ติดตั้งใหม่เอง ถ้ายังไม่ขึ้นให้ปิดแล้วเปิด Codex ใหม่

ตรวจกับเอกสารทางการล่าสุด 15 พ.ย. 2569 · แหล่ง: learn.chatgpt.com

ChatGPT บนเว็บและมือถือ

ใช้ Skill ที่ติดตั้งเองไม่ได้ ใช้ได้เฉพาะ Skill ที่มากับปลั๊กอินในไดเรกทอรี

อยากใช้ Skill นี้กับ ChatGPT ให้ใช้แอป ChatGPT บนคอมตามวิธีด้านบน

ตรวจกับเอกสารทางการล่าสุด 15 พ.ย. 2569 · แหล่ง: learn.chatgpt.com

ทางที่ 1ให้ Codex ติดตั้งให้

คัดลอกประโยคนี้ไปวางในแชตของ Codex · ใช้ได้ทั้ง Codex ในแอป ChatGPT บนคอม, Codex CLI และส่วนขยายใน IDE

ติดตั้งไว้ที่ไหน

กำลังตรวจคำสั่ง · ปุ่มคัดลอกจะขึ้นเมื่อตรวจผ่าน

กำลังตรวจคำสั่ง · ปุ่มคัดลอกจะขึ้นเมื่อตรวจผ่าน

เลือกเฉพาะโปรเจกต์ ให้วางในแชตที่เปิดอยู่ในโฟลเดอร์ของโปรเจกต์นั้น · AI จะบอก path ให้ดูก่อนติดตั้งเสมอ

AI จะบอกก่อนว่าจะทำอะไร และขออนุญาตคุณทุกขั้น

Codex เห็น Skill ที่ติดตั้งใหม่เอง ถ้ายังไม่ขึ้นให้ปิดแล้วเปิด Codex ใหม่ · เรียกใช้: ใน ChatGPT พิมพ์ @ แล้วเลือก Skill · ใน Codex CLI หรือส่วนขยายใน IDE พิมพ์ /skills หรือพิมพ์ $ แล้วตามด้วยชื่อ Skill

ตรวจกับเอกสารทางการล่าสุด 15 พ.ย. 2569 · แหล่ง: learn.chatgpt.com

สำหรับคนที่ใช้ Terminal

Skill คือคำสั่งที่ AI จะทำตาม อ่านไฟล์ก่อนติดตั้ง และติดตั้งเฉพาะจากผู้ทำที่เชื่อถือได้

  1. เปิด Terminal

    Mac: กด Command+Space พิมพ์ Terminal · Windows: คำสั่งด้านล่างใช้ใน PowerShell ไม่ได้ ให้ใช้ทาง “ให้ AI ติดตั้งให้” ด้านบนแทน

  2. คัดลอกโฟลเดอร์ skill ไปไว้ที่ ~/.agents/skills

    คำสั่งนี้ดาวน์โหลด repo ไว้ชั่วคราว แล้วคัดลอกเฉพาะโฟลเดอร์ที่มี SKILL.md

    กำลังตรวจคำสั่ง · ปุ่มคัดลอกจะขึ้นเมื่อตรวจผ่าน

  3. เปิด Codex ใหม่ แล้วสั่งงานที่ตรงเรื่อง Codex จะเห็น skill นี้ในรายการ

ทางที่ 1ให้ Cursor ติดตั้งให้

คัดลอกประโยคนี้ไปวางในแชตของ Cursor

ติดตั้งไว้ที่ไหน

กำลังตรวจคำสั่ง · ปุ่มคัดลอกจะขึ้นเมื่อตรวจผ่าน

กำลังตรวจคำสั่ง · ปุ่มคัดลอกจะขึ้นเมื่อตรวจผ่าน

เลือกเฉพาะโปรเจกต์ ให้วางในแชตที่เปิดอยู่ในโฟลเดอร์ของโปรเจกต์นั้น · AI จะบอก path ให้ดูก่อนติดตั้งเสมอ

AI จะบอกก่อนว่าจะทำอะไร และขออนุญาตคุณทุกขั้น

ใน Agent chat ของ Cursor พิมพ์ / แล้วเลือก shadowbroker

ตรวจกับเอกสารทางการล่าสุด 12 พ.ย. 2569 · แหล่ง: cursor.com

สำหรับคนที่ใช้ Terminal

Skill คือคำสั่งที่ AI จะทำตาม อ่านไฟล์ก่อนติดตั้ง และติดตั้งเฉพาะจากผู้ทำที่เชื่อถือได้

  1. เปิด Terminal

    Mac: กด Command+Space พิมพ์ Terminal · Windows: คำสั่งด้านล่างใช้ใน PowerShell ไม่ได้ ให้ใช้ทาง “ให้ AI ติดตั้งให้” ด้านบนแทน

  2. คัดลอกโฟลเดอร์ skill ไปไว้ที่ ~/.cursor/skills

    คำสั่งนี้ดาวน์โหลด repo ไว้ชั่วคราว แล้วคัดลอกเฉพาะโฟลเดอร์ที่มี SKILL.md

    กำลังตรวจคำสั่ง · ปุ่มคัดลอกจะขึ้นเมื่อตรวจผ่าน

  3. ใน Agent chat ของ Cursor พิมพ์ / แล้วเลือก shadowbroker

ทางที่ 1ให้ AI ติดตั้งให้

สำหรับแอปอื่นที่อ่าน Skill ได้ ประโยคนี้มี path ของ Claude Code, Codex และ Cursor ให้ AI เลือกตามแอปที่ใช้ · คัดลอกประโยคนี้ไปวางในแชตของแอป

ติดตั้งไว้ที่ไหน

กำลังตรวจคำสั่ง · ปุ่มคัดลอกจะขึ้นเมื่อตรวจผ่าน

กำลังตรวจคำสั่ง · ปุ่มคัดลอกจะขึ้นเมื่อตรวจผ่าน

เลือกเฉพาะโปรเจกต์ ให้วางในแชตที่เปิดอยู่ในโฟลเดอร์ของโปรเจกต์นั้น · AI จะบอก path ให้ดูก่อนติดตั้งเสมอ

AI จะบอกก่อนว่าจะทำอะไร และขออนุญาตคุณทุกขั้น

ตรวจกับเอกสารทางการล่าสุด 12 พ.ย. 2569 · แหล่ง: code.claude.com, learn.chatgpt.com, cursor.com

สำหรับคนที่ใช้ Terminal

แอปอื่นที่รองรับ Agent Skills (เช่น Gemini CLI, GitHub Copilot) เก็บ skill ในโฟลเดอร์ต่างกัน ดูคู่มือของแอปนั้น แล้วคัดลอกโฟลเดอร์ที่มี SKILL.md ไปวาง

ดูบน GitHub ↗

ตรวจโฟลเดอร์ skill กับคู่มือทางการของ Claude Code, Codex และ Cursor เมื่อ 11 พ.ย. 2569

ดูไฟล์ต้นฉบับ SKILL.md

ข้อความต่อไปนี้มาจาก repo ของผู้ทำ ไม่ใช่คำสั่งของ PopNx MCP

แสดง 8,000 ตัวอักษรแรก · เปิดไฟล์เต็มบน GitHub

---
name: shadowbroker
description: >
  Query the ShadowBroker OSINT intelligence platform for real-time geospatial
  intelligence, place AI intel pins on the map, manage autonomous monitoring,
  inject data into native layers, fetch satellite imagery, aggregate news,
  generate intelligence reports, and participate in the Wormhole mesh network.
---

# ShadowBroker Intelligence Skill

You have access to **ShadowBroker**, a real-time global OSINT intelligence platform
running on `localhost:8000`. It tracks military flights, ships, satellites, SIGINT,
earthquakes, fires, GDELT conflict events, prediction markets, and 30+ other data
layers — all with geographic coordinates.

## Agent Fast Path (read first)

ShadowBroker exposes dozens of read commands. **Do not explore them.** Use the
three-tool surface:

| Tool | When |
|------|------|
| `await sb.ask("natural language question")` | **Default for reads** — server routes to fastest command |
| `await sb.run_playbook("hot_snapshot")` | Pre-batched snapshots (morning brief, monitor poll, status) |
| `await sb.channel_status()` | Liveness (~5 ms) — never `/api/health` |

**Latency tiers:** `get_entity_profile` / `find_entity` / `get_entity_trail` / `find_flights` / `search_news` / `entities_near` → **⚡ <30 ms**.
`search_telemetry` / `get_telemetry` / `get_report` → **🔴 seconds** — blocked unless `confirm_expensive=true`.

```python
# Default read path (route + execute)
answer = await sb.ask("where is the Patriots jet")

# Named batch plans
brief = await sb.run_playbook("hot_snapshot")
monitor = await sb.run_playbook("monitor_heartbeat")

# Structured lookup when you already parsed fields
entity = await sb.send_command("find_entity", {"owner": "musk", "compact": True})

# Multi-command — always batch, never sequential loops
batch = await sb.send_batch([
    {"cmd": "get_summary", "args": {"compact": True}},
    {"cmd": "what_changed", "args": {"compact": True}},
])
```

**Playbooks:** `hot_snapshot`, `morning_brief`, `status_check`, `monitor_heartbeat`, `track_snapshot`, `jet_recon`, `area_brief`, `entity_recon`.

**Anti-patterns:** `search_telemetry` for known tail numbers; `get_telemetry` for routine polls; sequential `send_command` loops; empty `layers: []` on `get_layer_slice`.

Load machine-readable routing hints once: `GET /api/ai/capabilities` → `routing`.

## How to Use This Skill

Import the client and call methods:

```python
from sb_query import ShadowBrokerClient
sb = ShadowBrokerClient()  # auto-detects local or remote mode
```

### Local Mode (same machine)

No configuration needed. The client connects to `localhost:8000` automatically.

### Remote Mode (agent on different machine/VPS)

Set these environment variables in your agent's config:

```bash
SHADOWBROKER_URL=https://your-shadowbroker-host:8000
SHADOWBROKER_HMAC_SECRET=your-hmac-secret-here
```

The HMAC secret is found in ShadowBroker's **Connect OpenClaw** modal (AI Intel panel).
`SHADOWBROKER_HMAC_SECRET` is a shared signing secret, not a raw API key. Do not
send it as `X-Admin-Key`, `Authorization: Bearer`, a query parameter, or any
plain request header. The `ShadowBrokerClient` signs every direct request with
`X-SB-Timestamp`, `X-SB-Nonce`, and `X-SB-Signature` using:

```text
HMAC-SHA256(secret, METHOD|path|timestamp|nonce|sha256(body))
```

For compatibility with older snippets, `SHADOWBROKER_KEY` is also accepted by
the client as the same HMAC signing secret. Prefer `SHADOWBROKER_HMAC_SECRET`
for new setups.

**Docker Compose:** host-side agents (`localhost:8000` from the Kali/macOS host)
are not loopback inside the backend container — HMAC is required. After
**Connect OpenClaw → Bootstrap → Reveal**, the secret is persisted under
`data/openclaw.env` on the `backend_data` volume. Restart the backend once,
then verify with:

```bash
python openclaw-skills/shadowbroker/verify_hmac.py
```

Hand-rolled signers must hash the **exact** POST bytes. Use compact JSON:
`json.dumps(payload, separators=(",", ":"), sort_keys=True)`.

### SSE Stream (Preferred — Low-Latency Push)

Open the SSE stream **first** and keep it open for the session.  The server pushes
`layer_changed` events whenever any data layer refreshes — you know exactly which
layers to fetch instead of blind-polling.

```python
# Open the stream — authenticates once via HMAC, then stays open
async for event in sb.stream_updates():
    if event["event"] == "connected":
        # Initial handshake — contains full layer_versions snapshot
        print(f"Connected: {event['data']['layer_versions']}")

    elif event["event"] == "layer_changed":
        # Server tells you which layers updated and their new version/count
        changed = event["data"]["layers"]  # e.g. {"ships": {"version": 43, "count": 1287}}
        # Fetch ONLY the layers that actually changed
        data = await sb.get_layer_slice(list(changed.keys()))
        # get_layer_slice uses per-layer versions internally — only changed
        # layers are serialized, unchanged layers transfer zero bytes

    elif event["event"] == "alert":
        # Watchdog alert — geofence hit, callsign spotted, keyword matched
        print(f"Alert: {event['data']}")

    elif event["event"] == "task":
        # Operator-pushed task
        print(f"Task: {event['data']}")
```

### Command Channel (Bidirectional)

Send commands via HTTP alongside the SSE stream:

```python
# Send a command and get the result
result = await sb.send_command("get_summary")

# Batch multiple commands in one HTTP round-trip (concurrent execution)
results = await sb.send_batch([
    {"cmd": "find_flights", "args": {"query": "N189AM", "compact": True}},
    {"cmd": "search_news", "args": {"query": "carrier", "compact": True}},
])

# Check channel status and security tier
status = await sb.channel_status()
print(f"Tier {status['tier']}: {status['reason']}")
```

The channel operates over HMAC-authenticated HTTP with body-integrity binding:

- **HMAC Direct:** Commands are signed with HMAC-SHA256. Wire privacy relies on TLS.
- **SSE Stream:** Authenticates once at connection open — no per-event HMAC overhead.
- **MLS E2EE (planned, not yet available):** Future upgrade to route commands via Wormhole DM with forward secrecy.

---

## Available Tools

### 1. Telemetry Queries

**Primary pattern (lowest latency):** Use the SSE stream + targeted `get_layer_slice`:

| Method | What It Returns | When to Use |
|--------|----------------|-------------|
| `sb.stream_updates()` | SSE push: `layer_changed`, alerts, tasks | **Open first, keep open** — tells you exactly which layers updated |
| `await sb.get_layer_slice(["ships", "gdelt"])` | Only the requested layers, with per-layer incremental | **Primary fetch method** — automatically skips layers you already have |
| `await sb.send_command("get_summary")` | Lightweight counts-only summary | Discover what data exists before pulling anything |
| `await sb.get_fetch_health()` | Sanitized process-local outcomes for instrumented fetch and maintenance tasks | Results reset on backend restart; condition is the latest recorded task completion, not data freshness |
| `await sb.ask("...")` | **Route + execute** | **Default** for natural-language reads |
| `await sb.send_command("get_entity_profile", {...})` | **Preferred aircraft/vessel dossier** — identity, VIP tags, trail, route, ACARS, jamming/correlations, news | Tail, owner, callsign, MMSI |
| `await sb.send_command("get_entity_trail", {...})` | Observed path + route + ACARS hints only | When you don't need full dossier |
| `await sb.send_command("find_entity", {...})` | Exact-first entity resolver | Parsed person/tail/callsign/MMSI — skips fuzzy unless `fallback_search=true` |
| `await sb.send_command("find_flights", {...})` | Targeted flight search | When you know the domain (callsign, tail number) |
| `await sb.send_command("route_query", {...})` | Routing plan only | Inspect recommended command before executing |
| `await sb.send_command("search_telemetry", {..

พูดคุย

ถาม แชร์เคล็ดลับ หรือแจ้งว่าใช้ไม่ได้ เรียงตามที่คนกดว่ามีประโยชน์

ยังไม่มีใครโพสต์ ถามหรือแชร์เป็นคนแรกได้เลย

ข้อความในส่วนนี้เขียนโดยผู้ใช้ ไม่ใช่ทีม PopNx

เข้าสู่ระบบเพื่อโพสต์

ข้อมูลจาก GitHub

ดาว GitHub
11,580
ผู้ทำ
BigBodyCobain
license
AGPL-3.0
แก้โค้ดล่าสุด
16 พ.ย. 2569
ไฟล์ SKILL.md ใน repo (นับรวมสำเนาภาษาอื่นและแม่แบบ)
1
topic
ads-b, adsb, aircraft, aircraft-tracking, asdb, cctv, cctv-cameras, cctv-surveillance, earthquake-visualization, elonjet, gis, osint