0%

工程化WorkBuddy资料库页面开发

WorkBuddy 资料库提供了CSV数据管理和HTML页面托管能力,可以视作为一个轻量级的CMS系统。我之前在WorkBuddy资料库内发布了一个用于展示优秀的AI生图案例和提示词的页面生图画廊

线上效果

WorkBuddy是通过内置的Agent SKILL提供的资料库能力,包括一系列Python脚本。

  • 动态数据页:资料库支持「HTML + 配套数据表」,页面运行时可调用平台注入的 SDK含 db.uploadImage(本地文件 base64 CDN 直链,单张 10MB)、db.addRecord、db.query。所以「页面内上传表单」可以做到真正的入库写入,不是本地摆设。
  • 本地批量上传:本机脚本可走 upload_image(图床直链)+ batch_add_records(每批 100 条)写同一张表,页面通过 db.onUpdated 可实时感知脚本写入并刷新。
    两条上传链路最终汇到同一张数据表,页面只负责展示。

在使用WorkBuddy资料库能力时,我发现默认的工作流存在一些不太完善的地方:

  1. 每次AI都会生成一个完整的长HTML文件,样式、DOM结构、脚本耦合在一起,难以复用和维护。
  2. 数据表集成能力只能在发布页面后才能生效,开发阶段无法直接预览数据的变化,增加了调试和开发的难度。
  3. 以上两点会造成AI生成页面发布页面,用户发现问题再次修改重新发布的多轮迭代,效率低下,并且会提升积分消耗的速度。

为了改进资料库页面的开发工作流,我引导WorkBuddy进行了一番工程化改造:

  1. 将所有页面HTML和数据表Schema维护在同一个git仓库中。
  2. 拆分脚本逻辑为独立的Typescript文件,通过esbuild进行打包和构建。
  3. 实现一个基于LocalStorage的本地数据库模拟环境,可脱离WorkBuddy平台进行本地开发和调试。
  4. 配置单元测试和Playwright的端到端测试。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
.
README.md
build.mjs
index.json
package.json
pages
一分钟玩转资料库-8MKPV3
生图画廊-mhQPen
pages-manifest.json
playwright.config.ts
pnpm-lock.yaml
pnpm-workspace.yaml
scripts
export_library.py
publish_page.py
serve-pages.mjs
src
pages
shared
test-results
tests
e2e
unit
tsconfig.json
vitest.config.ts

作为一个资深的开发者,比起反复让WorkBuddy Vibe编程生成完整页面,我倾向于通过上述工程化改造来提升开发效率和代码质量。

扫码加入技术交流群🖱️
QR code