Operator ETL
Operator ETL
面向FOIA和公众意见的代理式数据摄入 — 确定性奖章仓库、LangGraph编排、MCP工具面、PII策略平面。
Python和SQL决定数据的存在。代理在类型边界内进行编排。测试证明不变性 — MVP演示无需LLM API密钥。
专为政府机构和监管机构构建,这些机构必须接收公众意见、在发布前检测PII、隔离不良行,并产生可辩护的洞察(每个数字都经过仓库验证)。
文档
Wiki(可搜索): https://khaosans.github.io/operator-etl/
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。



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 --> failOperator 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
为什么不把仓库交给聊天机器人?
信任与证明
问题 | 答案 |
它在本地工作吗? |
|
CI证明了什么? | 每次推送都经过相同的门(上方徽章) |
CI中未证明什么? | 实时GCP部署、Presidio PII、LLM生成的洞察 — 参见诚实审计 |
证明矩阵: docs/FOUNDATIONS.md · 完整审计: docs/FINAL-REVIEW.md
您刚刚证明了什么
指标 | 预期 |
样本评论 | 12(EPA/FCC案卷) |
Silver(有效) | 10 |
隔离 | 2 |
图状态 |
|
批评者 | 通过 |
工程权衡
决策 | 我们选择 | 好处 | 成本 | 何时更改 |
本地仓库 | DuckDB | 在笔记本电脑上零基础设施证明 | 不支持多租户 | 阶段L3 BigQuery — SCALING.md |
PII检测 | 正则表达式MVP | 简单、可测试、无ML依赖 | 遗漏姓名、地址 | 生产环境使用Presidio |
洞察生成 | 模板 + 批评者 | 无需API密钥;确定性 | 叙事灵活性较低 | 机构批准时使用LLM节点 |
代理数据访问 | MCP允许列表(3个工具) | 最小权限 | 无临时SQL探索 | 生产FOIA请勿放宽 |
质量故障 | 故障关闭 | 可信KPI | 阻塞洞察直至修复 | 避免警告并显示横幅 |
完整证明矩阵:docs/FOUNDATIONS.md
适用人群
角色 | 从这里开始 |
FOIA官员 | |
数据工程师 | |
架构师/审查者 | |
AI代理(MCP) | AGENTS.md · |
采用者阶梯
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 — 证明 |
| |
1 — 本地运行 | MCP、仪表板 | |
2 — 扩展 | 新的CSV源 | |
3 — GCP预发布 | Terraform + Cloud Run | |
4 — 生产 | Presidio、HITL、实时BQ、产品UX |
常用命令
命令 | 动作 |
| 首次运行 — 如果需要则安装uv + 完整验证门 |
| 与verify.sh相同 |
| 完整MVP验证门(OKF + 测试 + FOIA演示) |
| 仅FOIA演示 |
| pytest(51个测试) |
| FOIA代理管道 |
| Streamlit — Gov + Orders标签页 |
| 用于Cursor代理的MCP服务器 |
| 重新生成PDF分享包 |
运行make help查看所有目标。
架构
平面 | 包 | 状态 |
数据 |
| 已实现 |
控制 |
| 已实现 |
策略 |
| 已实现 |
MCP |
| 已实现 |
GCP |
| 部分 |
实时矩阵: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预扩展检查清单
文档
文档 | 为何打开 |
可搜索的人类可读维基——从这里开始 | |
verify、CLI、Streamlit 的截图 | |
演示面向谁 | |
产品 UI 待办事项(已指定) | |
首次运行 — | |
问题、我们构建了什么、为什么有用 | |
奖章、平面、评论者——英语 + 引文 | |
其他数据源——保留平面,更改模式 | |
验证通过后的残留风险 | |
AI RMF / 600-1 / SP 800-122——对齐,而非认证 | |
模型卡片及使用时机(Ollama vs OpenAI) | |
安装、MCP、环境变量 | |
逐步验证 | |
Streamlit 政府/订单 | |
安装 Ollama / OpenAI 兼容的洞察 | |
DuckDB → GCP | |
引文 + 证据矩阵 | |
每个测试的证明内容 | |
按角色分类的完整索引 |
另外: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 记录。
docs/VERSIONING.md — 标签发布;不要覆盖某个版本
docs/RELEASING.md — PR 工作流、发布版本、Dependabot
欢迎提交 Issue 和 PR。
This server cannot be deployed
Maintenance
Related MCP Connectors
AI agents for federal IT & pharma: alert triage, ICAM, helpdesk, incidents, ticket routing.
Normalized official data with provenance, aggregations, insights, free samples and agent access.
Normalized official data with provenance, aggregations, insights, free samples and agent access.
Source-reconciled U.S. environmental facility compliance evidence for AI agents.
Related MCP Servers
FlicenseAqualityCmaintenanceEnables AI agents to upload, verify, and chat about documents for compliance (e.g., SOC2, GDPR) with PII redacted server-side.812 npm-- AlicenseBqualityDmaintenanceEnables AI agents to safely ingest, inspect, edit, and export manufacturing documents (Excel, PDF, Word, Markdown) with controlled patch workflows and MES entity extraction.23MIT
- AlicenseNot gradedqualityBmaintenanceEnables 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
- AlicenseNot gradedqualityAmaintenanceEnables 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.15Apache 2.0