内容
# Lens
> 你的工作应该被保存。
Lens 是一个开源的人工智能研究工作空间。您可以丢入网址、PDF 和主题 - 多个代理并行处理它们,每个发现都被保存,您的项目随着时间的推移而相互建立。
不是一个聊天机器人。一个工作空间。
---
## 问题
您使用Claude进行研究。您得到了很好的答案。您关闭了标签页。
下周您重新开始。
Claude的记忆记住了**您** - 您的名字、您的风格、您的偏好。
它不记得您的**工作** - 您的来源、您的发现、您的决定。
无论您是开发人员在数十个线程和文档中跟踪复杂的错误,还是产品经理进行竞争对手研究,或分析师综合市场格局。工作都消失了。您每次都从头开始建立。
Lens解决了这个问题。
---
## Lens的不同之处
| Claude 在聊天标签页中 | Lens |
|---|---|
| 单个上下文窗口 | 跨无限来源的并行代理 |
| 会话结束,工作消失 | 每个发现保存到您的项目中 |
| 下次会话从头开始 | 正好从您离开的地方继续 |
| 聊天记录 | 可分享的结构化报告 |
| 记忆记住您 | 工作空间记住您的工作 |
---
## 工作原理
Lens 使用多代理架构,专业代理并行工作:
```
您的研究问题或主题
↓
┌──────────────────┐
│ 协调器 │ 分解任务,委托,综合
└──────┬───────────┘
│
┌──────┼──────────────┐
↓ ↓ ↓
┌──────┐ ┌──────────┐ ┌────────┐
│搜索│ │ 文档 │ │分析│
│代理 │ │ 代理 │ │ 代理 │
└──────┘ └──────────┘ └────────┘
│ │ │
└─────────┴────────────┘
↓
┌────────────┐
│ 编写器 │ 带引用的结构化报告
└────────────┘
↓
保存到您的项目工作空间
跨会话持久化
可与您的团队分享
```
每个发现都附有其来源。每个会话都从上一个会话继续。您的项目是有组织的、可搜索的和可导出的。
---
## 功能
- **持久工作空间** - 项目保存每个来源、发现和决定
- **并行研究** - 多个代理同时跨来源工作
- **会话连续性** - 恢复任何项目,正好从您离开的地方
- **结构化输出** - 报告,而不是记录。可与任何人分享
- **来源出处** - 每个声明都追溯到其来源
- **网页界面** - 非技术用户的干净界面
- **CLI** - 开发者完整的终端访问
- **MCP集成** - 连接您自己的工具和数据源
---
## 适用人群
**开发者** - 在会话之间保存调查上下文。调试复杂的 issues 跨天数而不会丢失线索。评估库并保留理由。
**产品经理** - 建立持续增长的竞争对手研究。每次更新都添加到项目中,而不是重新开始。
**分析师** - 大规模综合来源。处理超过一个上下文窗口可以容纳的内容。输出可分享的结构化报告。
**研究人员** - 在会话之间积累知识。每个来源都被引用,每个发现都可追溯。
---
## 快速开始
```bash
# 克隆
git clone https://github.com/yourusername/lens
cd lens
# 安装
python -m venv .venv && source .venv/bin/activate
pip install -r requirements.txt
# 配置
cp .env.example .env
# 将您的 ANTHROPIC_API_KEY 添加到 .env
# 运行
python -m lens.cli start
# 或网页界面
uvicorn lens.web.app:app --reload
# 打开 http://localhost:8000
```
---
## 架构
Lens 建立在Claude Agent SDK的生产级模式之上:
| 组件 | 文件 | 模式 |
|---|---|---|
| 协调器 | `lens/coordinator.py` | 中心辐射式编排 |
| 代理 | `lens/agents/` | 范围上下文,并行执行 |
| 会话状态 | `lens/session_store.py` | SQLite持久性,恢复 |
| MCP 服务器 | `lens/mcp_server.py` | 工作空间访问的自定义工具 |
| 模式 | `lens/schemas.py` | Pydantic验证,重试循环 |
| 网页界面 | `lens/web/` | FastAPI + HTMX |
每个架构决策都在 [`docs/architecture.md`](docs/architecture.md) 中记录。
---
## 路线图
**第一阶段 - 核心流程** *(进行中)*
- [ ] 协调器 + 4 个专业代理
- [ ] 使用 SQLite 持久性的会话状态
- [ ] 基本 CLI 接口
- [ ] Markdown 报告输出
**第二阶段 - 网页界面**
- [ ] FastAPI 后端
- [ ] 项目工作空间界面
- [ ] 来源上传(PDF,URL,文本)
- [ ] 报告查看器和导出
**第三阶段 - MCP + 集成**
- [ ] 自定义 MCP 服务器
- [ ] Notion 导出
- [ ] Obsidian 导出
- [ ] Google Drive 集成
**第四阶段 - 协作**
- [ ] 共享工作空间
- [ ] 团队注释
- [ ] 评论和审查流程
---
## 为什么不直接使用Claude?
Claude 在回答问题方面非常出色。Lens 是为不同的目的而构建的 - 积累和组织工作随时间推移。
**使用Claude时:** 您需要快速答案,一次性总结或帮助完成单个任务。
**使用Lens时:** 您正在进行多会话研究,处理超过一个上下文窗口可以容纳的来源,或者需要可以分享和继续的输出。
它们互相补充。Lens 在幕后使用Claude。
---
## 贡献
Lens 还很早期,正在快速发展。 如果您想贡献:
1. 检查开放的问题以获取良好的初始任务
2. 阅读 [`docs/architecture.md`](docs/architecture.md) 以了解系统
3. 打开 PR - 所有贡献都欢迎
---
## 技术栈
- **Python 3.11+**
- **Anthropic Claude Agent SDK**
- **FastAPI** - 网页后端
- **HTMX** - 轻量级前端
- **SQLite** - 会话和工作空间持久性
- **Pydantic** - 模式验证
- **Click** - CLI
- **MCP** - 工具集成
---
## 许可证
MIT - 免费使用,修改和分发。
---
*在公开环境中构建。 在 [LinkedIn](https://linkedin.com/in/yourprofile) 上关注我们的进展。*