Skip to main content
Glama
wsd1

summary-always

by wsd1
README.md
# 总结记录工具

该项目使用VSCode + Cline + Deepseek 耗时1小时左右生成、调整和测试完成。过程丝滑爽快,心流不断。

配置过程自己摸索吧。使用的时候,就是丢一句:总结一下刚才讨论的内容。
可以多次要求,每次要求都会将新的总结加入服务器缓存列表。
你可以随时表示:看看之前总结的内容。
也可以表示:把总结保存一下。

保存路径在 mcp server的配置项目中。

以下内容均由AI 生成。
---

# Summary-Always MCP Server

一个用于跟踪和总结对话的MCP服务器。当用户明确请求"记一下刚才的纪要"或"总结记录一下"时,服务器会提取对话中的有价值信息并记录。

## 功能特性

- **智能总结**:自动提取对话中的关键信息,特别是用户表示赞同、认可有用的内容
- **关键词标记**:自动为总结添加相关关键词标签
- **快速检索**:可以按关键词过滤和查看历史总结
- **内存存储**:所有总结存储在内存中,直到服务器重启
- **简单格式**:统一的纯文本格式,易于阅读和处理

## 安装和配置

### 1. 构建服务器

```bash
# 安装依赖
npm install

# 构建项目
npm run build
```

### 2. 配置MCP客户端

将以下配置添加到您的MCP设置文件中(例如Claude Desktop或Cline的MCP配置):

```json
{
  "mcpServers": {
    "summary-always": {
      "disabled": false,
      "autoApprove": [],
      "timeout": 60,
      "type": "stdio",
      "command": "node",
      "args": [
        "/path/to/summary-always/build/index.js"
      ]
    }
  }
}
```

## 可用工具

### 1. `add_summary` - 添加对话总结

**触发方式**:当用户说"总结记录一下"时使用此工具

**参数**:
- `content` (必需): 需要总结的对话内容
- `keywords` (可选): 关键词列表,用于标记总结的主题

**示例**:
```json
{
  "content": "讨论了如何创建MCP服务器,用户确认了设计需求,包括内存存储、两个工具接口和纯文本格式。",
  "keywords": ["mcp", "ai", "对话总结"]
}
```

**输出格式**:
```
YYYYMMDD #关键词1 #关键词2 总结内容...
```

**示例输出**:
```
20260211 #mcp #ai #对话总结 讨论了如何创建MCP服务器,用户确认了设计需求...
```

### 2. `show_summaries` - 显示历史总结

**触发方式**:当用户说"看一下之前的总结"时使用此工具

**参数**:
- `filterKeywords` (可选): 关键词过滤,只显示包含指定关键词的总结
- `limit` (可选): 数量限制,显示最新的N条总结

**示例**:
```json
{
  "filterKeywords": ["mcp"],
  "limit": 5
}
```

## 使用场景

### 记录重要的对话要点
当对话中有重要的决策、确认或有用信息时,使用"总结记录一下"来保存关键内容。

### 跟踪项目进展
在项目讨论中,定期总结当前进展、下一步计划和关键决策。

### 保存技术讨论
记录技术方案讨论、架构决策和实现细节。

### 回顾学习内容
总结学习过程中的关键概念、技巧和最佳实践。

## 技术实现

### 数据结构
```typescript
interface SummaryData {
  id: string;              // 唯一标识符
  timestamp: string;       // 时间戳 (YYYYMMDD格式)
  content: string;         // 总结内容
  keywords: string[];      // 关键词列表
  createdAt: Date;         // 创建时间
}
```

### 核心功能
1. **内容精炼**:自动截取和优化总结内容
2. **关键词提取**:从内容和用户输入中提取相关关键词
3. **时间戳生成**:自动生成标准化的时间戳
4. **过滤检索**:支持按关键词和时间范围过滤


## 开发指南

### 项目结构
```
summary-always/
├── src/
│   └── index.ts          # 主服务器实现
├── build/                # 编译输出目录
├── package.json          # 项目配置
├── tsconfig.json         # TypeScript配置
└── README.md            # 本文档
```

### 构建和测试
```bash
# 开发模式(监听文件变化)
npm run dev

# 构建项目
npm run build

# 运行服务器
npm start

# 运行测试
node simple_test.mjs
```

### 扩展功能建议
1. **持久化存储**:添加文件或数据库存储支持
2. **自然语言处理**:使用NLP技术改进总结质量
3. **分类系统**:为总结添加分类标签
4. **导出功能**:支持导出为Markdown、JSON等格式
5. **搜索功能**:全文搜索历史总结

## 故障排除

### 常见问题

1. **服务器无法启动**
   - 检查Node.js版本(需要>=18.0.0)
   - 确保所有依赖已安装:`npm install`
   - 检查TypeScript编译:`npm run build`

2. **工具不可用**
   - 检查MCP配置文件的路径是否正确
   - 确认服务器在MCP客户端中已启用
   - 查看服务器日志中的错误信息

3. **总结格式不正确**
   - 检查时间戳生成逻辑
   - 验证关键词提取算法
   - 确认内容精炼功能正常工作

### 日志查看
服务器会在stderr输出运行日志,包括:
- 服务器启动信息
- 工具调用记录
- 错误和警告信息

## 许可证

MIT License

## 贡献

欢迎提交Issue和Pull Request来改进这个项目。

## 更新日志

### v0.1.0 (2026-02-11)
- 初始版本发布
- 实现基本的总结添加和显示功能
- 支持关键词过滤和数量限制
- 添加完整的测试套件

TDQS

A4.2/5.0

Scored across 3 tools

Disambiguation5/5

每个工具的目标动作完全不同:添加总结、显示总结、保存总结,职责边界清晰。即使没有详细描述,代理也能根据工具名称和参数区分用途。

Naming Consistency5/5

工具命名遵循统一的 verb_noun 模式,add_summary、show_summaries、save_summaries 均为动词加名词的 snake_case 风格。虽然 summary 单复数略有不同,但不影响整体一致性。

Tool Count5/5

3 个工具刚好覆盖了总结记录的核心操作:记录、查看、持久化。数量精简,没有冗余工具,也没有缺失必要职责。

Completeness4/5

add/show/save 构成了一个可用的核心闭环,能够满足记录和回顾总结的基本需求。但缺少删除或更新总结的能力,长期使用中可能留下无法清理的过时记录,属于轻微缺口。

Maintenance

ActivityInactive
ResponsivenessNo issues