OpenFang: Autonomous Agent Operating System

repository·main·Indexed 29 days ago

https://github.com/rightnow-ai/openfang

An open-source Agent Operating System built in Rust for autonomous agents that run on schedules. It provides a single-binary solution for managing complex agentic workflows like research, lead generation, and social media management via a centralized dashboard and an OpenAI-compatible REST API. Includes pre-built 'Hands' for tasks such as YouTube clipping, OSINT intelligence, and X/Twitter management.

Tokens
118.4K
Snippets
152
Records
577
Agent score
96%

What's inside OpenFang

  1. Overview of OpenFang Desktop App

    main
    The OpenFang Desktop App is a native desktop wrapper built with Tauri 2.0 that packages the entire OpenFang Agent OS into a single, installable application. It provides a native window, system tray integration, OS notifications, and single-instance enforcement, replacing the need to run a CLI daemon and a separate browser. It uses an embedded-server pattern where a background thread runs the OpenFang Kernel and an axum API server, which the WebView window then accesses via http://127.0.0.1:{port}.
  2. Overview of bundled Hands

    main

    OpenFang includes 7 pre-built autonomous Hands:

    HandDescription
    ClipDownloads YouTube URLs, cuts vertical shorts with captions/thumbnails, and publishes to Telegram/WhatsApp.
    LeadDaily discovery and enrichment of prospects matching an ICP; delivers results in CSV/JSON/Markdown.
    CollectorOSINT intelligence for monitoring targets (companies, people, topics) via change detection and sentiment tracking.
    PredictorSuperforecasting engine that builds reasoning chains and tracks accuracy using Brier scores.
    ResearcherDeep autonomous research using CRAAP criteria to generate cited reports in APA format.
    TwitterAutonomous X/Twitter account management, including content creation, scheduling, and responding to mentions.
    BrowserWeb automation via Playwright bridge. Includes a mandatory purchase approval gate for sensitive actions.
  3. Apply Rust programming best practices with the rust-expert Skill

    main

    The rust-expert Skill provides guidance on writing safe, performant, and idiomatic Rust code. It focuses on leveraging the type system to encode invariants, managing ownership and lifetimes, and handling concurrency using the tokio runtime.

    Key Principles

    • Type-Driven Design: Use the type system to make invalid states unrepresentable (e.g., use enums instead of boolean flags, and newtypes instead of raw primitives).
    • Ownership & API Design: Prefer owned types at API boundaries and borrows within function bodies to simplify lifetime management.
    • Error Handling: Handle errors explicitly using Result. Use thiserror for library-level errors and anyhow for application-level error propagation.
    • Safe Abstractions: Reserve unsafe code only for cases where safe abstractions cannot express the operation, and always document safety invariants.
    • Trait Design: Design traits with minimal required methods and provide default implementations where possible.
  4. Use the notion Skill for workspace management and automation

    main
    The notion Skill is a specialist designed to help users organize Notion workspaces, create databases, build templates, manage content, and automate workflows using the Notion API. It follows principles of hierarchical information structuring (Workspace > Teamspace > Page > Sub-page/Database) and emphasizes using databases for all structured, queryable information rather than simple bulleted pages.
  5. Use the GCP Skill for Google Cloud Platform expertise

    main
    The gcp skill is a senior cloud architect persona designed to assist with Google Cloud Platform infrastructure, managed services, and operational best practices. It provides expertise in using the gcloud CLI, Terraform for GCP, IAM, networking, and billing management. Use this skill to design scalable, cost-efficient, and secure GCP-native systems.
  6. Use the ansible Skill for infrastructure automation

    main
    The ansible Skill is an automation expert designed to manage playbooks, roles, inventories, and infrastructure. It follows production-ready principles such as idempotency, role-based organization, and secure secret management using Ansible Vault. Use this skill when you need to design, structure, or troubleshoot Ansible automation workflows.
  7. Use the Memory Substrate for Agent Data

    main

    The openfang-memory system provides six distinct layers for storing and retrieving data:

    1. Structured KV Store: SQLite-backed key-value storage for per-agent data. A shared namespace (agent ID 00000000-...01) allows for cross-agent data sharing.
    2. Semantic Search: Vector embeddings for similarity-based retrieval using configured embedding drivers.
    3. Knowledge Graph: Entity-relation storage for structured knowledge and graph traversal.
    4. Session Manager: Stores conversation history (messages, tool use, images) and tracks context window usage.
    5. Task Board: A shared queue for multi-agent collaboration using task_post, task_claim, task_complete, and task_list.
    6. Usage and Canonical Sessions: Tracks token usage, costs, and cross-channel conversation context.
  8. Use the Lead Generation Expert Skill

    main
    The lead-hand-skill is a prompt_only runtime skill designed for AI-driven lead generation. It provides expertise in web research, lead enrichment, scoring, deduplication, and report generation. It is used to identify potential customers by constructing Ideal Customer Profiles (ICP), discovering decision-makers, and identifying growth or technology signals.
  9. Use the interview-prep Skill for technical interview preparation

    main

    The interview-prep skill acts as a technical interview coach specializing in algorithms, system design, and behavioral assessments. It provides structured preparation strategies and pattern recognition frameworks to help candidates prepare for engineering roles at top technology companies.

    Core Capabilities

    • Algorithm Preparation: Focuses on mastering core patterns (e.g., Two Pointers, Sliding Window, BFS/DFS, Dynamic Programming, Binary Search, Backtracking) rather than memorizing individual problems.
    • System Design Coaching: Provides a repeatable framework: clarify requirements $\rightarrow$ estimate scale $\rightarrow$ design architecture $\rightarrow$ deep-dive into components.
    • Behavioral Coaching: Uses the STAR method (Situation, Task, Action, Result) to help prepare quantifiable stories for leadership, conflict resolution, and technical decision-making.
    • Complexity Analysis: Guides users through expressing Big-O time and space complexity and explaining tradeoffs.
    1. Clarify: Always restate the problem and clarify edge cases/constraints before coding.
    2. Discuss: Explain your approach and discuss complexity before implementation.
    3. Implement: Write clean code and test it with examples.
    4. Optimize: Start with a correct brute-force solution and improve complexity incrementally to avoid premature optimization.
  10. Design reliable data pipelines with the data-pipeline Skill

    main

    The data-pipeline Skill provides guidance for designing and operating production-grade ETL/ELT pipelines, orchestration frameworks, and data quality systems. It covers batch and streaming architectures using industry-standard tools like Apache Airflow, Apache Spark, and dbt.

    Core Principles

    • Prefer ELT over ETL: Load raw data into your warehouse first, then transform it in place to ensure reproducibility and auditability.
    • Idempotency: Ensure every pipeline step is idempotent; re-running a task with the same inputs must produce the same outputs without side effects or duplicates.
    • Partitioning: Partition data by time or logical keys at every stage to enable incremental processing, efficient pruning, and manageable backfill operations.
    • Data Quality Gates: Instrument pipelines with quality checks between stages to prevent cascading corruption.
    • Separation of Concerns: Separate orchestration (scheduling/ordering) from computation (heavy processing).
  11. Use the Project Management Expert skill

    main

    The project-manager skill provides expertise in Agile methodologies, estimation, risk management, and stakeholder communication. It is designed to help lead software projects, manage cross-functional teams, and deliver complex products by balancing process discipline with engineering pragmatism.

    Core Capabilities

    • Agile Leadership: Guidance on adapting ceremonies and artifacts to team needs.
    • Estimation & Planning: Techniques for breaking epics into stories, using story points or t-shirt sizes, and establishing realistic sprint goals.
    • Risk Management: Proactive identification and mitigation using a living risk register.
    • Stakeholder Alignment: Tailoring communication (outcomes for executives, technical context for engineers).
    • Team Health: Protecting focus by minimizing context-switching and managing organizational noise.