应用工具AI 资源
rudra-js:用语言模型生成商品推荐组件并由 React 服务端渲染
clivedsouza1010/rudra-js · Product recommendation components designed by a language model and rendered with React, on the server or in the browser. The model returns a validated specification, never markup, so it cannot invent a price, a rating or a stock level.
ELI5:它是什么,解决什么问题
rudra-js 让语言模型设计推荐区块,但不允许模型直接输出 HTML,而是返回由封闭词汇表构成的组件规格(布局、标题、文案),商品标题、价格、图片和链接均从自有商品目录中读取。@rudra-js/react 在服务端或浏览器中进行渲染,@rudra-js/attested 对模型文案做三轮校验(价格与折扣等模式、数字来源核对、无数字断言词表),不合格字段会被丢弃。默认模式下展示的商品由核心逻辑按请求从候选列表中选择而非模型决定,且支持完全不调用模型的确定性模式。
核心能力与快速开始
★ 4 · TypeScript
- 能做什么
- 提供一套把单条追踪载荷(用户、上下文、候选商品、信号)转换为可渲染推荐组件规格的契约与逻辑;模型只能从封闭词汇表中选择布局、写标题与文案,规格中没有可填写价格、商品名、图片或链接的字段,商品仅以 SKU 引用且必须来自调用方提供的列表;@rudra-js/react 依据规格从商品目录读取标题、价格、图片与链接并渲染为转义文本;@rudra-js/attested 对模型文案做三轮筛查(价格/折扣/评分/配送日期/库存数量的模式识别、逐位数字来源核对、无数字断言词表),不通过的字段被丢弃;默认模式下栅格或轮播中的商品由核心逻辑按请求选择而非模型;渲染结果位于首次 HTML 响应中,不需要客户端 JavaScript,可被不执行 JS 的爬虫读取;支持不调用任何模型的确定性模式;提供 @rudra-js/anthropic 适配器接入 Anthropic API,并支持通过小接口接入任意模型提供方。
- 适用场景
- 电商产品页或列表页在服务端生成个性化推荐区块(如“与购物车搭配”),在首屏 HTML 中直接呈现;希望由语言模型撰写推荐文案但要求价格、评分、库存等事实只能来自自有目录、避免模型编造商品信息的场景;需要推荐区块对不执行 JavaScript 的爬虫可见的场景;按 500 名购物者基准、默认模式下每 1000 次页面浏览约 460 次模型调用的成本敏感场景;完全不接入模型、以确定性组件运行的部署。
- 项目形态
- 开发框架
- 部署方式
- npm 安装 @rudra-js 作用域下的包(@rudra-js/core、@rudra-js/react、@rudra-js/attested 等),可在 Next.js 等框架中以服务端组件或 renderToString 方式渲染,也可在客户端渲染应用中使用;示例为 Next.js 小型店铺应用。
- 主要依赖
- Node 22.12 或更高(构建与测试不使用已停止支持的 Node 20);React 18 或 19,不需要 Server Components;@rudra-js/core 自带 zod 4 依赖,使用 zod 3 的应用会得到第二份副本且不能混用自己的 zod;默认确定性模式无需 API key,接入模型时使用 @rudra-js/anthropic 调用 Anthropic API。
- 使用限制
- 状态为 0.7.3 早期版本,1.0 之前公开契约可能在小版本间变动;文案校验中三轮里有两种是词表匹配,改写后不在词表内的表述可能通过,数字核对只识别数字,写成文字的数量不会被识别(如“四星半”可绕过),README 指出结构性边界(模型不接触价格、规格无处存放价格)才是主要防线;unscoped 的 npm 包 rudra-js 属于他人,必须使用 @rudra-js 作用域;Anthropic 适配器是唯一产生计费调用的包;模型调用的具体费用、其他部署环境与限制未说明。
- 许可证
- MIT
- 最近推送
- 2026-10-02 10:08
资料检查:2026-10-03 07:00 · 卡片整理:2026-10-03 07:00
卡片由 AI 根据仓库资料整理,未进行安装或运行验证 · 本次更新未完成,保留上次成功内容
讨论 0
登录后参与讨论,阅读资讯无需注册。
还没有评论,来分享第一个看法。