Files
AiThingy/notes.md

1.9 KiB

Notes

The notes for my aiFrontend project

Database

aiFrontend uses mongoDB as a database, this is used to store previous chats

Chats

A chat document should be formatted like this:

{
    "name":"demoName",
    "model": "demoModel",
    "permissions": {
        "demoUserUUID":[
            'owner',
            'view',
            'message',
            'edit'
        ]
    },
    messages: [
        {
            "role": "user",
            "content": "demoQuestion",
            "images": ["demoBase64EncodedImage (This line is optional)"]
        },
        {
            "role": "assistant",
            "content": "demoResponse",
            "tool_calls": [
                {
                    "function": {
                        "name": "demo_function_name",
                        "arguments": {
                            "demoArg":"demoArgInput"
                        }
                    }
                }
            ]
        }
    ]
}

MongoDB will add an object ID automatically

Users

A user should be formatted like this:

{   
    "_id": ObjectId(),
    "name":"demoName",
    "username":"demousername",
    "email":"demoemail@example.com",
    "permissions":[
        "admin",
        "createChat",
        "banUser",
        "unbanUser",
        "createUser",
        "deleteUser",
        "editPermissions",
        "seeUsers"
    ],
    "role":"user",
    "password":"demoPasswordHash",
    "passkeys": [
        {
            "passkey":"demoPasskey1",
            "name":"demoPasskeyName1"
        },
        {
            "passkey":"demoPasskey2",
            "name":"demoPasskeyName2"
        }
    ],
    "tokens": [
        {
            "token":"demoToken1",
            "expiry":"unixTimecode"
        },
        {
            "token":"demoToken2",
            "expiry":"unixTimecode"
        }
    ],
    "creation_date": "unixTimecode"
}

The username and email should always be in lowercase