Scripts2026年5月31日·1 分钟阅读

Utterances — Lightweight Comments Widget Built on GitHub Issues

A lightweight, open-source comments widget that uses GitHub Issues as the backend, adding discussion capability to any static site or blog with zero tracking and no ads.

Agent 就绪

Agent 可直接安装

这个资产可安装;Agent 先选择当前运行时、检查安装计划,再运行匹配命令。

Native · 98/100策略:允许
Agent 入口
任意 MCP/CLI Agent
类型
Skill
安装
Single
信任
信任等级:Established
入口
Utterances Overview
直接安装命令
npx -y tokrepo@latest install 78b65d78-5ccb-11f1-9bc6-00163e2b0d79 --target codex

先 dry-run 确认安装计划,再运行此命令。

Introduction

Utterances is a comments widget that stores comments as GitHub Issues. When a visitor comments on your page, utterances creates or appends to a GitHub Issue mapped to that page. Commenters authenticate with their GitHub account, so there is no separate user system, no database, and no tracking scripts. It is ideal for developer blogs and documentation sites.

What Utterances Does

  • Embeds a comment section on any webpage using a single script tag
  • Maps pages to GitHub Issues using pathname, URL, title, or a custom term
  • Renders comments with full GitHub-flavored Markdown support including code blocks
  • Loads and posts comments via the GitHub API with OAuth authentication
  • Supports light and dark themes matching GitHub's own styling

Architecture Overview

Utterances consists of a small client-side script that renders an iframe on your page and a lightweight server component hosted at utteranc.es. When the widget loads, it queries the GitHub API for an Issue matching the configured term. If found, it displays existing comments in the iframe. When a user posts a comment, the server uses a GitHub App token to create the comment on the Issue. All data lives in your GitHub repository as standard Issues.

Self-Hosting & Configuration

  • Add the script tag to your page with repo set to your GitHub repository
  • Install the utterances GitHub App on the target repository to grant comment permissions
  • Choose an issue-term mapping strategy: pathname, url, title, og:title, or a specific issue number
  • Select a theme from built-in options like github-light, github-dark, preferred-color-scheme, and others
  • Self-host the server component by deploying the utterances API from the repository if you want full control

Key Features

  • No tracking, no ads, and no paywall; comments are plain GitHub Issues
  • GitHub-flavored Markdown rendering with syntax highlighting in comments
  • Automatic Issue creation when the first comment is posted on a new page
  • Reactions support inherited from GitHub Issues (thumbs up, heart, etc.)
  • Minimal footprint with no external CSS or JavaScript dependencies beyond the single script

Comparison with Similar Tools

  • Giscus — uses GitHub Discussions instead of Issues, supporting threaded replies and more reaction types; utterances uses the simpler Issues model
  • Disqus — full-featured commercial platform with ads and tracking; utterances is free, ad-free, and privacy-respecting
  • Commento — self-hosted privacy-focused comments with its own database; utterances needs no database and leverages GitHub
  • Cusdis — lightweight open-source alternative with email notifications; utterances benefits from GitHub's existing notification system

FAQ

Q: Do commenters need a GitHub account? A: Yes. Comments are posted via GitHub OAuth, so commenters must have a GitHub account. This works well for developer-oriented sites.

Q: Can I moderate comments? A: Yes. Comments are GitHub Issues, so you can edit, delete, lock, or hide them using standard GitHub moderation tools.

Q: Does utterances work with private repositories? A: No. The repository must be public for the widget to read and display comments without authentication barriers.

Q: Will utterances clutter my repository Issues? A: Comments are labeled with a configurable label (default: utterances) so you can filter them in the Issues tab.

Sources

讨论

登录后参与讨论。
还没有评论,来写第一条吧。

相关资产