# @callimacus/thamyr-liquid 中文文档

规范地址：https://npmcn.com/package/%40callimacus/thamyr-liquid/

版本：4\.23\.5
npm 元数据更新时间：2026-11-08T20:35:28.384Z
中文译文更新时间：2026-11-09T00:08:55.343Z
软件包许可：SEE LICENSE IN LICENSE\.md

本文由上游 README 翻译，可能存在偏差，请结合原文核对 API、命令与配置。版权与许可归原作者所有。

原始 npm 页面：https://www.npmjs.com/package/%40callimacus/thamyr-liquid
原文对照：https://npmcn.com/package/%40callimacus/thamyr-liquid/?lang=original
项目主页：https://docs.callimacus.ai/thamyr-sdk/shopify-liquid

## 关键信息（来自 npm 元数据）

- 包体积（解压后）：429 kB，11 个文件
- 模块格式：ES Module
- TypeScript 类型：包内自带
- 运行依赖：1 个
- 首次发布：2026-09-29T08:50:37.258Z
- 最新版本发布：2026-11-08T20:35:28.227Z
- 近 30 天下载量：5795（2026-10-09 至 2026-11-07，npm 官方下载统计）
- 已发布版本数：39（近 12 个月 39 个）

## 中文简介

无头 Callimacus 液体主题运行时间

## 安装

```sh
npm install @callimacus/thamyr-liquid
```

也可以使用：`pnpm add @callimacus/thamyr-liquid`、`yarn add @callimacus/thamyr-liquid`、`bun add @callimacus/thamyr-liquid`

## README

# @ callimacus/thamyr- 液体

无头 Callimacus 为 Shopify Liquid主题运行时间(在线商店2.0).

运行时间拥有运输,圆寿命周期,区块调度,错误控制, 商业管道(货币、URL、本地的AJAX推车)。 主题拥有 每一个元素,每个类名,所有的CSS, 和所有的客户化副本。 这个 运行时间没有产生自己的DOM 和船只没有CSS.

## 主题使用( 无构建步骤)

装入自定义的浏览器捆绑——它自动挂载每个 `[data-callimacus]` 元素和重装 `shopify:section:load`数字 :

```liquid
<script src="https://cdn.jsdelivr.net/npm/@callimacus/thamyr-liquid@4/dist/browser/callimacus-runtime.min.js" defer></script>
```

