已验证的 AgentReady.md 证书
签发于 sig: b27aeed8f27bbdac 验证 →

已分析URL

https://backlogs.m7kni.io

测量于昨天

分析另一个URL

AI-Ready评分

良好

/ 100

Token节省量

HTML Token 5873
Markdown Token 60
节省 99%

评分详情

可访问性 88/100
AI可发现性 85/100
结构化数据 83/100
语义化HTML 100/100
内容效率 70/100

新兴协议

已检测到 0/6

AI代理查找的well-known端点。检测到意味着代理可以自动发现并连接到您的服务。

  • OAuth Protected Resource RFC 9728
    /.well-known/oauth-protected-resource
  • OAuth Discovery RFC 8414
    /.well-known/oauth-authorization-server
  • MCP Server Card SEP-1649 draft
    /.well-known/mcp/server-card.json
  • A2A Agent Card A2A v1.0
    /.well-known/agent-card.json
  • API Catalog RFC 9727
    /.well-known/api-catalog
  • Agent Skills index Discovery RFC v0.2.0 draft
    /.well-known/agent-skills/index.json

分数不会自己保持不变。 监控功能尚未上线——加入名单,上线时通知你。

您已加入名单!服务上线时我们会通知您。

我们测到的 Content ratio: 1.2% (241 content chars / 20419 HTML bytes)

您的页面实际内容与总HTML的比率较低。页面重量的大部分是标记、脚本或样式而非内容。

如何实施

将CSS移至外部样式表,删除内联样式,最小化JavaScript,确保HTML专注于内容结构。

粘贴到编码智能体中让它完成修复

我们测到的 Application level — Content negotiation, <link> tag

你的站点只实现了 Markdown for Agents 的一部分——上面的“我们测了什么”列出了你已经具备的机制。补上其余部分,可以让更多智能体直接请求 markdown 而不是解析 HTML,把 token 用量降低约 80%。

如何实施

  • 在第二个网址上提供 Markdown 孪生页,例如 /page.md 与 /page 并存。
  • 加一个指向 Markdown 版本的 Link 响应头:Link: <…>; rel="alternate"; type="text/markdown"。
粘贴到编码智能体中让它完成修复
Markdown Token: 60
## graph2otel

Exports OTLP metrics and logs from Microsoft Entra ID, Intune, Defender, M365 and Purview via Microsoft Graph, Azure Storage blobs and the O365 Management Activity API. Single Go binary, Grafana Cloud ready.

7 open1 doneGo3 days ago
Backlogs - m7kni.io

