Skip to content

Releases: SSL-ACTX/spicychat-api

Year 2026

18 Jan 11:37
3d3c763

Choose a tag to compare

🚀 Release v1.1.0: The "Director's Cut" Update

This major release introduces a complete architectural overhaul, shifting focus from raw API wrapping to high-level, stateful interactions. We introduce the ChatSession abstraction, which automatically handles memory persistence, context tracking, and advanced conversation controls.

Status: Production Ready
Recommended Python Version: 3.9+

✨ Highlights

  • Brain Upgrade: Chat sessions now have "Auto-Persistence." The library automatically detects if you've chatted with a character before and reloads the history, so you never lose context between script runs.
  • Time Travel: Added undo(), edit_last_user_message(), and regenerate() commands. Fixing a typo or retrying a conversation branch is now a single line of code.
  • Director Mode: Native support for GenerationSettings allows you to control the AI's creativity (Temperature, Top-K, Max Tokens) on a per-message or per-session basis.

🆕 New Features

High-Level Abstractions

  • ChatSession Class: The new default way to interact. Wraps all complexity (IDs, history list, settings) into one object.
session = await client.start_chat("Asuka")
await session.send("Hello!")
  • Smart Resume: client.start_chat() now intelligently searches for existing conversations to resume. Use new_chat=True to force a fresh start.

Conversation Control

  • session.undo(): Instantly deletes the last bot response and your last message, effectively rewinding the conversation.
  • session.edit_last_user_message(new_text): Edits your previous prompt in-place.
  • session.edit_last_bot_message(new_text): Edits the bot's response in-place (useful for fixing formatting).

Persona & User Management

  • client.create_persona(): Programmatically create new personas with avatar uploads.
  • client.delete_persona(): Delete personas by name.
  • session.switch_persona(): Switch your active "mask" in the middle of a chat.
  • client.rate_bot(): Like or Dislike bots programmatically.

🐛 Bug Fixes & Improvements

  • Fixed delete_messages Crash: Resolved TypeError where the API returned null for already-deleted messages during batch deletion.
  • Fixed Undo Desync: The client now explicitly constructs user message objects locally to ensure undo() targets the correct message pair (User + Bot).
  • Performance: httpx logging is now suppressed by default to keep console output clean.
  • Docs: Comprehensive README.md added with architecture diagrams and advanced usage examples.

⚠️ Breaking Changes

  • While SpicyClient (Low-Level) is still available, the recommended workflow has shifted to client.start_chat() returning a ChatSession.
  • Scripts written for v1.0.0 using raw send_message will still work, but upgrading to the ChatSession model is highly recommended for stability.

📦 Installation

git clone https://github.com/yourusername/spicychat-api.git
cd spicychat-api
pip install -r requirements.txt

What's Changed

  • feat(core): introduce high-level ChatSession abstraction and persistence by @SSL-ACTX in #1

New Contributors

Full Changelog: v1.0.0...v1.1.0

v1.0.0

22 Jun 08:07
a881d05

Choose a tag to compare