@deepnote/runtime-core (英语)
执行Deepnote项目的核心运行时间.
该项目正在积极开发之中,尚未准备使用。 期待打破变化.
安装
npm install @deepnote/runtime-core
先决条件
需要22.14.0节点或以后。 代理块使用AI SDK 7及其匹配的提供商包.
你一定有过 deepnote-toolkit 与 server 额外安装在您的 Python 环境中 :
pip install "deepnote-toolkit[server]"
使用量
import { ExecutionEngine } from "@deepnote/runtime-core";
const engine = new ExecutionEngine({
// Python executable, venv directory, or command in PATH (for example: 'python3')
pythonEnv: "python",
workingDirectory: "/path/to/project",
});
try {
await engine.start();
const summary = await engine.runFile("./my-project.deepnote", {
onBlockStart: (block, index, total) => {
console.log(`Running [${index + 1}/${total}] ${block.type}...`);
},
onBlockDone: (result) => {
console.log(result.success ? "ok" : "failed");
},
});
console.log(
`Executed ${summary.executedBlocks}/${summary.totalBlocks} blocks in ${summary.totalDurationMs}ms`,
);
} finally {
await engine.stop();
}
运行时间配置
ExecutionEngine 接受:
pythonEnv: string- Python 可执行性或用于发射的环境路径deepnote-toolkitworkingDirectory: string- 执行工作目录serverPort?: number- 可选服务器端口(省略时自动指定)
执行选项
runFile(filePath, options) 财务报告和审定财务报表 runProject(file, options) 支持:
- 笔记本/块过滤 :
notebookName, (中文(简体) ),blockId, (中文(简体) ),blockIds - 执行前输入注入 :
inputs - 代理块意识数据库集成元数据:
integrations - 代理块的取消 :
signal——代码和SQL块仍然运行到完成,中止的代理被报告为失败块而不是拒绝 - 回调 :
onBlockStart, (中文(简体) ),onBlockDone, (中文(简体) ),onOutput, (中文(简体) ),onAgentEvent, (中文(简体) ),onServerStarting, (中文(简体) ),onServerReady
代理块提供者
设定 metadata.deepnote_agent_model 给模范身份证明 从名称开始 claude- 选择Anthropic;
其他名称选择 OpenAI 。 用于本地运行, 使用 provider:model 明确选择提供者,
例如 anthropic:auto 或者说 openai-compatible:llama4。 。 。 .
没有供应商前缀, auto 或省略的模型选择 OpenAI。 一个明确的模型覆盖
提供方的模型环境变量;否则将使用以下变量或默认值.
| 提供者 | 默认模式 | API 密钥 | 模型覆盖 |
|---|---|---|---|
openai | gpt-6.1-sol | OPENAI_API_KEY | OPENAI_MODEL |
anthropic | claude-opus-5-5 | ANTHROPIC_API_KEY | ANTHROPIC_MODEL |
openai-compatible | 必须设定 | DEEPNOTE_AGENT_API_KEY | DEEPNOTE_AGENT_MODEL |
来电通过者 apiKey 自己可以查找一个提供者返回到的变量
getAgentApiKeyEnvVar(parseAgentModel(spec).providerId)。 。 。 .
自定义终点
使用 OPENAI_BASE_URL (包括 /v1)或(或) ANTHROPIC_BASE_URL (有无) /v1以覆盖 a
供应商的终点。 这个 openai 提供者总是使用响应 API,所以它的终点必须
支持这个计划.
其他端点,如OpenRouter、Ollama和LiteLLM,使用 openai-compatible 供养. 这个
使用 Chat 补全并需要一个密钥, 结束点(DEEPNOTE_AGENT_BASE_URL),和一个模型
支持工具调用。 在块或使用中设置模型 openai-compatible:auto 与
DEEPNOTE_AGENT_MODEL。使用端点的型号ID;例如OpenRouter,
openai-compatible:anthropic/claude-opus-5.5。 。 。 .
与云分享笔记本
使用 auto 或一个没有提供者前缀的支持型号ID,例如 claude-opus-5-5, (中文(简体) ),
claude-sonnet-5-5, (中文(简体) ), gpt-6-sol,或 gpt-6-luna。不支持的名称,包括提供者前缀,
使用工作空间设置.
auto 使用 Cloud 中的工作空间设置和本地上方的默认值。 本地密钥和端点
不配置云.
结果形状
执行方法返回 ExecutionSummary数字 :
totalBlocksexecutedBlocksfailedBlockstotalDurationMs