关于 Palimpsest — censorship, China economy and model-eval observatory
Palimpsest 是面向审查与中国相关经济、AI 评测记录的公共证据观测平台。它为记者和研究人员提供可追溯至公开证据的信号、预注册评测,以及离线验证已发布材料的工具。
主要功能
- 01可追溯至公开证据的审查信号
- 02预注册且防篡改的模型评测
- 03可复现的发现与验证脚本
- 04有来源约束的中国经济数据
- 05可移植的证据包
适用场景
- 01跟踪有记录的审查变化
- 02离线核验已发布的评测记录
- 03审阅中国经济证据及其覆盖范围
- 04携带带有支持证据的主张
MCP 相关
Palimpsest 的中国经济 API 指南包含 MCP 连接示例。MCP 客户端可访问中国经济证据,但须遵守其覆盖范围、权利、修订记录和弃答说明。
配置
远程服务无需本地安装。选择你使用的客户端,复制配置或使用一键安装。
https://api.seiche.info/palimpsest/mcpclaude mcp add --transport http beepboop2025-palimpsest https://api.seiche.info/palimpsest/mcp{"mcpServers":{"beepboop2025-palimpsest":{"type":"http","url":"https://api.seiche.info/palimpsest/mcp"}}}在 Cursor 中打开{"servers":{"beepboop2025-palimpsest":{"type":"http","url":"https://api.seiche.info/palimpsest/mcp"}}}在 VS Code 中打开{"mcpServers":{"beepboop2025-palimpsest":{"type":"http","url":"https://api.seiche.info/palimpsest/mcp"}}}{"mcpServers":{"beepboop2025-palimpsest":{"serverUrl":"https://api.seiche.info/palimpsest/mcp"}}}命令在终端中运行;JSON 粘贴到对应客户端的 MCP 配置后重启。需要授权的服务会在首次连接时提示登录。
工具
7| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| limit | integer | 否 | |
| offset | integer | 否 |
详细介绍
Palimpsest
这是一份公开、防篡改的记录,记录强势行为者悄然抹去的内容;任何人都可以离线检测,当前提供的记录是否仍能复现其已发布的承诺。
Palimpsest 是一个基础组件:一份密封的、只追加的账本,无需信任我们即可验证。它指向两个记录会在暗中被改写的领域:
- 可验证评测注册表。 AI 评测结果在发布时即被密封。问题在查询任何模型之前便已冻结并进行哈希承诺;每项结果都与前一项串联,任何一个数字被编辑都会导致验证失败。中国政府立场一致的模型和西方前沿模型遵循相同的防篡改预注册机制,各自使用独立的冻结测试套件,并持续监测它们悄然停止回答的问题。这不是实验室、政府,也不是我们说了算:如果我们编辑了已发布的数字,我们自己的验证器就会报告篡改。
- 审查观察站。 将威权审查造成的删除作为数据进行衡量。它读取被清除、改写或封锁内容的公开记录——涵盖网络、百科全书和模型——并将国家正在掩埋的内容转化为实时、开放许可的预警信号,供记者、研究人员和人权捍卫者使用。 26 项信号会自动定期刷新,每个数字都可追溯至公开证据。
- AI 评测日志。 以证据为依据的文章,说明评测为何存在、其方法如何变化、出现了哪些问题,以及当前记录能支持哪些主张。 每篇文章都保留其局限性、证伪条件、验证命令和确切的产物凭据;链接中的阅读材料仍是权威来源。
- 实时评测发现。 根据最新的已验证拒绝漂移面板重建的确定性分析。每个分析句子都绑定到确切的证据选择器;相关控制项、分母、区间、对照解读和不可变修订记录也都一并提供。
完全基于开放来源构建。它监视的是审查者,而非被审查者。
使用 Palimpsest 获取有来源依据的中国证据
如需了解连通的机构工作流,请参阅 机构证据路由。 LiquiLens 是机构压力和风险审查问题的入口;Palimpsest 则依据自身的覆盖范围和权利合同,提供相关的经济、信息控制和可验证评估证据。
Palimpsest 是更广泛的金融研究工具群中的中国证据层。其
货币市场指南提供 CFETS 官方回购定盘价、SHIBOR 和美元/人民币平价数据,并标明经济周期、发布日期和采集时钟。其资本市场指南的范围则有意设得更窄:仅提供港交所互联互通的官方汇总观察数据,不涵盖一般股票、债券、衍生品或投资者层面的数据。中国经济 API 指南展示无需密钥的 REST 和绑定发布版本的 MCP 1.9.3 示例,同时保留修订、权利、覆盖范围和弃答信息。
在 2026 年 8 月 24 日的发布快照中,中国整体解读和指定序列预测目标的状态均为 warming_up;这表示弃答,而非经过验证的预测。引用状态前,请重新查看链接中的最新资料。系统融资以及货币/资本传导请使用 Seiche,机构风险请使用 LiquiLens,退出流动性请使用 Undertow。规范的金融证据 Agent 技能会执行上述路由,同时保留各产品的证据边界。Agent 可以通过 Palimpsest 的 AI 目录发现该服务。
如需配套的融资、银行和退出流动性研究,免费 Agent 入门套件可配置 Seiche、LiquiLens 和 Undertow,并提供 Hermes 与 OpenClaw 设置指南。Palimpsest 需通过上文的中国经济 API 指南单独接入;该套件不包含其 MCP 连接,也不会扩大其发布权利。
跟踪“一带一路”证据,不将其混为一谈
“一带一路”观察站发布全球来源、权利、项目生命周期、融资和本地影响合同,并重点覆盖巴基斯坦的 CPEC 和瓜达尔、缅甸的 CMEC 和皎漂,以及俾路支省中有意区分的七个方面:政治、公民、武装、法律、国家行动、权利和政治经济。其 NarcoScope 叠加层仅关联国家/时间汇总背景,不能识别行为者,也不能确立政治、犯罪、走廊或因果关联。
单独授权的世界银行 WDI 数据包增加了中国、缅甸和巴基斯坦的 3,564 条年度国家—指标记录。观测值、预测值和不可用值保持区分,国家层面的背景信息绝不视为项目证据。Release A 的确切发布由不可变 Pages 回执和回执架构绑定:提交 14b06772dfed6cdc736279c9ab61b444e5846598,工作流运行
32984946320,以及在 2026-08-26T15:55:34Z 进行的绕过缓存服务字节验证。回执的 fresh_until 时钟表示一个持续 24 小时的时点可用性声明,不代表持续监控,也不是新的 WDI 观测日期。
为独立验证提供资金
Palimpsest 已冻结并发布了一份包含 145 行的验证样本、其代码手册和一致性脚本。本轮活动的计划筹款目标为 1,800 美元,用于聘请两名独立的中文编码员。他们完成的编码表、一致性结果和局限性都会公开,即使结果否定这套标注方案也不例外。
可在 GitHub 上每月或一次性资助这项研究,金额从 1 美元起。你也可以查看筹款活动和直接加密货币捐款渠道、查阅公开资金账本,或使用 Giveth 项目页面。Giveth 验证申请已提交,但尚未获批;该项目目前也不符合 GIVbacks 资格。
持续支持可用于支付观测点、档案、模型额度和独立人工审核的费用。它绝不会让捐赠者左右研究问题、方法、发现或发布时间表。银行卡付款由 GitHub 处理;Palimpsest 不会收集或存储捐赠者的银行卡或银行账户信息。
Palimpsest 评估中文模型和与国家立场一致的语言模型如何回应有记录的事件以及对中国共产党的批评。生成式防火墙和评估注册表会将每项结果与已声明的问题、保留的响应证据、不确定性和可检测的修订关联起来。单张截图无法证明存在可重复的模式,也无法证明模型制造商的动机;每项主张都严格限定在其所指明的面板、测试套件和时间戳范围内。
一条命令,亲自验证
git clone https://github.com/beepboop2025/palimpsest && cd palimpsest
python3 scripts/reproduce_all.py
该封装程序会运行密封链验证器,并根据已提交的文件重新生成每周态势报告、地名录谱系和采集器健康状况评分卡。退出码为 0 表示这些内容仍然匹配。各条独立命令仍可单独运行:
python3 scripts/verify_eval_registry.py # the eval chain + the pre-registration rule
python3 scripts/verify_refusal_transcripts.py # current frontier text -> seal -> labels
python3 -m scripts.build_eval_assurance --check # the claim ceiling matches the evidence
python3 -m scripts.build_eval_findings --check # live findings match the sealed panel
python3 scripts/verify_ledger.py # the erasure / censorship ledger
python3 scripts/evidence_capsule.py verify protocol/test-vectors/palimpsest-erasure-v1.json
无需安装,无需密钥,无需服务器,仅使用标准库。只要改动一个密封字节,验证器就会指出出错之处。核心理念就是:你不必信任操作者,自己验证即可。
需要将某项主张及其确切的支持字节带到另一家新闻编辑部、研究笔记或 Agent 中?证据胶囊会将证据、带类型的主张和明确的局限性打包到一个静态 JSON 文件中,并采用同样的离线验证模式。
经审核的 ScamShield 情报包将这一边界应用于诈骗研究:其中涵盖 18 个公开来源和 8 种诈骗类型,分属三个不同维度;支持等级描述的是证据关联,而非有罪与否或风险高低。ScamShield 可以创建私有的本地证据胶囊,同时将原始 Telegram 文本保留为哈希值,并默认不发送;公开候选内容会省略消息、确切指标和仅所有者可见的流动性数值,必须经过人工审核,绝不会自动发布。完整的边界说明见 integrations/scamshield/README.md。
新闻编辑部还推出了《来自龙穴的低语》:这是一份经人工审核、不含来源信息的分析背景材料,源自符合条件的公开频道胶囊,并提供自己的 RSS 和 JSON Feed。原始公开频道转发仍留在单独的 Telegram 频道中,并附有警告:综合频道、网络安全与技术以及地区与边境地带。这些内容绝不会绕过单独的人工审核和净化流程进入网站产物。 现在,中国态势工作台将出版方报告、带有精确链接的机构 Instagram/Telegram 观察、经审核且不含来源信息的 Dragon Whispers,以及 Palimpsest Observatory 测量结果整合在一个可审计视图中。它并非通用聚合器:每一层都保留自身的来源关系、覆盖回执、修订标识和局限性。社交平台注册表为封闭且公开;Instagram 仅使用 Meta 官方 API,经过身份验证的 Telegram 交接可以附加经过净化的版本,但无权控制 Instagram 或佐证信息。其结构化索引和专用 RSS/JSON 订阅源已链接至公开订阅源目录。
也可以观看实时运行: 观测站(实时审查信号)、可验证评估注册表、 AI 评估日志、 实时评估发现以及 生成式防火墙索引。 只需 10 秒、零依赖,即可体验:
python3 demo/palimpsest_demo.py会抓取 China Digital Times 的实时订阅源,并对审查方当前关注的内容进行排序(--source sample可离线运行)。
完整的运行视图位于 OSINT China:这是对所有面向中国的读数进行公开汇总的页面,包含每个来源的更新频率、新鲜度期限、覆盖状态和完整的机器可读载荷。采集器失败或数据过时,会继续作为明显缺口显示在面板上;绝不会用看似合理的零值替代。
每小时运行的独立恢复监控程序会评估已发布的证据期限,而不仅仅检查上次保存的健康标签。对于过时、缺失或损坏的活跃来源,它会重新调度空闲且经过审核的生产端;在信任旧命令包内嵌的状态前,会先刷新命令包;同时限制每轮恢复的规模,以防止重试风暴。运行健康与分析就绪状态分开处理:例如,每月的可信度数据采集已完整上线,但其 8 个月的差异基线仍在预热。刻意禁用的可选方法仍会显示,但不会被报告为已失效的必需调度器。
同一页面现在将保留的载荷作为可搜索的结构化账本公开,并在四条刻意分离的路径上增设证据主干:信息控制、货币流转、非法市场总体观测指标,以及经过审核的诈骗/洗钱信号。版本化的 intelligence-commons 清单通过类型化、定向契约连接 Palimpsest、ScamShield、NarcoScope、Seiche 和 LiquiLens。关联信息仅供参考,并不代表因果关系:类型匹配不能证明前置犯罪或资金来源;私有模型、原始消息、精确 IOC 和行动线索均不会进入公共共享库。
证据新闻编辑部与报道发布门槛
Palimpsest Wire 现在将快速证据简报与可直接发表的报道分开。其封闭的原始文档档案保留官方来源的精确版本,以及彼此独立的发布时间与检索时间;其佐证台账要求由人明确决定,第二个来源组才能计入;冻结的网络轮次则保留协议、ASN/地区、同轮对照和故障范围,不会凭空编造全国审查比例。
公开的报道标准页面说明了每篇解读或调查为何可以发表或被暂缓。更深入的报道档案要求提供一手证据、独立来源组、历史脉络、反面证据、相关专家及受影响者的声音、解释性视觉材料、逐句引文、局限性说明和人工编辑。调查还需加入持怀疑态度的专家、独立事实核查、回应权、可见的更新、可证伪性和来源安全。通过门槛绝不会自动发表。受保护的访谈笔记仅以外部加密的字节形式接收,绝不会进入公开仓库。架构与精确契约:docs/REPORTING-NEWSROOM-V2.md。
可选的私有运行时层是一个明确的部署桥接。运营者将仓库变量 NEMESIS_SNAPSHOT_URL 设置为一个静态公开快照 HTTPS 端点,并提供单独的 NEMESIS_SNAPSHOT_HMAC_KEY 密钥。每小时汇总任务会根据端点的 .hmac-sha256 伴随文件,对精确响应字节进行身份验证,然后仅重建封闭且有版本控制的 palimpsest-nemesis.public-snapshot 契约。它会拒绝重定向、私有网络目标、超大响应、无效 UTF-8、重复键、非有限数值、任意深度的未知字段、互相矛盾的健康状态以及日期在未来的证据。通过验证的文档会以原子方式写入 readings/nemesis-latest.json,随后重新构建、封存并测试汇总数据。若未设置 URL,桥接会明确显示为不可用。若已配置但身份验证或验证失败,发布将明确报错。

