使用说明
双重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: "<cid>"防止过时写入(如果不匹配,则为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: <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-<hex>超规范MR(排序键),仅排除cid默认情况下 - 分类(类别/标签)在哈希之前按ID排序,以确保确定性CID,而不管DB顺序如何
- 200条回复包括
Content-Digest: sha-256=:<base64>:(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" } } } } - Mac/Linux:
-
运行: 重新启动克劳德桌面。您现在可以要求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生成块。