Hitmux-Context-Engine——开源替代ACE,让代码检索变得更快

HitC 2026-06-27 22:33 1

本帖使用社区开源推广,符合推广要求。我申明并遵循社区要求的以下内容:



  • 我的帖子已经打上 开源推广 标签:

  • 我的开源项目完整开源,无未开源部分:

  • 我的开源项目已链接认可 LINUX DO 社区:

  • 我帖子内的项目介绍,AI生成、润色内容部分已截图发出:

  • 以上选择我承诺是永久有效的,接受社区和佬友监督:


以下为项目介绍正文内容,AI生成、润色内容已使用截图方式发出






ACE虽好,但HCE更好!开源且可自己部署!


1.先说优点:



  1. 几乎不要钱。推荐使用的Qwen3 Embedding 4B仅仅0.02刀/MTokens输入

  2. 开源,完全自己部署。后端数据库也可以自建,也可以用免费的。甚至连向量模型,如果有好显卡也可以部署。即便没有,官方api成本也几乎为零

  3. 准确度高。真实测试见附录


2. 准备条件


向量数据库:Milvus


如果机器大于4G内存,可以考虑自己安装 Milvus数据库开源下载

Windows可以用Docker安装


如果条件不够的,当然有免费的远程数据库,看上去是用的AWS的机器,有免费5GB空间:Zilliz Cloud


向量嵌入模型


这里推荐Qwen3 Embedding 4B

硅基流动,国际站有一刀试用,完全够了




关于Qwen3 Embedding 4B

不推荐用8B的版本,因为据我测试OpenRouter上面的8B版本速度慢了5倍


如果想试用的话,直接注册硅基流动,我看国际站有1刀试用

Qwen3 Embedding 4B官方定价输入0.02$/M,输出免费


这大概是什么概念呢?假设你有100万行的巨型代码库,大概1000万Tokens

首次建立索引要全量输入,花费0.2刀

然后在开发期间查询了1000次,每次需要将查询的话转化成向量,一次20Tokens,共20000/1000000*0.02=0.0004刀

开发期间共改了50%的代码。这些代码需要增量索引,花费0.1刀


0.1+0.2+0.0004=0.3004,差不多2块钱

一个硅基流动的试用一刀额度够完成三个这样100w行项目的开发



安装并配置HCE


npm i -g @hitmux/hce

然后创建~/.hitmux-context-engine/config.conf并写入


embeddingProvider = OpenAI
openaiBaseUrl = https://example.com #不要带 /v1
embeddingModel = qwen/qwen3-embedding-4b
openrouterApiKey = sk-or-your-openrouter-api-key
milvusAddress = localhost:19530

如果用的是Zilliz Cloud,就把milvusAddress换成


# milvusAddress = your-zilliz-cloud-public-endpoint # 配置了下面的Token,此项可以省略,能自动推断
milvusToken = your-zilliz-cloud-personal-key

配置MCP:


{
"mcpServers": {
"hitmux-context-engine": {
"command": "hce"
}
}
}

OR


[mcp_servers.hitmux-context-engine]
command = "hce"

好了,完成了


cd到你的项目,确保.gitignore等文件正确

然后hce index即可。

用OpenRouter的qwen3-embedding-4b速度大概在5w行代码要2分钟

但查询一次仅仅3-5s,和代码库大小关系不大


附录


效果







原理


见代码…

最新回复 (5)
  • AnGeH 06-27 22:43
    1

    支持一波。看上去实测效果应该不错啊

  • 『H₂O₂』 06-27 22:43
    2

    fast-context相比有什么优势么UWU

  • rimeheart 06-27 22:59
    3

    支持一波,看上去很有意思~ orz

  • 韩老魔 06-27 23:01
    4

    已经转投codegraph一段时间了,本地部署挺好用的

  • denvey 06-27 23:16
    5

    真好,终于有开源替代了,请问有对比数据吗

* 帖子来源Linux.do
返回