npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

e10-ebuilder-prototype

v0.5.10

Published

Generate offline E10 application prototypes from published page, modeling-list and workflow menus

Readme

e10-ebuilder-prototype

根据 E10 应用 ID 或后台应用地址生成应用原型,包含已发布菜单中的页面、建模列表和流程页面。 版本 0.5.10;WorkBuddy Skill 新任务默认显式使用并发 8,直接调用 CLI 省略参数时仍默认 6。保持我们的 TypeScript CLI 为主:CLI 管用户所提供登录态的接入、菜单发现、配置采集、截图、任务队列、校验、恢复与打包;宿主 AI 根据完整截图或建模配置生成独立 HTML。CLI 不调用 LLM,不要求额外模型 API Key,也不调用 ui-code-agent 生成。

范围与交付

  • /api/cusapp/app/allMenus?appId=ID&terminalType=PC&isFront=0 决定范围,未发布到 PC 菜单的页面/表单不生成独立入口;流程关联表单可作为字段和布局依赖采集。实际菜单名称、层级、顺序、默认项、同名入口均保留;回收站和设置排除。
  • PAGE 菜单对应普通搭建、ECode HTML、ECode React,统一截图并由宿主还原;同一页面的多个菜单共享产物而不合并入口。
  • SEARCH/VIEWPORT 按当前菜单的传统列表/NList 配置生成,不取一个表单的首列表。LAYOUT 直接打开对应增/查/改模式;支持已识别的 EB URL 和组合菜单标签。
  • 表单迁入参考包的采集契约、按钮隔离、字段控件与视图规范、增改查、主明细、评论/日志、本地 Mock 交互规范;同表单的多菜单共享记录。未知组件/条件/动作明确记录替代方式,不把未知后台动作接到线上。
  • 主框架由 CLI 固定生成,商务蓝风格;无顶部预览/设计/设置按钮。菜单仅切换本地 iframe,主框架不刷新。支持搜索、分组折叠、浏览器前进后退、刷新与移动端导航。
  • 解压后直接打开 index.html,不需要本地服务器。各业务 HTML 单独打开也可使用。
index.html
page/<页面ID>/<页面ID>.html
page/<页面ID>/<名称>.png
form/<菜单键>/<菜单键>.html
form/<菜单键>/<名称>.png
manifest.json

组合子菜单的菜单键为 <父菜单键>-<子菜单ID>。表单目录不用 objId 或底层 formId,避免多个入口覆盖。 ZIP 名为 应用页面-<appId>.zip,位于任务目录 artifacts/;本地入口为 artifacts/site/index.html。 原始表单配置、私有布局参考、真实参考记录 ID、草稿和认证信息不进入 ZIP。 页面 PNG 是源站截图;表单 PNG 是从生成 HTML 离线渲染的效果图。

使用

需要 Node >=22.5、npm 和已安装 Google Chrome,playwright-core 固定 1.62.1,不下载浏览器。

WorkBuddy 推荐导入 e10-ebuilder-prototype-workbuddy-registry-0.5.10.zip,首次使用自动安装固定版本。直接使用 CLI 时:

npm install -g [email protected] --registry=https://registry.npmmirror.com
e10-ebuilder-prototype auth set --base-url https://your-e10.example.com --eteamsid-stdin
e10-ebuilder-prototype run --app-id 1234567890123456789 --dir ./work/app-demo --concurrency 8 --json
# 或使用后台应用地址:
e10-ebuilder-prototype run --app-url "https://your-e10.example.com/sp/ebdapp/detail/1234567890123456789" --dir ./work/app-demo --concurrency 8 --json

登录值从标准输入传入并加密保存;支持 auth status / auth status --local / auth profile list|current|use NAME。 ETEAMSID 由用户取得并提供;工具负责接收、校验、加密保存,并注入任务专用浏览器和源站请求。用户已提供新值时直接通过 auth set --base-url <环境地址> --eteamsid-stdin 接入,成功后继续任务。缺失或失效且没有新值时停止并索取,不代用户登录、不使用账号密码或调用登录桥接 Skill。保留原任务目录,已有失败源按 sourceRecovery 重试。auth status --local 仅检查本地配置,不证明服务端登录态有效;凭据不在回复或日志中回显。 地址会解析 ID 并核对环境,已有任务还绑定用户与租户。ID 保持字符串,不转成浮点数。 状态目录 .e10-page-capture 与 E10_PAGE_CAPTURE_HOME/CHROME 等设置沿用,既有登录无需迁移。

run 完成确定性工作后停在 HTML,由宿主继续:

