@atproto/ozone: Bluesky 温和服务
提供后端服务来调节Bluesky网络.
已缓存
API 使用有边框的内存文件缓存 。 配置其限制 OZONE_DID_CACHE_MAX_ENTRIES (违约10,000起), OZONE_DID_CACHE_MAX_BYTES (序列化文件和DID密钥默认为33,554,432字节),以及 OZONE_DID_CACHE_MAX_DOC_BYTES (默认每个序列文档65,536字节). 设定任何限制为 0 以禁用保留。 超过限额的文件仍然可以解决,但不能缓存. 更改这些设置后重新启动 API .
集团转移用途
OZONE_BLOB_DIVERT_MAX_BYTES 设定一个被下载用于分流的最大大小。 它必须是正整数并默认为314,572,800字节(300 MiB). 接收服务必须支持同样的规模。 更改此设置后重新启动 API .
报表标签
报表自动添加一个理由标记, 如 report:spam 默认情况下, 设定 OZONE_REPORT_TAGS_DISABLED=true 并重新启动 API 以禁用这些自动报告标记。 未设置或 false 保持他们的功能.
环境适用于通过两个机构提交的报告 com.atproto.moderation.createReport 财务报告和审定财务报表 tools.ozone.moderation.emitEvent。 。 。 .
语言和嵌入标记,手动应用标记,以及现有的报告标记不受影响.
以适度行动结束报告
tools.ozone.moderation.emitEvent 接受 reportAction: { allOwned: true } 用于关闭报表的账户事件。 它将活动与符合资格的账户报告及其记录、信息和对话联系起来. allOwned 目标所有报告类型;明确 ids 包括这些报告,即使它们被指派或升级。 事件和关闭是一起发生的.
tools.ozone.report.closeReports 接受已有的 actionEventId. 事件必须是关于所要求主题或其自己账户的结束报告事件; includeAllOwned 需要账户事件。 选定报告与该事件相关联,在一个交易中结束。 如果没有事件标识,关闭将保持其不采取行动的结果。 两个API都保护指定,升级和积极指派的报告不被广泛选择. closeReports 可额外过滤或排除报告类型.
对于消息事件,匹配报告也必须有事件的对话ID. 这使得在不同的对话中使用同名ID的信息是分开的.
相关事件可能早于报告。 由此产生的行动归属是指该事件,该事件可能不再有效. 上诉前的事件,或与另一主题上诉有关的账户事件,不能确定上诉结果:上诉结果要求以后就被上诉主题发生事件.
通关卡标签查询
通关卡图案 com.atproto.label.queryLabels 默认已禁用,包括 * 并请求混合通配符和准确的图案。 他们返回了HTTP 400 (InvalidRequest),带有"支持通配符标签查询暂时被禁用"等信息后再访问数据库. 精确 URI 查询仍然可用 .
设定 OZONE_LABEL_QUERY_WILDCARDS_ENABLED=true 并重新启动 API 以恢复通配符支持。 未设置或 false 关闭它.
历史标签重放
com.atproto.label.subscribeLabels 与光标的连接共享每个API进程的历史重放预算. OZONE_LABEL_STREAM_BACKFILL_RATE 设置每秒标签的正整数; 默认值为 2000 。 页面包含最多500个标签,所以简短的页面尺寸的相接是可能的. 更改设置后重新启动 API .
这在保存历史和光标命令的同时, 将批量重放 。 大型回填需要更长的时间,多个重放客户端共享预算. 现场订阅和测序投票并不等待这一预算;截取询问仍受现有流缓冲限制的限制.
订阅开始和关闭日志包括连接ID,光标,代理套接字地址/端口,用户代理和转发地址链. 关闭日志添加最后一个序列, 生成事件计数和持续时间 。 转发头和用户代理是归属提示,而不是认证的呼叫者身份; cookie和授权头不在此列.
中度查询取消
queryEvents 财务报告和审定财务报表 queryStatuses 使用 Kysely 的 HTTP 客户端断开时取消其上市 SQL cancel query 中止策略 。 Kysely 使用单独的 PostgreSQL 连接进行取消,并保持上市连接直到 SQL 和取消结束. 这没有添加查询截止日期 .
中度收件箱状态
设定 NEXT_PUBLIC_STRIKE_SUSPENSION_CONFIG 例如,臭氧UI使用的同值 4:72,8:168,12:336,16:Infinity每个入口都显示罢工计数至暂停时间; Infinity 表示永久中止。 后端保留了完整的地图,并使用了第二和第三个阈值,按打击计数排序,用于 warning 财务报告和审定财务报表 atRisk。第一层不变。 在没有配置的情况下,站立源于账户的执行和限制;罢工门槛被禁用. 启动时无效的条目失败配置 .
调节收件箱起始日期
设定 OZONE_INBOX_START_AT aPI 和守护进程到一个 ISO 8601 倍加时区, 例如 2026-10-15T00:00:00.000Z。配置使其正常化为 UTC 毫秒,并在启动时拒绝无效值。 失落暴露出所有历史. 未来日期在符合条件的活动发生之前将历史保留为空;改变值需要重新启动服务.
报告只有在 createdAt 即使较旧的报告后来得到解决或重新开放,日期或之后。 同样的规定也适用于报告细节和解决行动。 主题要求在该日期或之后采取公开行动;行动计数、首发日期、最新行动、详细历史和报告摘要不包括较早的历史。 更古老的上诉历史被掩盖,而资格仍然尊重早先的上诉。 收件箱呼吁不能针对隐藏动作或对象. 主持人预览使用相同的截取.
账户状态和当前执行仍然有效:主动限制,罢工和标签可以早于收件箱启动. 偏好和所看到的水印不会暴露历史;它们保留了现有的行为. 截取不是被读取的水印,所以一个在起始日期准确创建的项目最初没有被读取.
通知制作方在日期之前跳过活动,并跳过隐藏的报告或上诉主题的过渡. 列表和未读计数独立执行日期和目标能见度,包括现有的已存储通知. API和守护进程必须使用相同的值. 来源报告/行动继续正常记录。 移动更早的日期可以显示更多来源历史, 但跳过的通知不会被回填 。 在选定的开始日期前完成写入器的推出,以避免通知间隙.
报告 - 第一页 reporterDid 后补和退休后补习 完成之前部署这个阅读器。 创建记者/时间索引和 idx_moderation_event_inbox_public_created 在收件箱迁移前同时生产。 后一种指数 (subjectDid, createdAt DESC, id DESC) 因此,主题历史可以查找所配置的日期.
罢工期满
客户提供来自严重性设定的罢工金额和过期时间戳. 后端保存它们,并将过期的打击排除在活动总数之外.
未到期的遗留事件需要单独修复. 更改过期有效 不取消降级、停赛或终身罢工总数.
许可证
根据麻省理工学院和Apache 2.0条款,这个项目具有双重许可证:
- 麻省理工学院许可证LICENSE-MIT.txt (英语) 或者说 http://opensource.org/licenses/MIT 互联网档案馆的存檔,存档日期2013-12-02(中文(简体) )
- Apache 许可证,2.0版本, ((原始内容存档于2017-09-31) (英语). LICENSE-APACHE.txt 或者说 http://www.apache.org/licenses/LICENSE-2.0 (中文(简体) )(中文(简体) )
下游项目和终端用户可自行选择单独或共同发放许可证。 这种双重许可的动机是Apache 2.0提供的额外软件专利保证.