README
🚀 原子写手 MCP 服务器
原子写手 MCP 服务器是一个安全且原子化的文件操作服务,以 MCP(模型上下文协议)服务器的形式实现。它通过 MCP 协议提供安全、事务性的文件操作,能有效避免文件操作中的意外数据丢失。
🚀 快速开始
原子写手 MCP 服务器旨在提供安全的文件操作。以下是使用前的安装与配置步骤:
-
克隆仓库
git clone https://github.com/yourusername/atomic-writer.git cd atomic-writer -
安装依赖
npm install -
构建项目(如果使用 TypeScript)
npm run build -
配置 MCP 主机
- 在你的 MCP 配置文件中添加如下设置:
{ "servers": { "atomic-writer": { "type": "MCP", "host": "localhost", "port": 3001, "path": "/api" } } }
- 在你的 MCP 配置文件中添加如下设置:
✨ 主要特性
核心功能
- 原子操作:所有文件操作都是原子化的,确保要么完全成功,要么不发生。
- 完整性检查:每个文件都有 checksum 验证,确保内容的完整性和一致性。
- 防止覆盖:新内容只能追加,避免意外覆盖现有数据。
- 日志记录:详细的操作日志,支持回滚和故障排除。
安全特性
- 锁定机制:在操作期间对文件进行锁定,防止其他进程干扰。
- 垃圾目录:删除的文件不会被永久删除,而是移动到垃圾目录中。
- 临时文件:所有更改都先写入临时文件,确保原文件的安全性。
支持的操作
- 文件创建
- 文件读取
- 文件更新
- 文件删除
- 内容替换
- 内容插入
- 内容删除
📦 安装指南
-
克隆仓库
git clone https://github.com/yourusername/atomic-writer.git cd atomic-writer -
安装依赖
npm install -
构建项目(如果使用 TypeScript)
npm run build -
配置 MCP 主机
- 在你的 MCP 配置文件中添加如下设置:
{ "servers": { "atomic-writer": { "type": "MCP", "host": "localhost", "port": 3001, "path": "/api" } } }
- 在你的 MCP 配置文件中添加如下设置:
💻 使用示例
基础用法
// 创建文件
const writer = new AtomicWriter('localhost', 3001, '/api');
await writer.createFile('/notes/new-note.md', 'hello world');
// 更新文件内容
await writer.updateContent('/notes/example.md', 'new content');
// 回滚操作
// 如果发生错误,可以通过日志回滚到之前的状态
writer.rollback('latest successful state');
📚 详细文档
动机
你是否曾经遇到过大型语言模型不小心删除你的内容,而它还在自信地进行帮助?这是一个常见且令人沮丧的经历——AI 自信地修改文件,却在事后意识到自己意外删除了重要信息。
开发此系统源于一次特别痛苦的体验:在使用 Obsidian 笔记时遇到了问题。当时正在集成一个允许 AI 帮助管理笔记的功能,结果发现有时它会不经意间 wiping out 笔记内容的一半而没有意识到其影响。
在那之后,开发了这个系统——原子写手,这是一个以安全为首要考虑的文件操作系统,通过设计防止破坏性操作:
- 新内容只能追加,绝不会覆盖
- 文件仅在不存在且为空的情况下创建
- 所有操作都被记录并可以回滚
- 持续监控和验证文件完整性
虽然最初是为了防止 AI 的意外修改而开发的,但原子写手可以在任何需要文件安全性的场景中使用。它非常适合:
- 需要修改文件的 AI 整合
- 协作编辑系统
- 关键数据管理
- 任何需要防止意外数据丢失的应用
📄 许可证
项目遵循 MIT License,自由使用和修改,但需保留版权声明。
通过原子写手 MCP 服务器,您可以在处理文件操作时享有更高的安全性和可靠性。无论是个人笔记、团队协作还是关键数据管理,它都能为您的文件保驾护航。
学习与贡献
- 问题反馈:遇到任何问题,请在 GitHub Issues 中提出。
- 代码贡献:欢迎 fork 仓库并提交pull request,帮助改进系统功能和性能。
- 文档扩展:如果您对某个模块或功能有深入了解,欢迎补充和完善文档内容。
Scan to join WeChat group