e10-ebuilder-prototype html next --dir ./work/app-demo --brief --json
# 宿主读取各 job 的 promptPath,写完整草稿;CLI 离线渲染后实际看图
e10-ebuilder-prototype html inspect --dir ./work/app-demo --kind page --page-id "<ID>" --token "<TOKEN>" --json
e10-ebuilder-prototype html accept --dir ./work/app-demo --kind page --page-id "<ID>" --token "<TOKEN>" --refill --brief --json
e10-ebuilder-prototype html accept --dir ./work/app-demo --kind form --page-id "<菜单键>" --token "<TOKEN>" --json
e10-ebuilder-prototype pack --dir ./work/app-demo --concurrency 8 --json

同一个生成队列默认最多 6 个任务,可按用户需求 --concurrency 1..8。page 输入 screenshotPath;form 输入 sourcePath,附带 generationPath 去重生成视图和 contextPath 原始分片回退索引、guidePath 当前页面类型的精简规范及 referenceGuidePath 按需参考手册、runtimePath 固定存储脚本及 navigationPath 已发布目标映射。一个协调者串行 accept/fail/next,任务只写自己的草稿;宿主支持且允许并行时补位执行,否则如实采用顺序生成。

生成文件为真实 DOM、内联 CSS/JS/SVG,无外部资源或后台调用。页面忠实还原视觉结构,空数据用一致 Mock 内容填充。表单按当前模式/字段/选项/按钮及布局依据生成,固定种子约 20 条主记录、明细每条 2–5 行;所有统计由数据推导。完整规范随 CLI 打包,不能用“能打开表格”代替验收。

独立部署检测兼容(0.5.1)

isIndependentDeploy 请求失败时,默认按非独立部署继续采集,并记录兼容提示。需要部署路由的接口使用 /api/ebuilder/form/;检测成功返回 true 时使用 /api/ebuilder{appId}/form/。后续配置接口的真实错误照常报告,采集未成功不会标为完成。

传统列表配置(0.5.2)

基础设置、显示列、搜索、统计和固定条件统一使用 /api/bs/ebuilder/form/ 接口,URL 在原参数基础上增加小写 appid。这些接口固定走后台路径,需要账号具备应用后台访问权限,不受独立部署检测结果影响。列表初始化、排序、按钮等接口沿用各自路径。

固定条件接口成功但未返回 data 时按未配置条件处理;权限、HTTP 和业务错误仍明确报错。已有失败任务可在升级后执行 retry --dir <原任务目录>。

参考布局与临时记录

默认只读业务记录:先读取至多一条现有记录,若可用则请求导出 HTML 作为私有布局参考;没有参考时根据全部自定义字段生成布局,报告缺项。导出可能在源站生成参考文件。

与参考包相同的临时记录能力已迁入。明确允许这类采集写入时,在新任务加 --allow-temporary-records。启用后,如无法取得现有布局,按可构造字段创建最多一条带唯一标记的参考记录/表单,用它取得布局及查改按钮,随后按确切 ID 和标记删除并回查。不能可靠构造必填人员/关联/明细时使用字段兜底。

创建前原子记录私有台账;响应丢失不重放写入,恢复时按精确标记只读核实;删除前再次核验归属,删除响应丢失只回查,不重复删除。清理未确认会阻止新临时写入和打包,恢复登录后 collect 先处理台账。默认不会因为读取参考包就自动开启线上写入。最终原型的操作始终只改本地 Mock 数据。

状态与恢复

DISCOVER → COLLECT → CAPTURE → HTML → PACKAGE → DONE/PARTIAL;需要登录时 WAITING_AUTH。 顶层 next|status 只读,html next 分配任务。run --dir DIR 恢复中断,校验通过的配置/PNG/HTML复用。 retry 重试失败配置/截图并重置失败生成;html retry 只重试 HTML。HTML/打包不读取登录环境。 接收后需修正某页可用 html retry --kind page|form --page-id ID --dir DIR,只重开指定目标。 html fail --kind page|form --page-id ID --token TOKEN --reason TEXT 记录生成失败,其余目标继续。

待完成任务阻止打包。采集、截图或生成失败只能交付 PARTIAL 和明确失败占位;不能当成已接入表单。 表单打包必须在离线 Chrome 初始化成功且无脚本错误;渲染失败可通过 html retry 修复。 所有产物及最终 ZIP 以 SHA-256 校验。退出码 0 正常、2 PARTIAL、1 阻断错误。 旧目录无 menuRequired 时保留旧清单/占位语义,使用新目录启用本次功能。

固定 E10FormStore 提供 load/save/reset、navigate/parameters。主框架验证发送窗口和对象范围,按 appId:objId 存储;独立打开有 localStorage/内存回退。同表单多列表共享主数据,筛选、按钮和草稿独立。浏览器禁止持久化时回退仅维持当前会话。

截图和资源限制

