SCS 发布 0.2.0:面向 AI 编码代理的代码情报服务
开源工具 SCS 通过本地 MCP 协议为 AI 编码代理提供代码索引与查询,支持 OpenAI 及本地 embeddi…
开源代码情报服务 SCS 0.2.0 版本正式发布。该工具是一款无界面(headless)的本地服务,通过 Model Context Protocol(MCP)将源代码仓库的结构化与语义化索引暴露给 AI 编码代理,使代理能够围绕仓库内容发起受控查询。
工具定位与核心机制
SCS(Source Code Service)面向 AI 编程代理设计,主要承担三类工作:
- 在收到显式 CLI、MCP 或客户端请求后才会登记目标仓库,运行期间不会修改任何源文件
- 通过
query_code接口接收代理目标(goal)与可选锚点(anchor),从索引中检索受控证据片段 - 仓库登记后自动监听 Git 可见变更,并在后台完成增量索引更新
embedding 部分默认使用 OpenAI 的 text-embedding-3-large,维度 3072;也支持本地 OpenAI 兼容服务或进程内 MLX provider,以避免将代码外发到外部 API。
平台要求与安装流程
0.2.0 稳定版支持 Apple Silicon macOS 与 x86-64 Linux,运行依赖 CPython 3.14。标准安装步骤包括:
- 从 GitHub Release 下载
scs-installer-0.2.0.sh与SHA256SUMS - 使用
shasum -a 256 -c SHA256SUMS --ignore-missing验证校验和 - 执行安装脚本后运行
scs version确认安装
完成 embedding 配置后,可通过 codex mcp add scs -- "$HOME/.local/bin/scs" mcp 将 stdio bridge 注册到 Codex,再执行 scs index "$PWD" 建立当前目录索引。索引任务作为后台持久作业运行,可通过 scs status 或 get_graph_stats 查询进度。
可选 Laya 本地分类器
Laya 是 SCS 在 Apple Silicon 平台上的可选本地组件,用于在七种「查询剧本」(playbook)之间做选择。它运行在独立的本地 MLX worker 进程中,不调用外部推理服务,输入仅为目标描述与显式锚点,不接触仓库源码、embedding 或检索证据。关闭 Laya 时,SCS 退化为基于确定性规则的路由。
资源占用的参考测量值(单台 Apple Silicon Mac,2026-09-24):
- 固定模型包约 807 MB 磁盘
- 预热后 Laya worker 约 5.2 GB 物理内存
该数据为单点测量,实际用量随主机与负载波动。启用方式为在源码检出中执行 uv sync --all-groups --extra laya 与 python scripts/install-laya.py,并在 ~/.scs/config.toml 中加入 decision_model = "laya"。
查询模式与运维接口
query_code 提供 fast、balanced、thorough 三种预设模式,分别绑定固定的时间与证据预算;返回结果会标注所执行的剧本以及证据的完整、截断或降级状态。常用运维命令包括:
scs list:列出已登记项目与稳定编号scs reingest ID|PATH:强制重建索引scs delete ID|PATH:删除 SCS 派生状态scs doctor:检查守护进程健康scs metrics --days 7 --json:输出聚合指标,不含查询文本、源码或结果
每个 MCP 客户端运行一个轻量 stdio bridge,多个 bridge 共享一个懒启动守护进程;最后一个 bridge 断开后守护进程自动退出,持久化状态存放于 SCS_HOME 目录。
