2026-02-16 16:01:17 +00:00
2026-02-18 21:25:28 +00:00
2026-02-17 21:23:03 +00:00
2026-02-18 21:25:28 +00:00
2026-02-18 21:25:28 +00:00
2026-02-16 23:37:59 +00:00
2026-02-16 23:37:59 +00:00
2026-02-18 21:25:28 +00:00
2025-02-07 20:57:54 +00:00
2026-02-17 21:23:03 +00:00
2025-02-07 22:10:38 +00:00
2025-02-07 20:57:54 +00:00
2026-02-17 21:23:03 +00:00

GIA

GIA is a multi-transport communication workspace that unifies Signal, WhatsApp, Instagram, and XMPP into one operator interface with AI-assisted analysis, drafting, and mitigation workflows.

Start with INSTALL.md first. This README focuses on capabilities and operation modes.

What GIA Does

  • Unifies chats from multiple protocols in one interface.
  • Keeps conversation history in a shared model (Person, PersonIdentifier, ChatSession, Message).
  • Supports manual, queue-driven, and AI-assisted outbound messaging.
  • Bridges messages across transports (including XMPP) with attachment handling.
  • Tracks delivery/read metadata and typing state events.
  • Provides AI workspace analytics, mitigation plans, and insight visualizations.

Operation Modes

1) Service Management Mode

Entry points:

  • /services/signal/
  • /services/whatsapp/
  • /services/instagram/

Capabilities:

  • Account linking/unlinking.
  • Contact and chat discovery views.
  • Message list inspection (service-native views).
  • Runtime state visibility (connection/linking behavior through logs + UI state).

2) Manual Compose Mode

Entry points:

  • /compose/page/
  • /compose/widget/
  • /compose/workspace/

Capabilities:

  • Per-person/per-service chat thread view.
  • Outbound send with runtime handoff for relevant services.
  • Thread refresh/history sync path.
  • Real-time updates via compose websocket path (with fallback behavior).
  • Inline metadata for delivery/read timing.
  • Latency and block-gap indicators for conversational cadence.

Compose operational behaviors:

  • Manual sends are persisted to history and propagated to runtime transports.
  • Runtime command-result polling handles queued sends where needed.
  • Attachments are normalized through shared transport media prep logic.
  • Blob URLs are fallback paths; source/shared media URLs are preferred when available.

3) AI Workspace Mode

Entry point:

  • /ai/workspace/

Capabilities:

  • Person-centric workspace widgets and timelines.
  • Draft generation, summary generation, quick insights.
  • Insight detail pages and graph visualizations.
  • Mitigation planning (rules, games, corrections, fundamentals, automation settings).
  • Engage flows (preview + send).

4) Queue / Approval Mode

Entry points:

  • /queue/<type>/
  • API:
    • /api/v1/queue/message/accept/<message_id>/
    • /api/v1/queue/message/reject/<message_id>/

Capabilities:

  • Hold suggested outbound actions.
  • Human acceptance/rejection gates.
  • Queue-first messaging flows for controlled operations.

5) OSINT Mode

Entry points:

  • /search/<type>/
  • /osint/workspace/

Capabilities:

  • Search pages and widgets for scoped entity views.
  • Workspace tab widgets and cross-context lookup UX.
  • Foundation for auto-search workflows and graph/widget integration.

6) Cross-Protocol Bridge Mode

Core behavior:

  • Inbound and outbound events are routed through UR runtime.
  • XMPP bridge supports text, attachments, typing, and chat-state paths.
  • Signal and WhatsApp media relay paths are normalized via shared transport/media logic.

Key design points:

  • Prefer shared media preparation over per-service duplicated logic.
  • Preserve attachment semantics (image/video/audio/document) by MIME and filename inference.
  • Avoid leaking internal /compose/media/blob/... links as transport relay text for attachment-only events.

Runtime Architecture

Core components:

  • core/modules/router.py: Unified Router runtime orchestration.
  • core/clients/transport.py: Shared send/typing/attachment prep/runtime-command layer.
  • core/clients/signal.py, core/clients/signalapi.py: Signal event + REST transport handling.
  • core/clients/whatsapp.py: Neonize-backed runtime transport.
  • core/clients/xmpp.py: XMPP component bridge and media upload relay.
  • core/views/compose.py: Manual compose UX, polling/ws, send pipeline, media blob endpoint.
  • core/views/workspace.py: AI workspace operations and insight surfaces.
  • core/views/osint.py: Search/workspace OSINT interactions.

Services in compose stack:

  • app (Django)
  • asgi (websocket-capable app path)
  • ur (runtime router)
  • scheduling
  • redis
  • signal-cli-rest-api
  • one-shot startup services (migration, collectstatic)

Interface Setup (Inside the App)

After environment setup from INSTALL.md:

  1. Sign in as an admin user.
  2. Open service pages and link required accounts.
  3. Create/verify Person entries and PersonIdentifier mappings.
  4. Open manual compose and test per-service send/receive.
  5. Open AI workspace for analysis/mitigation workflows.
  6. Verify queue workflows if approval mode is used.

Recommended functional smoke test:

  • Signal -> web compose history
  • WhatsApp -> web compose history
  • XMPP -> service relay and back
  • attachment send in both directions where bridge is enabled

Important Operational Notes

  • After runtime code changes, restart runtime services before validation.
  • Full environment recycle convention: make stop && make run.
  • If single-service restart fails due to dependency state, use full recycle.

Security & Reliability Notes

  • Keep upload endpoints on modern TLS (TLSv1.2 + TLSv1.3) with valid chain.
  • Keep logs high-signal in production; use debug-gated diagnostics temporarily.
  • Preserve symmetry across transports where protocol capabilities permit.

Documentation Map

  • INSTALL.md: installation, env, startup, restart, troubleshooting.
  • LLM_CODING_STANDARDS.md: coding-agent standards and repository practices.
  • This README.md: capability map, operation modes, architecture, interface workflow.
Description
Gather, Influence, Automate. GIA leverages AI-driven manipulation, persona simulation, and covert deployment to influence and persuade with unseen precision. ☠️ Manipulate. Dominate. Obliterate. ☠️
Readme MIT 2.9 MiB
Languages
Python 69.1%
HTML 30.8%