[▭Backlogsm7kni.io](https://backlogs.m7kni.io/)

Project workspace

# What I am working on.

Every public repository here keeps its plan in the repository itself, as Backlog.md Markdown. This publishes those trackers as they are: 25 projects,148 open tasks, 698 completed. Read-only, and the repository is always the source of truth.

[All open work](https://backlogs.m7kni.io/open/) ·[Recent activity](https://backlogs.m7kni.io/activity/) ·[Statistics](https://backlogs.m7kni.io/stats/) ·[Search](https://backlogs.m7kni.io/search/)

[## backlog-publishing

Publishes every public rknightion Backlog.md tracker at backlogs.m7kni.io

0 open9 doneAstrotoday](https://backlogs.m7kni.io/backlog-publishing/)[## opnsense2otel

OpenTelemetry and Prometheus observability for OPNsense firewalls. 65 collectors, 1006 metrics, native OTLP metrics and logs, syslog receiver, NetFlow and Zenarmor flow-log processing.

4 open109 doneGotoday](https://backlogs.m7kni.io/opnsense2otel/)[## tailscale2otel

Tailscale exporter for OpenTelemetry and Prometheus. Device fleet, network flow logs and audit logs as OTLP metrics & logs. Single Go binary, Grafana Cloud ready. Headscale supported.

2 open152 doneGotoday](https://backlogs.m7kni.io/tailscale2otel/)[## grafana-cloud-vending-machine

Provision Grafana Cloud stacks at scale, with style. Declarative request API, Argo CD owns Git, Crossplane reconciles the cloud.

8 open80 doneGoyesterday](https://backlogs.m7kni.io/grafana-cloud-vending-machine/)[## rfc6035-2otel

RFC 6035 SIP voice-quality (vq-rtcpxr) reports to OpenTelemetry metrics and logs

2 open1 doneGo3 days ago](https://backlogs.m7kni.io/rfc6035-2otel/)[## sagemcom-f3896-py

Client for the Sagemcom f3896/Ziggo SmartWifi modem (black)

1 open1 donePython3 days ago](https://backlogs.m7kni.io/sagemcom-f3896-py/)[## sf2loki

Streams Salesforce Event Monitoring into Grafana Loki — Pub/Sub API, SOQL and EventLogFile ingestion, cardinality-disciplined by default.

71 open2 donePython3 days ago](https://backlogs.m7kni.io/sf2loki/)[## synthkit

Composable synthetic-telemetry generator. One YAML blueprint emits structurally-correct metrics, traces, logs and RUM to Prometheus, Loki and Grafana Cloud over OTLP.

3 open174 doneGo3 days ago](https://backlogs.m7kni.io/synthkit/)[## transceiver-exporter

Prometheus exporter for optical transceiver diagnostics — SFP, SFP+ and QSFP Digital Optical Monitoring (DOM) data read over ethtool.

0 open9 doneGo3 days ago](https://backlogs.m7kni.io/transceiver-exporter/)[## meraki-dashboard-exporter

Prometheus exporter and OpenTelemetry collector for the Cisco Meraki Dashboard API. Scrape-ready metrics, OTLP export and Grafana dashboards included.

2 open66 donePython3 days ago](https://backlogs.m7kni.io/meraki-dashboard-exporter/)[## meraki-dashboard-ha

Home Assistant custom integration for Cisco Meraki MT sensors — temperature, humidity, air quality, water and door status via the Meraki Dashboard API. Installable through HACS.

5 open2 donePython3 days ago](https://backlogs.m7kni.io/meraki-dashboard-ha/)[## openbao-plugin-secrets-github

OpenBao secrets engine for short-lived, scoped GitHub App installation tokens. Fork of martinbaillie/vault-plugin-secrets-github ported to the OpenBao SDK.

0 open2 doneGo3 days ago](https://backlogs.m7kni.io/openbao-plugin-secrets-github/)[## paperless-ngx-dedupe

Find and remove duplicate documents in paperless-ngx. MinHash/LSH fuzzy matching catches near-duplicates that exact hashing misses, with optional AI metadata suggestions.

2 open2 doneTypeScript3 days ago](https://backlogs.m7kni.io/paperless-ngx-dedupe/)[## polylens2otel

OpenTelemetry-native exporter for Poly Lens and Poly desk phones — metrics, logs and traces over OTLP

4 open0 doneGo3 days ago](https://backlogs.m7kni.io/polylens2otel/)[## fleet-management-operator

Kubernetes operator for Grafana Cloud Fleet Management — declare Alloy collector pipelines as custom resources and reconcile them continuously.

5 open1 doneGo3 days ago](https://backlogs.m7kni.io/fleet-management-operator/)[## genai-otel-bridge

Turn Portkey and LangSmith LLM traffic into OpenTelemetry metrics and logs. Vendor-neutral OTLP to Grafana Cloud or any collector — leader-elected and content-free.

13 open3 doneGo3 days ago](https://backlogs.m7kni.io/genai-otel-bridge/)[## grafana-cloud-org-insights

Business value & operational insights from your Grafana Cloud stack

8 open28 donePython3 days ago](https://backlogs.m7kni.io/grafana-cloud-org-insights/)[## graph2otel

Exports OTLP metrics and logs from Microsoft Entra ID, Intune, Defender, M365 and Purview via Microsoft Graph, Azure Storage blobs and the O365 Management Activity API. Single Go binary, Grafana Cloud ready.

7 open1 doneGo3 days ago](https://backlogs.m7kni.io/graph2otel/)[## grotTrack

Time tracking for the easily distracted — a native macOS menu-bar app with a Chrome extension and native messaging host.

1 open1 doneSwift3 days ago](https://backlogs.m7kni.io/grotTrack/)[## intune-assignments-manager

Visualise and bulk-manage Microsoft Intune app and configuration-profile assignments across devices, users and groups. Runs entirely in your browser — credentials never leave it.

0 open2 doneSvelte3 days ago](https://backlogs.m7kni.io/intune-assignments-manager/)[## autopi-ha

Home Assistant custom integration for AutoPi.io vehicle telematics — GPS position, trip data and OBD vehicle metrics as native entities. Installable through HACS.

0 open1 donePython3 days ago](https://backlogs.m7kni.io/autopi-ha/)[## bumblebee-catalog

Rolling OSV exposure catalog for Bumblebee (public threat-intel, regenerated every 4h)

3 open1 donePython3 days ago](https://backlogs.m7kni.io/bumblebee-catalog/)[## bumblebee-intune

Reference Microsoft Intune deployment for Bumblebee — configuration profiles, policies and deployment guidance

4 open1 donePython3 days ago](https://backlogs.m7kni.io/bumblebee-intune/)[## codexlb2otel

codexlb2otel adds deep observability for OpenAI Codex CLI sessions running through codex-lb. It turns captured Codex conversations and websocket traffic into OpenTelemetry metrics and traces, Loki logs, and Grafana Cloud agento11y.

0 open48 doneGo3 days ago](https://backlogs.m7kni.io/codexlb2otel/)[## .github

Shared GitHub config + reusable security/CI workflows for the rknightion repos

3 open2 donePython3 weeks ago](https://backlogs.m7kni.io/dot-github/)

将此文件上传到服务器的/index.md,以便AI代理可以访问页面的干净版本。您也可以配置Accept: text/markdown内容协商以自动提供。

我们的建议

下载llms.txt
# backlogs.m7kni.io

> Public project trackers for 25 open-source repositories: 148 open tasks and 698 completed.

## Documentation
- [llms.txt](https://backlogs.m7kni.io/llms.txt)

## Main
- [Backlogs - m7kni.io](https://backlogs.m7kni.io): Public project trackers for 25 open-source repositories: 148 open tasks and 698 completed.
- [▭Backlogsm7kni.io](https://backlogs.m7kni.io/)
- [Open](https://backlogs.m7kni.io/open/)
- [Activity](https://backlogs.m7kni.io/activity/)
- [Stats](https://backlogs.m7kni.io/stats/)
- [Search](https://backlogs.m7kni.io/search/)
- [llms.txt](https://backlogs.m7kni.io/llms.txt)

完整llms.txt需要全域分析(即将推出)

将此文件上传到域名根目录的https://backlogs.m7kni.io/llms.txt。ChatGPT、Claude和Perplexity等AI代理会检查此文件以了解您的网站结构。

该网站已有llms.txt文件。

格式有效
# Backlogs - m7kni.io

> Public Backlog.md trackers for 25 open-source repositories owned by rknightion: 148 open tasks, 698 completed, plus 75 tracker documents and 2 decisions. Read-only. Each repository is the source of truth and this site is generated from it.

Every page here is also available as Markdown: request it with the `Accept: text/markdown` header and the edge converts it. Individual record pages are `noindex` and are deliberately absent from the sitemap; the boards and the indexes below reach all of them.

## Site

- [Project index](https://backlogs.m7kni.io/): every published tracker, most recently changed first.
- [All open work](https://backlogs.m7kni.io/open/): every open task across every tracker, on one page.
- [Recent activity](https://backlogs.m7kni.io/activity/): the most recently changed records, newest first.
- [Statistics](https://backlogs.m7kni.io/stats/): completion over time and the type and priority mix.
- [Search](https://backlogs.m7kni.io/search/): full text across every record, filterable by project, status, type and priority.

## Projects

- [backlog-publishing](https://backlogs.m7kni.io/backlog-publishing/): Publishes every public rknightion Backlog.md tracker at backlogs.m7kni.io 0 open, 9 completed, last changed 2026-09-20. Source: https://github.com/rknightion/backlog-publishing. Pages: board https://backlogs.m7kni.io/backlog-publishing/; completed https://backlogs.m7kni.io/backlog-publishing/completed/.
- [opnsense2otel](https://backlogs.m7kni.io/opnsense2otel/): OpenTelemetry and Prometheus observability for OPNsense firewalls. 65 collectors, 1006 metrics, native OTLP metrics and logs, syslog receiver, NetFlow and Zenarmor flow-log processing. 4 open, 109 completed, last changed 2026-09-20. Source: https://github.com/rknightion/opnsense2otel. Pages: board https://backlogs.m7kni.io/opnsense2otel/; completed https://backlogs.m7kni.io/opnsense2otel/completed/; milestones https://backlogs.m7kni.io/opnsense2otel/milestones/; documents https://backlogs.m7kni.io/opnsense2otel/docs/.
- [tailscale2otel](https://backlogs.m7kni.io/tailscale2otel/): Tailscale exporter for OpenTelemetry and Prometheus. Device fleet, network flow logs and audit logs as OTLP metrics & logs. Single Go binary, Grafana Cloud ready. Headscale supported. 2 open, 152 completed, last changed 2026-09-19. Source: https://github.com/rknightion/tailscale2otel. Pages: board https://backlogs.m7kni.io/tailscale2otel/; completed https://backlogs.m7kni.io/tailscale2otel/completed/; milestones https://backlogs.m7kni.io/tailscale2otel/milestones/; documents https://backlogs.m7kni.io/tailscale2otel/docs/.
- [grafana-cloud-vending-machine](https://backlogs.m7kni.io/grafana-cloud-vending-machine/): Provision Grafana Cloud stacks at scale, with style. Declarative request API, Argo CD owns Git, Crossplane reconciles the cloud. 8 open, 80 completed, last changed 2026-09-18. Source: https://github.com/rknightion/grafana-cloud-vending-machine. Pages: board https://backlogs.m7kni.io/grafana-cloud-vending-machine/; completed https://backlogs.m7kni.io/grafana-cloud-vending-machine/completed/; documents https://backlogs.m7kni.io/grafana-cloud-vending-machine/docs/; decisions https://backlogs.m7kni.io/grafana-cloud-vending-machine/decisions/.
- [rfc6035-2otel](https://backlogs.m7kni.io/rfc6035-2otel/): RFC 6035 SIP voice-quality (vq-rtcpxr) reports to OpenTelemetry metrics and logs 2 open, 1 completed, last changed 2026-09-16. Source: https://github.com/rknightion/rfc6035-2otel. Pages: board https://backlogs.m7kni.io/rfc6035-2otel/; completed https://backlogs.m7kni.io/rfc6035-2otel/completed/; documents https://backlogs.m7kni.io/rfc6035-2otel/docs/.
- [sagemcom-f3896-py](https://backlogs.m7kni.io/sagemcom-f3896-py/): Client for the Sagemcom f3896/Ziggo SmartWifi modem (black) 1 open, 1 completed, last changed 2026-09-16. Source: https://github.com/rknightion/sagemcom-f3896-py. Pages: board https://backlogs.m7kni.io/sagemcom-f3896-py/; completed https://backlogs.m7kni.io/sagemcom-f3896-py/completed/; documents https://backlogs.m7kni.io/sagemcom-f3896-py/docs/.
- [sf2loki](https://backlogs.m7kni.io/sf2loki/): Streams Salesforce Event Monitoring into Grafana Loki — Pub/Sub API, SOQL and EventLogFile ingestion, cardinality-disciplined by default. 71 open, 2 completed, last changed 2026-09-16. Source: https://github.com/rknightion/sf2loki. Pages: board https://backlogs.m7kni.io/sf2loki/; completed https://backlogs.m7kni.io/sf2loki/completed/; milestones https://backlogs.m7kni.io/sf2loki/milestones/; documents https://backlogs.m7kni.io/sf2loki/docs/.
- [synthkit](https://backlogs.m7kni.io/synthkit/): Composable synthetic-telemetry generator. One YAML blueprint emits structurally-correct metrics, traces, logs and RUM to Prometheus, Loki and Grafana Cloud over OTLP. 3 open, 174 completed, last changed 2026-09-16. Source: https://github.com/rknightion/synthkit. Pages: board https://backlogs.m7kni.io/synthkit/; completed https://backlogs.m7kni.io/synthkit/completed/; documents https://backlogs.m7kni.io/synthkit/docs/.
- [transceiver-exporter](https://backlogs.m7kni.io/transceiver-exporter/): Prometheus exporter for optical transceiver diagnostics — SFP, SFP+ and QSFP Digital Optical Monitoring (DOM) data read over ethtool. 0 open, 9 completed, last changed 2026-09-16. Source: https://github.com/rknightion/transceiver-exporter. Pages: board https://backlogs.m7kni.io/transceiver-exporter/; completed https://backlogs.m7kni.io/transceiver-exporter/completed/; documents https://backlogs.m7kni.io/transceiver-exporter/docs/.
- [meraki-dashboard-exporter](https://backlogs.m7kni.io/meraki-dashboard-exporter/): Prometheus exporter and OpenTelemetry collector for the Cisco Meraki Dashboard API. Scrape-ready metrics, OTLP export and Grafana dashboards included. 2 open, 66 completed, last changed 2026-09-16. Source: https://github.com/rknightion/meraki-dashboard-exporter. Pages: board https://backlogs.m7kni.io/meraki-dashboard-exporter/; completed https://backlogs.m7kni.io/meraki-dashboard-exporter/completed/; documents https://backlogs.m7kni.io/meraki-dashboard-exporter/docs/.
- [meraki-dashboard-ha](https://backlogs.m7kni.io/meraki-dashboard-ha/): Home Assistant custom integration for Cisco Meraki MT sensors — temperature, humidity, air quality, water and door status via the Meraki Dashboard API. Installable through HACS. 5 open, 2 completed, last changed 2026-09-16. Source: https://github.com/rknightion/meraki-dashboard-ha. Pages: board https://backlogs.m7kni.io/meraki-dashboard-ha/; completed https://backlogs.m7kni.io/meraki-dashboard-ha/completed/; documents https://backlogs.m7kni.io/meraki-dashboard-ha/docs/.
- [openbao-plugin-secrets-github](https://backlogs.m7kni.io/openbao-plugin-secrets-github/): OpenBao secrets engine for short-lived, scoped GitHub App installation tokens. Fork of martinbaillie/vault-plugin-secrets-github ported to the OpenBao SDK. 0 open, 2 completed, last changed 2026-09-16. Source: https://github.com/rknightion/openbao-plugin-secrets-github. Pages: board https://backlogs.m7kni.io/openbao-plugin-secrets-github/; completed https://backlogs.m7kni.io/openbao-plugin-secrets-github/completed/; documents https://backlogs.m7kni.io/openbao-plugin-secrets-github/docs/.
- [paperless-ngx-dedupe](https://backlogs.m7kni.io/paperless-ngx-dedupe/): Find and remove duplicate documents in paperless-ngx. MinHash/LSH fuzzy matching catches near-duplicates that exact hashing misses, with optional AI metadata suggestions. 2 open, 2 completed, last changed 2026-09-16. Source: https://github.com/rknightion/paperless-ngx-dedupe. Pages: board https://backlogs.m7kni.io/paperless-ngx-dedupe/; completed https://backlogs.m7kni.io/paperless-ngx-dedupe/completed/; documents https://backlogs.m7kni.io/paperless-ngx-dedupe/docs/.
- [polylens2otel](https://backlogs.m7kni.io/polylens2otel/): OpenTelemetry-native exporter for Poly Lens and Poly desk phones — metrics, logs and traces over OTLP 4 open, 0 completed, last changed 2026-09-16. Source: https://github.com/rknightion/polylens2otel. Pages: board https://backlogs.m7kni.io/polylens2otel/; documents https://backlogs.m7kni.io/polylens2otel/docs/.
- [fleet-management-operator](https://backlogs.m7kni.io/fleet-management-operator/): Kubernetes operator for Grafana Cloud Fleet Management — declare Alloy collector pipelines as custom resources and reconcile them continuously. 5 open, 1 completed, last changed 2026-09-16. Source: https://github.com/rknightion/fleet-management-operator. Pages: board https://backlogs.m7kni.io/fleet-management-operator/; completed https://backlogs.m7kni.io/fleet-management-operator/completed/; documents https://backlogs.m7kni.io/fleet-management-operator/docs/.
- [genai-otel-bridge](https://backlogs.m7kni.io/genai-otel-bridge/): Turn Portkey and LangSmith LLM traffic into OpenTelemetry metrics and logs. Vendor-neutral OTLP to Grafana Cloud or any collector — leader-elected and content-free. 13 open, 3 completed, last changed 2026-09-16. Source: https://github.com/rknightion/genai-otel-bridge. Pages: board https://backlogs.m7kni.io/genai-otel-bridge/; completed https://backlogs.m7kni.io/genai-otel-bridge/completed/; documents https://backlogs.m7kni.io/genai-otel-bridge/docs/.
- [grafana-cloud-org-insights](https://backlogs.m7kni.io/grafana-cloud-org-insights/): Business value & operational insights from your Grafana Cloud stack 8 open, 28 completed, last changed 2026-09-16. Source: https://github.com/rknightion/grafana-cloud-org-insights. Pages: board https://backlogs.m7kni.io/grafana-cloud-org-insights/; completed https://backlogs.m7kni.io/grafana-cloud-org-insights/completed/; documents https://backlogs.m7kni.io/grafana-cloud-org-insights/docs/.
- [graph2otel](https://backlogs.m7kni.io/graph2otel/): Exports OTLP metrics and logs from Microsoft Entra ID, Intune, Defender, M365 and Purview via Microsoft Graph, Azure Storage blobs and the O365 Management Activity API. Single Go binary, Grafana Cloud ready. 7 open, 1 completed, last changed 2026-09-16. Source: https://github.com/rknightion/graph2otel. Pages: board https://backlogs.m7kni.io/graph2otel/; completed https://backlogs.m7kni.io/graph2otel/completed/; documents https://backlogs.m7kni.io/graph2otel/docs/.
- [grotTrack](https://backlogs.m7kni.io/grotTrack/): Time tracking for the easily distracted — a native macOS menu-bar app with a Chrome extension and native messaging host. 1 open, 1 completed, last changed 2026-09-16. Source: https://github.com/rknightion/grotTrack. Pages: board https://backlogs.m7kni.io/grotTrack/; completed https://backlogs.m7kni.io/grotTrack/completed/; documents https://backlogs.m7kni.io/grotTrack/docs/.
- [intune-assignments-manager](https://backlogs.m7kni.io/intune-assignments-manager/): Visualise and bulk-manage Microsoft Intune app and configuration-profile assignments across devices, users and groups. Runs entirely in your browser — credentials never leave it. 0 open, 2 completed, last changed 2026-09-16. Source: https://github.com/rknightion/intune-assignments-manager. Pages: board https://backlogs.m7kni.io/intune-assignments-manager/; completed https://backlogs.m7kni.io/intune-assignments-manager/completed/; documents https://backlogs.m7kni.io/intune-assignments-manager/docs/.
- [autopi-ha](https://backlogs.m7kni.io/autopi-ha/): Home Assistant custom integration for AutoPi.io vehicle telematics — GPS position, trip data and OBD vehicle metrics as native entities. Installable through HACS. 0 open, 1 completed, last changed 2026-09-16. Source: https://github.com/rknightion/autopi-ha. Pages: board https://backlogs.m7kni.io/autopi-ha/; completed https://backlogs.m7kni.io/autopi-ha/completed/; documents https://backlogs.m7kni.io/autopi-ha/docs/.
- [bumblebee-catalog](https://backlogs.m7kni.io/bumblebee-catalog/): Rolling OSV exposure catalog for Bumblebee (public threat-intel, regenerated every 4h) 3 open, 1 completed, last changed 2026-09-16. Source: https://github.com/rknightion/bumblebee-catalog. Pages: board https://backlogs.m7kni.io/bumblebee-catalog/; completed https://backlogs.m7kni.io/bumblebee-catalog/completed/; documents https://backlogs.m7kni.io/bumblebee-catalog/docs/.
- [bumblebee-intune](https://backlogs.m7kni.io/bumblebee-intune/): Reference Microsoft Intune deployment for Bumblebee — configuration profiles, policies and deployment guidance 4 open, 1 completed, last changed 2026-09-16. Source: https://github.com/rknightion/bumblebee-intune. Pages: board https://backlogs.m7kni.io/bumblebee-intune/; completed https://backlogs.m7kni.io/bumblebee-intune/completed/; documents https://backlogs.m7kni.io/bumblebee-intune/docs/.
- [codexlb2otel](https://backlogs.m7kni.io/codexlb2otel/): codexlb2otel adds deep observability for OpenAI Codex CLI sessions running through codex-lb. It turns captured Codex conversations and websocket traffic into OpenTelemetry metrics and traces, Loki logs, and Grafana Cloud agento11y. 0 open, 48 completed, last changed 2026-09-16. Source: https://github.com/rknightion/codexlb2otel. Pages: board https://backlogs.m7kni.io/codexlb2otel/; completed https://backlogs.m7kni.io/codexlb2otel/completed/; documents https://backlogs.m7kni.io/codexlb2otel/docs/.
- [.github](https://backlogs.m7kni.io/dot-github/): Shared GitHub config + reusable security/CI workflows for the rknightion repos 3 open, 2 completed, last changed 2026-08-29. Source: https://github.com/rknightion/.github. Pages: board https://backlogs.m7kni.io/dot-github/; completed https://backlogs.m7kni.io/dot-github/completed/; documents https://backlogs.m7kni.io/dot-github/docs/.

可访问性

无需JavaScript即可获取内容 (100/100)

Content available without JavaScript

内容在HTML中位置靠前 (50/100)

Main content starts at 44% of HTML

合理的页面大小 (100/100)

Page size: 20KB

AI可发现性

robots.txt允许AI机器人 (100/100)

All major AI search bots allowed

Markdown for Agents支持 (45/100) Application
✓ Accept: text/markdown ✗ .md URL ✓ <link> tag ✗ Link header YAML frontmatter (enriched)
有sitemap.xml (100/100)

Sitemap found

有robots.txt文件 (100/100)

robots.txt exists

有llms.txt文件 (100/100)

llms.txt exists and is valid

有Content-Signal(robots.txt或HTTP标头) (60/100)
✓ robots.txt ✗ HTTP header ✗ Policy

结构化数据

有Schema.org / JSON-LD (50/100)

JSON-LD found but basic types: CollectionPage

有Open Graph标签 (100/100)

All OG tags present

有meta描述 (100/100)

Meta description: 90 chars

有规范URL (100/100)

Canonical URL present

有lang属性 (100/100)

lang="en"

语义化HTML

正确的标题层级 (100/100)

Clean heading hierarchy

使用article或main元素 (100/100)

Has <main>

使用语义化HTML元素 (100/100)

29 semantic elements, 3 divs (ratio: 91%)

有意义的图片alt属性 (100/100)

No images found

较低的div嵌套深度 (100/100)

Avg div depth: 0.0, max: 0

内容效率

良好的Token减少比率 (100/100)

99% token reduction (HTML→Markdown)

良好的内容与噪声比 (0/100)

Content ratio: 1.2% (241 content chars / 20419 HTML bytes)

合理的页面重量 (100/100)

HTML size: 20KB

最少的内联样式 (100/100)

0/255 elements with inline styles (0.0%)

{
  "url": "https://backlogs.m7kni.io",
  "timestamp": 1789930392057,
  "fetch": {
    "mode": "simple",
    "timeMs": 105,
    "htmlSizeBytes": 20419,
    "supportsMarkdown": true,
    "markdownAgents": {
      "contentNegotiation": true,
      "mdUrl": {
        "found": false,
        "url": null
      },
      "linkTag": {
        "found": true,
        "url": "https://backlogs.m7kni.io/"
      },
      "linkHeader": {
        "found": false,
        "url": null
      },
      "responseHeaders": {
        "contentSignal": "ai-train=yes, search=yes, ai-input=yes",
        "xMarkdownTokens": null,
        "vary": "accept-encoding, accept"
      },
      "frontmatter": {
        "present": true,
        "fields": [
          "description",
          "title",
          "image"
        ],
        "level": "enriched"
      },
      "level": "application",
      "contentNegotiationMediaType": "text/markdown",
      "properMediaType": true
    },
    "statusCode": 200
  },
  "extraction": {
    "title": "Backlogs - m7kni.io",
    "excerpt": "Public project trackers for 25 open-source repositories: 148 open tasks and 698 completed.",
    "byline": null,
    "siteName": null,
    "lang": "en",
    "contentLength": 241,
    "metadata": {
      "description": "Public project trackers for 25 open-source repositories: 148 open tasks and 698 completed.",
      "ogTitle": "Backlogs - m7kni.io",
      "ogDescription": "Public project trackers for 25 open-source repositories: 148 open tasks and 698 completed.",
      "ogImage": "https://backlogs.m7kni.io/og/site.png",
      "ogType": "website",
      "canonical": "https://backlogs.m7kni.io/",
      "lang": "en",
      "schemas": [
        {
          "@context": "https://schema.org",
          "@type": "CollectionPage",
          "name": "Backlogs - m7kni.io",
          "description": "Public project trackers for 25 open-source repositories.",
          "url": "https://backlogs.m7kni.io/",
          "mainEntity": {
            "@type": "ItemList",
            "numberOfItems": 25,
            "itemListElement": [
              {
                "@type": "ListItem",
                "position": 1,
                "name": "backlog-publishing",
                "description": "Publishes every public rknightion Backlog.md tracker at backlogs.m7kni.io",
                "url": "https://backlogs.m7kni.io/backlog-publishing/"
              },
              {
                "@type": "ListItem",
                "position": 2,
                "name": "opnsense2otel",
                "description": "OpenTelemetry and Prometheus observability for OPNsense firewalls. 65 collectors, 1006 metrics, native OTLP metrics and logs, syslog receiver, NetFlow and Zenarmor flow-log processing.",
                "url": "https://backlogs.m7kni.io/opnsense2otel/"
              },
              {
                "@type": "ListItem",
                "position": 3,
                "name": "tailscale2otel",
                "description": "Tailscale exporter for OpenTelemetry and Prometheus. Device fleet, network flow logs and audit logs as OTLP metrics & logs. Single Go binary, Grafana Cloud ready. Headscale supported.",
                "url": "https://backlogs.m7kni.io/tailscale2otel/"
              },
              {
                "@type": "ListItem",
                "position": 4,
                "name": "grafana-cloud-vending-machine",
                "description": "Provision Grafana Cloud stacks at scale, with style. Declarative request API, Argo CD owns Git, Crossplane reconciles the cloud.",
                "url": "https://backlogs.m7kni.io/grafana-cloud-vending-machine/"
              },
              {
                "@type": "ListItem",
                "position": 5,
                "name": "rfc6035-2otel",
                "description": "RFC 6035 SIP voice-quality (vq-rtcpxr) reports to OpenTelemetry metrics and logs",
                "url": "https://backlogs.m7kni.io/rfc6035-2otel/"
              },
              {
                "@type": "ListItem",
                "position": 6,
                "name": "sagemcom-f3896-py",
                "description": "Client for the Sagemcom f3896/Ziggo SmartWifi modem (black)",
                "url": "https://backlogs.m7kni.io/sagemcom-f3896-py/"
              },
              {
                "@type": "ListItem",
                "position": 7,
                "name": "sf2loki",
                "description": "Streams Salesforce Event Monitoring into Grafana Loki — Pub/Sub API, SOQL and EventLogFile ingestion, cardinality-disciplined by default.",
                "url": "https://backlogs.m7kni.io/sf2loki/"
              },
              {
                "@type": "ListItem",
                "position": 8,
                "name": "synthkit",
                "description": "Composable synthetic-telemetry generator. One YAML blueprint emits structurally-correct metrics, traces, logs and RUM to Prometheus, Loki and Grafana Cloud over OTLP.",
                "url": "https://backlogs.m7kni.io/synthkit/"
              },
              {
                "@type": "ListItem",
                "position": 9,
                "name": "transceiver-exporter",
                "description": "Prometheus exporter for optical transceiver diagnostics — SFP, SFP+ and QSFP Digital Optical Monitoring (DOM) data read over ethtool.",
                "url": "https://backlogs.m7kni.io/transceiver-exporter/"
              },
              {
                "@type": "ListItem",
                "position": 10,
                "name": "meraki-dashboard-exporter",
                "description": "Prometheus exporter and OpenTelemetry collector for the Cisco Meraki Dashboard API. Scrape-ready metrics, OTLP export and Grafana dashboards included.",
                "url": "https://backlogs.m7kni.io/meraki-dashboard-exporter/"
              },
              {
                "@type": "ListItem",
                "position": 11,
                "name": "meraki-dashboard-ha",
                "description": "Home Assistant custom integration for Cisco Meraki MT sensors — temperature, humidity, air quality, water and door status via the Meraki Dashboard API. Installable through HACS.",
                "url": "https://backlogs.m7kni.io/meraki-dashboard-ha/"
              },
              {
                "@type": "ListItem",
                "position": 12,
                "name": "openbao-plugin-secrets-github",
                "description": "OpenBao secrets engine for short-lived, scoped GitHub App installation tokens. Fork of martinbaillie/vault-plugin-secrets-github ported to the OpenBao SDK.",
                "url": "https://backlogs.m7kni.io/openbao-plugin-secrets-github/"
              },
              {
                "@type": "ListItem",
                "position": 13,
                "name": "paperless-ngx-dedupe",
                "description": "Find and remove duplicate documents in paperless-ngx. MinHash/LSH fuzzy matching catches near-duplicates that exact hashing misses, with optional AI metadata suggestions.",
                "url": "https://backlogs.m7kni.io/paperless-ngx-dedupe/"
              },
              {
                "@type": "ListItem",
                "position": 14,
                "name": "polylens2otel",
                "description": "OpenTelemetry-native exporter for Poly Lens and Poly desk phones — metrics, logs and traces over OTLP",
                "url": "https://backlogs.m7kni.io/polylens2otel/"
              },
              {
                "@type": "ListItem",
                "position": 15,
                "name": "fleet-management-operator",
                "description": "Kubernetes operator for Grafana Cloud Fleet Management — declare Alloy collector pipelines as custom resources and reconcile them continuously.",
                "url": "https://backlogs.m7kni.io/fleet-management-operator/"
              },
              {
                "@type": "ListItem",
                "position": 16,
                "name": "genai-otel-bridge",
                "description": "Turn Portkey and LangSmith LLM traffic into OpenTelemetry metrics and logs. Vendor-neutral OTLP to Grafana Cloud or any collector — leader-elected and content-free.",
                "url": "https://backlogs.m7kni.io/genai-otel-bridge/"
              },
              {
                "@type": "ListItem",
                "position": 17,
                "name": "grafana-cloud-org-insights",
                "description": "Business value & operational insights from your Grafana Cloud stack",
                "url": "https://backlogs.m7kni.io/grafana-cloud-org-insights/"
              },
              {
                "@type": "ListItem",
                "position": 18,
                "name": "graph2otel",
                "description": "Exports OTLP metrics and logs from Microsoft Entra ID, Intune, Defender, M365 and Purview via Microsoft Graph, Azure Storage blobs and the O365 Management Activity API. Single Go binary, Grafana Cloud ready.",
                "url": "https://backlogs.m7kni.io/graph2otel/"
              },
              {
                "@type": "ListItem",
                "position": 19,
                "name": "grotTrack",
                "description": "Time tracking for the easily distracted — a native macOS menu-bar app with a Chrome extension and native messaging host.",
                "url": "https://backlogs.m7kni.io/grotTrack/"
              },
              {
                "@type": "ListItem",
                "position": 20,
                "name": "intune-assignments-manager",
                "description": "Visualise and bulk-manage Microsoft Intune app and configuration-profile assignments across devices, users and groups. Runs entirely in your browser — credentials never leave it.",
                "url": "https://backlogs.m7kni.io/intune-assignments-manager/"
              },
              {
                "@type": "ListItem",
                "position": 21,
                "name": "autopi-ha",
                "description": "Home Assistant custom integration for AutoPi.io vehicle telematics — GPS position, trip data and OBD vehicle metrics as native entities. Installable through HACS.",
                "url": "https://backlogs.m7kni.io/autopi-ha/"
              },
              {
                "@type": "ListItem",
                "position": 22,
                "name": "bumblebee-catalog",
                "description": "Rolling OSV exposure catalog for Bumblebee (public threat-intel, regenerated every 4h)",
                "url": "https://backlogs.m7kni.io/bumblebee-catalog/"
              },
              {
                "@type": "ListItem",
                "position": 23,
                "name": "bumblebee-intune",
                "description": "Reference Microsoft Intune deployment for Bumblebee — configuration profiles, policies and deployment guidance",
                "url": "https://backlogs.m7kni.io/bumblebee-intune/"
              },
              {
                "@type": "ListItem",
                "position": 24,
                "name": "codexlb2otel",
                "description": "codexlb2otel adds deep observability for OpenAI Codex CLI sessions running through codex-lb. It turns captured Codex conversations and websocket traffic into OpenTelemetry metrics and traces, Loki logs, and Grafana Cloud agento11y.",
                "url": "https://backlogs.m7kni.io/codexlb2otel/"
              },
              {
                "@type": "ListItem",
                "position": 25,
                "name": ".github",
                "description": "Shared GitHub config + reusable security/CI workflows for the rknightion repos",
                "url": "https://backlogs.m7kni.io/dot-github/"
              }
            ]
          }
        }
      ],
      "robotsMeta": "index, follow, max-snippet:-1, max-image-preview:large",
      "author": null,
      "generator": null,
      "markdownAlternateHref": "https://backlogs.m7kni.io/"
    }
  },
  "markdown": "## graph2otel\n\nExports OTLP metrics and logs from Microsoft Entra ID, Intune, Defender, M365 and Purview via Microsoft Graph, Azure Storage blobs and the O365 Management Activity API. Single Go binary, Grafana Cloud ready.\n\n7 open1 doneGo3 days ago\n",
  "fullPageMarkdown": "Backlogs - m7kni.io\n\n[▭Backlogsm7kni.io](https://backlogs.m7kni.io/)\n\nProject workspace\n\n# What I am working on.\n\nEvery public repository here keeps its plan in the repository itself, as Backlog.md Markdown. This publishes those trackers as they are: 25 projects,148 open tasks, 698 completed. Read-only, and the repository is always the source of truth.\n\n[All open work](https://backlogs.m7kni.io/open/) ·[Recent activity](https://backlogs.m7kni.io/activity/) ·[Statistics](https://backlogs.m7kni.io/stats/) ·[Search](https://backlogs.m7kni.io/search/)\n\n[## backlog-publishing\n\nPublishes every public rknightion Backlog.md tracker at backlogs.m7kni.io\n\n0 open9 doneAstrotoday](https://backlogs.m7kni.io/backlog-publishing/)[## opnsense2otel\n\nOpenTelemetry and Prometheus observability for OPNsense firewalls. 65 collectors, 1006 metrics, native OTLP metrics and logs, syslog receiver, NetFlow and Zenarmor flow-log processing.\n\n4 open109 doneGotoday](https://backlogs.m7kni.io/opnsense2otel/)[## tailscale2otel\n\nTailscale exporter for OpenTelemetry and Prometheus. Device fleet, network flow logs and audit logs as OTLP metrics & logs. Single Go binary, Grafana Cloud ready. Headscale supported.\n\n2 open152 doneGotoday](https://backlogs.m7kni.io/tailscale2otel/)[## grafana-cloud-vending-machine\n\nProvision Grafana Cloud stacks at scale, with style. Declarative request API, Argo CD owns Git, Crossplane reconciles the cloud.\n\n8 open80 doneGoyesterday](https://backlogs.m7kni.io/grafana-cloud-vending-machine/)[## rfc6035-2otel\n\nRFC 6035 SIP voice-quality (vq-rtcpxr) reports to OpenTelemetry metrics and logs\n\n2 open1 doneGo3 days ago](https://backlogs.m7kni.io/rfc6035-2otel/)[## sagemcom-f3896-py\n\nClient for the Sagemcom f3896/Ziggo SmartWifi modem (black)\n\n1 open1 donePython3 days ago](https://backlogs.m7kni.io/sagemcom-f3896-py/)[## sf2loki\n\nStreams Salesforce Event Monitoring into Grafana Loki — Pub/Sub API, SOQL and EventLogFile ingestion, cardinality-disciplined by default.\n\n71 open2 donePython3 days ago](https://backlogs.m7kni.io/sf2loki/)[## synthkit\n\nComposable synthetic-telemetry generator. One YAML blueprint emits structurally-correct metrics, traces, logs and RUM to Prometheus, Loki and Grafana Cloud over OTLP.\n\n3 open174 doneGo3 days ago](https://backlogs.m7kni.io/synthkit/)[## transceiver-exporter\n\nPrometheus exporter for optical transceiver diagnostics — SFP, SFP+ and QSFP Digital Optical Monitoring (DOM) data read over ethtool.\n\n0 open9 doneGo3 days ago](https://backlogs.m7kni.io/transceiver-exporter/)[## meraki-dashboard-exporter\n\nPrometheus exporter and OpenTelemetry collector for the Cisco Meraki Dashboard API. Scrape-ready metrics, OTLP export and Grafana dashboards included.\n\n2 open66 donePython3 days ago](https://backlogs.m7kni.io/meraki-dashboard-exporter/)[## meraki-dashboard-ha\n\nHome Assistant custom integration for Cisco Meraki MT sensors — temperature, humidity, air quality, water and door status via the Meraki Dashboard API. Installable through HACS.\n\n5 open2 donePython3 days ago](https://backlogs.m7kni.io/meraki-dashboard-ha/)[## openbao-plugin-secrets-github\n\nOpenBao secrets engine for short-lived, scoped GitHub App installation tokens. Fork of martinbaillie/vault-plugin-secrets-github ported to the OpenBao SDK.\n\n0 open2 doneGo3 days ago](https://backlogs.m7kni.io/openbao-plugin-secrets-github/)[## paperless-ngx-dedupe\n\nFind and remove duplicate documents in paperless-ngx. MinHash/LSH fuzzy matching catches near-duplicates that exact hashing misses, with optional AI metadata suggestions.\n\n2 open2 doneTypeScript3 days ago](https://backlogs.m7kni.io/paperless-ngx-dedupe/)[## polylens2otel\n\nOpenTelemetry-native exporter for Poly Lens and Poly desk phones — metrics, logs and traces over OTLP\n\n4 open0 doneGo3 days ago](https://backlogs.m7kni.io/polylens2otel/)[## fleet-management-operator\n\nKubernetes operator for Grafana Cloud Fleet Management — declare Alloy collector pipelines as custom resources and reconcile them continuously.\n\n5 open1 doneGo3 days ago](https://backlogs.m7kni.io/fleet-management-operator/)[## genai-otel-bridge\n\nTurn Portkey and LangSmith LLM traffic into OpenTelemetry metrics and logs. Vendor-neutral OTLP to Grafana Cloud or any collector — leader-elected and content-free.\n\n13 open3 doneGo3 days ago](https://backlogs.m7kni.io/genai-otel-bridge/)[## grafana-cloud-org-insights\n\nBusiness value & operational insights from your Grafana Cloud stack\n\n8 open28 donePython3 days ago](https://backlogs.m7kni.io/grafana-cloud-org-insights/)[## graph2otel\n\nExports OTLP metrics and logs from Microsoft Entra ID, Intune, Defender, M365 and Purview via Microsoft Graph, Azure Storage blobs and the O365 Management Activity API. Single Go binary, Grafana Cloud ready.\n\n7 open1 doneGo3 days ago](https://backlogs.m7kni.io/graph2otel/)[## grotTrack\n\nTime tracking for the easily distracted — a native macOS menu-bar app with a Chrome extension and native messaging host.\n\n1 open1 doneSwift3 days ago](https://backlogs.m7kni.io/grotTrack/)[## intune-assignments-manager\n\nVisualise and bulk-manage Microsoft Intune app and configuration-profile assignments across devices, users and groups. Runs entirely in your browser — credentials never leave it.\n\n0 open2 doneSvelte3 days ago](https://backlogs.m7kni.io/intune-assignments-manager/)[## autopi-ha\n\nHome Assistant custom integration for AutoPi.io vehicle telematics — GPS position, trip data and OBD vehicle metrics as native entities. Installable through HACS.\n\n0 open1 donePython3 days ago](https://backlogs.m7kni.io/autopi-ha/)[## bumblebee-catalog\n\nRolling OSV exposure catalog for Bumblebee (public threat-intel, regenerated every 4h)\n\n3 open1 donePython3 days ago](https://backlogs.m7kni.io/bumblebee-catalog/)[## bumblebee-intune\n\nReference Microsoft Intune deployment for Bumblebee — configuration profiles, policies and deployment guidance\n\n4 open1 donePython3 days ago](https://backlogs.m7kni.io/bumblebee-intune/)[## codexlb2otel\n\ncodexlb2otel adds deep observability for OpenAI Codex CLI sessions running through codex-lb. It turns captured Codex conversations and websocket traffic into OpenTelemetry metrics and traces, Loki logs, and Grafana Cloud agento11y.\n\n0 open48 doneGo3 days ago](https://backlogs.m7kni.io/codexlb2otel/)[## .github\n\nShared GitHub config + reusable security/CI workflows for the rknightion repos\n\n3 open2 donePython3 weeks ago](https://backlogs.m7kni.io/dot-github/)\n",
  "markdownStats": {
    "images": 0,
    "links": 0,
    "tables": 0,
    "codeBlocks": 0,
    "headings": 1
  },
  "tokens": {
    "htmlTokens": 5873,
    "markdownTokens": 60,
    "reduction": 5813,
    "reductionPercent": 99
  },
  "score": {
    "score": 86,
    "grade": "B",
    "rubricVersion": 3,
    "dimensions": {
      "accessibility": {
        "score": 88,
        "weight": 30,
        "grade": "B",
        "checks": {
          "content_without_js": {
            "score": 100,
            "weight": 55,
            "evidence": "proven",
            "details": "Content available without JavaScript"
          },
          "fast_content_position": {
            "score": 50,
            "weight": 25,
            "evidence": "plausible",
            "details": "Main content starts at 44% of HTML"
          },
          "reasonable_page_size": {
            "score": 100,
            "weight": 20,
            "evidence": "plausible",
            "details": "Page size: 20KB"
          }
        }
      },
      "aiDiscoverability": {
        "score": 85,
        "weight": 25,
        "grade": "B",
        "checks": {
          "robots_allows_ai_bots": {
            "score": 100,
            "weight": 35,
            "evidence": "proven",
            "details": "All major AI search bots allowed"
          },
          "supports_markdown_negotiation": {
            "score": 45,
            "weight": 20,
            "evidence": "plausible",
            "details": "Application level — Content negotiation, <link> tag",
            "mechanisms": {
              "negotiation": true,
              "mdUrl": false,
              "linkTag": true,
              "linkHeader": false
            }
          },
          "has_sitemap": {
            "score": 100,
            "weight": 15,
            "evidence": "plausible",
            "details": "Sitemap found"
          },
          "has_robots_txt": {
            "score": 100,
            "weight": 10,
            "evidence": "plausible",
            "details": "robots.txt exists"
          },
          "has_llms_txt": {
            "score": 100,
            "weight": 10,
            "evidence": "speculative",
            "details": "llms.txt exists and is valid"
          },
          "has_content_signals": {
            "score": 60,
            "weight": 10,
            "evidence": "speculative",
            "details": "robots.txt: search=yes, ai-input=yes, ai-train=yes",
            "mechanisms": {
              "robotsTxt": true,
              "httpHeader": false,
              "policy": false
            }
          }
        }
      },
      "structuredData": {
        "score": 83,
        "weight": 20,
        "grade": "B",
        "checks": {
          "has_schema_org": {
            "score": 50,
            "weight": 35,
            "evidence": "proven",
            "details": "JSON-LD found but basic types: CollectionPage"
          },
          "has_open_graph": {
            "score": 100,
            "weight": 20,
            "evidence": "plausible",
            "details": "All OG tags present"
          },
          "has_meta_description": {
            "score": 100,
            "weight": 20,
            "evidence": "plausible",
            "details": "Meta description: 90 chars"
          },
          "has_canonical_url": {
            "score": 100,
            "weight": 15,
            "evidence": "plausible",
            "details": "Canonical URL present"
          },
          "has_lang_attribute": {
            "score": 100,
            "weight": 10,
            "evidence": "plausible",
            "details": "lang=\"en\""
          }
        }
      },
      "semanticHtml": {
        "score": 100,
        "weight": 15,
        "grade": "A",
        "checks": {
          "proper_heading_hierarchy": {
            "score": 100,
            "weight": 30,
            "evidence": "plausible",
            "details": "Clean heading hierarchy"
          },
          "uses_article_or_main": {
            "score": 100,
            "weight": 25,
            "evidence": "plausible",
            "details": "Has <main>"
          },
          "semantic_elements": {
            "score": 100,
            "weight": 20,
            "evidence": "plausible",
            "details": "29 semantic elements, 3 divs (ratio: 91%)"
          },
          "meaningful_alt_texts": {
            "score": 100,
            "weight": 15,
            "evidence": "plausible",
            "details": "No images found"
          },
          "low_div_nesting": {
            "score": 100,
            "weight": 10,
            "evidence": "speculative",
            "details": "Avg div depth: 0.0, max: 0"
          }
        }
      },
      "contentEfficiency": {
        "score": 70,
        "weight": 10,
        "grade": "C",
        "checks": {
          "token_reduction_ratio": {
            "score": 100,
            "weight": 40,
            "evidence": "speculative",
            "details": "99% token reduction (HTML→Markdown)"
          },
          "content_to_noise_ratio": {
            "score": 0,
            "weight": 30,
            "evidence": "speculative",
            "details": "Content ratio: 1.2% (241 content chars / 20419 HTML bytes)"
          },
          "reasonable_page_weight": {
            "score": 100,
            "weight": 20,
            "evidence": "speculative",
            "details": "HTML size: 20KB"
          },
          "minimal_inline_styles": {
            "score": 100,
            "weight": 10,
            "evidence": "speculative",
            "details": "0/255 elements with inline styles (0.0%)"
          }
        }
      }
    }
  },
  "recommendations": [
    {
      "id": "improve_content_ratio",
      "priority": "high",
      "category": "contentEfficiency",
      "titleKey": "rec.improve_content_ratio.title",
      "descriptionKey": "rec.improve_content_ratio.description",
      "howToKey": "rec.improve_content_ratio.howto",
      "howToStepKeys": null,
      "effort": "moderate",
      "estimatedImpact": 3,
      "maxImpact": 3,
      "evidence": "speculative",
      "checkScore": 0,
      "checkDetails": "Content ratio: 1.2% (241 content chars / 20419 HTML bytes)"
    },
    {
      "id": "add_markdown_negotiation",
      "priority": "high",
      "category": "aiDiscoverability",
      "titleKey": "rec.add_markdown_negotiation.title",
      "descriptionKey": "rec.add_markdown_negotiation.description_partial",
      "howToKey": "rec.add_markdown_negotiation.howto",
      "howToStepKeys": [
        "rec.add_markdown_negotiation.step.md_url",
        "rec.add_markdown_negotiation.step.link_header"
      ],
      "effort": "significant",
      "estimatedImpact": 2.8,
      "maxImpact": 5,
      "evidence": "plausible",
      "checkScore": 45,
      "checkDetails": "Application level — Content negotiation, <link> tag"
    }
  ],
  "llmsTxtPreview": "# backlogs.m7kni.io\n\n> Public project trackers for 25 open-source repositories: 148 open tasks and 698 completed.\n\n## Documentation\n- [llms.txt](https://backlogs.m7kni.io/llms.txt)\n\n## Main\n- [Backlogs - m7kni.io](https://backlogs.m7kni.io): Public project trackers for 25 open-source repositories: 148 open tasks and 698 completed.\n- [▭Backlogsm7kni.io](https://backlogs.m7kni.io/)\n- [Open](https://backlogs.m7kni.io/open/)\n- [Activity](https://backlogs.m7kni.io/activity/)\n- [Stats](https://backlogs.m7kni.io/stats/)\n- [Search](https://backlogs.m7kni.io/search/)\n- [llms.txt](https://backlogs.m7kni.io/llms.txt)\n\n",
  "llmsTxtExisting": "# Backlogs - m7kni.io\n\n> Public Backlog.md trackers for 25 open-source repositories owned by rknightion: 148 open tasks, 698 completed, plus 75 tracker documents and 2 decisions. Read-only. Each repository is the source of truth and this site is generated from it.\n\nEvery page here is also available as Markdown: request it with the `Accept: text/markdown` header and the edge converts it. Individual record pages are `noindex` and are deliberately absent from the sitemap; the boards and the indexes below reach all of them.\n\n## Site\n\n- [Project index](https://backlogs.m7kni.io/): every published tracker, most recently changed first.\n- [All open work](https://backlogs.m7kni.io/open/): every open task across every tracker, on one page.\n- [Recent activity](https://backlogs.m7kni.io/activity/): the most recently changed records, newest first.\n- [Statistics](https://backlogs.m7kni.io/stats/): completion over time and the type and priority mix.\n- [Search](https://backlogs.m7kni.io/search/): full text across every record, filterable by project, status, type and priority.\n\n## Projects\n\n- [backlog-publishing](https://backlogs.m7kni.io/backlog-publishing/): Publishes every public rknightion Backlog.md tracker at backlogs.m7kni.io 0 open, 9 completed, last changed 2026-09-20. Source: https://github.com/rknightion/backlog-publishing. Pages: board https://backlogs.m7kni.io/backlog-publishing/; completed https://backlogs.m7kni.io/backlog-publishing/completed/.\n- [opnsense2otel](https://backlogs.m7kni.io/opnsense2otel/): OpenTelemetry and Prometheus observability for OPNsense firewalls. 65 collectors, 1006 metrics, native OTLP metrics and logs, syslog receiver, NetFlow and Zenarmor flow-log processing. 4 open, 109 completed, last changed 2026-09-20. Source: https://github.com/rknightion/opnsense2otel. Pages: board https://backlogs.m7kni.io/opnsense2otel/; completed https://backlogs.m7kni.io/opnsense2otel/completed/; milestones https://backlogs.m7kni.io/opnsense2otel/milestones/; documents https://backlogs.m7kni.io/opnsense2otel/docs/.\n- [tailscale2otel](https://backlogs.m7kni.io/tailscale2otel/): Tailscale exporter for OpenTelemetry and Prometheus. Device fleet, network flow logs and audit logs as OTLP metrics & logs. Single Go binary, Grafana Cloud ready. Headscale supported. 2 open, 152 completed, last changed 2026-09-19. Source: https://github.com/rknightion/tailscale2otel. Pages: board https://backlogs.m7kni.io/tailscale2otel/; completed https://backlogs.m7kni.io/tailscale2otel/completed/; milestones https://backlogs.m7kni.io/tailscale2otel/milestones/; documents https://backlogs.m7kni.io/tailscale2otel/docs/.\n- [grafana-cloud-vending-machine](https://backlogs.m7kni.io/grafana-cloud-vending-machine/): Provision Grafana Cloud stacks at scale, with style. Declarative request API, Argo CD owns Git, Crossplane reconciles the cloud. 8 open, 80 completed, last changed 2026-09-18. Source: https://github.com/rknightion/grafana-cloud-vending-machine. Pages: board https://backlogs.m7kni.io/grafana-cloud-vending-machine/; completed https://backlogs.m7kni.io/grafana-cloud-vending-machine/completed/; documents https://backlogs.m7kni.io/grafana-cloud-vending-machine/docs/; decisions https://backlogs.m7kni.io/grafana-cloud-vending-machine/decisions/.\n- [rfc6035-2otel](https://backlogs.m7kni.io/rfc6035-2otel/): RFC 6035 SIP voice-quality (vq-rtcpxr) reports to OpenTelemetry metrics and logs 2 open, 1 completed, last changed 2026-09-16. Source: https://github.com/rknightion/rfc6035-2otel. Pages: board https://backlogs.m7kni.io/rfc6035-2otel/; completed https://backlogs.m7kni.io/rfc6035-2otel/completed/; documents https://backlogs.m7kni.io/rfc6035-2otel/docs/.\n- [sagemcom-f3896-py](https://backlogs.m7kni.io/sagemcom-f3896-py/): Client for the Sagemcom f3896/Ziggo SmartWifi modem (black) 1 open, 1 completed, last changed 2026-09-16. Source: https://github.com/rknightion/sagemcom-f3896-py. Pages: board https://backlogs.m7kni.io/sagemcom-f3896-py/; completed https://backlogs.m7kni.io/sagemcom-f3896-py/completed/; documents https://backlogs.m7kni.io/sagemcom-f3896-py/docs/.\n- [sf2loki](https://backlogs.m7kni.io/sf2loki/): Streams Salesforce Event Monitoring into Grafana Loki — Pub/Sub API, SOQL and EventLogFile ingestion, cardinality-disciplined by default. 71 open, 2 completed, last changed 2026-09-16. Source: https://github.com/rknightion/sf2loki. Pages: board https://backlogs.m7kni.io/sf2loki/; completed https://backlogs.m7kni.io/sf2loki/completed/; milestones https://backlogs.m7kni.io/sf2loki/milestones/; documents https://backlogs.m7kni.io/sf2loki/docs/.\n- [synthkit](https://backlogs.m7kni.io/synthkit/): Composable synthetic-telemetry generator. One YAML blueprint emits structurally-correct metrics, traces, logs and RUM to Prometheus, Loki and Grafana Cloud over OTLP. 3 open, 174 completed, last changed 2026-09-16. Source: https://github.com/rknightion/synthkit. Pages: board https://backlogs.m7kni.io/synthkit/; completed https://backlogs.m7kni.io/synthkit/completed/; documents https://backlogs.m7kni.io/synthkit/docs/.\n- [transceiver-exporter](https://backlogs.m7kni.io/transceiver-exporter/): Prometheus exporter for optical transceiver diagnostics — SFP, SFP+ and QSFP Digital Optical Monitoring (DOM) data read over ethtool. 0 open, 9 completed, last changed 2026-09-16. Source: https://github.com/rknightion/transceiver-exporter. Pages: board https://backlogs.m7kni.io/transceiver-exporter/; completed https://backlogs.m7kni.io/transceiver-exporter/completed/; documents https://backlogs.m7kni.io/transceiver-exporter/docs/.\n- [meraki-dashboard-exporter](https://backlogs.m7kni.io/meraki-dashboard-exporter/): Prometheus exporter and OpenTelemetry collector for the Cisco Meraki Dashboard API. Scrape-ready metrics, OTLP export and Grafana dashboards included. 2 open, 66 completed, last changed 2026-09-16. Source: https://github.com/rknightion/meraki-dashboard-exporter. Pages: board https://backlogs.m7kni.io/meraki-dashboard-exporter/; completed https://backlogs.m7kni.io/meraki-dashboard-exporter/completed/; documents https://backlogs.m7kni.io/meraki-dashboard-exporter/docs/.\n- [meraki-dashboard-ha](https://backlogs.m7kni.io/meraki-dashboard-ha/): Home Assistant custom integration for Cisco Meraki MT sensors — temperature, humidity, air quality, water and door status via the Meraki Dashboard API. Installable through HACS. 5 open, 2 completed, last changed 2026-09-16. Source: https://github.com/rknightion/meraki-dashboard-ha. Pages: board https://backlogs.m7kni.io/meraki-dashboard-ha/; completed https://backlogs.m7kni.io/meraki-dashboard-ha/completed/; documents https://backlogs.m7kni.io/meraki-dashboard-ha/docs/.\n- [openbao-plugin-secrets-github](https://backlogs.m7kni.io/openbao-plugin-secrets-github/): OpenBao secrets engine for short-lived, scoped GitHub App installation tokens. Fork of martinbaillie/vault-plugin-secrets-github ported to the OpenBao SDK. 0 open, 2 completed, last changed 2026-09-16. Source: https://github.com/rknightion/openbao-plugin-secrets-github. Pages: board https://backlogs.m7kni.io/openbao-plugin-secrets-github/; completed https://backlogs.m7kni.io/openbao-plugin-secrets-github/completed/; documents https://backlogs.m7kni.io/openbao-plugin-secrets-github/docs/.\n- [paperless-ngx-dedupe](https://backlogs.m7kni.io/paperless-ngx-dedupe/): Find and remove duplicate documents in paperless-ngx. MinHash/LSH fuzzy matching catches near-duplicates that exact hashing misses, with optional AI metadata suggestions. 2 open, 2 completed, last changed 2026-09-16. Source: https://github.com/rknightion/paperless-ngx-dedupe. Pages: board https://backlogs.m7kni.io/paperless-ngx-dedupe/; completed https://backlogs.m7kni.io/paperless-ngx-dedupe/completed/; documents https://backlogs.m7kni.io/paperless-ngx-dedupe/docs/.\n- [polylens2otel](https://backlogs.m7kni.io/polylens2otel/): OpenTelemetry-native exporter for Poly Lens and Poly desk phones — metrics, logs and traces over OTLP 4 open, 0 completed, last changed 2026-09-16. Source: https://github.com/rknightion/polylens2otel. Pages: board https://backlogs.m7kni.io/polylens2otel/; documents https://backlogs.m7kni.io/polylens2otel/docs/.\n- [fleet-management-operator](https://backlogs.m7kni.io/fleet-management-operator/): Kubernetes operator for Grafana Cloud Fleet Management — declare Alloy collector pipelines as custom resources and reconcile them continuously. 5 open, 1 completed, last changed 2026-09-16. Source: https://github.com/rknightion/fleet-management-operator. Pages: board https://backlogs.m7kni.io/fleet-management-operator/; completed https://backlogs.m7kni.io/fleet-management-operator/completed/; documents https://backlogs.m7kni.io/fleet-management-operator/docs/.\n- [genai-otel-bridge](https://backlogs.m7kni.io/genai-otel-bridge/): Turn Portkey and LangSmith LLM traffic into OpenTelemetry metrics and logs. Vendor-neutral OTLP to Grafana Cloud or any collector — leader-elected and content-free. 13 open, 3 completed, last changed 2026-09-16. Source: https://github.com/rknightion/genai-otel-bridge. Pages: board https://backlogs.m7kni.io/genai-otel-bridge/; completed https://backlogs.m7kni.io/genai-otel-bridge/completed/; documents https://backlogs.m7kni.io/genai-otel-bridge/docs/.\n- [grafana-cloud-org-insights](https://backlogs.m7kni.io/grafana-cloud-org-insights/): Business value & operational insights from your Grafana Cloud stack 8 open, 28 completed, last changed 2026-09-16. Source: https://github.com/rknightion/grafana-cloud-org-insights. Pages: board https://backlogs.m7kni.io/grafana-cloud-org-insights/; completed https://backlogs.m7kni.io/grafana-cloud-org-insights/completed/; documents https://backlogs.m7kni.io/grafana-cloud-org-insights/docs/.\n- [graph2otel](https://backlogs.m7kni.io/graph2otel/): Exports OTLP metrics and logs from Microsoft Entra ID, Intune, Defender, M365 and Purview via Microsoft Graph, Azure Storage blobs and the O365 Management Activity API. Single Go binary, Grafana Cloud ready. 7 open, 1 completed, last changed 2026-09-16. Source: https://github.com/rknightion/graph2otel. Pages: board https://backlogs.m7kni.io/graph2otel/; completed https://backlogs.m7kni.io/graph2otel/completed/; documents https://backlogs.m7kni.io/graph2otel/docs/.\n- [grotTrack](https://backlogs.m7kni.io/grotTrack/): Time tracking for the easily distracted — a native macOS menu-bar app with a Chrome extension and native messaging host. 1 open, 1 completed, last changed 2026-09-16. Source: https://github.com/rknightion/grotTrack. Pages: board https://backlogs.m7kni.io/grotTrack/; completed https://backlogs.m7kni.io/grotTrack/completed/; documents https://backlogs.m7kni.io/grotTrack/docs/.\n- [intune-assignments-manager](https://backlogs.m7kni.io/intune-assignments-manager/): Visualise and bulk-manage Microsoft Intune app and configuration-profile assignments across devices, users and groups. Runs entirely in your browser — credentials never leave it. 0 open, 2 completed, last changed 2026-09-16. Source: https://github.com/rknightion/intune-assignments-manager. Pages: board https://backlogs.m7kni.io/intune-assignments-manager/; completed https://backlogs.m7kni.io/intune-assignments-manager/completed/; documents https://backlogs.m7kni.io/intune-assignments-manager/docs/.\n- [autopi-ha](https://backlogs.m7kni.io/autopi-ha/): Home Assistant custom integration for AutoPi.io vehicle telematics — GPS position, trip data and OBD vehicle metrics as native entities. Installable through HACS. 0 open, 1 completed, last changed 2026-09-16. Source: https://github.com/rknightion/autopi-ha. Pages: board https://backlogs.m7kni.io/autopi-ha/; completed https://backlogs.m7kni.io/autopi-ha/completed/; documents https://backlogs.m7kni.io/autopi-ha/docs/.\n- [bumblebee-catalog](https://backlogs.m7kni.io/bumblebee-catalog/): Rolling OSV exposure catalog for Bumblebee (public threat-intel, regenerated every 4h) 3 open, 1 completed, last changed 2026-09-16. Source: https://github.com/rknightion/bumblebee-catalog. Pages: board https://backlogs.m7kni.io/bumblebee-catalog/; completed https://backlogs.m7kni.io/bumblebee-catalog/completed/; documents https://backlogs.m7kni.io/bumblebee-catalog/docs/.\n- [bumblebee-intune](https://backlogs.m7kni.io/bumblebee-intune/): Reference Microsoft Intune deployment for Bumblebee — configuration profiles, policies and deployment guidance 4 open, 1 completed, last changed 2026-09-16. Source: https://github.com/rknightion/bumblebee-intune. Pages: board https://backlogs.m7kni.io/bumblebee-intune/; completed https://backlogs.m7kni.io/bumblebee-intune/completed/; documents https://backlogs.m7kni.io/bumblebee-intune/docs/.\n- [codexlb2otel](https://backlogs.m7kni.io/codexlb2otel/): codexlb2otel adds deep observability for OpenAI Codex CLI sessions running through codex-lb. It turns captured Codex conversations and websocket traffic into OpenTelemetry metrics and traces, Loki logs, and Grafana Cloud agento11y. 0 open, 48 completed, last changed 2026-09-16. Source: https://github.com/rknightion/codexlb2otel. Pages: board https://backlogs.m7kni.io/codexlb2otel/; completed https://backlogs.m7kni.io/codexlb2otel/completed/; documents https://backlogs.m7kni.io/codexlb2otel/docs/.\n- [.github](https://backlogs.m7kni.io/dot-github/): Shared GitHub config + reusable security/CI workflows for the rknightion repos 3 open, 2 completed, last changed 2026-08-29. Source: https://github.com/rknightion/.github. Pages: board https://backlogs.m7kni.io/dot-github/; completed https://backlogs.m7kni.io/dot-github/completed/; documents https://backlogs.m7kni.io/dot-github/docs/.",
  "emergingProtocols": {
    "oauthProtectedResource": {
      "exists": false,
      "url": "https://backlogs.m7kni.io/.well-known/oauth-protected-resource"
    },
    "oauthDiscovery": {
      "exists": false,
      "url": "https://backlogs.m7kni.io/.well-known/oauth-authorization-server"
    },
    "mcpServerCard": {
      "exists": false,
      "url": "https://backlogs.m7kni.io/.well-known/mcp/server-card.json",
      "draft": true
    },
    "a2aAgentCard": {
      "exists": false,
      "url": "https://backlogs.m7kni.io/.well-known/agent-card.json"
    },
    "apiCatalog": {
      "exists": false,
      "url": "https://backlogs.m7kni.io/.well-known/api-catalog"
    },
    "agentSkills": {
      "exists": false,
      "url": "https://backlogs.m7kni.io/.well-known/agent-skills/index.json",
      "draft": true
    },
    "count": 0,
    "total": 6
  },
  "botAccess": {
    "probed": true,
    "bot": "OAI-SearchBot",
    "controlStatus": 200,
    "botStatus": 200,
    "discriminates": false,
    "refusedAsBot": false,
    "edge": "Cloudflare",
    "verifiable": false,
    "detail": "This origin answers OAI-SearchBot exactly as it answers any other client (200). No edge-level filtering of AI crawlers observed."
  },
  "snippets": [
    {
      "id": "add_markdown_negotiation",
      "title": "Support Markdown for Agents",
      "description": "Let AI agents request a clean Markdown version of any page via content negotiation, .md alternate URLs, link tags or Link headers.",
      "language": "html",
      "code": "<!-- Mechanism 3: link tag advertising the .md alternate -->\n<link rel=\"alternate\" type=\"text/markdown\" href=\"/page.md\">",
      "filename": "<head>",
      "stacks": [
        {
          "id": "html",
          "label": "HTML <head>",
          "language": "html",
          "filename": "<head>",
          "code": "<!-- Mechanism 3: link tag advertising the .md alternate -->\n<link rel=\"alternate\" type=\"text/markdown\" href=\"/page.md\">"
        },
        {
          "id": "express",
          "label": "Express",
          "language": "javascript",
          "filename": "server.js",
          "code": "// Mechanisms 1 + 4: content negotiation + Link header\napp.get('/page', (req, res) => {\n  res.setHeader('Vary', 'Accept');\n  res.setHeader('Link', '</page.md>; rel=\"alternate\"; type=\"text/markdown\"');\n  if ((req.headers.accept || '').includes('text/markdown')) {\n    res.type('text/markdown; charset=utf-8');\n    return res.send(renderMarkdown('page'));\n  }\n  res.render('page');\n});"
        },
        {
          "id": "fastify",
          "label": "Fastify",
          "language": "javascript",
          "filename": "server.js",
          "code": "// Mechanisms 1 + 4: content negotiation + Link header\nfastify.get('/page', async (req, reply) => {\n  reply.header('Vary', 'Accept');\n  reply.header('Link', '</page.md>; rel=\"alternate\"; type=\"text/markdown\"');\n  if ((req.headers.accept || '').includes('text/markdown')) {\n    return reply.type('text/markdown; charset=utf-8').send(renderMarkdown('page'));\n  }\n  return reply.view('/page.ejs');\n});"
        },
        {
          "id": "nextjs",
          "label": "Next.js",
          "language": "typescript",
          "filename": "app/page/route.ts",
          "code": "// Next.js App Router — Route Handler returning Markdown\nimport { NextRequest } from 'next/server';\nimport { renderMarkdown } from '@/lib/md';\nexport async function GET(req: NextRequest) {\n  const accept = req.headers.get('accept') || '';\n  if (accept.includes('text/markdown')) {\n    return new Response(await renderMarkdown('page'), {\n      headers: {\n        'Content-Type': 'text/markdown; charset=utf-8',\n        'Vary': 'Accept',\n      },\n    });\n  }\n  // Fall through to the page component\n  return new Response(null, { status: 404 });\n}"
        },
        {
          "id": "wordpress",
          "label": "WordPress",
          "language": "php",
          "filename": "functions.php",
          "code": "<?php\n// Mechanism 1: respond to Accept: text/markdown on the same URL\nadd_action('template_redirect', function () {\n    if (!is_singular()) return;\n    $accept = $_SERVER['HTTP_ACCEPT'] ?? '';\n    if (strpos($accept, 'text/markdown') === false) return;\n    header('Content-Type: text/markdown; charset=utf-8');\n    header('Vary: Accept');\n    $post = get_queried_object();\n    echo \"# \" . get_the_title($post) . \"\\n\\n\";\n    echo wp_strip_all_tags(apply_filters('the_content', $post->post_content));\n    exit;\n});"
        },
        {
          "id": "static",
          "label": "Hugo / Jekyll / Astro",
          "language": "txt",
          "filename": "static/page.md",
          "code": "# Mechanism 2: serve .md alongside .html\n# Hugo: place page.md in /static/ — built unchanged\n# Jekyll: drop page.md in /assets/ — copied as-is\n# Astro: src/pages/page.md.ts that exports a GET returning markdown\n\n# Then advertise with mechanism 3 in <head>:\n#   <link rel=\"alternate\" type=\"text/markdown\" href=\"/page.md\">"
        }
      ]
    }
  ]
}

使用我们的API以编程方式获取此内容(即将推出)

此JSON供内部使用 — 与Markdown和llms.txt文件不同,它不适合上传到您的网站。将其保存为基准值以跟踪评分变化,与开发团队共享,或集成到CI/CD流水线中。

想听听第二种意见?

Cloudflare 也提供免费扫描工具,但它问的是另一个问题。他们评分的是你的站点为智能体调用而发布的东西:MCP server card、Agent Skills、API 目录、DNS 记录。我们评分的是智能体能否访问、读取并理解你的内容。一个站点可能在其中一项表现很好、另一项很差,所以看到两个不同的分数很正常:它们是两个不同问题的答案,都值得了解。

用 Cloudflare 扫描 backlogs.m7kni.io

嵌入您的徽章

将此徽章添加到您的网站。当您的 AI 就绪评分发生变化时,它会自动更新。

AgentReady.md score for backlogs.m7kni.io
Script 推荐
<script src="https://agentready.md/badge.js" data-id="c833a8ca-f69c-42bb-99af-d22f69fc536e" data-domain="backlogs.m7kni.io"></script>
Markdown
[![AgentReady.md score for backlogs.m7kni.io](https://agentready.md/badge/backlogs.m7kni.io.svg)](https://agentready.md/zh/r/backlogs.m7kni.io)

即将推出:全域分析

爬取您的整个域名,生成llms.txt,并随时间监控您的AI就绪度评分。加入等候名单以获取通知。

您已加入名单!服务上线时我们会通知您。