Skip to main content
Glama
khaosans

Operator ETL

by khaosans

Operator ETL

面向FOIA和公众意见的代理式数据摄入 — 确定性奖章仓库、LangGraph编排、MCP工具面、PII策略平面。

CI Release License

Python和SQL决定数据的存在。代理在类型边界内进行编排。测试证明不变性 — MVP演示无需LLM API密钥。

专为政府机构和监管机构构建,这些机构必须接收公众意见、在发布前检测PII、隔离不良行,并产生可辩护的洞察(每个数字都经过仓库验证)。


文档

Wiki(可搜索): https://khaosans.github.io/operator-etl/

从这里开始

链接

查看运行效果

视觉导览(截图)

首次运行

快速入门 — ./scripts/verify.sh

了解我们构建了什么

概念 · 模式 · 应用 · 风险

适用人群

角色

产品UI(后续)

产品UX — 已指定,非此演示


Related MCP server: MES Document MCP

一键验证

git clone https://github.com/khaosans/operator-etl.git
cd operator-etl
./scripts/verify.sh

如果缺少则安装uv,同步依赖,运行完整验证门。成功以**OPERATOR_ETL_VERIFY=PASS**结束。

预期: 51个pytest通过,FOIA演示打印status=complete和silver=10。完整截图集:docs/TOUR.md。

Gov / FOIA dashboard

Orders demo tab

Template etl-graph insight

flowchart LR
  Verify[verify.sh] --> UV[uv sync]
  UV --> E2E[e2e gate]
  E2E --> Pass[OPERATOR_ETL_VERIFY=PASS]

已经有uv了?make e2e · 详情:docs/QUICKSTART.md · 逐步指南:docs/WALKTHROUGH.md

已发布的快照是git标签(并非每次合并)。发布后:GitHub Releases(wheels)、ghcr.io/khaosans/operator-etl:<version>、GitHub Packages operator-etl。流程:docs/VERSIONING.md。Wiki始终跟踪master。

flowchart LR
  subgraph problem [The usual demo]
    A[Chatbot + SQL] --> W[(Warehouse)]
    A --> M[Memo with KPIs]
  end

  subgraph fail [Three failures]
    F1[PII in context]
    F2[Hallucinated counts]
    F3[No replay audit]
  end

  M --> fail

Operator ETL分离了确定性ETL与有界代理。PII永远不会到达不受约束的工具;批评者拒绝不在gold中的洞察数字;bronze为您提供不可变的审计追踪。

深入探讨:docs/WHY.md · 机构工作流:docs/FOIA-Public-Comments-Guide.md


工作原理 — 三个平面

flowchart TB
  subgraph data [Data plane]
    direction TB
    CSV[CSV intake] --> Bronze[bronze_raw]
    Bronze --> Silver[silver validated]
    Bronze --> Quarantine[quarantine]
    Silver --> Gold[gold SQL marts]
  end

  subgraph policy [Policy plane]
    PII[PII scan + vault]
    Bronze --> PII
  end

  subgraph control [Control plane]
    Graph[LangGraph]
    MCP[MCP allowlist]
    Critic[critic]
    Graph --> MCP --> Gold
    Graph --> Critic --> Insight[verified insight]
  end

平面

角色

数据

Bronze(不可变)→ silver(已验证)→ gold(SQL数据集市)+ 隔离。Python和SQL执行;原始行上无LLM。

策略

PII扫描、加密保险库、洞察前故障关闭。保险库从不通过MCP暴露。

控制

LangGraph管道、MCP允许列表工具、批评者验证洞察草稿中的每个数字。

详情:docs/HOW-IT-WORKS.md · okf/models/three-planes.md


为什么不把仓库交给聊天机器人?

信任与证明

问题

答案

它在本地工作吗?

make e2e — OKF验证,51个pytest,在新仓库上运行FOIA演示

CI证明了什么?

每次推送都经过相同的门(上方徽章)

CI中未证明什么?

实时GCP部署、Presidio PII、LLM生成的洞察 — 参见诚实审计

证明矩阵: docs/FOUNDATIONS.md · 完整审计: docs/FINAL-REVIEW.md


您刚刚证明了什么

指标

预期

样本评论

12(EPA/FCC案卷)

Silver(有效)

10

隔离

2

图状态

complete

批评者

通过

详情:okf/models/mvp-demo.md


工程权衡

决策

我们选择

好处

成本

何时更改

本地仓库

DuckDB

在笔记本电脑上零基础设施证明

不支持多租户

阶段L3 BigQuery — SCALING.md

PII检测

正则表达式MVP

简单、可测试、无ML依赖

遗漏姓名、地址

生产环境使用Presidio

洞察生成

模板 + 批评者

无需API密钥;确定性

叙事灵活性较低

