双重API(WordPress插件)
在WordPress中公开一个干净的机器表示(MR)和一个用于代理AI任务的小目录。非常适合块感知摘要、提取和安全块插入,而无需抓取编辑器HTML。
特性
- 获取
/wp-json/dual-native/v1/posts/{id}--JSON先生
- rid、cid(强验证器)、标题、状态、修改/发布、作者、特色图片 - 类别/标签(按ID排序)、块\[\]、core_content_text、word_count - 链接:human_url、api_url、md_url、public_api_url、public \_md_url - ETag(=cid)、上次修改和内容摘要(RFC 9530)对200个响应的分析
- 获取
/wp-json/dual-native/v1/catalog--用于取零的小索引
- 查询参数: cursor=ISO 或 since=ISO (增量同步), status=draft|publish|any, types=post,page,attachment (逗号分隔列表) - 退货: {count, cursor, items:[{rid, cid, modified, status, title, hr, mr}]} - 例子: /catalog?types=attachment&status=inherit (媒体库)或 /catalog?cursor=2025-11-20T00:00:00+00:00 (自11月20日以来的变化)
- 获取
/wp-json/dual-native/v1/posts/{id}/md--Markdown MR(文本/标记;最后字节上的ETag) - 发布
/wp-json/dual-native/v1/posts/{id}/blocks--插入一个或多个块
- 主体: { insert: "append"|"prepend"|"index", index?: number, block?: {...} or blocks?: [{...}] } - 支持:段落、标题(级别)、列表(排序、项目\[\])、图像(url、altText)、代码、引用 - 安全写入(可选):发送 If-Match: "" 防止过时写入(如果不匹配,则为412) - 写回复包括新的 ETag 标题(当前 cid)因此,客户可以在不进行额外阅读的情况下进行连锁编辑
- 获取
/wp-json/dual-native/v1/posts/{id}/ai/suggest--启发式(或外部)总结+标签建议 - 编辑器侧栏“双原生AI”:在光标(H2)处插入,预览MR,建议并应用摘要,复制MR JSON,打开Markdown MR
🧩 生态系统集成
这个插件是可组合的。虽然它作为一个独立的数据层工作,但当连接到官方的WordPress AI堆栈时,它变得更加强大。
使用API或WP AI客户端的能力? 看看 双重本土能力桥梁.
这个插件:
- 将DNI端点注册为标准 能力 (
dni/get-post-mr,dni/insert-blocks,dni/agentic-summarize). - 连接 WP AI客户端SDK 到DNI数据层。
- 启用“代理汇总”工作流(阅读MR→ 通过SDK思考→ 安全写入)。
______________________________________________________________________
安装
- 复制
wp-dual-native/进入wp-content/plugins/ - 在WP管理员中激活→ 插件
- 打开块编辑器→ 找到“双原生AI”面板(侧栏)
安全和权限
- 经过身份验证的MR/MD和目录需要登录(可以登录的用户
edit_post)以及REST随机数 - 写入端点需要
edit_post+nonce;CID在以下时间失效save_post - 公开阅读(可选):
- 获取 /wp-json/dual-native/v1/public/posts/{id} (JSON先生) - 获取 /wp-json/dual-native/v1/public/posts/{id}/md (Markdown) - 门与 dni_can_read_public_mr (默认:仅发布)
REST示例
- 有条件的MR:
curl -i https://example.com/wp-json/dual-native/v1/posts/123
curl -i -H 'If-None-Match: "sha256-..."' https://example.com/wp-json/dual-native/v1/posts/123 # 304- 使用索引+如果匹配进行安全写入:
curl -i -X POST -H 'Content-Type: application/json' -H 'X-WP-Nonce: ' -H 'If-Match: "sha256-..."' \
-d '{"insert":"index","index":2,"block":{"type":"core/heading","level":2,"content":"Key Takeaways"}}' \
https://example.com/wp-json/dual-native/v1/posts/123/blocks决定论与诚信
- CID=
sha256-超规范MR(排序键),仅排除cid默认情况下 - 分类(类别/标签)在哈希之前按ID排序,以确保确定性CID,而不管DB顺序如何
- 200条回复包括
Content-Digest: sha-256=::(SHA-256字节的标准Base64)和Last-Modified - Markdown响应由插件在服务时间哈希和发出的确切字节提供,以确保摘要与在线内容的奇偶性
- 要从CID中排除易失性字段(例如日期):
add_filter('dni_cid_exclude_keys', function(array $keys){
// Also exclude 'links' (environment/permalink specific) to keep CIDs portable
return array_merge($keys, ['modified','published','status','links']);
}, 10, 1);过滤器和可扩展性
dni_mr($mr, $post_id):突变/富集MRdni_blocks($blocks, $post_id, $post)和dni_map_block($out, $raw_block):扩展块映射dni_render_block_html($html, $block):为写入API呈现自定义块dni_markdown($md, $mr, $req):后处理Markdowndni_catalog_args($args, $req):包括CPT/状态- 权限:
dni_can_read_mr($allow, $id, $req),dni_can_read_public_mr($allow, $id, $req) - 人工智能:
dni_ai_suggest($suggestion, $mr, $req)
代理集成(克劳德桌面/MCP)
此插件包括一个生产就绪 模型上下文协议(MCP) 服务器,允许AI代理(如Claude Desktop)安全地读取、写入和分析您的WordPress网站。
快速开始
- 安装依赖项:
cd tools/mcp-server
npm install- 配置: 将此添加到您的Claude Desktop配置中:
- Mac/Linux: ~/Library/Application Support/Claude/claude_desktop_config.json - 窗户: %APPDATA%\Claude\claude_desktop_config.json
Mac/Linux:
{
"mcpServers": {
"wordpress": {
"command": "npx",
"args": ["-y", "tsx", "/absolute/path/to/wp-dual-native/tools/mcp-server/src/index.ts"],
"env": {
"WP_URL": "https://your-site.com",
"WP_USER": "your-username",
"WP_PASSWORD": "your-application-password"
}
}
}
}窗户:
{
"mcpServers": {
"wordpress": {
"command": "npx",
"args": ["-y", "tsx", "C:\\Users\\YourName\\Desktop\\wp-dual-native\\tools\\mcp-server\\src\\index.ts"],
"env": {
"WP_URL": "https://your-site.com",
"WP_USER": "your-username",
"WP_PASSWORD": "your-application-password"
}
}
}
}- 运行: 重新启动克劳德桌面。您现在可以要求Claude:
- *“阅读最新帖子并修复任何格式错误。”* (自愈) - *“分析我最近50篇帖子的发布频率。”* (数据科学)
有关MCP工具和Python集成的完整文档,请参阅 工具/mcp服务器/README.md.
基准与验证
我们包括一套Python工具来验证性能声明和API的完整性。
tools/validator/benchmark_api_vs_dni.py:针对标准WordPress REST API运行实时a/B测试,以测量有效负载大小和令牌节省。tools/validator/dual_native_validate.py:验证ETag/CID奇偶校验和RFC 9530内容摘要的完整性。
性能结果:
- 有效载荷减小56% (17.94 KB→ 8.65 KB)
- 代币减少56% (4,593 → 2,214)
- 响应速度提高92% (96毫秒→ 8ms服务器端)
- 数据库查询减少56% (18 → 8)
看 BENCHMARK.md 用于人工智能成本分析和 性能.md 基础设施指标。
______________________________________________________________________
常见问题解答
Q: 这适用于经典编辑器吗?
A. 是的,但粒度减小了。经典帖子在机器表示(MR)中显示为单个 core/freeform 块。
但是,安全写入API仍然有效。Agent可以将新的结构化块附加到经典帖子中,有效地创建一个混合帖子,在保留原始HTML的同时添加现代的AI生成块。
