内容
# 语言模型助手
**个人 AI 效率层** — 本地优先的提示改进、模板库、使用跟踪和作用域内存,作为 [MCP](https://modelcontextprotocol.io) 服务器公开。
[](https://www.python.org/downloads/)
[](LICENSE)
## 它能做什么
- **改进提示** — 将粗略请求扩展为结构化规格;感知光标模式(`agent`、`plan`、`debug`、`ask`、`multitask`)
- **兼容 OpenAI 的网关** — 通过 Ylang 的质量优先活动路由(`route-code`、`route-search`等)在 HTTP 传输上路由实际聊天流量
- **模板库** — 版本化的本地提示,支持从 awesome-chatgpt-prompts 谜底公共导入
- **记住事实** — 将作用域用户事实注入改进上下文
- **跟踪使用情况** — 每个 LLM 调用都记录到 SQLite 中,包含成本和延迟
- **检测模式** — 从重复的改进器使用中建议学习模板
除非您将数据发送到您配置的 LLM 提供商,否则所有数据都保留在您的机器上。
## 快速开始
```bash
git clone https://github.com/Yann-0/ylang.git
cd ylang/app # 仓库根目录是 app/ 目录
python3 -m venv .venv && source .venv/bin/activate
pip install -e .
export ANTHROPIC_API_KEY=sk-ant-... # 或 OPENAI_API_KEY 等
python -m ylang
```
添加到 `.cursor/mcp.json`:
```json
{
"mcpServers": {
"ylang": {
"command": "python",
"args": ["-m", "ylang"]
}
}
}
```
完整说明: **[docs/installation.md](docs/installation.md)**
## 文档
| 指南 | 描述 |
|-------|-------------|
| [docs/README.md](docs/README.md) | 文档索引 |
| [安装](docs/installation.md) | Linux、macOS、Windows 上的设置 |
| [配置](docs/configuration.md) | 环境变量、模型优先级、路由 |
| [架构](docs/architecture.md) | 设计、模块、数据流 |
| [MCP 工具](docs/mcp-tools.md) | 完整的 API 参考(11 种工具) |
| [光标集成](docs/cursor-integration.md) | 钩子、自动提示改进 |
| [网关](docs/gateway.md) | 兼容 OpenAI 的 `/v1/chat/completions` 用于光标路由 |
| [部署](docs/deployment.md) | HTTP 传输、systemd |
| [开发](docs/development.md) | 测试、代码检查、贡献 |
## MCP 工具(摘要)
| 工具 | 描述 |
|------|-------------|
| `improve_prompt` | 将提示扩展为完整的规格;感知光标模式 |
| `save_template` / `recall_template` / `list_templates` | 本地版本控制的模板库 |
| `import_public_prompts` | 导入公共 CSV 提示(幂等) |
| `remember` / `recall_facts` | 作用域用户事实 |
| `recall_usage` / `usage_summary` | 使用历史和聚合 |
| `detect_patterns` / `save_learned_template` | 从重复使用中学习 |
详细信息: [docs/mcp-tools.md](docs/mcp-tools.md)
## 架构(一段)
一个共享的 **核心引擎**(`Engine` + `ModelRouter` + LiteLLM)支持薄 **面**:MCP(stdio/HTTP)和一个 **兼容 OpenAI 的网关**(`POST /v1/chat/completions`,`GET /v1/models`)在同一个 HTTP 服务器上,当 `YLANG_TRANSPORT=http` 时。虚拟模型 `route-code`、`route-search`、`route-reason` 和 `route-other` 触发活动路由;任何其他模型字符串都传递给命名的提供商。业务逻辑永远不会生活在面处理程序中 — 它们只解析、映射和序列化。
```
src/ylang/
├── core/ # 引擎、路由、SQLite、内存
├── improver/ # 仅提议的提示改进
├── library/ # 版本控制的模板 + 模式检测
├── usage/ # 使用情况存储和聚合
├── gateway/ # 兼容 OpenAI 的 HTTP 面
├── mcp/ # MCP 服务器(stdio / HTTP)
└── settings.py # 类型化配置
```
## 隐私
- **存储:** `~/.ylang/ylang.db` 处的 SQLite(使用 `YLANG_STORAGE_PATH` 覆盖)
- **无 Ylang 云:** 模板、事实和使用情况永远不会上传到 Ylang 运营的服务
- **LLM 提供商:** 流量仅发送到您配置的提供商(OpenAI、Anthropic、Ollama 等)
## 要求
- Python 3.12+
- 至少一个 LLM 提供商的 API 密钥,或用于回落的本地 Ollama 实例
复制 [.env.example](.env.example) 以获取所有配置选项。有关模型优先级、路由、预算上限和配方,请参见 **[docs/configuration.md](docs/configuration.md)**。
## 开发
```bash
pip install -e ".[dev]"
pytest
ruff check .
```
参见 [CONTRIBUTING.md](CONTRIBUTING.md) 和 [docs/development.md](docs/development.md)。
## 许可证
[MIT](LICENSE) — 版权所有 (c) 2026 Yann
## 状态
**v0.2.0** 已发布;**第 5 阶段** 在主分支上添加了 `ylang patterns apply`、`ylang usage digest`、学习模板改进上下文、`improver_accepted` 偏好路由、夜间 Ollama e2e CI 和网关负载分析。
### 已发布
- MCP 工具(改进器、模板、事实、使用情况、模式)
- 提供商路由(基于活动的模型选择、回落链、冷却、偏好提升)
- HTTP 传输 + 承载身份验证(`YLANG_TRANSPORT=http`、`YLANG_AUTH_TOKEN`)
- 兼容 OpenAI 的网关,支持流式工具调用传递
- CLI 学习循环(`ylang patterns suggest` / `apply`、`ylang usage digest` / `dashboard`)