机构批准时使用LLM节点

代理数据访问

MCP允许列表(3个工具)

最小权限

无临时SQL探索

生产FOIA请勿放宽

质量故障

故障关闭

可信KPI

阻塞洞察直至修复

避免警告并显示横幅

完整证明矩阵:docs/FOUNDATIONS.md


适用人群

角色

从这里开始

FOIA官员

FOIA指南 → 导览 · 角色

数据工程师

入门 → 扩展

架构师/审查者

为什么 → 基础 → make e2e

AI代理(MCP)

AGENTS.md · operator-etl-mcp


采用者阶梯

flowchart LR
  L0[L0 Prove make e2e] --> L1[L1 Run locally]
  L1 --> L2[L2 Extend source]
  L2 --> L3[L3 GCP staging]
  L3 --> L4[L4 Production HITL]

级别

行动

文档

0 — 证明

make e2e

逐步指南

1 — 本地运行

MCP、仪表板

入门

2 — 扩展

新的CSV源

扩展新源

3 — GCP预发布

Terraform + Cloud Run

扩展

4 — 生产

Presidio、HITL、实时BQ、产品UX

最终审查 · 产品UX


常用命令

命令

动作

./scripts/verify.sh

首次运行 — 如果需要则安装uv + 完整验证门

make verify

与verify.sh相同

make e2e

完整MVP验证门(OKF + 测试 + FOIA演示)

make demo

仅FOIA演示

make test

pytest(51个测试)

uv run etl-graph --source public_comments

FOIA代理管道

uv run etl dashboard

Streamlit — Gov + Orders标签页

uv run operator-etl-mcp

用于Cursor代理的MCP服务器

make share

重新生成PDF分享包

运行make help查看所有目标。


架构

平面

包

状态

数据

operator_etl/

已实现

控制

operator_etl_graph/

已实现

策略

operator_etl_policy/

已实现

MCP

operator_etl_mcp/

已实现

GCP

operator_etl_gcp/ + infra/

部分

实时矩阵:okf/models/implementation-status.md


范围边界

此演示证明: 本地FOIA管道 · PII扫描 · MCP边界 · 故障关闭质量 · 51个测试 + CI

不包括: 生产Presidio · Regulations.gov适配器 · 实时GCP/BQ端到端 · 生产官员UX(响应式、流式、生成UI) — docs/PRODUCT-UX.md

演示UI是Streamlit。产品UX已指定,并非此MVP。

在生产声明之前:FINAL-REVIEW预扩展检查清单


文档

文档

为何打开

Wiki(GitHub Pages)

可搜索的人类可读维基——从这里开始

docs/TOUR.md

verify、CLI、Streamlit 的截图

docs/PERSONAS.md

演示面向谁

docs/PRODUCT-UX.md

产品 UI 待办事项(已指定)

docs/QUICKSTART.md

首次运行 — ./scripts/verify.sh

docs/CONCEPTS.md

问题、我们构建了什么、为什么有用

docs/PATTERNS.md

奖章、平面、评论者——英语 + 引文

docs/APPLY.md

其他数据源——保留平面,更改模式

docs/RISKS.md

验证通过后的残留风险

docs/NIST.md

AI RMF / 600-1 / SP 800-122——对齐,而非认证

docs/MODELS.md

模型卡片及使用时机(Ollama vs OpenAI)

docs/GETTING-STARTED.md

安装、MCP、环境变量

docs/WALKTHROUGH.md

逐步验证

docs/DASHBOARD.md

Streamlit 政府/订单

docs/LLM.md

安装 Ollama / OpenAI 兼容的洞察

docs/SCALING.md

DuckDB → GCP

docs/FOUNDATIONS.md

引文 + 证据矩阵

docs/TESTING.md

每个测试的证明内容

docs/README.md

按角色分类的完整索引

另外:HOW-IT-WORKS · WHY · 白皮书


分享与展示

开源: https://github.com/khaosans/operator-etl — 克隆并运行 make e2e。

面试、LinkedIn 或提案,请附上来自 docs/share/ 的 PDF(一页纸、白皮书、幻灯片):

make share   # regenerates docs/share/latest/ after e2e

贡献 · 许可 · 安全

基于 Apache License 2.0 许可。样本数据是合成的——不要提交真实的 FOIA 记录。

欢迎提交 Issue 和 PR。

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    B
    maintenance
    Enables enterprise AI agents to query governed data lineage, PII-aware schema documentation, and semantic metadata from SQL logs via MCP, with role-based access and vector search.
    MIT
  • A
    license
    Not graded
    quality
    A
    maintenance
    Enables AI agents to query governed data warehouses through plain language, returning grounded answers with SQL, confidence grades, and signed receipts while enforcing access, testing, and audit controls.
    15
    Apache 2.0