配置
服务器从 axon-config.json 读取的每个配置项,加上覆盖它们的环境变量。
配置文件
服务器在工作目录中查找 axon-config.json,或在 AXON_CONFIG 环境变量指定的路径中查找。一个初始文件以 axonMcpServer-config.json 的形式发布;复制它并进行编辑。
{
"server": { "port": 3847 },
"codePath": "/path/to/axon/code",
"docsPath": "/path/to/axon/docs",
"filePatterns": {
"code": ["**/*.axon", "**/*.trio"],
"docs": ["**/*.html", "**/*.md"]
},
"cache": { "enabled": true, "maxAge": 86400000, "directory": ".cache" },
"semanticSearch": { "enabled": true, "codeModel": "Xenova/all-MiniLM-L6-v2" }
}
路径
codePath
包含你的 .axon 和 .trio 文件的文件夹的绝对路径。文件扫描器会递归遍历它,遵守 filePatterns.code 全局模式并跳过 excludeDirs 中的目录(默认值:node_modules、.git)。
docsPath
HTML 文档的绝对路径。FlexSearch 解析器会将标题、代码块和文章内容提取到文档索引中。除 HTML 外,还支持 Markdown 文件。
OAuth
为多用户 HTTP 部署启用:
"oauth": {
"enabled": true,
"accessTokenTtl": 3600,
"refreshTokenTtl": 2592000,
"scopesSupported": ["mcp:read", "mcp:write", "mcp:admin"]
}
当 enabled: false 时,HTTP 传输接受未经身份验证的连接——这对本地主机来说没问题,但绝不能用于公共部署。
SkySpark 连接
"skyspark": {
"home": "/path/to/skyspark",
"configDir": "config",
"autoDiscover": true,
"autoSyncFunctions": true,
"syncConcurrency": 10,
"functionVersioning": true,
"maxVersions": 4,
"fallback": {
"host": "localhost",
"port": 8080,
"project": "demo",
"username": "su",
"password": "su",
"protocol": "http"
}
}
autoDiscover
当设置为 true 时,服务器读取 SkySpark 的配置目录并在启动时枚举每个项目。当设置为 false 时,fallback 块被用作唯一的连接目标。
functionVersioning
当设置为 true 时,每次调用 commitAxonFunction 都会保留之前的版本。maxVersions 限制每个函数保留的版本数,在达到上限后会删除最旧的版本。
fallback
当 autoDiscover 失败或无法访问 home/config 路径时使用。当客户端调用 switchSkySparkProject 时,如果通过发现找不到项目,也会使用此块。
语义搜索
向量嵌入为 semanticCodeSearch 和 findSimilarCode 提供支持。默认模型通过 HuggingFace Transformers 在本地完全运行(无外部 API 调用):
"semanticSearch": {
"enabled": true,
"codeModel": "Xenova/all-MiniLM-L6-v2",
"embeddingThreads": 2
}
嵌入数据持久化在 LanceDB 中的 .cache/embeddings 目录。在代码发生重大更改后,使用 buildProjectEmbeddings 重建。
主项目
执行和提交工具需要知道要针对哪个 SkySpark 项目:
"primaryProject": {
"instance": "localhost8080",
"project": "sensorRead"
}
客户端可以在运行时通过 setPrimaryProject 切换主项目。所选的上下文在会话期间保持不变。
环境变量覆盖
| 变量 | 目的 |
|---|---|
MCP_TRANSPORT |
stdio(默认值)或 http。 |
MCP_PORT |
当 MCP_TRANSPORT=http 时的 HTTP 端口。默认值为 3847。 |
AXON_CONFIG |
JSON 配置文件的绝对路径。 |
NODE_OPTIONS |
在启动脚本中预设为 --max-old-space-size=8192。 |
环境变量优先于 JSON 配置中的值。