Skip to content

An open specification for AI Agent interaction with web applications using semantic HTML attributes (data-ai-*), JSON-LD policies, and standardized HTTP contracts.

License

Notifications You must be signed in to change notification settings

chesterit21/AIAgentSpec

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

AI Agent Interaction Specification

Version: 1.2.0
Status: Production Ready
License: MIT
Author: SFCore Team

📋 Overview

Standar interaksi antara AI Agents (LLM, RPA, Bots) dengan Web Applications. Spec ini menyediakan:

  • Semantic HTML Attributes (data-ai-*) untuk element discovery
  • JSON-LD Site Policy untuk machine-readable rules
  • HTTP Contract untuk agent authentication & consent
  • JSON Schema untuk cross-language validation

📂 Structure

AIAgentSpec/
├── README.md                          # This file
├── spec-v1.2.md                       # Full specification (middleware, API, policy)
├── element-patterns.md                # HTML element markup patterns
├── schema/
│   ├── ai-agent-attributes.schema.json  # Validate data-ai-* attributes
│   ├── ai-policy.schema.json            # Validate ai-policy.json
│   └── action-schema.schema.json        # Validate action definitions
└── examples/
    ├── login-form.html                # Login form example
    └── crud-table.html                # CRUD table example

🚀 Quick Start

1. Add HTML Attributes

<form data-ai-role="form"
      data-ai-name="login_form"
      data-ai-desc="User authentication form"
      data-ai-sensitivity="restricted">
  
  <input type="text" 
         data-ai-role="input"
         data-ai-name="username"
         data-ai-desc="Username or email"
         data-ai-sensitivity="pii">
  
  <button type="submit"
          data-ai-role="button"
          data-ai-name="submit_login"
          data-ai-desc="Submit login form"
          data-ai-action="submit"
          data-ai-required-consent="true">
    Login
  </button>
</form>

2. Add Meta Tags

<head>
  <meta name="ai-agent-policy" content="/.well-known/ai-policy.json" />
  <meta name="ai-agent-rate-limit" content="60" />
  <meta name="ai-agent-consent-required" content="true" />
  <meta name="ai-agent-version" content="1.2" />
</head>

3. Serve Policy File

Create /.well-known/ai-policy.json:

{
  "@context": "https://schema.org",
  "@type": "WebSite",
  "agentPolicy": {
    "policyVersion": "1.2",
    "crawlPolicy": {
      "default": "allow",
      "rateLimitPerMinute": 60
    },
    "dataHandling": {
      "consentRequiredForWrite": true
    }
  }
}

📌 Core Attributes

Attribute Required Description
data-ai-role Element type: form, input, button, link, section
data-ai-name Unique identifier (snake_case)
data-ai-desc Human-readable description for AI context
data-ai-sensitivity ⚠️ Data classification: public, restricted, pii, sensitive
data-ai-action ⚠️ Action type: submit, navigate, delete, toggle
data-ai-required-consent ⚠️ Requires explicit consent: true, false

🔗 Related Documents

Document Description
spec-v1.2.md Full specification with middleware, controllers, API
element-patterns.md Complete HTML element patterns reference
schema/ JSON Schema files for validation
examples/ Ready-to-use HTML examples

🌐 Language Support

JSON Schema enables validation in any language:

Language Library
JavaScript ajv, jsonschema
Python jsonschema, fastjsonschema
.NET Newtonsoft.Json.Schema, NJsonSchema
Go gojsonschema
PHP justinrainbow/json-schema
Java everit-org/json-schema

📝 Changelog

Version Date Changes
1.2.0 2025-12-22 Added JSON Schema, reorganized structure
1.1.0 2025-12-22 Added JSON-LD policy, meta tags, agent registration
1.0.0 2025-12-22 Initial release

About

An open specification for AI Agent interaction with web applications using semantic HTML attributes (data-ai-*), JSON-LD policies, and standardized HTTP contracts.

Topics

Resources

License

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published