Metadata-Version: 2.4
Name: sniffly-iceleaf916
Version: 0.3.1
Summary: Claude Code Analytics Dashboard
Project-URL: Homepage, https://sniffly.dev
Project-URL: Documentation, https://sniffly.dev/docs
Project-URL: Repository, https://github.com/iceleaf916/sniffly
Project-URL: Issues, https://github.com/iceleaf916/sniffly/issues
Author-email: iceleaf916 <iceleaf916@gmail.com>
License-Expression: MIT
License-File: LICENSE
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Requires-Python: >=3.10
Requires-Dist: aiofiles>=23.0.0
Requires-Dist: boto3>=1.26.0
Requires-Dist: click>=8.0.0
Requires-Dist: fastapi>=0.100.0
Requires-Dist: httpx>=0.24.0
Requires-Dist: orjson>=3.9.0
Requires-Dist: python-dateutil>=2.8.2
Requires-Dist: python-dotenv>=1.0.0
Requires-Dist: python-multipart>=0.0.6
Requires-Dist: uvicorn[standard]>=0.23.0
Requires-Dist: uvloop>=0.17.0; sys_platform != 'win32'
Requires-Dist: winloop>=0.1.8; sys_platform == 'win32'
Description-Content-Type: text/markdown

# Sniffly - Claude Code 分析面板

分析 Claude Code 日志，帮助你更好地使用 Claude Code。

[快速开始](#快速开始) | [功能说明](#功能说明) | [共享面板](#共享你的面板)

---

## 📊 功能说明

### 理解你的使用模式

<center>
<img src="assets/features/stats.png" width="800" />
</center>

### 错误分类

_查看 Claude Code 犯错的类型和位置，帮助你避免这些错误。_

<center>
<img src="assets/features/error-type.png" width="500" />
</center>

### 消息历史分析

_浏览你所有的指令记录，并在需要时与同事分享。_

<center>
<img src="assets/features/command-walkthrough.png" width="1000" />
</center>

---

## 🚀 快速开始

- 环境要求：Python 3.10+

### 使用 UV（推荐）

确保已安装 `uv`：https://github.com/astral-sh/uv

```bash
# 一次性运行（无需安装）
uvx sniffly-iceleaf916@latest init
```

```bash
# 安装为工具
uv tool install sniffly-iceleaf916@latest
sniffly init
```

### 使用 pip

```bash
pip install sniffly-iceleaf916
sniffly init
```

### 从源码安装

```bash
git clone https://github.com/chiphuyen/sniffly.git
cd sniffly
pip install -e .
sniffly init
```

运行 `sniffly init` 后，在浏览器访问 http://localhost:8081（或你选择的端口）。

如果在远程服务器上运行 Sniffly，请使用[端口转发](https://www.reddit.com/r/HomeNetworking/comments/i7ijiz/a_guide_to_port_forwarding/)在本地浏览器打开。

---

## 🔧 配置

### 常用设置

```bash
# 修改端口（默认：8081）
sniffly config set port 8090

# 禁用自动打开浏览器
sniffly config set auto_browser false

# 查看当前配置
sniffly config show
```

### 所有配置项

| 配置项 | 默认值 | 说明 |
|-------|--------|------|
| `port` | 8081 | 服务器端口 |
| `host` | 127.0.0.1 | 服务器地址 |
| `auto_browser` | true | 启动时自动打开浏览器 |
| `cache_max_projects` | 5 | 内存缓存中的最大项目数 |
| `cache_max_mb_per_project` | 500 | 每个项目最大缓存 MB 数 |
| `messages_initial_load` | 500 | 初始加载的消息数 |
| `max_date_range_days` | 30 | 日期范围选择最大天数 |

详细 CLI 用法请参考 [CLI 参考文档](docs/cli-reference.md)。

---

## 💡 共享你的面板

你可以创建链接，将自己项目的统计和指令分享给同事。

1. 点击面板中的 **"📤 分享"** 按钮
2. 选择隐私选项：
   - **私有**：只有获得链接的人可以查看
   - **公开**：在公共画廊中展示
   - **包含指令**：是否分享实际命令文本
3. 复制并分享生成的链接

---

## 🐳 Sniffly Site - 私有化部署

Sniffly 的私有化部署版本，使用 Docker Compose 部署，适合内网环境。

通过 Docker Compose 一键部署，包含：
- **FastAPI 后端** - API 服务
- **MySQL 8** - 数据存储
- **用户认证** - OAuth2 密码授权 + Cookie Session
- **分享管理** - 创建、查看、删除分析分享
- **Admin 后台** - 用户管理

### 快速启动

```bash
cd sniffly-site
docker-compose up --build
# 访问 http://localhost:8000
# 默认账号: admin / admin123
```

---

## 🔐 隐私

Sniffly 完全运行在本地：

- ✅ 所有数据处理在本地完成
- ✅ 无遥测数据
- ✅ 你的对话不会离开你的电脑
- ✅ 共享面板需手动 opt-in

---

## 🔗 链接

- **官网**: [sniffly.dev](https://sniffly.dev)
- **文档**: [Full CLI Reference](docs/cli-reference.md)
- **问题反馈**: [GitHub Issues](https://github.com/chiphuyen/sniffly/issues)

## 📄 许可证

MIT License - 详见 [LICENSE](LICENSE) 文件。
