混沌核心(或译为“混沌引擎”,具体译名可能根据上下文有所调整)
混沌核心(或译为“混沌引擎”,具体译名可能根据上下文有所调整) 是核心 模型上下文协议(MCP) daemon —— Chaosmith 生物的脑干。 它索引你的现实:遍历文件、嵌入意义,并为Letta风格的智能体提供结构化上下文。 无云端,无遥测,无模拟——仅提供原生守护进程和经过验证的工具结果。
______________________________________________________________________
🔩 架构/建筑(根据上下文,“Architecture”可以翻译为“架构”或“建筑”,这里提供了两种可能的翻译)
| 组件 | 作用 |
|---|---|
| SurrealDB(注:这可能是一个特定数据库系统的名称,直接翻译为中文并无实际意义,因此保持原样) | 记忆皮层——存储图表、向量和事实。 |
| 核心MCP(main.go) | 脑干——连接配置、SurrealDB和MCP工具。 |
| 嵌入式执行器 用于向量生成的外部HTTP服务(兼容OpenAI)。 | |
索引引擎(internal/indexer) | 通过以下方式分词 tiktoken写入NDJSON证据,执行Surreal数据库的插入或更新操作。 |
运行上下文(internal/runctx) | 生成确定性结果 run_ids(可能指某种特定类型或状态)和人工制品树。 |
| (计划中的)执行者 | 附肢(或分支功能)——卸载嵌入、图分析或工作区爬取任务。 |
一切运行如常 本地守护进程无容器。无Kubernetes。无第三方代理。
______________________________________________________________________
⚙️ 核心工具包
- 索引器 — 确定性工作空间扫描、分块处理、嵌入。
- 上下文 — 用于RAG(检索增强生成)管道的向量和文本搜索工具。
- 列表 — 最简化的基于 SurrealDB 的工作区笔记。
- 图表 *(计划中的)* — 依赖关系和符号关系。
- 执行 *(计划中的)* — 通过NATS进行远程命令分发。
所有工具均按照要求提供验收测试(AT)证据 PCS/INST/1.0(可译为“PCS/指令/1.0”或根据具体上下文调整为更贴切的表述,如“PCS/安装指南/1.0”等,但直接翻译保持原样即为“PCS/INST/1.0”)。 如果证据缺失,则该运行结果无效——这是设计上的规定。
______________________________________________________________________
🛰️ 可流式传输的HTTP端点
Chaosmith Core 为 MCP 提供服务 可流式传输的HTTP 默认情况下。 构建并启动守护进程:
go build -o bin/chaosmith-mcp .
./bin/chaosmith-mcp --config etc/centralmcp.toml --listen :9878
# -> Streamable HTTP active on :9878/mcp可用工具
index_workspace_scan— 浏览工作区,存储目录/文件行,生成以下产物/var/lib/chaosmith/artifacts//。index_workspace_embed— 分块并嵌入文本,插入或更新vector_chunk行。index_workspace_all— 将扫描和嵌入合并为一个确定性步骤。workspace_list— 列出已注册的工作区。workspace_tree— 返回工作区的目录和文件树。workspace_find_file— 在工作区中通过精确/部分路径查找文件。workspace_search_text— 在工作区文件中查找确切文本。file_search_text— 在特定文件中查找确切文本。file_vector_search— 在文件内进行向量相似度搜索。workspace_vector_search— 在整个工作区中进行向量相似性搜索。workspace_register— 插入或更新一个与现有节点绑定的工作区。node_register,node_list— 管理/列出节点。workspace_read_file— 按字符范围读取文件切片;支持十六进制模式以进行二进制安全读取。term_exec,term_pty— 受控主机命令执行。
每次调用都会产生一个 运行报告 (run_id(针对AT通过/失败、工件路径、风险等)每 PCS/INST/1.0。
______________________________________________________________________
🔌 可选的 stdio 桥接
对于Letta或本地侧车代理,您可以同时运行这两种传输方式:
./bin/chaosmith-mcp --stdio --listen :9878Stdio 会话与 HTTP 共享同一个 SurrealDB 和工具注册表。
______________________________________________________________________
🧠 哲学
自由。掌控。混乱。艺术。 Chaosmith Core 以(本地/自主)取代了对云的依赖 地方主权。 每一个向量、每一个文件、每一个想法——都在您自己的服务器上存储并验证。
______________________________________________________________________
🧰 快速入门
先决条件
- Go 1.25及以上版本
- SurrealDB 2.2及以上版本
- 嵌入服务提供OpenAI兼容的API
- 对目标工作区的文件系统访问
配置
etc/centralmcp.toml 定义连接和嵌入参数:
surreal_url = "http://127.0.0.1:8000"
surreal_user = "root"
surreal_pass = "root"
surreal_ns = "chaos"
surreal_db = "core"
embed_url = "http://127.0.0.1:1234/v1/embeddings"
embed_model = "text-embedding-nomic-embed-text-v1.5"
effective_dim = 768
artifact_root = "var/lib/chaosmith/artifacts"使用环境变量覆盖(SURREAL_URL, EMBED_URL等)或 CHAOSMITH_CONFIG。
跑
go run . --config etc/centralmcp.toml --listen :9878 --stdio文物出现在以下(位置/情境中) // 作为NDJSON(Newline Delimited JSON): files.ndjson, dirs.ndjson, vectors.ndjson。
______________________________________________________________________
🔍 本地搜索框架
直接运行工作区搜索工具,无需MCP:
go run ./cmd/test_workspace_search --config etc/centralmcp.toml______________________________________________________________________
🧮 MCP 工具概览
| 类别 | 工具 |
|---|---|
| 索引编制 | index_workspace_scan, index_workspace_embed, index_workspace_all |
| 库存 | node_register, node_list, workspace_register, workspace_list, workspace_tree, workspace_find_file |
| 搜索 | workspace_search_text, file_search_text, file_vector_search, workspace_vector_search |
| 内容 | workspace_read_file |
| 终端 | term_exec, term_pty |
所有事实均来自执行者或SurrealDB,绝非虚构。
______________________________________________________________________
🧾 许可证
Chaosmith Core 采用以下许可协议: GNU 通用公共许可证 v3.0(附带 Affero 条款)。 如果你将其作为网络服务部署,你必须提供修改后的源代码。 商业或闭源使用需另行签订许可协议。
