内容
# 凯罗斯
[](https://opensource.org/licenses/MIT)
> **凯罗斯** (καιρός) — *最佳时机.* 合适的视角在合适的时间应用,能将普通的问题转化为尖锐的问题。
凯罗斯是一个 **模型上下文协议(MCP)服务器**,它通过成熟的思考和说服框架来重构原始查询 — 比如说服的六大原则、SCAMPER、第一原理、苏格拉底方法等。它将每个框架都暴露为一个MCP提示,提供了两个应用它们的工具,并将一个可浏览的框架库发布为MCP资源。
它的独特之处在于 **框架选择作为工具**:`apply_best_framework` 分析查询的意图,并在构建查询前选择最佳的视角。
> 凯罗斯最初是一个名为 *Prepend Prompt* 的iOS快捷方式,它将查询包装在Cialdini模板中。它已经发展成为一个协议原生的MCP服务器,以便相同的视角可以在Claude Desktop、Cursor和任何MCP主机上使用 — 而快捷方式只是一个客户端。
## 目录
- [为什么是MCP服务器](#为什么是MCP服务器)
- [架构](#架构)
- [框架](#框架)
- [工具](#工具)
- [提示和资源](#提示和资源)
- [快速入门](#快速入门)
- [部署到Cloudflare Workers](#部署到Cloudflare-Workers)
- [与Claude Desktop / Cursor(stdio)一起使用](#与Claude-Desktop--Cursor-stdio一起使用)
- [iOS快捷方式(客户端)](#iOS快捷方式客户端)
- [开发](#开发)
- [贡献](#贡献)
- [许可证](#许可证)
- [参考文献](#参考文献)
## 为什么是MCP服务器
| | 浏览器扩展 / 快捷方式 | MCP服务器(凯罗斯) |
| --------------- | ---------------------------- | ------------------------------------------- |
| 投递层 | DOM注入(脆弱) | 协议原生(稳定) |
| 模型感知 | 零 — 它只看到一个字符串 | 看到工具 + 可以自我选择视角 |
| 客户端支持 | 只有一个UI | Claude Desktop,Cursor,任何MCP主机 |
| 可组合性 | 没有 | 与网络搜索、文件上下文等链式组合 |
| 维护 | 随着UI变化而破坏 | 协议版本化 |
## 架构
```
凯罗斯MCP服务器(TypeScript)
├── prompts/ ← 每个框架一个入口(Cialdini,SCAMPER,第一原理,苏格拉底方法,…)
├── tools/
│ ├── apply_framework(query, framework) ← 显式调用
│ └── apply_best_framework(query) ← 凯罗斯选择最佳视角
└── resources/
└── framework://library ← 可浏览的列表 + 描述
```
协议逻辑存在于单个 **与传输无关的分派器** (`src/dispatch.ts`)中 — MCP消息是纯JSON-RPC 2.0,因此相同的代码服务于两个前端:
- **`src/worker.ts`** — 一个远程服务器,运行在 **Cloudflare Workers上的流式HTTP**。无状态:每个请求都是自包含的,因此它在免费层上水平扩展,没有会话存储或持久对象。
- **`src/stdio.ts`** — 一个本地stdio服务器,用于Claude Desktop、Cursor和其他stdio MCP主机。
框架引擎(`src/frameworks.ts`)是纯数据 + `wrap()`函数,使得整个库易于测试和移植。
## 框架
| 类别 | 框架 |
| ---------------------- | ---------- |
| 说服(Cialdini) | 互惠 · 承诺与一致性 · 社会证明 · 权威 · 喜欢 · 稀缺 |
| 推理 | 第一原理 · 苏格拉底方法 · 逆向思考 · 二阶思维 · 预先死亡 · 钢铁侠 |
| 创意 | SCAMPER |
通过`framework://library`资源随时浏览实时目录。
## 工具
### `apply_framework(query, framework)`
用特定的视角包装查询。返回构建的提示文本和结构化内容 `{ framework_used, framework_name, framed_prompt }`.
### `apply_best_framework(query)`
凯罗斯分析查询并选择最佳视角,返回 `{ framework_used, framework_name, rationale, framed_prompt }`. 选择器根据查询中的意图信号为每个框架评分,并带有合理的备用方案(开放 *why* → 第一原理,决策 → 钢铁侠,否则苏格拉底方法)。具有模型的宿主始终可以通过直接调用`apply_framework`来覆盖。
**示例**
```jsonc
// apply_best_framework({ query: "如何说服我的团队采用这个已经被很多人使用的成熟方法?" })
{
"framework_used": "social-proof",
"framework_name": "社会证明",
"rationale": "在查询中匹配到:everyone, proven.",
"framed_prompt": "背景:许多类似情况下的人已经解决了这个问题。\n请求:如何说服我的团队采用这个已经被很多人使用的成熟方法?\n指令:以可比较的、可靠的他人实际做法为基础,……"
}
```
## 提示和资源
- **提示** — 每个框架都注册为一个MCP提示(`prompts/list`,`prompts/get`),接受单个`query`参数,因此宿主可以将它们作为斜杠命令显示。
- **资源** — `framework://library` 以JSON形式返回完整的目录;每个 `framework://<id>` 返回该视角的元数据、信号和示例。
## 快速入门
```bash
npm install
npm test # 22个测试覆盖引擎和调度器
npm run build # 将TypeScript编译到dist/
```
对stdio服务器进行烟雾测试:
```bash
printf '%s\n' \
'{"jsonrpc":"2.0","id":1,"method":"initialize","params":{}}' \
'{"jsonrpc":"2.0","id":2,"method":"tools/call","params":{"name":"apply_best_framework","arguments":{"query":"brainstorm new product ideas"}}}' \
| node dist/stdio.js
```
## 部署到Cloudflare Workers
```bash
npm run dev # wrangler dev — 本地流式HTTP,地址为http://localhost:8787/mcp
npm run deploy # wrangler deploy — 发布远程MCP服务器
```
将任何支持流式HTTP的MCP客户端指向 `https://<your-worker>.workers.dev/mcp`。`GET /` 返回一个小型健康/登陆载荷。
## 与Claude Desktop / Cursor(stdio)一起使用
在 `npm run build` 之后,添加到您的MCP主机配置(Claude Desktop的 `claude_desktop_config.json` 示例如下):
```jsonc
{
"mcpServers": {
"kairos": {
"command": "node",
"args": ["/absolute/path/to/kairos/dist/stdio.js"]
}
}
}
```
## iOS快捷方式(客户端)
原始的Prepend Prompt快捷方式作为一个客户端继续存在:它不是嵌入模板,而是将用户的查询发送到部署的Worker的 `apply_best_framework` 工具,并粘贴回 `framed_prompt`。一个代码库,多个前端。
一个最小的快捷方式:
1. **请求输入** → 文本(查询)。
2. **获取URL内容** → `POST https://<your-worker>.workers.dev/mcp`,头部 `Content-Type: application/json`,正文:
`{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"apply_best_framework","arguments":{"query":"[Provided Input]"}}}`
3. **获取字典值** → `result.structuredContent.framed_prompt`.
4. 将构建的提示交给您选择的AI客户端。
## 开发
| 命令 | 目的 |
| ------------------ | ------------------------------------ |
| `npm test` | 运行Vitest套件 |
| `npm run typecheck`| 不编译而进行类型检查 |
| `npm run build` | 编译到 `dist/` |
| `npm run dev` | 通过Wrangler进行本地Worker |
| `npm run deploy` | 部署Worker |
**添加框架:** 在 `src/frameworks.ts` 中为 `FRAMEWORKS` 追加一个条目(id、name、category、description、 `signals` 、 `wrap`)。它会自动作为提示、资源、`apply_framework` 选项和 `apply_best_framework` 候选项出现 — 无需其他连接。
## 贡献
欢迎贡献 — 新的框架、更精确的选择信号、更好的模板和文档。参见 [CONTRIBUTING.md](CONTRIBUTING.md)。
## 许可证
MIT — 参见 [LICENSE](LICENSE)。
## 参考文献
- Cialdini, R. B. (2006). *影响力:说服心理学*. Harper Business.
- [模型上下文协议](https://modelcontextprotocol.io)
- [Cloudflare Workers](https://developers.cloudflare.com/workers/) · [流式HTTP传输](https://modelcontextprotocol.io/specification)
---
**注意**: 凯罗斯旨在促进道德使用 — 更清晰地思考和更有效地沟通。说服框架是诚实、互利沟通的工具,而不是操纵。