Metadata-Version: 2.4
Name: nbchatgpt
Version: 0.2.0
Summary: ChatGPT-5.4 Nano 中转服务 SDK - 每天免费 1.0K tokens，国内开箱即用
Author-email: nbChatGPT Team <support@nbchatgpt.com>
License: GPL-3.0-only
Project-URL: Homepage, https://github.com/nbchatgpt/nbchatgpt
Project-URL: Repository, https://github.com/nbchatgpt/nbchatgpt
Project-URL: Documentation, https://github.com/nbchatgpt/nbchatgpt#readme
Keywords: chatgpt,openai,gpt,api,sdk,transit,proxy,gpt-5.4-nano,ui,qt
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: GNU General Public License v3 (GPLv3)
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: httpx>=0.24.0
Requires-Dist: PyQt5>=5.15.0
Dynamic: license-file

# nbChatGPT 🚀

> 国内一键安装的 ChatGPT-5.4 Nano 中转服务 SDK  
> 每天免费 0.3K tokens，零配置开箱即用！

[![PyPI version](https://badge.fury.io/py/nbchatgpt.svg)](https://badge.fury.io/py/nbchatgpt)
[![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)

## ✨ 特性

- ✅ **零配置** - 无需 API Key，无需代理设置，开箱即用
- ✅ **免费额度** - 每天 0.3K tokens 免费使用
- ✅ **流式输出** - 支持逐字输出，实时响应
- ✅ **对话管理** - Conversation 类自动维护上下文
- ✅ **命令行工具** - 支持终端直接使用
- ✅ **国内可用** - 专为国内网络环境优化

## 📦 安装

```bash
pip install nbchatgpt
🚀 快速开始
基础对话
python
from nbchatgpt import Client

client = Client()
response = client.chat("你好")
print(response.content)
流式输出
python
from nbchatgpt import Client

client = Client()
for chunk in client.chat_stream("讲个笑话"):
    print(chunk.content, end="")
多轮对话
python
from nbchatgpt import Client

client = Client()
messages = [
    {"role": "system", "content": "你是历史专家"},
    {"role": "user", "content": "唐朝有哪些著名诗人？"}
]

response1 = client.chat_with_history(messages)
print(response1.content)

messages.append({"role": "assistant", "content": response1.content})
messages.append({"role": "user", "content": "李白呢？"})

response2 = client.chat_with_history(messages)
print(response2.content)
使用 Conversation 管理器
python
from nbchatgpt import Conversation

conv = Conversation(system_prompt="你是诗歌创作助手")
conv.chat("写一首关于春天的诗")
conv.chat("再写一首，风格悲伤一点")  # 自动携带历史
print(conv.get_history())
查询今日使用情况
python
from nbchatgpt import Client

client = Client()
usage = client.get_usage()
print(f"今日已用: {usage['used_tokens']} tokens")
print(f"今日剩余: {usage['remaining_tokens']} tokens")
💻 命令行使用
安装后可直接在终端使用：

bash
# 单轮对话
nbchatgpt chat "你好"

# 流式输出
nbchatgpt chat "写一首诗" --stream

# 带系统提示词
nbchatgpt chat "你是谁" --system "你是历史专家"

# JSON 格式输出
nbchatgpt chat "你好" --json

# 查询使用情况
nbchatgpt usage

# 交互式对话
nbchatgpt conv
nbchatgpt conv --system "你是专家" --stream
🔧 自定义配置
python
from nbchatgpt import Client

# 自定义中转地址和用户 ID
client = Client(
    base_url="http://your-proxy.com:8000",
    user_id="your-custom-user-id",
    api_key="your-api-key",
    timeout=30
)
📚 API 文档
Client
方法	说明
chat(prompt, ...)	单轮对话
chat_with_history(messages, ...)	多轮对话
chat_stream(prompt, ...)	流式对话
chat_stream_with_history(messages, ...)	流式多轮对话
get_usage()	查询今日使用情况
Conversation
方法	说明
chat(prompt, ...)	对话（自动携带历史）
chat_stream(prompt, ...)	流式对话
clear()	清空历史
get_history()	获取历史记录
count_messages()	获取消息条数
⚠️ 错误处理
python
from nbchatgpt import Client
from nbchatgpt.exceptions import QuotaExceededError, NetworkError

client = Client()

try:
    response = client.chat("你好")
except QuotaExceededError as e:
    print(f"额度已用完: {e}")
except NetworkError as e:
    print(f"网络错误: {e}")
📝 注意事项
每人每天免费 0.3K tokens（约 300 tokens）

额度按自然日重置（北京时间 00:00）

不支持自定义模型名称，仅支持 gpt-5.4-nano

🤝 贡献
欢迎提交 Issue 和 Pull Request！