PC 默认 1440×900,MOBILE-only 页面 390×844;默认并发 6。页面初始渲染上限 10 秒、稳定窗口 800ms;超时本轮失败,其他可恢复失败额外重试一次。就绪后立即继续,不固定睡眠。 只用页面组件请求、可见加载、字体/图片、主体内容与稳定性判断;全局后台请求不阻塞。随后滚动检查、编码和清理另有边界,详见协议。

截图覆盖当前已加载/可滚动内容,不自动点击标签或分页。承载 EB 主体的 iframe 完整滚动展开,普通内嵌网站保留设计视口。稳定业务错误可原样截图并带 warning,未知空白、超时、身份失效、内容丢失仍失败。源站错误截图不等于业务功能健康。

每次尝试结束即关 Page,批次结束关本工具创建的上下文与 Chrome。默认最大高度 50000px、60M 像素。仅关闭自己拥有的进程;清理失败阻止完成。

测试和 Skill 交付

npm ci --registry=https://registry.npmjs.org/
npm test
npm run test:package
npm run pack:skill

artifacts/ 生成 npm tarball、本地版 Skill ZIP、registry 四文件版 Skill ZIP。本地版含本产品 tarball 及散列,依赖从淘宝 npm 镜像安装;registry 版从 https://registry.npmmirror.com 安装固定版本,与 WorkBuddy 中 ui-code-agent 对齐,要求对应版本已在官方 npm 发布并同步镜像。npm 发布使用 https://registry.npmjs.org/。打包命令不会自动发布 npm 或上传 Skill。

WorkBuddy 推荐提示词和执行流程见 Skill,迁入能力对应关系见 表单能力核对,协议见 PROTOCOL。

Windows 使用原生 Node,无需 Bash/WSL/Python;支持 WorkBuddy 内置 npm、中文/空格路径、受控进程清理与暂时文件占用重试。系统 Chrome 自动发现,非标准位置可指定 E10_PAGE_CAPTURE_CHROME。 npm run test:windows 必须在 Windows 实机执行;macOS 的模拟分支不算实机通过,详见 WINDOWS。

流程菜单(0.5.0)

支持已发布的待办、已办、我提交的、共享、下属待办、全部流程、草稿、流程监控和流程新建入口,包含 WORKFLOW、明确 workflow URL 和组合子标签。只生成真实菜单;流程引用但没有独立菜单的 EB 表单仅作为字段/选项/布局依赖采集。普通表单的各菜单配置和按钮保持独立。

流程列表的列、标签、筛选和按钮来自内置固定原型模板;目录接口提供真实流程名称和关联表单,不读取真实流程实例/审批权限。宿主按 CLI 的 workflow-guide 生成右侧页面,固定 E10WorkflowStore 负责本地已读、批量提交、草稿续填、收藏/关注、实例评论以及关联记录联合保存。所有流程动作仅修改本地模拟数据。流程仍使用 kind=form 队列和 form/<菜单键>/ 交付路径,job.workflowType 区分流程类别。

完整流程协议见 PROTOCOL.md。

WorkBuddy 生成效率(0.5.5)

先执行 status 检查智能体团队。0.5.6 候选在未开启或无法确认时返回 blocked=true、 WAITING_HOST 和固定 userMessage,WorkBuddy 必须立即向用户展示并等待开启、重启和复查; 安装、认证写入、采集、生成和打包均被阻止,不提供串行降级。ready 仅表示运行时已安装, taskReady 才同时反映宿主前置条件。已有任务和产物保留,复查通过后从原目录继续。

宿主检查通过、首次 status 运行时未就绪时仅提示“首次使用需要初始化工作环境,大概需要几分钟,完成后自动继续。” ensure 保留后台进度与耗时,成功后自动继续,后续正常使用不再提示初始化或依赖名称。不要给 CLI 命令附加 tail 或吞掉退出码。

页面先看完整原图再写完整首版,不要求逐像素测量。html inspect 统一生成离线校对截图, 相同源码与完整截图可复用;宿主实际看图并集中修正,最多两轮视觉微调。CLI 按 token 记录不同 HTML 版本;首版加两轮之后,具体业务缺项或运行错误修复需追加 --repair-reason "具体问题" 并留痕。不能因预算用完就跳过 ready 验证。

