Files
productcanvas/js/modules/product-canvas.js
史悦 d74fbce137 现在支持的格式
-  ```svg<svg... 
  -  ```svg <svg... 
  -  ```xml<svg... 
  -  ```xml <svg... 
  -  ``` xml<svg... 
  -  ``` svg<svg... 
  -  ```<svg... (无语言标识)

  这样无论 LLM 输出哪种格式,都能正确实时绘制和复制图片到剪贴板了。
2026-02-03 10:55:17 +08:00

44 lines
1.0 KiB
JavaScript

(function registerProductCanvasModule(global) {
'use strict';
if (!global.ModuleRegistry) {
throw new Error('ModuleRegistry 未初始化');
}
const parseResponse = (content) => Utils.parseSVGResponse(content);
global.ModuleRegistry.register({
id: 'product-canvas',
label: '产品画布',
icon: 'ph:pen-nib-duotone',
renderer: 'svg',
promptKey: 'canvas',
storageNamespace: 'module:product-canvas',
chat: {
placeholder: '描述你的产品定位、用户画像、价值主张等内容…',
streamStartToken: '```svg',
contextWindow: 10
},
artifact: {
type: 'svg',
fence: 'svg',
startPattern: /```\s*(?:svg|xml)?\s*<svg/i,
parser: parseResponse
},
hooks: {
onActivate() {
// 保留扩展点,后续可追加自定义逻辑
}
},
exports: {
allowSvg: true,
allowPng: true,
allowClipboard: true,
allowCode: true
},
ui: {
placeholderText: '生成的产品画布将在此处显示'
}
});
})(window);