Metadata-Version: 2.4
Name: at-chat-mask
Version: 0.3.0
Summary: AskTable Chat Data Masking Tool - Create demo cases from real chat messages with masked virtual data
Author-email: DataMini Team <support@datamini.com>
License: MIT
Project-URL: Homepage, https://github.com/datamini/at-chat-mask
Project-URL: Documentation, https://github.com/datamini/at-chat-mask#readme
Project-URL: Repository, https://github.com/datamini/at-chat-mask
Project-URL: Bug Tracker, https://github.com/datamini/at-chat-mask/issues
Keywords: asktable,chat,mask,data-masking,privacy,demo
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.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence
Requires-Python: >=3.8
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: asktable>=5.0.0
Requires-Dist: python-dotenv>=1.0.0
Requires-Dist: rich>=13.0.0
Requires-Dist: pydantic>=2.0.0
Requires-Dist: pydantic-settings>=2.0.0
Requires-Dist: openai>=1.0.0
Provides-Extra: dev
Requires-Dist: pytest>=7.0.0; extra == "dev"
Requires-Dist: black>=23.0.0; extra == "dev"
Requires-Dist: ruff>=0.1.0; extra == "dev"
Requires-Dist: mypy>=1.0.0; extra == "dev"
Dynamic: license-file

# AT Chat Mask

**AskTable 对话数据脱敏工具** - 从真实对话记录创建演示案例，使用虚拟数据保护客户隐私

[![PyPI version](https://badge.fury.io/py/at-chat-mask.svg)](https://badge.fury.io/py/at-chat-mask)
[![Python 3.8+](https://img.shields.io/badge/python-3.8+-blue.svg)](https://www.python.org/downloads/)
[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)

## 功能特性

- 📖 自动分析对话文件，提取数据结构和问题
- 🤖 智能生成中文案例名称（基于表名和内容分析）
- 🔧 自动生成虚拟 CSV 数据，保护客户隐私
- 🚀 自动创建 AskTable 的 Datasource、Bot 和 Chat
- 💬 交互式对话，灵活配置案例参数
- 🌐 一键发布，快速生成可分享的演示链接

## 安装

```bash
pip install at-chat-mask
```

## 快速开始

### 1. 配置 API Key

创建 `.env` 文件：

```bash
ASKTABLE_API_KEY=your_api_key_here
ASKTABLE_API_BASE=https://api.asktable.com
```

### 2. 准备对话文件

将 AskTable 对话导出文件命名为 `chat-{编号}.json` 格式，例如：
- `chat-001.json`
- `chat-002.json`

### 3. 运行工具

```bash
at-chat-mask
```

### 4. 按提示操作

```
案例编号 [001]: 001
```
系统自动查找 `chat-001.json` 文件并分析内容

```
📝 自动生成案例名称
✓ 案例名称: 体育成绩数据分析
是否使用此名称？ [Y/n]:
```
系统根据对话内容自动生成中文案例名称，可以确认使用或自定义

确认信息后，系统会自动：
1. 生成虚拟 CSV 数据（`case-001.csv`）
2. 创建 AskTable Datasource
3. 创建 AskTable Bot（公开分享）
4. 创建 AskTable Chat

完成后获取分享链接。

## 对话文件格式

文件必须命名为 `chat-{编号}.json`，内容为标准的 AskTable Chat 格式：

```json
{
  "items": [
    {
      "role": "human",
      "content": {"text": "展示跳绳最好的前10名学生的详情"}
    },
    {
      "role": "ai",
      "metadata": {
        "tool_response": [{
          "sql": "SELECT ... FROM table_name ...",
          "result": "..."
        }]
      }
    }
  ]
}
```

## API 使用

```python
from at_chat_mask import ChatMaskAgent, CSVGenerator

# 创建 Agent
agent = ChatMaskAgent(
    api_key="your_api_key",
    api_base="https://api.asktable.com"
)

# 运行交互式流程
agent.run()

# 或者单独使用 CSV 生成器
generator = CSVGenerator()
csv_content = generator.generate_csv_from_messages(
    chat_file="chat-001.json",
    output_file="output.csv",
    num_rows=20
)
```

## 许可证

MIT License

## 相关链接

- [AskTable 官网](https://www.asktable.com)
- [GitHub 仓库](https://github.com/datamini/at-chat-mask)
- [问题反馈](https://github.com/datamini/at-chat-mask/issues)
