Greasy Fork is available in English.

Character.ai Enhancements

Enhance Character.ai with additional features.

// ==UserScript==
// @name         Character.ai Enhancements
// @namespace    http://tampermonkey.net/
// @version      0.1
// @description  Enhance Character.ai with additional features.
// @author       Your Name
// @match        https://character.ai/*
// @grant        none
// ==/UserScript==

(function() {
    'use strict';

    // Check if we're on character.ai
    if (window.location.hostname === 'character.ai') {
        // Create a draggable button
        let button = document.createElement('div');
        button.innerHTML = 'Enhancements';
        button.style.position = 'fixed';
        button.style.top = '10px';
        button.style.left = '10px';
        button.style.backgroundColor = 'red';
        button.style.color = 'white';
        button.style.padding = '10px';
        button.style.borderRadius = '5px';
        button.style.cursor = 'move';
        button.style.zIndex = '1000';
        document.body.appendChild(button);

        // Make the button draggable
        button.onmousedown = function(event) {
            event.preventDefault();
            document.onmousemove = function(e) {
                button.style.top = (e.clientY - button.offsetHeight / 2) + 'px';
                button.style.left = (e.clientX - button.offsetWidth / 2) + 'px';
            };
            document.onmouseup = function() {
                document.onmousemove = null;
                document.onmouseup = null;
            };
        };

        // Function to get user token (stub - implementation needed)
        function getUserToken() {
            // Implementation to get user token
            return 'user-token';
        }

        // Add event listener to the button to show a menu
        button.addEventListener('click', function() {
            alert('User token: ' + getUserToken());
            // Show memory editor, save chat, download chat options, etc.
            // Add your additional functionalities here
        });

        // Additional features (memory editor, save chat, download chat, etc.)
        function createFeatureButtons() {
            // Create and append buttons for various features
            // Example: Save Chat
            let saveChatButton = document.createElement('button');
            saveChatButton.innerHTML = 'Save Chat';
            saveChatButton.onclick = function() {
                // Implementation to save chat
                alert('Chat saved!');
            };
            document.body.appendChild(saveChatButton);

            // Add more feature buttons as needed
        }

        createFeatureButtons();
    }
})();