创建自定义内核#

提示

我们建议先查看如何创建服务器扩展:创建服务器扩展

引导服务器扩展#

创建新内核与创建 服务器扩展 非常相似。

设置好服务器扩展后,添加以下插件来注册内核

/**
 * A plugin to register the custom kernel.
 */
const kernel: JupyterLiteServerPlugin<void> = {
  id: 'my-custom-kernel:plugin',
  autoStart: true,
  requires: [IKernelSpecs],
  activate: (app: JupyterLiteServer, kernelspecs: IKernelSpecs) => {
    kernelspecs.register({
      spec: {
        name: 'custom',
        display_name: 'Custom Kernel',
        language: 'text',
        argv: [],
        resources: {
          'logo-32x32': '',
          'logo-64x64': '',
        },
      },
      create: async (options: IKernel.IOptions): Promise<IKernel> => {
        return new CustomKernel(options);
      },
    });
  },
};

Echo 内核示例#

作为替代方案,从现有内核开始是引导新内核的快速方法。

jupyterlite-echo-kernel 是一个示例内核,它返回用户提交的输入。

echo-kernel-demo

它很简单,旨在用于演示目的。

如果你想从该内核开始

  1. 对于 仓库

  2. 按照开发说明在本地构建内核

  3. 本地设置准备就绪后,你可以迭代内核的实际逻辑并开始实现协议

示例#

为了获得灵感,你也可以查看其他 JupyterLite 内核