Skip to content
English

MockGPT Node:最小模型服务与 HTTP 挂载 ​

同一 MockGPT 配置作为独立模型 API,或挂入现有 Node HTTP 服务。

@jangts/agent-core/mock/node 是 Node 专用入口。createMockServer({mock,maxBodyBytes?,requestTimeoutMs?,allowedOrigins?,allowedHosts?,closeTimeoutMs?}) 返回 listen({host?,port?}) 与 close。createMockHandler 使用相同请求策略,返回 Node IncomingMessage/ServerResponse 处理器,宿主拥有监听和关闭。

默认仅接受回环、本次连接到达的本地地址和显式绑定的主机名。Host 先于 Origin 校验,allowedHosts 是精确主机名/IP,不接受通配符;allowedOrigins 单独允许跨域,不能放行非法 Host。请求体、超时和关闭等待有界。listen 在启动、监听或关闭过程中重复调用会以 MOCK_ACTIVE 拒绝,close 等待启动及同一次关闭,结束后可重新监听。

HTTP 外壳将生成错误转换为带 code 的错误响应;responses.reject 关闭连接,区别于显式 HTTP 错误。未匹配且没有 fallback 时失败,不连接真实模型。模拟服务不提供业务鉴权;对外暴露由宿主配置访问边界。

由简到繁的同业务示例 ​

启动最小模型 API,用完关闭 ​

入门 · Node.js

ts
import { MockGPT } from '@jangts/agent-core/mock';
import { createMockServer } from '@jangts/agent-core/mock/node';
const mock = new MockGPT({ rules: [{ prompt: '你好', generator: '你好。' }] });
const server = createMockServer({ mock });
try {
  const address = await server.listen({ host: '127.0.0.1', port: 0 });
  console.log(address);
  // 将输出地址的 /v1 作为模型客户端 base URL。
} finally { await server.close(); }
js
import { MockGPT } from '@jangts/agent-core/mock';
import { createMockServer } from '@jangts/agent-core/mock/node';
const mock = new MockGPT({ rules: [{ prompt: '你好', generator: '你好。' }] });
const server = createMockServer({ mock });
try {
    const address = await server.listen({ host: '127.0.0.1', port: 0 });
    console.log(address);
    // 将输出地址的 /v1 作为模型客户端 base URL。
}
finally {
    await server.close();
}

挂入已有 Node HTTP 生命周期 ​

配置 · Node.js

ts
import { createServer } from 'node:http';
import { MockGPT } from '@jangts/agent-core/mock';
import { createMockHandler } from '@jangts/agent-core/mock/node';
const mock = new MockGPT({ rules: [{ generator: '演示回复' }] });
const handler = createMockHandler({ mock, requestTimeoutMs: 5000 });
const server = createServer(handler);
server.listen(4317, '127.0.0.1');
// 宿主退出时关闭 server;需要自定义域名时显式配置 allowedHosts。
js
import { createServer } from 'node:http';
import { MockGPT } from '@jangts/agent-core/mock';
import { createMockHandler } from '@jangts/agent-core/mock/node';
const mock = new MockGPT({ rules: [{ generator: '演示回复' }] });
const handler = createMockHandler({ mock, requestTimeoutMs: 5000 });
const server = createServer(handler);
server.listen(4317, '127.0.0.1');
// 宿主退出时关闭 server;需要自定义域名时显式配置 allowedHosts。

接口参考、使用示例与开发指南。