diff --git a/package.json b/package.json
index 8d69947..a00fc4d 100644
--- a/package.json
+++ b/package.json
@@ -5,7 +5,8 @@
"scripts": {
"build": "slidev build",
"dev": "slidev --open",
- "export": "slidev export"
+ "export": "slidev export",
+ "export:pptx": "slidev export --format pptx --output slides-export.pptx"
},
"dependencies": {
"@iconify-json/logos": "^1.2.11",
@@ -15,5 +16,8 @@
"slidev-theme-penguin": "^2.3.1",
"vite-svg-loader": "^5.1.1",
"vue": "^3.5.33"
+ },
+ "devDependencies": {
+ "playwright-chromium": "^1.60.0"
}
}
diff --git a/pages/closing.md b/pages/closing.md
index b649568..318c560 100644
--- a/pages/closing.md
+++ b/pages/closing.md
@@ -15,7 +15,3 @@ Chrome 更新不是新闻流,而是 Web 产品能力池。
-
-
diff --git a/pages/demo/adoption-plan.md b/pages/demo/adoption-plan.md
index 995a030..6d59fad 100644
--- a/pages/demo/adoption-plan.md
+++ b/pages/demo/adoption-plan.md
@@ -33,7 +33,3 @@
打开总入口:/demo/index.html。正式 demo 入口都从这里进入。
-
-
diff --git a/pages/demo/devtools-agents.md b/pages/demo/devtools-agents.md
index 50ea977..cd98651 100644
--- a/pages/demo/devtools-agents.md
+++ b/pages/demo/devtools-agents.md
@@ -34,17 +34,5 @@
-讲解结论:DevTools for agents 不是页面 API,而是把真实浏览器运行时交给 coding agent,让它不再只根据源码猜问题。
+核心结论:DevTools for agents 不是页面 API,而是把真实浏览器运行时交给 coding agent,让它不再只根据源码猜问题。
-
-
diff --git a/pages/demo/devtools-workflow.md b/pages/demo/devtools-workflow.md
index 77ece2c..c468ac4 100644
--- a/pages/demo/devtools-workflow.md
+++ b/pages/demo/devtools-workflow.md
@@ -37,14 +37,3 @@ flowchart LR
示例任务:创建“订单管理”模块,包括词条、菜单、角色权限绑定。案例数据只说明趋势,不承诺所有项目都有相同收益。
-
-
diff --git a/pages/demo/html-in-canvas.md b/pages/demo/html-in-canvas.md
index 7fe6991..41e6d0a 100644
--- a/pages/demo/html-in-canvas.md
+++ b/pages/demo/html-in-canvas.md
@@ -31,10 +31,3 @@
运行条件:Chrome Canary 149+,开启 chrome://flags/#canvas-draw-element;Chrome 官方说明该 API 在 Chrome 148-150 处于 origin trial。
-
-
diff --git a/pages/demo/modern-web-guidance.md b/pages/demo/modern-web-guidance.md
index a0a1bdf..c91f870 100644
--- a/pages/demo/modern-web-guidance.md
+++ b/pages/demo/modern-web-guidance.md
@@ -13,7 +13,7 @@ npx modern-web-guidance@latest retrieve "animate-to-from-top-layer"
-
讲什么
+
演示重点
- AI coding agent 容易写旧方案
@@ -29,13 +29,3 @@ npx modern-web-guidance@latest retrieve "animate-to-from-top-layer"
本地辅助页:/demo/modern-web-guidance/index.html;脚本:scripts/demo-modern-web-guidance.sh。
-
-
diff --git a/pages/demo/platform-api.md b/pages/demo/platform-api.md
index 3bef8fb..e6be8f8 100644
--- a/pages/demo/platform-api.md
+++ b/pages/demo/platform-api.md
@@ -30,18 +30,5 @@
-最后用这页收束:Chrome 新能力不是孤立 API,而是同时升级 Agent 交互、开发工作流和用户体验。
+收束判断:Chrome 新能力不是孤立 API,而是同时升级 Agent 交互、开发工作流和用户体验。
-
-
diff --git a/pages/demo/release-scan.md b/pages/demo/release-scan.md
index 938ec90..21e5d60 100644
--- a/pages/demo/release-scan.md
+++ b/pages/demo/release-scan.md
@@ -3,7 +3,7 @@
-
PPT 讲什么
+
幻灯片内容
- 分别介绍新增能力
@@ -45,15 +45,3 @@
原则:WebMCP 是主 demo;Modern Web Guidance 和 DevTools for agents 按官方流程演示;HTML-in-Canvas 和 View Transitions 用本地页面辅助展示。
-
-
diff --git a/pages/demo/view-transitions.md b/pages/demo/view-transitions.md
index 1fb6f0a..247d495 100644
--- a/pages/demo/view-transitions.md
+++ b/pages/demo/view-transitions.md
@@ -28,10 +28,5 @@
-讲解结论:View Transitions 把“状态变化”从手写动画提升为浏览器级能力,适合渐进增强。
+核心结论:View Transitions 把“状态变化”从手写动画提升为浏览器级能力,适合渐进增强。
-
-
diff --git a/pages/demo/webmcp-contract.md b/pages/demo/webmcp-contract.md
index f08ff50..ad4c137 100644
--- a/pages/demo/webmcp-contract.md
+++ b/pages/demo/webmcp-contract.md
@@ -32,12 +32,3 @@ navigator.modelContext.registerTool(...)
实验边界:Chrome 官方文档标注 WebMCP 仍处于 proposed / origin trial / flag 阶段;现场 demo 必须有 mock 兜底。
-
-
diff --git a/pages/demo/webmcp-project.md b/pages/demo/webmcp-project.md
index 8f925ba..7f3e73d 100644
--- a/pages/demo/webmcp-project.md
+++ b/pages/demo/webmcp-project.md
@@ -29,12 +29,5 @@ public/demo/webmcp/
-这页要现场打开工程,不只讲链接。观众能看到“页面 UI”和“Agent 工具视角”同时存在。
+现场打开工程,不只展示链接;页面 UI 和 Agent 工具视角需要同时呈现。
-
-
diff --git a/pages/demo/webmcp-script.md b/pages/demo/webmcp-script.md
index b89579d..8f7d1f6 100644
--- a/pages/demo/webmcp-script.md
+++ b/pages/demo/webmcp-script.md
@@ -33,9 +33,5 @@
-讲解结论:WebMCP 不是让 Agent 更会点击,而是让网页直接声明“我有哪些可调用能力”。敏感动作仍然要保留用户确认、权限和审计。
+核心结论:WebMCP 不是让 Agent 更会点击,而是让网页直接声明“我有哪些可调用能力”。敏感动作仍然要保留用户确认、权限和审计。
-
-
diff --git a/pages/outline.md b/pages/outline.md
index 986bd7c..19fd42d 100644
--- a/pages/outline.md
+++ b/pages/outline.md
@@ -27,7 +27,3 @@
-
-
diff --git a/pages/overview.md b/pages/overview.md
index 864fd12..50cf51c 100644
--- a/pages/overview.md
+++ b/pages/overview.md
@@ -1,14 +1,14 @@
-# 这次分享解决什么问题?
+# 这次分享的目标
-
听众能获得
+
核心收获
- 理解 AI Agent 操作网页为什么困难
- 看懂 Chrome 新增能力各自解决什么问题
-- 知道 PPT 与项目代码分别如何演示这些能力
+- 知道幻灯片与项目代码如何配合演示
- 建立实验能力的风险边界
@@ -27,7 +27,3 @@
-
-
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index c091b0c..95bd797 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -13,7 +13,7 @@ importers:
version: 1.2.11
'@slidev/cli':
specifier: ^52.16.0
- version: 52.16.0(@nuxt/kit@3.21.8)(@types/markdown-it@14.1.2)(@types/node@22.19.21)(@vue/compiler-sfc@3.5.38)(esbuild@0.23.1)(lightningcss@1.32.0)(markdown-it@14.2.0)(postcss@8.5.15)(rolldown@1.0.3)(sass@1.101.0)(tsx@4.22.4)
+ version: 52.16.0(@nuxt/kit@3.21.8)(@types/markdown-it@14.1.2)(@types/node@22.19.21)(@vue/compiler-sfc@3.5.38)(esbuild@0.23.1)(lightningcss@1.32.0)(markdown-it@14.2.0)(playwright-chromium@1.60.0)(postcss@8.5.15)(rolldown@1.0.3)(sass@1.101.0)(tsx@4.22.4)
'@slidev/theme-default':
specifier: latest
version: 0.25.0
@@ -29,6 +29,10 @@ importers:
vue:
specifier: ^3.5.33
version: 3.5.38(typescript@6.0.3)
+ devDependencies:
+ playwright-chromium:
+ specifier: ^1.60.0
+ version: 1.60.0
packages:
@@ -3327,6 +3331,16 @@ packages:
plantuml-encoder@1.4.0:
resolution: {integrity: sha512-sxMwpDw/ySY1WB2CE3+IdMuEcWibJ72DDOsXLkSmEaSzwEUaYBT6DWgOfBiHGCux4q433X6+OEFWjlVqp7gL6g==}
+ playwright-chromium@1.60.0:
+ resolution: {integrity: sha512-xxz9pc2HIxQW/Qg9ijG2fZOHRT//KhLo0KfvJRa45YYRrcA7ZONoilgJR40SW5pmecb6HkuROaeViXoCaXTZyQ==}
+ engines: {node: '>=18'}
+ hasBin: true
+
+ playwright-core@1.60.0:
+ resolution: {integrity: sha512-9bW6zvX/m0lEbgTKJ6YppOKx8H3VOPBMOCFh2irXFOT4BbHgrx5hPjwJYLT40Lu+4qtD36qKc/Hn56StUW57IA==}
+ engines: {node: '>=18'}
+ hasBin: true
+
points-on-curve@0.2.0:
resolution: {integrity: sha512-0mYKnYYe9ZcqMCWhUjItv/oHjvgEsfKvnUTg8sAtnHr3GVy7rGkXCb6d5cSyqrWqL4k81b9CPg3urd+T7aop3A==}
@@ -5095,7 +5109,7 @@ snapshots:
'@shikijs/vscode-textmate@10.0.2': {}
- '@slidev/cli@52.16.0(@nuxt/kit@3.21.8)(@types/markdown-it@14.1.2)(@types/node@22.19.21)(@vue/compiler-sfc@3.5.38)(esbuild@0.23.1)(lightningcss@1.32.0)(markdown-it@14.2.0)(postcss@8.5.15)(rolldown@1.0.3)(sass@1.101.0)(tsx@4.22.4)':
+ '@slidev/cli@52.16.0(@nuxt/kit@3.21.8)(@types/markdown-it@14.1.2)(@types/node@22.19.21)(@vue/compiler-sfc@3.5.38)(esbuild@0.23.1)(lightningcss@1.32.0)(markdown-it@14.2.0)(playwright-chromium@1.60.0)(postcss@8.5.15)(rolldown@1.0.3)(sass@1.101.0)(tsx@4.22.4)':
dependencies:
'@antfu/ni': 30.1.0
'@antfu/utils': 9.3.0
@@ -5168,6 +5182,8 @@ snapshots:
vue: 3.5.38(typescript@6.0.3)
yaml: 2.9.0
yargs: 18.0.0
+ optionalDependencies:
+ playwright-chromium: 1.60.0
transitivePeerDependencies:
- '@modelcontextprotocol/sdk'
- '@nuxt/kit'
@@ -7825,6 +7841,12 @@ snapshots:
plantuml-encoder@1.4.0: {}
+ playwright-chromium@1.60.0:
+ dependencies:
+ playwright-core: 1.60.0
+
+ playwright-core@1.60.0: {}
+
points-on-curve@0.2.0: {}
points-on-path@0.2.1:
diff --git a/pnpm-workspace.yaml b/pnpm-workspace.yaml
index 5729ed8..746de0f 100644
--- a/pnpm-workspace.yaml
+++ b/pnpm-workspace.yaml
@@ -1,4 +1,5 @@
allowBuilds:
'@parcel/watcher': true
esbuild: true
+ playwright-chromium: true
vue-demi: true
diff --git a/slides-export.pptx b/slides-export.pptx
new file mode 100644
index 0000000..b3cf9a9
Binary files /dev/null and b/slides-export.pptx differ