AganCloud Open Platform

Document processing and AI capabilities, ready to use. Every PDF tool runs entirely in your browser — files never touch a server.

Merge PDFs

Select multiple PDFs and combine them into one, in order.

Click or drop PDF files here (multiple allowed)

    Capability Matrix

    These capabilities are being opened up through the XingHeng compute network and the AganNode gateway. Pay-as-you-go pricing, made possible by pooling idle compute.

    Document Parsing Live

    Structured extraction from PDF, Word and scanned files, with table reconstruction. Battle-tested in a water-conservancy intelligent service system.

    RAG Q&A Live

    Enterprise knowledge bases with retrieval-augmented answering, deployed on-premise. Proven in public-sector intranet environments.

    LLM Gateway Live

    AganNode routes and aggregates across models — one API for all of them, with dual-model cross-checking to reduce hallucination.

    OCR Beta

    Printed and handwritten text recognition for invoices, contracts and archives. Offline batch processing at roughly a tenth of cloud cost.

    Offline Batch Beta

    The XingHeng network takes on large offline jobs: embedding, data cleaning, reproducible comparisons — deterministic work at its best.

    Semantic Cache Planned

    Exact-match caching (measured at 56%+ of production traffic) plus tightly bounded semantic expansion — another order of magnitude in query cost.

    Engineering

    AGANID ID Generator

    AganCloud's own 64-bit snowflake-style unique ID generator. Zero dependencies — Go standard library only.

    • 41/10/12 bit layout — epoch 2026, good until 2095; ~4.1M IDs/sec per node, 1,024 nodes with zero coordination.
    • Seq / Perm dual mode — Seq increments strictly within each millisecond (pure B-tree appends); Perm scatters IDs pseudo-randomly through a full primitive-root cycle mod 4099, defeating enumeration and traffic inference. Uniqueness is guaranteed by Gauss's (1801) primitive root theorem.
    • Shared-pool arbitration — a 512-byte bitmap tracks used sequence numbers, enabling per-request mode selection with no collisions.
    • Lamport clock skew handling — clock drift never rolls back, never rejects, never waits; exhausted sequences borrow from the future.
    In productionAganNode module #9Internal — not open-sourced
    main.go
    gen, _ := idgen.New(7, idgen.Seq)
    
    id, _ := gen.Next()
    // strictly increasing per millisecond
    
    pid, _ := gen.NextMode(idgen.Perm)
    // primitive-root permutation, anti-enumeration
    
    ms, node, seq := pid.Parse()
    // bijective mapping: decode time/node/seq