Registry 实时画面。对齐中国国家立场的模型和西方前沿模型采用同一套防篡改、预注册机制,但各模型系列使用各自的冻结套件;每次运行均已封存,链路完整。漂移面板记录真实事件:截至 2026 年 7 月 11 日的面板记录显示,在任何模型接受提问之前冻结的探测集上,一个西方模型拒绝回答了三位同类模型均作答的良性法律问题。后续读数均作为独立条目封存;面板是动态记录,而非固定结论。

Observatory 的头条数据:审查恐惧指数(一个可审计的 0–100 数值)、首要审查目标,以及可获取的选择性与新颖性信号。速度指标被抑制显示,绝不伪造。代表性数据。
为什么需要一份无法悄然改写的记录
两种不同类型的证据正变得至关重要,而它们都存放在发布方事后可以编辑的文件中。
AI 评估。 如今,关于前沿模型的每一项严肃安全声明都要经过评估。实验室依据评估结果决定是否发布,负责任扩展政策会根据评估结果触发,监管机构也开始引用这些结果。然而,评估结果却存在于发布方掌控的普通网页、PDF 和 git 仓库中。如果某项能力指标后来变得不合时宜,最省事的做法就是悄悄修改。没人需要撒谎;页面只要一改,外界就无法证明它曾经说过不同的话。
威权审查。 大约在 2013 年以前,删除内容通常会留下可见、可计数的痕迹。如今却往往不会:帖子只是消失,不作通知,也不留痕迹。对受害最深的人来说,这种沉默正是目的所在。国家急于删除的内容,也是最能清楚反映其真正恐惧的线索之一。每一次删除都是一种供认。
这两个问题的本质相同:没有承诺,就无法证明之前的状态。Palimpsest 会冻结这一状态。哈希可以让服务所提供的记录中的编辑、删除、重排或挑拣提交都能被发现;公开历史、外部锚点和见证者,则让整份记录被改写的行为能够在运营方的基础设施之外被察觉。信任边界是明确的,而非被压缩进“不可变”一词中。
完整性架构
核心主张是:在所声明的威胁模型下,已发布记录的修订是可检测的。以下说明了具体由什么机制来保证这一点、每一层防御的对象,以及至关重要的一点:这些机制都无法做到什么。没有威胁模型的信任主张只是营销;完整模型见 docs/INTEGRITY.md。
| # | 层 | 可证明的内容 | 伪造时必须攻破的对象 |
|---|---|---|---|
| 1 | 哈希链(core/sealed_ledger.py、core/eval_registry.py) | 文件中的条目未被篡改、重排或删除。注册表还会拒绝任何探测集未在链中预先冻结的运行。 | 无需攻破任何对象。任何持有该文件的人都可以离线重新计算,仅需标准库。 |
| 2 | Merkle 根 + 包含证明(scripts/prove_inclusion.py) | 一个 64 字符的值即可为整份记录生成指纹;任何单条结果都可通过 log₂(N) 次哈希验证。 | 与第 1 层相同,但无需持有整条链。 |
| 3 | 公开的 git 历史记录 | 每次刷新都会成为公开仓库中带时间戳的提交。重写历史需要强制推送,任何拥有克隆副本或 fork 的人都能看到。 | GitHub,以及所有曾经克隆过仓库的人。 |
| 4 | Internet Archive 快照(scripts/anchor_roots.py) | 由第三方保存的精确链字节副本,带有日期,且位于我们的基础设施和司法管辖范围之外。 | Internet Archive。 |
| 5 | OpenTimestamps / Bitcoin(scripts/anchor_roots.py) | 这些根最迟在某个 Bitcoin 区块时间时已经存在;.ots 证明依据区块链验证,而非由我们验证。 | Bitcoin 的工作量证明机制。 |
| 6 | 独立见证者(ops/witness/) | 在独立基础设施上从头重新实现验证,重新验证所提供的链,并检查每个此前见过的链头是否仍然存在。可检测视图分裂和追溯性重写,并发出警报。 | 所有正在运行的见证者,必须同时且追溯性地攻破。 |
第 1–2 层是自我验证,目前已构建并经过测试。第 3–6 层旨在应对唯一一种自我验证无法阻止的对手:重写整个文件并重新提供文件的操作者,包括我们自己。锚定步骤(第 4–5 层)已接入刷新流水线;见证者(第 6 层)是任何人都能运行的单个标准库文件。
**明确说明它无法防护的情况:**在捕获时撒谎(链会忠实保留错误读数,因此探测会预先注册,原始响应会进行哈希处理,以便重新运行);封存与首次外部锚定之间的短暂窗口;通过遗漏进行压制(开放且按 cron 调度的流水线会通过明确拒绝而非悄然跳过来缓解此问题);以及端点被攻破(攻击者可以追加错误的新条目,但仍无法重写旧条目,否则会触发第 3–6 层)。坦诚说明限制正是关键所在,详见 docs/INTEGRITY.md。
应用 1 — 可验证评测注册表
一份公开且可检测篡改的 AI 模型评测记录。请参阅 docs/EVAL-REGISTRY.md。
- 通过设计实现预注册。 探测集会被冻结并以哈希提交到链中,之后才能接受一次运行。Frontier v2 会绑定确切的提示词文本。GFI v2 还会拒绝在其确切协议被提交并公开推送之前进行首次模型查询;旧版 GFI v1 提交的是概念标识符,仍标记为部分保障。
- 发布时封存。 每项结果都会通过哈希链关联到其前一项,并由 Merkle 根生成指纹。若编辑已发布的数字,
scripts/verify_eval_registry.py会报告异常。 - 首次实时审计:跨实验室拒绝漂移。 注册表运行互不包含同一模型的独立冻结套件:
cn-sensitive-generative-firewall-v1(DeepSeek、Qwen)和frontier-overrefusal-v1/-v2(OpenAI、Anthropic、Meta、Mistral)。从未有任何模型同时在两者下运行。两者共享的是机制,而非问题:同一套可检测篡改、预注册的装置,分别审计一个与国家立场一致的模型和一个西方前沿模型,各自在自己的冻结套件中运行,并逐次追踪模型悄然不再回答的问题——这是一种变更日志不会承认的未披露行为变化。 - 测量方式经得起审查。 每个比率都附带 Wilson 区间,每个套件都会公布一次观察能够检测到的最小变化。持续运行的警报采用混合超鞅,因此在一个每六小时重新读取每个模型的监测期内,其误报率有界,而非每次观察都有界。每个问题都会以三种保留原意的措辞提问,因为拒绝行为对措辞很敏感,而且单一措辞无法区分策略与触发器。每次运行都会用冻结锚点集重新评分分类器,因此仪器变化绝不会被发布成模型变化。设计与诚实说明的局限:docs/FRONTIER-DRIFT.md。
- 标签可重新计算,而不只是可检测篡改。 v2 套件会对原始响应摘要计算哈希并封存,同时发布响应内容,因此读者可以核对提供的文本是否与封存内容一致、重新推导每个标签,并在记录中表达不同意见。这弥补了 docs/INTEGRITY.md 先前不得不承认的大部分缺口:即便响应被错误标记,也能被完美封存,并永远通过验证。
- 不提供虚有其表的保障评分。 生成的
eval-assurance-latest.json分别报告完整性、提示词预先承诺、原始响应重新计算、流水线可复现性、统计设计、人工构念验证和独立复现情况。目前的上限是provisional-measurement;人工编码和无关联方复现仍未完成。
python3 scripts/verify_eval_registry.py # chain integrity + the pre-registration rule
python3 scripts/verify_refusal_transcripts.py # published text -> sealed hash -> labels
python3 -m scripts.build_eval_assurance --check # evidence -> public claim ceiling
python3 scripts/prove_inclusion.py 5 # inclusion proof for a single sealed result
实时页面:palimpsest.info/readings/eval-registry.html。
应用 2 — 审查观察站
对内容层面的审查进行持续、量化测量:哪些内容被删除、删除有多大选择性、速度有多快,以及哪些内容新近变得敏感。它填补了网络层测量(OONI、GreatFire、Citizen Lab)与人工记录的删除清单(China Digital Times)之间的空白;它会摄取这些机构公开的数据,并回馈自身数据。
方法:把审查者视为传感器。 Palimpsest 读取已经被移除内容的公开记录——China Digital Times 精选的删除和指令报道,以及网络层和模型层数据——并根据审查者选择处理的内容,计算删除差异威胁指数(DDTI):
| 信号 | 回答的问题 | 状态 |
|---|---|---|
| 选择性 | 哪些内容正被针对,哪些词语和话题会引起审查者注意。 | 已上线 |
| 新颖性 | 哪些敏感词语首次出现,或在沉寂后激增。 | 已上线 |
| 速度 | 帖子被删除的速度。突然加速意味着某个事件正受到遏制。 | 未发布 |
列出速度,是因为它是你会想要的第三项,也是我们会发布的第二项,并非因为目前已有相关数据。CDT 条目记录的是编辑日期,而非删除时间戳,因此无法从此来源推导出延迟;本次读数会省略这一项,而不是进行估算。要测量它,需要使用下方所述的存档并重新检查工具。
因此,该指数衡量的是注意力分配,而非删除率——读数会在自身的 scope 字段中明确说明:censor_attention_allocation (numerator-only; not a true deletion rate)。它对引起审查者注意的内容进行排序;它并不声称知道某个话题下有多少比例的帖子被删除,因为从外部无法观测到这个分母。
已构建但尚未运行。 censorwatch 包正确实现了存档并重新检查的方法:在公开帖子出现时将其存档,按照分级时间表重新检查,并且只有在多次观测结果一致后才确认删除。它受功能标志控制(CENSORWATCH_ENABLED),从未在生产环境中启用,也未存档任何帖子。它不是部署在中国境内的传感器。有关如何通过墙外的档案、公共账本、自愿参与的观察者、捐赠哈希和合成校准来弥补可见性空白,详见 docs/GREYBALL-METHODS.md。在有意启用 CensorWatch 之前,它仍只是对某种工具的描述,而非正在运行的信号,面板上的任何内容都不是由它推导得出的。
DDTI 汇总为一个单一、可审计的 0–100 审查恐惧指数,衡量国家此刻掩盖内容的力度,并逐项报告各个组成部分,绝非黑箱。
通过回溯预测验证。 在六个有记录的事件(李文亮、彭帅、四通桥抗议、白纸运动等)上运行时,评分器每次都会将正确词语排在第一位,并且只需少量删除记录,就能将事件期间出现的委婉说法标记为新词。复现方法:PYTHONPATH=. python3 scripts/validate_ddti.py。参见 docs/VALIDATION.md 和 docs/METHODOLOGY.md 中的方法。
已发布信号与运行状态
palimpsest.info 发布来自独立流水线的静态产物。大多数产物会通过 GitHub Actions 按声明的时间表刷新;已禁用、可选、过时和弃权的方法也会显示各自的状态。文件时间戳为当前时间,并不意味着上游限制已消失。运行记录、代码和输出均公开,且没有任何隐藏服务器负责发布。
| 信号 | 测量内容 | 频率 | 数据源 |
|---|---|---|---|
| DDTI | 来自公开删除流的审查词排名,包含威胁度/关注度/新颖度 | 每 3 小时 | readings/ddti-latest.json |
| 审查实践档案 | 每条符合条件的捕获帖子、文章或主题信号,包含证据状态、观察到/报告的机制、明确的行为者归因、时间线、精确身份的 Palimpsest 测量值、输入哈希、对照解读、未知项、排除项和采集器缺口 | 每 6 小时 | readings/censorship-practice-dossiers-latest.json |
| 生成式防火墙 | 对齐国家立场的大模型与对照模型的拒答、国家叙事替代和路由情况(匹配并行辨别、zh-Hans/zh-Hant/EN 脚本梯度、转移话题、拒答子分类) | 每日 | readings/latest.json |
| GFI v2 转录矩阵 | 当前预注册模型中,按提示词组样本矩阵记录的每条响应和空传输弃答,包含明确的分母和可重新计算的校验封印 | 每日 | readings/gfi-transcripts-latest.json |
| GDELT 跨信号 | “国内遭审查,国外声量高”:全球新闻中有关中国正在删除词条的报道量 | 每 6 小时 | readings/gdelt-latest.json |
| GitHub-as-Refuge | 对审查内容镜像(996.ICU、nCovMemory 等)的下架压力,与持久化基线对比 | 每 12 小时 | readings/github-refuge-latest.json |
| Wayback 重建 | 对受监测中国 URL 的删除和无声删改,依据 Internet Archive 的存档时间线恢复,并提供由存档见证的时间戳范围 | 每 12 小时 | readings/wayback-latest.json |
| 封锁名单考古 | LINE 客户端连续版本封锁名单中新出现的关键词——审查者自己的触发词列表,因此新词是带日期的指令,而非从删除行为推断而来 | 每周 | readings/blocklist-latest.json |
| 微博热搜关联 | 获准关注度的分母:DDTI 词条中已删除但仍在热搜的(受控)与已删除且不可见的(受压制)词条、地名词典突破、撤回监测、置顶国家级头条、明确声明的深入分析视角,以及自动生成的当前趋势聚类;在发出撤回警告前,会将修订后的数字头条视为连续事件 | 每小时 | readings/weibo-hotsearch-latest.json |
| 规避审查需求 | 来自中国的 Tor 网桥用户(翻墙需求)+按传输方式细分的用户数据,其态势变化可识别新的 GFW 分类器 | 每日 | readings/circumvention-demand-latest.json |
| IODA 网络中断 | 由三种独立全球测量工具(BGP、主动探测、暗网)检测到的中国大规模断网事件 | 每 6 小时 | readings/ioda-outages-latest.json |
| 百度百科删改差异 | 离线叙事抹除方法;待获准访问前暂停采集,并将无效的 90.0 method-v1 数据点从有效序列中隔离 | 已禁用;每 6 小时检查状态 | readings/baike-redaction-latest.json |
| 抹除观测站 | 跨抹除层的汇总索引:逐层显示随时间被删除或改写的内容,并列出交叉核查结果 | 每 6 小时 | readings/erasure-observatory-latest.json |
| OONI GFW | OONI Probe 在中国境内测得的防火长城网络封锁:网站、即时通信工具和规避审查工具的可访问性(我们只接收其汇总数据,从不进行探测) | 每 6 小时 | readings/ooni-gfw-latest.json |
| Censored Planet | 独立的远程观测视角:从 95k+ 个观测点(Satellite + Hyperquack)测得的中国 DNS/HTTP 侧信道干扰,采用与 OONI 不同的方法 | 每日 | readings/censored-planet-latest.json |
| net4people | 对异常信号的定性补充:记录中国封锁事件和规避审查进展的社区日志 | 每 12 小时 | readings/net4people-latest.json |
| 观测点融合 | 对存在分歧的观测点进行覆盖率加权,得出一项网络读数并附带区间;当境内与远程观测结果不同时,明确标记为 CONTESTED | 每 6 小时 | readings/vantage-fusion-latest.json |
| 中国经济基准指标 | CFETS 官方发布的基准指标,作为解读信息控制举措的无密钥宏观背景 | 每 6 小时 | readings/china-econ-latest.json |
| 一带一路观测站 v2 | 全球权利门控的来源与项目字段规范,涵盖深入的 CPEC、Gwadar、CMEC、Kyaukpyu、多元化的 Balochistan 和范围受限的 NarcoScope 数据通道;列出的来源已就绪不代表已完成数据接入 | 随版本发布 | readings/belt-and-road-observatory-latest.json |
| BRI WDI 国家背景数据 | 中国、缅甸和巴基斯坦经认证的 3,564 条年度国家指标数据;仅作背景参考,保留不可用数据行,禁止推断项目/行为者/走廊/因果关系 | 经审核的来源版本发布 | readings/bri-economic-observations-latest.json |
| 数据黑暗 | 数据延迟发布监测:针对 7 个中国官方发布渠道(PBOC OMO 公告、货币当局资产负债表数据块、SAFE 结售汇数据、CFETS 基准指标、按国家自身发布日历评分的 NBS 能源和工业月度数据,以及铁路货运),监测其相对于自身发布节奏的延迟天数——作为“以删除为数据”的补充 | 每日 | readings/data-darkness-latest.json |
| 沉默指数 | 预先压制的沉默:DDTI 主题在境外声量高,却未出现在国内榜单;设有中国关联门槛和不可绕过的佐证保护,避免将本地缺乏关注误判为封锁 | 每 6 小时 | readings/silence-index-latest.json |
| CNY 中间价偏差 | 一种货币的两种价格:将 PBOC 每日 USD/CNY 中间价与独立的当日参考值(ECB,并由 Bank of Canada 交叉核验)对比——观察市场认同还是抗拒国家定价 | 每日 | readings/cny-fix-gap-latest.json |
| 可信度读数 | 李克强指数综合指标(贷款 40%/电力 40%/铁路货运 20%,数据均来自国家自身发布)与头条数据对比,以带不确定性区间的偏离值发布。完整的月度数据采集已投入运行,目前处于明确标注的 8 个月分析预热期——方法见 docs/BELIEVABILITY.md | 每月 | readings/believability-latest.json |
| Stock Connect | HKEX Stock Connect 每日统计:跨境资金流数据,是会对相同事件作出反应的第二个非信息渠道 | 工作日,香港市场数据发布后 | readings/stock-connect-latest.json |
| 事件标记 | 每个信号的保形 e 检测器:信号此刻是否超出其自身历史范围,并提供任意时点有效的误报保证 | 每 6 小时 | readings/event-flags-latest.json |
| 总览警报 | 汇总各 e 检测器的总览,并通过 alpha 0.1 下的 e-BH 选择,在任意依赖关系下控制错误发现 | 每 6 小时 | readings/board-alarm-latest.json |
| 覆盖率防护 | 反伪影检查:判断信号变化是否由其自身的测量覆盖率解释,而非现实变化 | 每 6 小时 | readings/coverage-guard-latest.json |
| 跨层耦合 | 衡量各层之间相对于循环移位零假设的滞后耦合;在积累足够的重叠历史数据前,会明确弃答 | 每 6 小时 | readings/cross-layer-latest.json |
| 预测台账 | 对自身表现的计分板:针对每个信号进行严格的前序单步预测,并与实际情况对照评分 | 每 6 小时 | readings/forecast-ledger-latest.json |
| 路径内干扰 | 设备位于传输路径上的正面证据,而非从封锁行为推断:特意构造格式错误的 HTTP 请求,观察是否被改写;并检测实时语音和可插拔传输链路是否可用 | 每 6 小时 | readings/in-path-interference-latest.json |
| Apple 审查 | App Store 普查:测量哪些应用在中国区商店无法使用,并与其他地区的相同目录对比 | 每日 | readings/apple-censorship-latest.json |
| 应用商店 | 受监测应用在商店层面的可用性变化,直接从商店读取下架时间线 | 每日 | readings/app-storefront-latest.json |
| 境内视角 | 墙内发布的来源所呈现的境内观测视角:能看到什么,不能看到什么 | 每 6 小时 | readings/inside-view-latest.json |
| 经济数据源登记表记录每个来源的实现情况和访问状态; | |||
| 已登记的来源与已采集的观测数据并不相同。请参阅 | |||
config/china_econ_sources.json、覆盖报告 | |||
(PYTHONPATH=. python -m scripts.china_econ_plan)以及 | |||
docs/CHINA-ECONOMIC-OBSERVATORY.md。 | |||
| 当前记录不包含专有受访者网络或微观数据。 |
每个值都可追溯至其来源文档;如果来源未返回任何内容,信号会弃答,而不会捏造。 没有证据,便不会发布任何内容。研究者文档、架构和引用信息(BibTeX)见 palimpsest.info/for-researchers。
该方法可推广至中国以外。 此方法不依赖特定国家;不同信息空间之间的差异在于词汇表。
目前已支持中国;伊朗只需加载配置即可支持(以“女性、生命、自由”运动时期为基础的入门词汇表)。
添加一个国家只需加入地名词典和登记项,无需重写。请参阅
config/regions/。
已构建和未构建的内容
| 组件 | 状态 |
|---|---|
| 密封账本 + 哈希链(删除 + 评估注册表) | 已构建、已测试 — 可离线验证,仅使用标准库 |
| 可验证评估注册表(冻结问题、预注册规则) | 已构建、已测试 — 已发布实时读数 |
| 跨实验室前沿拒绝漂移审计(OpenAI / Anthropic / Meta / Mistral) | 已构建、已测试 — 已封存于注册表中 |
| Merkle 根 + 包含证明 | 已构建、已测试 |
| 根锚定(Internet Archive + OpenTimestamps / Bitcoin) | 已构建;已接入刷新流水线 |
| 独立见证者(独立基础设施重新验证) | 已构建 — 一个标准库文件,可自行运行 |
| CDT 删除数据接入 + DDTI(选择性 + 新颖性) | 在线运行 — 每 3 小时自动发布 |
| 审查恐惧指数(一个可审计的数字) | 已构建、已测试 |
| 回溯预测验证(6/6 个有记录的事件) | 已构建、已测试 |
| 生成式防火墙 — 对齐国家立场的大模型的拒绝 / 党派立场断层扫描 | 在线运行 — 每日自动发布(托管 API 层) |
| GDELT 跨信号 · GitHub-as-Refuge | 在线运行 — 自动发布(6 小时 / 12 小时) |
| Wayback 重建 — 基于 Internet Archive 的 CDX 时间线,确定删除时间区间 + 静默删改 | 在线运行 — 每 12 小时自动发布 |
| 有证据支持的中文地名词库(154 个术语、词源谱系)+ 自我演进的委婉语发现 | 已构建、已测试 |
| 跨区域数据包(中国 + 伊朗,由配置驱动)· 审查预测器 | 已构建、已测试 |
| 屏蔽列表考古 — 对比不同客户端屏蔽列表版本中新加入的关键词 | 在线运行 — 每周根据 Citizen Lab 的语料库自动发布 |
| UNDERTEXT 断层扫描 · CDN 边缘 · 静默检测 | 已构建、已测试(实时源注入已设门控,当前停用) |
| Baike 删改差异 | 已构建、已测试;等待授权访问期间已停用(仅使用离线样本;保留历史读数) |
| BLEEDTHROUGH — 注入器集群断层扫描:GFW 自身的 DNS 注入器会响应良性探测,因此从外部测量该机制,无需在中国境内布设节点 | 已构建、已测试;已完成首轮实时测量 — 每个抽样的不可达目标都收到伪造响应,伪造 IP 与有记录的 GFW 地址池吻合,路径追踪进入 AS4134。有意暂不发布:单一观测点可以证明存在注入,并给出并行注入器响应数量的下限,但无法支撑区域性结论,因此在开展多观测点测量之前,不会发布任何结果。参见 docs/BLEEDTHROUGH.md |
| 治理:紧急停止开关、速率上限、哈希链审计 | 已构建、已测试 |
| 分钟级实时速度 | 需要在境内 / 边界处进行测量(目前通过 Wayback 发布回溯速度) |
在审查方面,速度测量曾是一个无法回避的障碍:从墙外无法观测帖子消失的确切时刻。现在,Wayback 重建观测点可以通过开放出口进行回溯恢复,读取 Internet Archive 的存档时间线,将每次删除都作为明确的、由存档见证的时间区间发布(最后一次确认仍存在到首次确认已消失),而不会虚报精确时刻。仍需要在境内或边界处观测的,是分钟级的实时速度。为此构建的多观测点差分观测方法 UNDERTEXT(不同观测点之间的差异本身就是信号),已在此构建并测试;扩展规模所需补充的是观测点后端。参见 docs/UNDERTEXT.md。
安全就是架构
请参阅 SAFETY.md 和 docs/ETHICS.md。简而言之:仅使用公开数据;绝不会要求中国境内的任何人采取行动;绝不轻率地宣称已删除内容(检测器每个周期都会探测一条已知仍在线的对照帖子;网络不可靠时,会禁止所有删除写入);敏感词词库由人工编写,绝不委托给与北京立场一致的模型;任何与国家立场一致的模型都不会担任分析员。每项数据都会公开说明其不确定性和已知偏差。这些规则由代码(core/governance.py)强制执行,而不只是写在文档中。
运行
# Zero-dependency demo (recommended first run), no venv needed:
python3 demo/palimpsest_demo.py # live CDT pull + ranking
python3 demo/palimpsest_demo.py --source sample # offline deletion demo
# Verify the sealed records (stdlib only, no install):
python3 scripts/verify_eval_registry.py # eval chain + pre-registration rule
python3 scripts/verify_ledger.py # the erasure ledger
python3 scripts/prove_inclusion.py 5 # inclusion proof for one attestation
python3 ops/witness/palimpsest_witness.py # become an independent witness
# Pure, offline cores (no database):
PYTHONPATH=. python3 scripts/validate_ddti.py # retrodiction backtest (6/6 events)
PYTHONPATH=. python3 scripts/fear_index_demo.py # Fear Index across documented events
PYTHONPATH=. python3 scripts/forecaster_demo.py # the censorship forecaster (a "called shot")
# Tests, core (stdlib only, no install, no venv):
PYTHONPATH=. python3 -m pytest tests/ -q # stdlib only, no install needed
# Tests, full (adds the censorwatch layer, which needs the dependencies):
python3 -m venv .venv && source .venv/bin/activate && pip install -r requirements.txt
PYTHONPATH=. python3 -m pytest tests/ censorwatch/tests/ -q # adds the velocity-leg suite
实时速度分析部分需要 PostgreSQL、Redis,以及境内/边缘出口;请参阅
censorwatch/DEPLOY.md。除非设置 CENSORWATCH_ENABLED,否则该部分不会运行。
文档
| 文档 | 内容 |
|---|---|
| docs/INTEGRITY.md | 分层信任模型、各层防范的风险,以及它们都无法做到的事 |
| docs/DETECTIONS.md | 仪器实际捕获到的内容、日期,以及每项发现无法证明什么 |
| docs/EVAL-REGISTRY.md | 可验证评估注册表:预注册、封存及验证方法 |
| docs/EVAL-ASSURANCE.md | 逐项主张的保障阶梯、GFI v2 证据规范和晋级规则 |
| docs/EVAL-JOURNAL.md | 受证据约束的文章规范、信息源、回执和发布工作流 |
| docs/EVAL-FINDINGS.md | 确定性的实时发现渲染器、句子回执和不可变修订版本 |
| docs/BRI-WDI-OBSERVATIONS.md | WDI 国家背景边界、数据获取时钟、权利、Release A 的确切发布回执及刷新流程 |
| docs/GRANT-CASE.md | 适用于申请资助的案例、证据、可证伪的工作包、风险及可审计成果 |
| docs/METHODOLOGY.md | DDTI 方法、数学原理,以及其真实适用范围和偏差 |
| docs/VALIDATION.md | 回溯预测回测:该方法能否捕捉有记录的事件? |
| docs/NEW-METHODS.md | 观测面(Generative Firewall、CDN-edge、Blocklist、Silence、GitHub-refuge、Baike、Wayback Reconstruction) |
| docs/GREYBALL-METHODS.md | 十种 Greyball / OTF 友好型采集方法、禁用列表、可见性架构和精确键连接 |
| docs/UNDERTEXT.md | 主动差分层析成像:多观测点差异作为信号 |
| docs/BLEEDTHROUGH.md | 注入器集群层析成像、方法,以及让审查者自己的设备作答时必须遵守的安全底线 |
| docs/OSINT_SOURCES.md | 每个公开来源、访问方式、所能提供的内容及其局限 |
| docs/ETHICS.md · SAFETY.md · CONTRIBUTING.md | 威胁模型、避免伤害的规则及安全审查门槛 |
状态和许可证
以开源方式开发,作为一项公共事业。本项目已超越原型阶段,但尚未成为完整产品:二十八个信息源会在公共 CI 上无人值守地刷新,封存链可从干净克隆离线验证,整个系统无需任何人操作即可运行。但它尚未经过独立复现、未在大规模范围内接受外部见证,也不在境内。这些情况已在 docs/INTEGRITY.md 和上文的已实现与未实现对照表中明确列出,而非刻意淡化。本项目免费且开源;它不是商业产品,也绝不将其观测对象——无论是人还是话题——货币化。本项目依据 MIT License 授权,让其他工具可以自由利用这些信息源,并复用测量与封存层。
致谢与相关先行工作
Palimpsest 旨在补充而非重复 China Digital Times、GreatFire、Citizen Lab 和 OONI 的工作。它将 CDT 的删帖数据作为输入之一,并设计为可将自身数据回馈给这些机构。 它借鉴了 WeiboScope 的学术测量传统,以及 Zhu 等人(2013 年)和 Bamman 等人(2012 年)对删帖速度的研究;对于他们十多年前得出的数据,Palimpsest 会重新测量,而非直接沿用。封存层借鉴了可信档案完整性研究(ARCHANGEL)和标准透明日志构造。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。