# helldots 中文文档

规范地址：https://npmcn.com/package/helldots/

版本：0\.13\.0
npm 元数据更新时间：2026-11-03T17:08:11.415Z
中文译文更新时间：2026-11-03T20:31:25.962Z
软件包许可：MIT

本文由上游 README 机器翻译，可能存在偏差，请结合原文核对 API、命令与配置。版权与许可归原作者所有。

原始 npm 页面：https://www.npmjs.com/package/helldots
原文对照：https://npmcn.com/package/helldots/?lang=original
项目主页：https://github.com/xKeCo/helldots#readme
源码仓库：https://github.com/xKeCo/helldots

## 关键信息（来自 npm 元数据）

- 包体积（解压后）：1 MB，7 个文件
- 模块格式：ES Module
- TypeScript 类型：包内自带
- Node.js 要求：\>=18
- 运行依赖：0 个
- peer 依赖：modern-screenshot ^4\.7\.0
- 首次发布：2026-07-30T12:55:39.123Z
- 最新版本发布：2026-11-03T17:08:10.986Z
- 已发布版本数：13（近 12 个月 13 个）

## 中文简介

插入式评论覆盖网络应用程序-点击任何地方留下评论锚定的元素，与自动截图和环境捕获

## 安装

```sh
npm install helldots
```

也可以使用：`pnpm add helldots`、`yarn add helldots`、`bun add helldots`

## README