WorkBuddy 的所有 Agent 子任务按主任务当前请求/配置的完整模型 ID 选择:ID 以 custom 开头时,显式传相同的完整 ID(例如 custom-local:deepseek-v4-flash);否则显式传 fast-model。首次派发、补位、重派和 Agent 恢复均执行同一规则;主模型变更只影响后续调用。0.5.10 由代码读取宿主注入的 CODEBUDDY_CURRENT_MODEL_ID,在 host.modelPolicy 返回证据并把选中的 model 直接填入每份 WorkBuddy job.dispatch;Skill 原样使用完整参数,不再让主模型判断前缀,不使用响应中的底层型号判断,不省略 model,也不使用 auto/default/inherit/lite 代替。宿主未提供可靠主模型 ID 时使用 fast-model,并说明未能识别;不扫描私有配置或日志来猜测。选中模型被拒绝或宿主明确覆盖时停止新增派发并报告,不静默回退。自定义服务与快速档都可能触发限额,不承诺额度独立、自动分散或无限容量。 后台生成完成一个接收一个;新任务首次用 html next --host-events '[]' 启用持久登记, 随后只提交原生 started/terminal 增量事件,CLI 保留未确认退出的额度。旧任务继续 --host-active-tokens 快照协议,不混用。只派发 host.dispatchTokens。子任务 ready 后直接 最终回复并结束,不提前 SendMessage 报完成;有原生任务退出未确认时保留槽位,全部终态后才打包。 promptPath 将页面细节留在对应子任务。连接失败确认旧写者已退出后恢复一次,已有草稿可继续;持续失败明确报告。 并发额度不是实际活跃数,也不保证线性提速,结论以同输入同模型的实际验收计时为准。

0.5.6 候选为协调者增加 host.reconcile 和只读 html watch:本批仅一个后台 Bash 检查, 回执变化或 60 秒到期后唤醒宿主核对原生状态;超时和 ready 均不自动释放名额。 activeCount 明确为已派发未确认退出数,已交付待退出和异常状态分别报告。 --brief 配合原生活跃 token 快照时,已派发任务只返回身份字段,减少反复复制完整描述。 底层取消后自动重试必须确认写者已退出;CLI 检查通过不等于桌面宿主通知链路已验证。

0.5.5 返回宿主后台能力预检、实际生效参数与失败源的直接恢复命令; 续跑参数冲突明确报错,截图仍维持默认 10 秒上限。WorkBuddy 设置 → 智能体 → 智能体团队管理应处于启用状态,并确认原生 Agent 返回后台任务编号和独立完成事件。 0.5.9 新表单任务按类型、显示/增改查/流程模式及有无明细安排同类代表页:全部检查 1440 桌面,代表页另查 390 手机;旧任务保持双视口。不同页面的手机效果不由抽样自动保证,未检查范围如实说明。 macOS 受控 Chrome 关闭自动更新使用的临时应用克隆,不修改宿主文件保护。 生成任务只读当前页面类型的精简指南,完整手册按需查阅;不为多截状态反复改写成品。

0.5.6 候选的表单/流程 worker 先读 generationPath:重复配置以引用或明确差异保留, 未知属性、按钮条件/完整动作链与模式差异都保留,并由 CLI 校验还原完整性。 参考 HTML 提取字段父子结构和主明细绑定,脚本/样式/真实记录不再整份必读; 原始 contextPath 留作无法识别部分的定向回退。业务表单本身仍由宿主 AI 生成, 此改动不代表固定渲染器,也不代表所有业务交互已经通过验收。 离线输入体积与预处理耗时见 docs/acceptance/worker-context-0.5.6-20260917.md。

0.5.6 本地候选补充:新 WorkBuddy 任务用 html next --host-events '[]' 启用轻量任务登记, 后续只提交真实原生 started/terminal 事件,不重复手抄整个活跃 token 数组。已有任务保留原协议。 表单严格沿用原包功能范围;固定 E10FormUI 接管常见字段、筛选排序分页和配置允许的草稿事务, AI 决定布局与有来源的映射;暂未覆盖的原包能力仍需按原规范模拟/披露,不能默认删掉。 校对和打包共用 file URL 加载,打包失败保留具体诊断以便定向修复。上述改动尚不代表新一轮 整应用生成提速实测,也不代表已经全面固定实现原包所有控件/动作。

0.5.6 候选的 CLI 已按命令分支加载实现;状态、认证、队列和宿主前置拦截不再提前初始化 浏览器和打包依赖。playwright-core 仅在实际启动 Chrome 时加载,校对缓存命中也不加载。 每条命令仍是独立 Node 进程,bootstrap 的运行时文件摘要与固定依赖检查继续执行; 此项优化减少启动开销,源站请求、截图、离线渲染和 AI 生成耗时仍取决于实际工作量。

0.5.9 表单验收统一按 job.review 和精简契约:普通页检查一个关键入口/字段绑定,代表页检查一条完整主路径;特殊动作或修复只补相关路径,不逐页重复通用组件全功能回归。原包功能范围和双尺寸布局能力保留。html interact 对同 HTML/配置/运行时、步骤、视口且证据完好的成功结果直接复用;失败、变化或证据损坏会重新执行。打包仍校验实际交付路径的离线初始化和脚本错误。