飘来飘去 `@4` 接取次要并自动补丁释放. 如果你喜欢 完整度超过自动更新, 刻出精确的版本并添加 [分资源](https://developer.mozilla.org/en-US/docs/Web/Security/Subresource_Integrity) (单位:千美元)`integrity="sha384-…" crossorigin="anonymous"`) - jsdelivr 显示散列在 文件列表 。 或者全部跳过 CDN: 将文件下载到您的主题 作为 `assets/callimacus-runtime.min.js` 装入 `{{ 'callimacus-runtime.min.js' | asset_url }}` ——第一方托管,无 外部脚本( 主题存储列表主题需要) .

从自己的文件中注册您的渲染器—— 每个块类型一个条目 :

```js
window.callimacusRenderers = window.callimacusRenderers || [];
window.callimacusRenderers.push({
  type: 'custom:giftGuide',
  render(block, ctx) {
    const picks = ctx.picks(block);
    if (!picks.length) return null;
    const grid = document.createElement('ul');
    grid.className = 'gift-guide__grid'; // your class, your CSS
    for (const item of picks) grid.append(card(item, ctx));
    return grid;
  },
});
```

完整的走行部——上标、区段设置、制造器合同、, 编辑 `ctx` 帮助者——住在 [(原始内容存档于2018-09-21). docs.callimacus.ai](https://docs.callimacus.ai/thamyr-sdk/shopify-liquid)。 。 。 .

## 无消息的回合

店前寄来的不是每封都是打字的问题 山上的把柄 要素(`element.callimacus`)搭载了TypeScript SDK的来电,使用相同的 名称和选项,由同样的帮助者构建:

-   `ask(text)` - 一个打字的问题.
-   `sendInteraction(id, {value, payload, block})` - 一种互动 在其配置文档中宣布的项目:点击、查看产品.
-   `openLanding(value?)` ——项目自定义登陆:一回合无消息.

山提供页面语言和访客故事;通过 `language` 或者说 `storyId` 为了一个电话而推翻他们 每一回合都一样 `data-callimacus-state`,同样的事件,一个接一个.

片段以一发开口

```liquid
<div data-callimacus data-client-id="…"
  data-interaction="productDetail"
  data-interaction-value="{{ product.title | escape }}"
  data-interaction-payload='{{ product_payload | json | escape }}'>
```

`data-interaction` (可选) `data-interaction-value` 和一个 JSON 对象在 `data-interaction-payload`发送已宣布的交互; `data-landing` 打开 自定义着陆( e)`data-landing="pdp"` 发送 `pdp` 作为其价值); `data-prompt` 问个问题。 数个名字,第一个顺序胜出,警告.

## 建议

`element.callimacus.suggest(prefix)` 解决 `{suggestions}`页:1 项目在空或短前缀上的启动问题,自动完成 访问者类型 — TypeScript SDK's `suggest`。它不会打开圆形,也不会改变 状态,所以它可以运行在一个旁;在上架还没有时它首先连接. 无连接, 超时( N)`timeoutMs`, 默认为 4 s) 或错误 全部解析 没有建议。 只有在项目转弯时才回来 打开(Thamyr QQ配置 QQ建议).

```js
input.addEventListener('input', async () => {
  const {suggestions} = await root.callimacus.suggest(input.value);
  renderChips(suggestions); // yours
});
```

## 没有回合的目录查看

有些答案是简单的目录检查,而不是回合: 没什么可编曲的, 没什么可以生成的. `ctx.similar(item, {topK})` 财务报告和审定财务报表 `ctx.related(item)` - 那个 类型脚本 SDK `skesis.similar` 编号 : `skesis.related` - 阅读目录 直接在几百毫秒内 手件变回形状 `ctx.picks`,所以同一个出牌器绘制它们:

```js
const others = await ctx.similar(item, {topK: 12});
const sameModel = others.filter(other => other.fields.title === item.fields.title);
```

`ctx.related(item)` 解决 `{related, siblingColors, usedFallback}`数字 : 项目中提及的内容,提及的内容,以及当 目录将它们链接起来。 两者都取出一个物品或其编号,并读取目录 将店面的路由名称本地化(`/it-it/` 读取 `it-IT`, (中文(简体) ), `/it/` 读取 `it`,页根 `data-language`; 通过 `locale` 来选择另一个. 他们否认真理 `CallimacusError` —— 说 `lookup_unreachable` 请求时 失败或时间已耗尽( e)`timeoutMs`(默认为10 s), `server_<status>` 当Callimacus拒绝的时候.

## 屏幕上的内容

`data-ui-observer` 在挂载元素上,每一回合都随身携带 访问者可以看到——所看到的目录项目和块——认知 流动和屏幕上的条件读取。 默认关闭.

标出每个产品元素的全ID, `data-product-id="${item.id}"` (单位:千美元)`shopify:product:gid://…`,从没有手柄或数字 shopify id 。 虽然 中,运行时标记每个块的根元素 `data-block-id` ——块自有的id——除非出厂者设置了出厂.

观察者阅读 `[data-product-id]` 在页面上。 如果主题本身 标记已经使用该属性, 给观察者一个自己的选择 : `data-ui-observer="[data-callimacus-product]"`。 。 。 .

## 一会各页

每个 `ask` {\\fn黑体\\fs22\\bord1\\shad0\\3ahbe\\4ah00\\fscx67\\fscy66\\2chffffff\\3ch808080}所以后续行动是.. 在他们身后交谈 不过每一次导航时 都会重新装入一个存储头条 一个新山打开一个新故事——除非它所保存的主题名称:

-   `data-story-id` 在挂载元素上是它的第一回合继续. 空谓无相. 服务器已不存在的故事被新故事所取代.
-   `callimacus:story` (嘘声,细节) `{storyId}`当服务器时起火 打开一个故事. `element.callimacus.storyId` 读取当前文本.

Liquid 无法读取浏览器存储, 所以有几行内含脚本 结束了。 在挂载元素后和被推迟的运行时间前放置:

```html
<script>
  (function () {
    var key = 'callimacus:story';
    var kept;
    try { kept = sessionStorage.getItem(key); } catch (error) {}
    document.querySelectorAll('[data-callimacus]').forEach(function (element) {
      if (kept && !element.dataset.storyId) element.dataset.storyId = kept;
    });
    document.addEventListener('callimacus:story', function (event) {
      try { sessionStorage.setItem(key, event.detail.storyId); } catch (error) {}
    });
  })();
</script>
```

重新开始——"新对话"按钮——打电话 `element.callimacus.resetStory()` 并忘记 保存的id (单位:千美元)`sessionStorage.removeItem('callimacus:story')`:下一轮打开了一个新的 报道并宣布 旧事如出一辙.

`sessionStorage` 将对话范围放大到标签; `localStorage` 将保留 它通过访问。 两者均可投掷(私人窗口、被屏蔽的存储),因此 `try`:没有他们的经验仍然有用,每页一个故事.

## 看到SDK的警告

SDK的伐木机关闭了 所以访客控制台保持安静 打开页面 `?callimacus_debug` 在其 URL 中,或运行 `localStorage.setItem('callimacus:debug', '1')` 在控制台中重新装入,浏览器捆绑打开记录器 `warn` 当它开始。 块一回合没有显示, 因为它的一个内容失败 然后记录 `Block "saga" was not shown: its content "guide" failed (shortfall).` 原因保留服务器侧 : `callimacus thamyr probe` 显示它. `localStorage.removeItem('callimacus:debug')` 又关了 什么都没有 主题更改.

## Bundler 用户

无害环境管理条目在没有自动挂载副作用的情况下输出相同的运行时间:

```ts
import {mountAll} from '@callimacus/thamyr-liquid';

mountAll(document);
```

它让伐木工一个人: 打电话 `enableLoggerIfRequested()` 从 `@callimacus/thamyr-core` 在此之前 `mountAll` 上面的开关.

## 许可证

专有——只允许Callimacus客户使用. 见 [利比里亚](https://npmcn.com/package/%40callimacus/thamyr-liquid/LICENSE.md)。 。 。 .

## 常见问题

### @callimacus/thamyr-liquid 是什么？

无头 Callimacus 液体主题运行时间

### 如何安装 @callimacus/thamyr-liquid？

在项目目录运行 npm install @callimacus/thamyr-liquid，或使用 pnpm add / yarn add / bun add。

### @callimacus/thamyr-liquid 支持 TypeScript 吗？

支持。包内自带 TypeScript 类型声明（package\.json 声明了 types 入口），安装后即可获得类型提示，无需再安装 @types 包。

### @callimacus/thamyr-liquid 支持 ESM 还是 CommonJS？

以 ES Module 形式发布，推荐使用 import 引入。在 CommonJS 项目中，Node\.js 20\.19\+ / 22\.12\+ 可以直接 require\(\) 不含顶层 await 的 ES Module，更早的版本需要改用动态 import\(\)。

### @callimacus/thamyr-liquid 可以商用吗？

@callimacus/thamyr-liquid 使用 SEE LICENSE IN LICENSE\.md 许可。许可条款写在包内的独立文件中，请阅读该文件确认可否商用。以上为概括，不构成法律意见，请以许可原文为准。

### @callimacus/thamyr-liquid 的下载量有多少？

根据 npm 官方下载统计，@callimacus/thamyr-liquid 在 2026/10/09 – 2026/11/07 这 30 天内被下载 5,795 次，日均约 193 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入，适合横向比较热度，不能直接等同于使用人数。

### @callimacus/thamyr-liquid 还在维护吗？

最新版本 4\.23\.5 发布于 2026/11/09（今天）；至今共发布 39 个版本，其中过去 12 个月发布了 39 个；首次发布于 2026/09/29。发布频率只是参考信号：功能稳定的工具可能很少需要更新，建议结合源码仓库的 issue 和提交记录判断。

