skill-system-postgres

Compare original and translation side by side

🇺🇸

Original

English
🇨🇳

Translation

Chinese

Skill System (Postgres State)

Skill系统(Postgres状态存储)

Database schema for skill system observability and policy.
Skill系统可观测性与策略管理的数据库架构。

Install

安装

bash
undefined
bash
undefined

Replace 'postgres' with your PostgreSQL superuser if needed (e.g. your OS username)

如有需要,将'postgres'替换为你的PostgreSQL超级用户(例如你的操作系统用户名)

psql -U postgres -d agent_memory -v ON_ERROR_STOP=1 -f init.sql

```powershell
psql -U postgres -d agent_memory -v ON_ERROR_STOP=1 -f init.sql

```powershell

Replace 'postgres' with your PostgreSQL superuser if needed

如有需要,将'postgres'替换为你的PostgreSQL超级用户

& "C:\Program Files\PostgreSQL\18\bin\psql.exe" -U postgres -d agent_memory -v "ON_ERROR_STOP=1" -f init.sql

For existing v1 installations, also run `migrate-v2.sql`.
& "C:\Program Files\PostgreSQL\18\bin\psql.exe" -U postgres -d agent_memory -v "ON_ERROR_STOP=1" -f init.sql

对于已安装v1版本的用户,还需运行`migrate-v2.sql`。

Tables

数据表

  • skill_system.policy_profiles
    — effect allowlists (what skills are allowed to do)
  • skill_system.runs
    — execution records (goal, agent, status, duration, metrics)
  • skill_system.run_events
    — step-level event log (which skill, which op, result)
  • skill_system.policy_profiles
    — 权限白名单(允许Skill执行的操作)
  • skill_system.runs
    — 执行记录(目标、Agent、状态、时长、指标)
  • skill_system.run_events
    — 步骤级事件日志(涉及的Skill、操作、结果)

Usage

使用说明

The Agent writes to these tables as instructed by the Router skill. This skill does not execute anything — it's a state store.
skill
{
  "schema_version": "2.0",
  "id": "skill-system-postgres",
  "version": "1.0.0",
  "capabilities": ["skill-policy-check", "skill-run-log"],
  "effects": ["db.read", "db.write"],
  "operations": {
    "check-policy": {
      "description": "Check if a skill's effects are allowed by the active policy profile.",
      "input": {
        "policy_name": { "type": "string", "required": true, "description": "Policy profile name (e.g. dev)" },
        "effects": { "type": "json", "required": true, "description": "Array of effect strings to check" }
      },
      "output": {
        "description": "Whether all effects are allowed",
        "fields": { "allowed": "boolean", "blocked_effects": "array" }
      },
      "entrypoints": {
        "agent": "Query skill_system.policy_profiles WHERE name = policy_name"
      }
    },
    "log-run": {
      "description": "Log a skill execution run for observability.",
      "input": {
        "skill_id": { "type": "string", "required": true },
        "operation": { "type": "string", "required": true },
        "status": { "type": "string", "required": true },
        "duration_ms": { "type": "integer", "required": false }
      },
      "output": {
        "description": "Run ID",
        "fields": { "run_id": "integer" }
      },
      "entrypoints": {
        "agent": "INSERT INTO skill_system.runs and skill_system.run_events"
      }
    }
  },
  "stdout_contract": {
    "last_line_json": false,
    "note": "Agent-executed SQL; no executable scripts."
  }
}
Agent会按照Router Skill的指令向这些表中写入数据。该Skill本身不执行任何操作——它仅作为状态存储服务。
skill
{
  "schema_version": "2.0",
  "id": "skill-system-postgres",
  "version": "1.0.0",
  "capabilities": ["skill-policy-check", "skill-run-log"],
  "effects": ["db.read", "db.write"],
  "operations": {
    "check-policy": {
      "description": "Check if a skill's effects are allowed by the active policy profile.",
      "input": {
        "policy_name": { "type": "string", "required": true, "description": "Policy profile name (e.g. dev)" },
        "effects": { "type": "json", "required": true, "description": "Array of effect strings to check" }
      },
      "output": {
        "description": "Whether all effects are allowed",
        "fields": { "allowed": "boolean", "blocked_effects": "array" }
      },
      "entrypoints": {
        "agent": "Query skill_system.policy_profiles WHERE name = policy_name"
      }
    },
    "log-run": {
      "description": "Log a skill execution run for observability.",
      "input": {
        "skill_id": { "type": "string", "required": true },
        "operation": { "type": "string", "required": true },
        "status": { "type": "string", "required": true },
        "duration_ms": { "type": "integer", "required": false }
      },
      "output": {
        "description": "Run ID",
        "fields": { "run_id": "integer" }
      },
      "entrypoints": {
        "agent": "INSERT INTO skill_system.runs and skill_system.run_events"
      }
    }
  },
  "stdout_contract": {
    "last_line_json": false,
    "note": "Agent-executed SQL; no executable scripts."
  }
}