# @framers/agentos-ext-content-policy-rewriter 中文文档

规范地址：https://npmcn.com/package/%40framers/agentos-ext-content-policy-rewriter/

版本：0\.1\.4
npm 元数据更新时间：2026-11-11T08:02:05.192Z
中文译文更新时间：2026-11-15T12:41:11.614Z
软件包许可：Apache-2\.0

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

原始 npm 页面：https://www.npmjs.com/package/%40framers/agentos-ext-content-policy-rewriter
原文对照：https://npmcn.com/package/%40framers/agentos-ext-content-policy-rewriter/?lang=original
项目主页：https://github.com/framerslab/agentos-extensions/tree/master/registry/curated/safety/content-policy-rewriter#readme
源码仓库：https://github.com/framerslab/agentos-extensions

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

- 包体积（解压后）：51.2 kB，21 个文件
- 模块格式：ES Module
- TypeScript 类型：包内自带
- Node.js 要求：\>=22
- 运行依赖：0 个
- peer 依赖：@framers/agentos \>=0\.10\.40
- 首次发布：2026-03-29T08:07:03.398Z
- 最新版本发布：2026-11-11T08:02:04.821Z
- 近 30 天下载量：19952（2026-10-16 至 2026-11-14，npm 官方下载统计）
- 已发布版本数：5（近 12 个月 5 个）

## 中文简介

AgentOS的Opt-in内容政策护栏——通过LLM法官检测违规情况并重写或块块输出

## 安装

```sh
npm install @framers/agentos-ext-content-policy-rewriter
```

也可以使用：`pnpm add @framers/agentos-ext-content-policy-rewriter`、`yarn add @framers/agentos-ext-content-policy-rewriter`、`bun add @framers/agentos-ext-content-policy-rewriter`

## README

# @ framers/ agentos-ext-content-policy-refriter(政策写作) @ info: whatsthis

AgentOS的Opt-in内容政策守护符——检测代理输出中的违规情况,并通过LLM判断器将其阻断或重写为符合版本.

**代理商默认不受审查.** 此扩展仅在明确配置时激活 .

## 特征

-   **双层混合管:** 关于流体块(零成本)的关键字预过滤器+关于最后答复的LLM法官/改写器
-   **8个可配置类别:** 非法 有害、成人、亵渎、暴力、自残、仇恨 言论、非法 活动、习俗
-   **4个预设:** 未经审查、未经审查的安全、关爱家庭、企业
-   **完全可配置 :** 每一个类别都可以被启用/ 失效, 设置动作以屏蔽或消毒
-   **无硬码限制 :** 所有政策都由用户控制

## 快速启动

```typescript
import { createContentPolicyRewriter } from '@framers/agentos-ext-content-policy-rewriter';

// Minimal — blocks illegal_harmful content only (default)
const pack = createContentPolicyRewriter({});

// Family-friendly preset
const pack = createContentPolicyRewriter('family-friendly');

// Custom configuration
const pack = createContentPolicyRewriter({
  categories: {
    adult: { enabled: true, action: 'sanitize' },
    profanity: { enabled: true, action: 'sanitize' },
    violence: { enabled: true, action: 'block' },
  },
  customRules: 'Never mention competitor products by name.',
});

// Truly uncensored — zero filtering
const pack = createContentPolicyRewriter('uncensored');
```

## 它的判断

