桃子桃子快讯
←返回首页
工具

SCS 发布 0.2.0:面向 AI 编码代理的代码情报服务

开源工具 SCS 通过本地 MCP 协议为 AI 编码代理提供代码索引与查询,支持 OpenAI 及本地 embeddi…

2026.09.25 · 周五约 4 分钟阅读

开源代码情报服务 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 目录。

信源