PrecisionContextEngine
by Bluezeamer
README.md
# PCE — Precision Context Engine
**为 AI 编程 Agent 设计的代码库理解减负及加速层**
大型代码库理解的最大成本不是"搜索",而是反复 grep、手工翻目录、拼接调用链带来的上下文消耗。PCE 通过 MCP 暴露的工具接口把入口定位、链路梳理、影响面分析从主 Agent 中拆出来:
- **节省主 Agent 上下文**:代码库调研由 PCE 独立完成,主 Agent 的上下文窗口不被探索过程消耗,得以在一轮会话中连续完成目标任务
- **降低模型调用成本**:PCE 的分析任务不依赖旗舰模型——推荐使用参数量小、速度快的轻量模型,性价比更高,响应更快
> **推荐模型**(实测性价比均衡):`xiaomi/mimo-v2-flash` · `openai/gpt-5.4-mini` · `openai/gpt-5.4-nano`
## 工具一览
| 工具 | 用途 |
| ------------ | -------------------------------------------- |
| `pce_init` | 绑定项目,构建索引与导航上下文 |
| `pce_query` | 定位入口、梳理模块职责与主干调用链 |
| `pce_impact` | 分析已知目标的影响边界、下游传播链与变更风险 |
| `pce_sync` | 代码变更后增量同步索引与认知状态 |
| `pce_status` | 查看初始化状态、索引信息与 staging 状态 |
典型工作流:
```
pce_init → pce_query → pce_impact → [修改代码] → pce_sync
```
- **目标未知** → 先用 `pce_query`
- **目标已知,评估波及面** → 用 `pce_impact`
- **改完代码后** → 用 `pce_sync`
---
## 快速接入(MCP)
推荐直接以 MCP 方式接入,无需手动启动服务。
### Claude Code
在 MCP 配置文件中添加:
```json
{
"pce": {
"command": "uvx",
"args": [
"--from",
"git+https://github.com/Bluezeamer/PrecisionContextEngine",
"pce",
"serve"
],
"env": {
"PCE_PROVIDER": "openrouter",
"PCE_MODEL": "openai/gpt-5.4-nano",
"PCE_API_KEY": "your_api_key",
"PCE_TEMPERATURE": "1.0",
"PCE_AGENT_TIMEOUT": "1200"
}
}
}
```
### Codex
```toml
[mcp_servers.pce]
command = "uvx"
startup_timeout_sec = 60
args = ["--python", "3.11", "--from", "git+https://github.com/Bluezeamer/PrecisionContextEngine", "pce", "serve"]
tool_timeout_sec = 1200
[mcp_servers.pce.env]
PCE_PROVIDER = "openrouter"
PCE_MODEL = "openai/gpt-5.4-nano"
PCE_API_BASE = "https://openrouter.ai/api/v1"
PCE_API_KEY = "your_api_key"
PCE_TEMPERATURE = "1.0"
PCE_AGENT_TIMEOUT = "1200"
```
---
## [重要]提示词建议
经过实测MCP本身的工具调用提示词在各Agent内部的引导优先级权重不高,容易被淹没在大量的工具噪音里。因此为了强化主Agent适时使用PCE的倾向获得更好的使用体验,建议将`AGENTS.md`中的内容复制粘贴到你的目标Agent系统提示词约束中——例如对于claudecode来说是`CLAUDE.md`,对于codex来说是`AGENTS.md`。
---
## 环境变量
| 变量 | 必填 | 说明 |
| ---------------------------------- | ---- | ---------------------------------------------------------- |
| `PCE_PROVIDER` | 是 | LiteLLM provider,如 `openrouter` / `openai` / `anthropic` |
| `PCE_MODEL` | 是 | provider 下的模型名 |
| `PCE_API_KEY` | 是 | 对应模型的 API Key |
| `PCE_API_BASE` / `PCE_BASE_URL` | 否 | 自定义兼容端点 |
| `PCE_TEMPERATURE` | 否 | 全局温度,默认 `1.0` |
| `PCE_AGENT_TIMEOUT` | 否 | Agent 总超时(秒),默认 `600` |
| `PCE_COMPLETION_RETRIES_PER_MODEL` | 否 | 每模型 completion 重试次数,默认 `3` |
| `PCE_MODEL_FALLBACKS` | 否 | fallback 模型链,逗号分隔 |
完整示例见 `.env.example`。
---
## 本地部署
**环境要求**:Python 3.11–3.12,`uv`
```bash
uv sync --all-extras
cp .env.example .env # 按上表填写必填变量
uv run pce serve # 以 stdio MCP server 方式运行
```
---
## License
GPL-3.0
This server cannot be deployed
Maintenance
ActivityInactive
ResponsivenessUnresponsive