守护者读取 AgentOS 输出流的块作为运行时间释放出它们(`AgentOSResponseChunkType`:

-   **文本三角形** (单位:千美元)`type: 'text_delta'`,文本输入 `textDelta`:关键词预过滤器将每个三角洲与溪口早期三角洲的遗言一起扫描,因此发现了分出两个三角洲的短语. 块类先试. 一场比赛 `block` 分类以错误块结束流,其 `code` 实值 `KEYWORD_<CATEGORY>`; 在一个 `sanitize` 类别替换为 `[Content removed by policy]`. 预过滤器在目的上是宽的:通过一个单词结束部分的三角洲被扫描,所以在三角洲端切出一个单词可以匹配它只从开头的一个关键词. 设定 `streamingPreFilter: false` 跳过三角洲,然后通过 `holdUntilFinal` 到输出调度器,在判断整个答复之前不显示任何信息.
-   **最后答复** (单位:千美元)`type: 'final_response'`,文本输入 `finalResponseText`: 任意一个关键字匹配 `block` 分类块一次,没有 LLM 调用。 否则,LLM法官将文本与允许的类别进行分类;未允许的类别被忽略。 A. 任何违反《公约》的行为 `block` 类别 块块解答,以类别为理由代码。 当每一次违反都发生在 `sanitize` 类别中, LLM 重写替换符, 并让守护符返回 `sanitize`; 当重写调用失败或未返回文本时, 回复被屏蔽 `REWRITE_FAILED`。 。 。 .
-   **当法官不能分类时** (拨打失败,或者回答不是被问到的JSON),回答被屏蔽了,因为 `JUDGE_FAILED`设置 `judgeFailure: 'allow'` 而不是让这种答复通过.

其它的都是未经判断的 一个召集人 `evaluateOutput()` 本身通过相同的块形状.

## 探员. config.json

```json
{
  "guardrails": {
    "contentPolicy": {
      "enabled": true,
      "categories": {
        "illegal_harmful": { "enabled": true, "action": "block" },
        "adult": { "enabled": true, "action": "sanitize" },
        "profanity": { "enabled": true, "action": "sanitize" }
      }
    }
  }
}
```

或简指:

```json
{
  "guardrails": {
    "contentPolicy": "uncensored-safe"
  }
}
```

## 类别

| 类别 | 说明 | 默认 |
| --- | --- | --- |
| `illegal_harmful` | CSAM: 性侵犯、性爱、剥削 | 启用, 块 |
| `adult` | 同意的性明确内容 | 已禁用 |
| `profanity` | 口水,粗俗的语言 | 已禁用 |
| `violence` | 图形暴力,戈尔 | 已禁用 |
| `self_harm` | 自残、自杀 | 已禁用 |
| `hate_speech` | 歧视性、偏执的内容 | 已禁用 |
| `illegal_activity` | 毒品合成、武器制造 | 已禁用 |
| `custom` | 用户定义的政策规则 | 已禁用 |

## 预设

| 预设 | 效果 |
| --- | --- |
| `uncensored` | 已禁用的所有类别——零过滤 |
| `uncensored-safe` | 仅 `illegal_harmful` 启用 |
| `family-friendly` | 启用了所有类别( 在可能情况下进行系统化) |
| `enterprise` | 所有类别均启用 + 自定义规则 |

## 许可证

阿帕奇 - 2.0

## 常见问题

### @framers/agentos-ext-content-policy-rewriter 是什么？

AgentOS的Opt-in内容政策护栏——通过LLM法官检测违规情况并重写或块块输出

### 如何安装 @framers/agentos-ext-content-policy-rewriter？

在项目目录运行 npm install @framers/agentos-ext-content-policy-rewriter，或使用 pnpm add / yarn add / bun add。它还需要宿主项目提供 peer 依赖：@framers/agentos（\>=0\.10\.40）。npm 7 及以上与 pnpm 8 及以上默认会自动安装必需的 peer 依赖，Yarn 需要手动安装。

### @framers/agentos-ext-content-policy-rewriter 支持 TypeScript 吗？

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

### @framers/agentos-ext-content-policy-rewriter 支持 ESM 还是 CommonJS？

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

### @framers/agentos-ext-content-policy-rewriter 需要什么版本的 Node\.js？

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

### @framers/agentos-ext-content-policy-rewriter 可以商用吗？

@framers/agentos-ext-content-policy-rewriter 使用 Apache-2\.0 许可。宽松许可：允许商业使用、修改和再分发，并附带明确的专利授权；分发时需保留许可与 NOTICE 文件，修改过的文件要注明改动。以上为概括，不构成法律意见，请以许可原文为准。

### @framers/agentos-ext-content-policy-rewriter 的下载量有多少？

根据 npm 官方下载统计，@framers/agentos-ext-content-policy-rewriter 在 2026/10/16 – 2026/11/14 这 30 天内被下载 19,952 次，日均约 665 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入，适合横向比较热度，不能直接等同于使用人数。

### @framers/agentos-ext-content-policy-rewriter 还在维护吗？

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