![](https://raw.githubusercontent.com/xKeCo/helldots/main/assets/brand/helldots-mark.png)

# HellDots

插入式评论覆盖的web应用程序。你的团队在页面上任意点击， 在此元素上留下注释，而《HellDots》便能够抓住上下文 需要对它采取行动——屏幕截图，浏览器，视口，DOM路径。

[![npm](https://img.shields.io/npm/v/helldots)](https://www.npmjs.com/package/helldots) [![bundle size](https://img.shields.io/bundlejs/size/helldots)](https://bundlejs.com/?q=helldots) [![license](https://img.shields.io/npm/l/helldots)](https://github.com/xKeCo/helldots/blob/main/LICENSE)

**[文档](https://helldots.kcollazos.me/docs)** · **[操场上](https://helldots.kcollazos.me/docs/playground)** · **[npm](https://www.npmjs.com/package/helldots)**

![Leaving a comment on a button, classifying it as a high-priority bug, opening its captured context, then the inbox and the metrics dashboard](https://raw.githubusercontent.com/xKeCo/helldots/main/assets/demo.gif)

## 特性

-   **固定的评论** 存活下来的，在页面加载后重新锚定 变化——或被标记为孤儿，从未无声地落下
-   **自动背景**：截图，区域裁剪，URL，视窗，浏览器， 操作系统和元素的DOM路径
-   **分类**：状态、类型、优先级、标签、反应和审计跟踪
-   **指标指示板** 与CSV和PDF导出
-   **代理人副本**：为AI编码助手构建的纯文本上下文块
-   **你拥有数据**：没有任何东西被发送到任何地方-将回调连接到您的 后端，或者让小部件持久化到 `localStorage`
-   **孤立的**：在Shadow DOM内渲染，框架无关，类型
-   **英语和西班牙语** 建在

## 安装

```bash
npm install helldots
```

> `modern-screenshot` （屏幕截图渲染器）是一个对等依赖。npm 7 +, PNPM 8+和bun自动安装；在Yarn上，显式地添加 `yarn add modern-screenshot`。

## 快速启动

```js
import { createCommentOverlay } from "helldots";

createCommentOverlay({
  user: { name: "Ana" },
  persistence: "localStorage",
});
```

就是这样。工具栏出现在页面底部。 `Alt`+`C` (或 `Option`+`C` 在macOS上)切换评论模式；单击任何地方留下一个 注释，或拖动以选择一个区域并附加该区域的屏幕截图。

## 将其连接到您自己的后端

跳过 `persistence` 用回调来代替。 `onChange` 有每 突变是一条溪流； `onReady` 是安全的地方恢复：

```js
import { createCommentOverlay } from "helldots";

createCommentOverlay({
  user: { name: currentUser.name, id: currentUser.id },
  onChange: (event) => api.post("/helldots-events", event),
  onReady: async (overlay) => {
    overlay.loadComments(await api.get("/comments"));
  },
});
```

每个注释都是纯JSON: pass `serializeComments()` 直接输出到 你的API并把它交还给 `loadComments()` 以后。希望每次回调一次 事件(`onCommentCreated`， `onReplyAdded`,……)?他们在同一时刻开火 看到 [事件](https://helldots.kcollazos.me/docs/api/events)。

`localStorage` 拥有大约一百条评论和截图和假设 每个页面一个活动标签；在此之后，坚持回调。保持 Base64图像从您的数据库，上传他们与 `transformScreenshot`。 → [持久性指南](https://helldots.kcollazos.me/docs/guides/persistence)

## 框架

**Server-rendered应用** （Next.js, Remix, Astro…）：导入是安全的-什么都没有 在导入时触及DOM。只在客户端上创建覆盖层：

```jsx
useEffect(() => {
  const overlay = createCommentOverlay({ user, persistence: "localStorage" });
  return () => overlay.cleanup();
}, [user]);
```

**单页面应用程序**：当导航发生时，告诉小部件，并让它运行 自己的跨页跳转使用你的路由器：

```js
const overlay = createCommentOverlay({
  user,
  navigate: (page) => router.push(page),
});

router.afterEach(() => overlay.notifyNavigation());
```

→ [框架指南](https://helldots.kcollazos.me/docs/guides/frameworks)

## 将注释传递给编码代理

每个评论都有一个 **复制** 控件上的纯文本上下文块 剪贴板，用于粘贴到AI编码助手中；

```
Page: /pricing
Viewport: 1440x900
Anchor state: anchored
Status: open
Selector: #plans > div.card:nth-child(2) > button
Element: <button class="cta" data-plan="pro">
DOM path: body > main.layout > section#plans > div.card > button.cta
Nearby text: "Upgrade to Pro"
Comment by Ana (2026-07-29T10:14:00.000Z):
"This button does nothing on mobile"
Type: bug
Priority: high
Tags: checkout, ios
URL: https://example.com/pricing
Screen: 390x844
Browser: Safari 17.2
OS: iOS 17.2
```

## 常见的选项

| 选项 | 默认的 |  |
| --- | --- | --- |
| `user` | `"Anonymous"` | `{ name, id? }` ——通过 `id` 只要两个人有相同的名字 |
| `persistence` | `"none"` | `"localStorage"`，或者通过回调自己处理它 |
| `onChange` | \- - - - - - | 每个突变都有一个流 |
| `onReady` | \- - - - - - | 部件安装;安全的地方 `loadComments()` |
| `autoScreenshot` | `true` | 捕获每个评论的屏幕截图和环境快照 |
| `transformScreenshot` | \- - - - - - | 上传每个图像并存储您的URL，而不是base64数据URL |
| `can` | 只做自己的记录 | 谁可以编辑和删除——一个UI守卫，而不是授权 |
| `navigate` | 全页面加载 | 用于小部件跨页面跳转的SPA路由器钩子 |
| `locale` | 浏览器语言 | `"en"` 和 `"es"` 船 |

→ [所有的选项](https://helldots.kcollazos.me/docs/api/options) · [事件](https://helldots.kcollazos.me/docs/api/events) · [方法](https://helldots.kcollazos.me/docs/api/methods) · [类型](https://helldots.kcollazos.me/docs/api/types)

## 指南

-   [捕捉](https://helldots.kcollazos.me/docs/guides/captures) -什么是 记录，网页字体，缓慢或非常长的页面，iframe，超时
-   [身份](https://helldots.kcollazos.me/docs/guides/identity) - - - - - - `user.id`， 谁可以编辑和删除，以及什么 `can` 不安全
-   [分类](https://helldots.kcollazos.me/docs/guides/triage) -状态、类型、 优先级、标签、反应和审计跟踪
-   [指标](https://helldots.kcollazos.me/docs/guides/metrics) - - - 指示板, `getMetrics()`， CSV和PDF导出
-   [持久性](https://helldots.kcollazos.me/docs/guides/persistence) - - - - - - `localStorage` 限制，你自己的后端，截图上传
-   [深度链接](https://helldots.kcollazos.me/docs/guides/deep-links) - - - - - - 可共享的评论url，并且只加载链接的评论
-   [实时](https://helldots.kcollazos.me/docs/guides/realtime) ——同步 通过套接字而不回显您自己的写入
-   [框架](https://helldots.kcollazos.me/docs/guides/frameworks) - - - - - - 服务器渲染，SPA路由器，热键，无绑定器设置，延迟挂载

## 浏览器支持

现代常绿浏览器。该小部件在Shadow DOM中呈现，因此 页面的CSS不能泄漏，它的样式也不能泄漏。

## ESM只

这个包只提供ES模块。 `import` 无处不在——捆绑商，Vite， Next.js，节点≥18，本机 `<script type="module">`． 没有CommonJS 构建,所以 `require("helldots")` 不会起作用。TypeScript定义船 和包裹一起。

为了一个普通的 `<script>` 标记，则启动了一个独立的UMD构建 CDN:

```html
<script src="https://unpkg.com/helldots"></script>
<script>
  HellDots.createCommentOverlay({ user: { name: "Ana" } });
</script>
```

## 许可证

麻省理工学院

## 常见问题

### helldots 是什么？

插入式评论覆盖网络应用程序-点击任何地方留下评论锚定的元素，与自动截图和环境捕获

### 如何安装 helldots？

在项目目录运行 npm install helldots，或使用 pnpm add / yarn add / bun add。它还需要宿主项目提供 peer 依赖：modern-screenshot（^4\.7\.0）。npm 7 及以上与 pnpm 8 及以上默认会自动安装必需的 peer 依赖，Yarn 需要手动安装。

### helldots 支持 TypeScript 吗？

支持。包内自带 TypeScript 类型声明（package\.json 声明了 types 入口），安装后即可获得类型提示，无需再安装 @types 包。

### helldots 支持 ESM 还是 CommonJS？

以 ES Module 形式发布，推荐使用 import 引入。在 CommonJS 项目中，Node\.js 20\.19\+ / 22\.12\+ 可以直接 require\(\) 不含顶层 await 的 ES Module，更早的版本需要改用动态 import\(\)。

### helldots 需要什么版本的 Node\.js？

package\.json 的 engines 字段要求 Node\.js \>=18。版本不符时 npm 默认只给出警告，开启 engine-strict 后会拒绝安装。

### helldots 可以商用吗？

helldots 使用 MIT 许可。宽松许可：允许商业使用、修改和再分发，通常只需在分发时保留原版权与许可声明。以上为概括，不构成法律意见，请以许可原文为准。

### helldots 还在维护吗？

最新版本 0\.13\.0 发布于 2026/11/04（今天）；至今共发布 13 个版本，其中过去 12 个月发布了 13 个；首次发布于 2026/07/30。发布频率只是参考信号：功能稳定的工具可能很少需要更新，建议结合源码仓库的 issue 和提交记录判断。

