SequentialThinking
Sequential Thinking 🤔
让 Agent 真正「推理」——不只是「生成文字」
双引擎推理 · 双重模型 MoA · 中文 FTS5 全文搜索 · 26 个 MCP 工具
📊 功能对比
功能 | MCP官方 (TS) | bpradana (Go) | spences10 (TS) | arben-adm (Python) | ad (Go) | 本项目 |
工具数 | 1 | 11 | 3 | 5 | 1 | 26 |
持久化 | ❌ 内存 | ❌ 内存 | ✅ 按 session | ✅ JSON 文件 | ❌ 内存 | ✅ SQLite WAL |
中文 FTS5 | ❌ | ❌ | ❌ | ❌ | ❌ | ✅ |
LLM 集成 | ❌ | ❌ | ❌ | ❌ | ❌ | ✅ OpenAI 兼容 |
双引擎降级 | ❌ | ❌ | ❌ | ❌ | ❌ | ✅ 自动 |
质量评估 | ❌ | ✅ 基础 | ❌ | ❌ | ❌ | ✅ 5 维 + 交叉验证 |
偏见检测 | ❌ | ❌ | ❌ | ❌ | ❌ | ✅ 5 种 |
矛盾检测 | ❌ | ❌ | ❌ | ❌ | ❌ | ✅ 双重 |
假设追踪 | ❌ | ❌ | ❌ | ✅ axioms | ❌ | ✅ 完整 CRUD |
修订标记 | ✅ isRevision | ❌ | ✅ is_revision | ❌ | ✅ | ✅ is_revision |
分支推理 | ✅ | ✅ | ✅ | ❌ | ✅ | ✅ |
自动完成 | ❌ | ❌ | ❌ | ❌ | ❌ | ✅ |
模板 | ❌ | 7 | ❌ | ❌ | ❌ | ✅ 9 种 |
Self-MoA | ❌ | ❌ | ❌ | ❌ | ❌ | ✅ 3 轮投票 |
Iterative-MoA | ❌ | ❌ | ❌ | ❌ | ❌ | ✅ 双模型迭代 |
MCP Resources | ❌ | 3 | ❌ | ❌ | ❌ | ✅ 2 个 |
MCP Prompts | ❌ | 3 | 1 | ❌ | ❌ | ✅ 3 个 |
Mermaid 可视化 | ❌ | ❌ | ❌ | ❌ | ❌ | ✅ |
回放 | ❌ | ❌ | ❌ | ❌ | ❌ | ✅ |
Web 面板 | ❌ | ❌ | ❌ | ❌ | ✅ | ❌ |
Docker | ✅ | ✅ | ❌ | ❌ | ✅ | ❌ |
单元测试 | ✅ | ❌ | ✅ vitest | ✅ pytest | ✅ | 192 个 |
每个实现各有侧重。官方版是参考实现,简洁可靠;Go 版编译为单二进制、启动快、有 Web 面板;本项目的重点是多引擎推理和中文场景支持。
我们的不足
无 Web 调试面板(ad 版有)
无安全扫描(spences10、recallnet 有)
不支持反向导入(arben-adm 支持)
Python 启动比 Go/TS 慢(加载 jieba 约 1-2 秒)
无 Docker 支持
Related MCP server: deep-thinker
⚡ 三种使用方式
方式一:PyPI 安装(最简单)
pip install LseKit-SequentialThinking
lseqthink方式二:uvx 零安装
uvx --from LseKit-SequentialThinking lseqthink方式三:克隆源码自行部署
git clone https://github.com/LseKit/SequentialThinking.git
cd SequentialThinking
uv venv SeqThinkVenV --python 3.12
uv pip install -r Requirements.txt
cp .env.example Config/.env && chmod 600 Config/.env
cp ecosystem.config.example.js Ecosystem/ecosystem.config.js
pm2 start Ecosystem/ecosystem.config.js && pm2 save# 验证
pm2 status SequentialThinking
cd GitHubSrc && python3 -m pytest Tests/ -q📖 完整部署见项目部署手册
🔌 各智能体接入方式
Claude Desktop
{
"mcpServers": {
"seqthink": {
"command": "uvx",
"args": ["--from", "LseKit-SequentialThinking", "lseqthink"]
}
}
}Hermes
在 ~/.hermes/config.yaml 中配置:
mcp_servers:
sequential-thinking:
command: uvx
args: ["--from", "LseKit-SequentialThinking", "lseqthink"]
env:
DEEPSEEK_API_KEY: sk-xxx或者通过 Streamable HTTP 连接:
mcp_servers:
sequential-thinking:
url: http://your-host:21000/mcpCherry Studio
MCP 设置 → 添加 → 命令填 uvx,参数填 --from LseKit-SequentialThinking lseqthink
OpenClaw
在 ~/.openclaw/mcp.json 中配置:
{
"mcpServers": {
"sequential-thinking": {
"command": "uvx",
"args": ["--from", "LseKit-SequentialThinking", "lseqthink"]
}
}
}Claude Code
claude mcp add seqthink -- uvx --from LseKit-SequentialThinking lseqthinkCursor / VS Code (Cline / Continue)
在 .cursor/mcp.json 或 mcp.json 中加入:
{
"mcpServers": {
"seqthink": {
"command": "uvx",
"args": ["--from", "LseKit-SequentialThinking", "lseqthink"],
"env": { "DEEPSEEK_API_KEY": "sk-xxx" }
}
}
}🧠 启用双重思维 — 让 Agent 真正「推理」,不只是「生成文字」
为什么需要两种推理模式
单次 LLM 调用天然是「下一个词预测」——它无法自我纠偏,也无法从多个角度审视同一个答案。
本项目的双 MoA(Mixture-of-Agents)推理引擎提供了两种互补的增强方式:一种快速发散找思路,一种深入打磨求精确。参考文献:arXiv 2502.00674 和 arXiv 2406.04692。
两种模式怎么工作
Self‑MoA — 并行发散,投票挑选
同一个模型、换几种「心态」(不同温度参数),同时回答同一个问题,然后用语义相似度给每条回答打分,投票选出最优的那条。
维度 | 说明 |
原理 | 同一 LLM,3 个不同温度各自独立完成完整推理链,对输出做语义相似度投票,选最优 |
论文支撑 | arXiv 2502.00674:Self-MoA 在 AlpacaEval 2.0 上比 MoA 高 6.6%,多数场景优于混合多模型 |
调用方式 | 并行( |
收敛标准 | 语义相似度投票最高者胜出 |
Token 消耗 | 约 3 倍,但耗时 ≈ 单次调用(并行执行) |
主要优势 | 保证输出质量下限稳定(同一模型水平一致),并行速度快,温度多样性带来广度覆盖 |
潜在短板 | 温度高时可能引入随机噪声,无法利用不同模型的互补能力 |
适合:发散找思路——写文案、头脑风暴、多角度评估。
Iterative‑MoA — 串行打磨,逐步逼近
两个模型轮流当「作者」和「审稿人」:A 写初版 → B 审查挑刺 → A 再优化 → B 再审查…直到收敛或达到最大轮数。
维度 | 说明 |
原理 | A 生成初版 → B 以批判者角色审查给出修改版 → A 综合再优化 → 循环直到收敛 |
论文支撑 | arXiv 2406.04692:分层 MoA 架构能用纯开源模型超越 GPT-4 Omni(AlpacaEval 65.1% vs 57.5%) |
调用方式 | 串行,每轮依赖上一轮输出 |
收敛标准 | 连续两轮输出的语义相似度超过阈墀时提前终止 |
Token 消耗 | 轮数 × 每次约 2 倍,质量随轮数递增 |
主要优势 | 逐步精炼适合深度推理,混合不同模型可发挥各自特长(如一个擅长分析,一个擅长总结) |
潜在短板 | 串行耗时随迭代次数线性增长,混合模型时弱模型可能拖累整体质量(论文证实混合模型在多数场景不如 Self-MoA) |
适合:深入打磨细节——数学推理、代码审查、合规分析。
一张表分清
对比项 | Self‑MoA | Iterative‑MoA |
调用模型数 | 1 个模型,多个温度副本 | 2 个模型(或同一模型不同配置) |
调用方式 | 并行 | 串行 |
收敛方式 | 投票选最高分 | 连续两轮不再显著变化即停止 |
Token 代价 | ~3 倍(一次性) | 轮数 × 每次约 2 倍 |
思路风格 | 发散 → 收敛 | 迭代 → 逼近 |
什么时候选 | 想快速看到多个角度,让模型自选最优 | 想反复打磨一个结论,直到挑不出问题 |
不配 API 也能用 — 自动降级
没有配任何 LLM API Key、或者 LLM 调用连续失败时,系统自动降级为内置规则推理引擎:
基于模板 + 关键词匹配做问题分解、步骤生成、总结反思
命中已缓存的相似思考模式时直接复现
降级过程不出错,只写日志
不配 Key 也能得到一个有结构、有逻辑的思考框架,不会空白也不报错。
🔧 配置
支持任何 OpenAI 兼容的 API(DeepSeek、OpenAI、Qwen、本地模型等)。
Config/.env(敏感,chmod 600)
├── DEEPSEEK_API_KEY ← 模型1 API Key
└── DASHSCOPE_API_KEY ← 模型2 API Key(双模型模式需要)
Ecosystem/ecosystem.config.js(非敏感)
├── ST_LLM_SELECTOR ← 0/1/2/3
├── ST_LLM_MODE ← self-moa / iterative
├── ST_MOA_ROUNDS ← 1~20
├── ST_LLM_MODEL ← 模型1 名称
├── ST_LLM2_MODEL ← 模型2 名称
├── ST_LLM_API_BASE ← API 端点
├── ST_HOST / ST_PORT ← 监听地址和端口
└── ST_DB_PATH ← SQLite 数据库路径环境变量参考
变量 | 用途 | 参考值 |
| 模型1 的 API Key | 必填 |
| 模型2 的 API Key | 可选 |
| 模型1 名称 |
|
| 模型2 名称 |
|
| OpenAI 兼容 API 端点 |
|
| 引擎选择(0=启发式 / 1-3=LLM) |
|
| MoA 模式 |
|
| 采样/迭代轮数 |
|
| 传输模式 |
|
| 监听端口 | 由配置决定 |
| SQLite 数据库路径 |
|
🏗️ 技术架构
┌──────────────────────────────────────────────────────┐
│ fastmcp (MCP 协议层) │
│ Streamable HTTP · stdio 双传输 │
├──────────────────────────────────────────────────────┤
│ HeuristicEngine │ LLMEngine │
│ (规则推理 · 零外部依赖) │ (OpenAI 兼容 · 异步) │
│ 关键词提取 · Jaccard对比 │ Self-MoA · Iterative-MoA│
├──────────────────────────────────────────────────────┤
│ Core 层 │
│ Context · Models · Templates │
│ Utils · Logger · Helpers │
├──────────────────────────────────────────────────────┤
│ SQLite + FTS5 中文全文检索 │
│ 5 表 + FK 约束 + WAL 并发模式 │
└──────────────────────────────────────────────────────┘双引擎降级路径
启动 → 检测 DEEPSEEK_API_KEY
│
有 Key ──┼── 无 Key
│ │
LLMEngine HeuristicEngine
(MoA 推理) (内置规则 · 零成本)
│
SELECTOR=3?
│
有 Key2? ── 无 Key2?
│ │
双模型 MoA 单模型 MoA🎯 这些功能解决了什么
推理像是「黑箱」
LLM 能生成流畅的推理,但内部逻辑不一定可靠。内置的矛盾检测(detect_contradictions)、假设提取(extract_assumptions)、逻辑验证(validate_logic)让推理过程更透明。
中文的推理质量
大多数 Sequential Thinking 工具基于英文构建。本项目在分词(jieba)和全文检索(FTS5)两端对中文做了针对性优化。
思考不留痕迹
推理完就丢了,下次同样问题又要从头来。SQLite WAL 持久化让每个会话可搜索、可回放、可对比。
单一模型的盲区
单一模型容易陷入固定模式。Self-MoA 用不同温度采样多条推理路径后投票,Iterative-MoA 让两个模型反复审视对方输出——两种策略覆盖了「多角度验证」和「逐步逼近最优」两种互补需求。
🧰 26 个 MCP 工具
会话管理(8 个)
工具 | 作用 |
| 创建推理会话,返回复杂度评估和推荐模板 |
| 添加推理步骤 |
| 修改已有步骤 |
| 获取完整思维链(linear / tree / summary) |
| 从指定步骤创建替代推理分支 |
| 合并多个分支的洞察 |
| 标记会话完成 |
| 级联删除会话 |
质量控制(3 个)
工具 | 作用 |
| 检测逻辑谬误 |
| 5 维质量评估 + 交叉验证 |
| 检测 5 种认知偏见 |
管理(4 个)
工具 | 作用 |
| 导出 Markdown / JSON / Text |
| 按状态和标签筛选 |
| FTS5 中文全文检索 |
| 日/周/月使用统计 |
增强(11 个)
工具 | 作用 |
| 对比两个会话 |
| 推荐下一步方向 |
| LLM 优化问题表述 |
| Mermaid 流程图 |
| 逐步回放 |
| 自动生成标签 |
| MoA 多轮投票分析 |
| 建立步骤间因果关系 |
| 检测推理矛盾 |
| 提取隐含假设 |
| 替换会话标签 |
Resources & Prompts
config://server— 服务配置thinking://templates/catalog— 9 种思维模板目录problem_breakdown— 问题分解critical_analysis— 批判性分析synthesis_prompt— 综合结论
🧪 测试
cd GitHubSrc
python3 -m pytest Tests/ -v # 192 全量模块 | 数量 |
Core Models / Templates / Context | 48 |
Utils Logger | 6 |
Handlers Helpers | 24 |
HeuristicEngine | 26 |
LLMEngine + MoA | 36 |
Storage + FTS5 中文 | 52 |
总计 | 192 |
MIT · 小逸 (LseKit)
This server cannot be deployed
Maintenance
Related MCP Connectors
AI Reasoning Cache & Consensus Layer with 11 MCP tools via Streamable HTTP.
MIND MCP Server — 31 tools. Persistent AI memory: knowledge graph, LIFE tasks, CRM, 50+ models.
A comprehensive Model Context Protocol (MCP) server that enables AI assistants to interact with yo…
MCP server for progressive tool usage at any scale (see https://klavis.ai)
Related MCP Servers
- AlicenseBqualityNot gradedmaintenanceMCP server for structured reasoning with cognitive trap detection, verification, and context compression541 npm1-
- AlicenseAqualityDmaintenanceAdvanced cognitive thinking MCP server with DAG-based thought graph, multiple reasoning strategies, metacognition, and self-evaluation. A significant evolution beyond sequential-thinking MCP, providing structured deep reasoning with graph-based thought management.620 npm13MIT
- AlicenseNot gradedqualityDmaintenanceA powerful MCP server that enhances LLMs with advanced sequential thinking capabilities, supporting 19 thinking modes for structured reasoning and complex cognitive tasks.17MIT
- AlicenseNot gradedqualityCmaintenanceMulti-model MCP server enabling code generation, visual analysis, and complex reasoning via Qwen3 models.MIT