MCP Fantom

Fantom 和 Axon 的语义代码搜索 -- 本地 GPU 或 OpenRouter

教你的 AI 助手 Fantom 和 Axon -- 无论你是否拥有自己的 GPU。

MCP Fantom 为 AI 助手提供 Fantom、Haxall 和 SkySpark 代码库的工作知识 -- 不仅仅是文档,还包括实际代码:什么调用什么,上周改变了什么,以及哪个函数做你用纯英文描述的事情。

它索引 Fantom 源代码、SkySpark Axon 函数以及 fantom.org 和 haxall.io 文档;为所有内容嵌入语义搜索;构建真实的调用图;并通过模型上下文协议公开所有内容,同时提供用于运行和监视索引的网络仪表板。

1.0 中的新增功能:OpenRouter

嵌入不再需要你桌下的 GPU。每个推理角色 -- 代码嵌入、文本嵌入、重新排序、代码助手和检索循环 -- 独立路由到本地主机、OpenRouter 或同时路由到两者。从笔记本电脑完全在云中运行,或在气隙工厂的自有硬件上完全运行,或跨两个池分散并从一个队列中拉取。

它仍然迁移 SkySpark

SkySpark 4.0 改变了扩展格式。手动迁移真实扩展或连接器是一堆 using 重写、Axon 字符串转换和全新 Xeto 库文件的苦差事 -- 编译器会在你漏掉一行时立即反击。MCP Fantom 重写 using 语句、转换 Axon 字符串、生成 Xeto 文件、使用 Fantom 编译器进行验证,并在途中创建 Git 备份标签。

如果迁移出现中断,使用一个工具调用进行回滚。整个过程是可对比的、可逆的和叙述的。

它适合谁

  • 扩展作者将 SkySpark 3.x pod 迁移到 4.0
  • Haxall 集成商用 Fantom 构建连接器、函数和应用
  • SkySpark 开发者希望他们的 Axon 函数可按含义搜索而不是按 grep 搜索
  • AI 辅助开发者需要准确的 Fantom 上下文,而不是幻觉语法

迁移驾驶舱

不带手部痉挛迁移 SkySpark 3 到 4

一个工具重写你的扩展。另一个提交它。第三个回滚它。每项更改都是可对比的,编译器进行验证,Git 保持安全网。

迁移:进行中 modbus-connector
67%
SkySpark 3.x 源
SkySpark 4.0 输出
1using sys
2using skyspark::ext
3using skyspark::folio
4 
5@Ext const class MyConnector : ConnExt {
6  override Str sort := "connector"
7  override Str moniker := "myCon"
8 
9  Str axonWatch() { "read(point and siteRef == @hq)" }
10  Str axonSub() { "readAll(point)" }
11}
12 
1using sys
2using haxall::ext
3using haxall::folio
4 
5@Ext const class MyConnector : ConnExt {
6  override Str sort := "connector"
7  override Str moniker := "myCon"
8  // Axon 移至 funcs.xeto
9  Str axonWatch() { "axon:MyConnector.watch" }
10  Str axonSub() { "axon:MyConnector.sub" }
11}
12 
using 重写:12 axon 字符串:8 xeto 文件:3 生成 编译器:通过 git:已创建 pre-skyspark-4x-backup 标签
输出由 fan compile 验证。回滚可通过 rollbackMigration 获得,直到调用 commitMigration。

懒索引

服务器在索引完成前回答

大多数搜索服务器在首次启动时阻塞客户端 30 到 60 秒来索引。MCP Fantom 在不到一秒内启动。工具立即响应 -- FlexSearch 首先预热,本地 pod 其次,嵌入之后。助手永远不会等待。

查询透明降级。如果嵌入未准备好,语义工具会回退到关键字搜索。助手获得一个关于保真度的答案注释,而不是超时。

MCP Fantom
就绪
HTML 文档 (cheerio) 100%
4,187 / 4,187 页已索引
本地 .fan pod 78%
1,246 / 1,600 pod 已解析
嵌入 (LanceDB) 45%
723 / 1,600 向量已计算
调用图 (graphology) 12%
192 / 1,600 函数已链接
启动 0s 工具 1s 文档 8s 完整索引 47s
语义搜索 LanceDB
"规范化单位的函数" 余弦 搜索
normalizeUnit(val, target)
将数值规范化为目标单位符号。
0.91
convertUnit(point, u)
将点的值转换为指定单位。
0.87
toEngUnit(v, sym)
返回原始值的工程单位表示。
0.82
代码社区 (Louvain)
单位规范化 trio 解析 计量读数 连接器工具

代码智能

语义理解,而不仅仅是文本匹配

semanticCodeSearch 和 findSimilarCode 将你的 Fantom 代码嵌入到向量空间。询问

对这个项目感兴趣吗?

探索源代码、贡献代码或联系我们。