DAU: Discover and Use

DAU is a protocol that allows automated systems to discover and invoke server-hosted functions over the web—without needing pre-registration, integration kits, or formal APIs.

Who is it for?

DAU is for service providers and solution integrators who want to make their capabilities easily accessible to AI-based bots and agents—casually, just-in-time, and without formal contracts. Bots interpret services based on descriptions, not hard-coded logic.

How It Works

A DAU-compatible server exposes callable functions grouped into libraries. Each library provides:

Client Flow

  1. Discover libraries
    /dau?op=list
  2. Filter by tag or ID
    ?tag=math, ?id=library1
  3. Get full manifest
    /dau?op=get&id=library1
  4. Call the function
    Use the invoke URL provided in the manifest with GET or JSON POST.

Example Requests

Manifest Template

{
  "dau_version": "1.0",
  "library_id": "yourlibrary",
  "name": "Descriptive Name",
  "description": "What this library offers.",
  "version": "1.0.0",
  "date": "2025-05-06",
  "tags": ["tag1", "tag2"],
  "functions": [
    {
      "name": "your_function_name",
      "description": "What this function does.",
      "parameters": {
        "type": "object",
        "properties": {
          "param1": {
            "type": "string",
            "description": "Explain param1"
          }
        },
        "required": ["param1"]
      },
      "invoke": "/dau/libraries/yourlibrary/"
    }
  ]
}

Handler Stub

<?php
header('Content-Type: application/json; charset=utf-8');

if ($_SERVER['REQUEST_METHOD'] === 'GET') {
  \$func = \$_GET['function'] ?? null;
  \$params = \$_GET;
  unset(\$params['function']);
} else {
  \$input = json_decode(file_get_contents('php://input'), true);
  \$func = \$input['function'] ?? null;
  \$params = \$input['parameters'] ?? [];
}

switch (\$func) {
  case 'your_function_name':
    echo json_encode([
      "result" => [ "message" => "Stub response from your_function_name" ]
    ]);
    break;

  default:
    echo json_encode([
      "error" => [ "message" => "Unknown or unsupported function." ]
    ]);
    break;
}
?>

Version

This server implements DAU version 1.0.