ServerOptions
KIT · interface · 类型合同
Options of createMockServer, adding shutdown behaviour.
导入
ts
import type { ServerOptions } from '@jangts/agent-core/mock/node';1
js
/** @typedef {import('@jangts/agent-core/mock/node').ServerOptions} ServerOptions */1
其他公开入口:@jangts/agent-core/mock/node。
定义
ts
interface ServerOptions1
继承或实现: HandlerOptions。
字段结构
| 字段 | 类型 | 必需 | 说明 |
|---|---|---|---|
closeTimeoutMs | number | undefined | 可省略 | Grace period before active requests are aborted on close, in milliseconds; default 1000. |
mock | MockGPT | 必需 | Instance whose fetch answers every accepted request. |
maxBodyBytes | number | undefined | 可省略 | Maximum request body in bytes; default 1 MiB. |
requestTimeoutMs | number | undefined | 可省略 | Deadline for one request including streaming, in milliseconds; default 30 000. |
allowedOrigins | readonly string[] | undefined | 可省略 | Exact origins allowed to call cross-origin; same-origin requests always pass. |
allowedHosts | readonly string[] | undefined | 可省略 | Extra hostnames accepted in Host; localhost, 127.0.0.1 and ::1 are always accepted. |
使用示例
- MockGPT Node:最小模型服务与 HTTP 挂载:同一 MockGPT 配置作为独立模型 API,或挂入现有 Node HTTP 服务。
启动最小模型 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(); }1
2
3
4
5
6
7
8
9
2
3
4
5
6
7
8
9
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();
}1
2
3
4
5
6
7
8
9
10
11
12
2
3
4
5
6
7
8
9
10
11
12
挂入已有 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。1
2
3
4
5
6
7
8
2
3
4
5
6
7
8
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。1
2
3
4
5
6
7
8
2
3
4
5
6
7
8