mirror of
https://github.com/cloudstack-llc/msty-studio-docs.git
synced 2026-07-25 12:46:22 -04:00
update docs for new release and more user persona memory details
This commit is contained in:
@@ -129,7 +129,8 @@ sudo chmod 4755 /opt/MstyStudio/chrome-sandbox
|
||||
::div{label="Windows" icon="iconoir:windows"}
|
||||
### Windows
|
||||
|
||||
- [Msty Studio 2.6.1 (x64) - Latest](https://next-assets.msty.studio/app/releases/2.6.1/win/MstyStudio_x64.exe)
|
||||
- [Msty Studio 2.6.2 (x64) - Latest](https://next-assets.msty.studio/app/releases/2.6.2/win/MstyStudio_x64.exe)
|
||||
- [Msty Studio 2.6.1 (x64)](https://next-assets.msty.studio/app/releases/2.6.1/win/MstyStudio_x64.exe)
|
||||
- [Msty Studio 2.6.0 (x64)](https://next-assets.msty.studio/app/releases/2.6.0/win/MstyStudio_x64.exe)
|
||||
- [Msty Studio 2.5.6 (x64)](https://next-assets.msty.studio/app/releases/2.5.6/win/MstyStudio_x64.exe)
|
||||
- [Msty Studio 2.5.5 (x64)](https://next-assets.msty.studio/app/releases/2.5.5/win/MstyStudio_x64.exe)
|
||||
@@ -140,8 +141,10 @@ sudo chmod 4755 /opt/MstyStudio/chrome-sandbox
|
||||
::div{label="Mac" icon="hugeicons:apple"}
|
||||
### Mac
|
||||
|
||||
- [Msty Studio 2.6.1 (Apple Silicon) - Latest](https://next-assets.msty.studio/app/releases/2.6.1/mac/MstyStudio_arm64.dmg)
|
||||
- [Msty Studio 2.6.1 (Intel) - Latest](https://next-assets.msty.studio/app/releases/2.6.1/mac/MstyStudio_x64.dmg)
|
||||
- [Msty Studio 2.6.2 (Apple Silicon) - Latest](https://next-assets.msty.studio/app/releases/2.6.2/mac/MstyStudio_arm64.dmg)
|
||||
- [Msty Studio 2.6.2 (Intel) - Latest](https://next-assets.msty.studio/app/releases/2.6.2/mac/MstyStudio_x64.dmg)
|
||||
- [Msty Studio 2.6.1 (Apple Silicon)](https://next-assets.msty.studio/app/releases/2.6.1/mac/MstyStudio_arm64.dmg)
|
||||
- [Msty Studio 2.6.1 (Intel)](https://next-assets.msty.studio/app/releases/2.6.1/mac/MstyStudio_x64.dmg)
|
||||
- [Msty Studio 2.6.0 (Apple Silicon)](https://next-assets.msty.studio/app/releases/2.6.0/mac/MstyStudio_arm64.dmg)
|
||||
- [Msty Studio 2.6.0 (Intel)](https://next-assets.msty.studio/app/releases/2.6.0/mac/MstyStudio_x64.dmg)
|
||||
- [Msty Studio 2.5.6 (Apple Silicon)](https://next-assets.msty.studio/app/releases/2.5.6/mac/MstyStudio_arm64.dmg)
|
||||
@@ -158,33 +161,22 @@ sudo chmod 4755 /opt/MstyStudio/chrome-sandbox
|
||||
::div{label="Linux" icon="ph:linux-logo"}
|
||||
### Linux
|
||||
|
||||
#### 2.6.1 Latest
|
||||
- [AppImage](https://next-assets.msty.studio/app/releases/2.6.1/linux/MstyStudio_x86_64.AppImage)
|
||||
- [Deb](https://next-assets.msty.studio/app/releases/2.6.1/linux/MstyStudio_amd64.deb)
|
||||
|
||||
#### 2.6.0
|
||||
- [AppImage](https://next-assets.msty.studio/app/releases/2.6.0/linux/MstyStudio_x86_64.AppImage)
|
||||
- [Deb](https://next-assets.msty.studio/app/releases/2.6.0/linux/MstyStudio_amd64.deb)
|
||||
|
||||
#### 2.5.6
|
||||
- [AppImage](https://next-assets.msty.studio/app/releases/2.5.6/linux/MstyStudio_x86_64.AppImage)
|
||||
- [Deb](https://next-assets.msty.studio/app/releases/2.5.6/linux/MstyStudio_amd64.deb)
|
||||
|
||||
#### 2.5.5
|
||||
- [AppImage](https://next-assets.msty.studio/app/releases/2.5.5/linux/MstyStudio_x86_64.AppImage)
|
||||
- [Deb](https://next-assets.msty.studio/app/releases/2.5.5/linux/MstyStudio_amd64.deb)
|
||||
|
||||
#### 2.5.4
|
||||
- [AppImage](https://next-assets.msty.studio/app/releases/2.5.4/linux/MstyStudio_x86_64.AppImage)
|
||||
- [Deb](https://next-assets.msty.studio/app/releases/2.5.4/linux/MstyStudio_amd64.deb)
|
||||
|
||||
#### 2.5.3
|
||||
- [AppImage](https://next-assets.msty.studio/app/releases/2.5.3/linux/MstyStudio_x86_64.AppImage)
|
||||
- [Deb](https://next-assets.msty.studio/app/releases/2.5.3/linux/MstyStudio_amd64.deb)
|
||||
|
||||
#### 2.5.0
|
||||
- [AppImage](https://next-assets.msty.studio/app/releases/2.5.0/linux/MstyStudio_x86_64.AppImage)
|
||||
- [Deb](https://next-assets.msty.studio/app/releases/2.5.0/linux/MstyStudio_amd64.deb)
|
||||
- [Msty Studio 2.6.2 (x64 AppImage) - Latest](https://next-assets.msty.studio/app/releases/2.6.2/linux/MstyStudio_x86_64.AppImage)
|
||||
- [Msty Studio 2.6.2 (x64 deb) - Latest](https://next-assets.msty.studio/app/releases/2.6.2/linux/MstyStudio_amd64.deb)
|
||||
- [Msty Studio 2.6.1 (x64 AppImage)](https://next-assets.msty.studio/app/releases/2.6.1/linux/MstyStudio_x86_64.AppImage)
|
||||
- [Msty Studio 2.6.1 (x64 deb)](https://next-assets.msty.studio/app/releases/2.6.1/linux/MstyStudio_amd64.deb)
|
||||
- [Msty Studio 2.6.0 (x64 AppImage)](https://next-assets.msty.studio/app/releases/2.6.0/linux/MstyStudio_x86_64.AppImage)
|
||||
- [Msty Studio 2.6.0 (x64 deb)](https://next-assets.msty.studio/app/releases/2.6.0/linux/MstyStudio_amd64.deb)
|
||||
- [Msty Studio 2.5.6 (x64 AppImage)](https://next-assets.msty.studio/app/releases/2.5.6/linux/MstyStudio_x86_64.AppImage)
|
||||
- [Msty Studio 2.5.6 (x64 deb)](https://next-assets.msty.studio/app/releases/2.5.6/linux/MstyStudio_amd64.deb)
|
||||
- [Msty Studio 2.5.5 (x64 AppImage)](https://next-assets.msty.studio/app/releases/2.5.5/linux/MstyStudio_x86_64.AppImage)
|
||||
- [Msty Studio 2.5.5 (x64 deb)](https://next-assets.msty.studio/app/releases/2.5.5/linux/MstyStudio_amd64.deb)
|
||||
- [Msty Studio 2.5.4 (x64 AppImage)](https://next-assets.msty.studio/app/releases/2.5.4/linux/MstyStudio_x86_64.AppImage)
|
||||
- [Msty Studio 2.5.4 (x64 deb)](https://next-assets.msty.studio/app/releases/2.5.4/linux/MstyStudio_amd64.deb)
|
||||
- [Msty Studio 2.5.3 (x64 AppImage)](https://next-assets.msty.studio/app/releases/2.5.3/linux/MstyStudio_x86_64.AppImage)
|
||||
- [Msty Studio 2.5.3 (x64 deb)](https://next-assets.msty.studio/app/releases/2.5.3/linux/MstyStudio_amd64.deb)
|
||||
- [Msty Studio 2.5.0 (x64 AppImage)](https://next-assets.msty.studio/app/releases/2.5.0/linux/MstyStudio_x86_64.AppImage)
|
||||
- [Msty Studio 2.5.0 (x64 deb)](https://next-assets.msty.studio/app/releases/2.5.0/linux/MstyStudio_amd64.deb)
|
||||
::
|
||||
::
|
||||
::
|
||||
|
||||
@@ -33,13 +33,11 @@ Assistant Personas define how an assistant responds. You can configure:
|
||||
### User Personas
|
||||
User Personas define reusable user context and memory that can be applied across conversations.
|
||||
|
||||
They are useful when you want models, personas, and other assistants in Msty to know important things about you without repeating that context every time. For example, you might want Msty to remember your role, writing preferences, goals, ongoing projects, technical background, or personal constraints.
|
||||
They are useful when you want models, personas, and other assistants in Msty Studio to know important things about you without repeating that context every time. For example, you might want Msty Studio to remember your role, writing preferences, goals, ongoing projects, technical background, or personal constraints.
|
||||
|
||||
This can help responses feel more consistent and relevant across different workflows. Instead of re-explaining who you are or how you like to work in each conversation, you can keep that information in a User Persona and reuse it wherever needed.
|
||||
|
||||
When you create memories from conversation messages, the default memory-generation prompt can be adjusted in [Settings > Default Prompts](/settings/default-prompts).
|
||||
|
||||
The model used to set that memory can also be defined in **Model Hub > Model Squad**. If no Model Squad model is set for that task, Msty uses the default model selected for the conversation.
|
||||
## User Memories
|
||||
|
||||
::alert{type="info" icon="tabler:info-circle"}
|
||||
The title and summary portions of user persona memories are included directly in the prompt, so assistants can still see that context even without tool calling.
|
||||
@@ -47,6 +45,35 @@ The title and summary portions of user persona memories are included directly in
|
||||
To access the more detailed memory content, the assistant or persona agent must support tool calling.
|
||||
::
|
||||
|
||||
User memories are attached to User Personas and reused in persona and crew conversations so Msty Studio can personalize responses without you repeating context each time.
|
||||
|
||||
### Add Memories from Persona Studio
|
||||
|
||||
1. Open **Persona Studio** and switch to the **User Personas** tab.
|
||||
2. Select a user persona.
|
||||
3. In the **Memories** section, click **Add Note** or **Add Structured**.
|
||||
4. Fill in the memory fields, then save the user persona.
|
||||
|
||||
### Add Memories from Conversations
|
||||
|
||||
You can add memories from active conversations in two ways:
|
||||
|
||||
- Use the **User Persona** icon in the chat tools area, then click **Add memory** next to a user persona to add a manual memory.
|
||||
- Open a conversation message menu (overflow/extra actions), then choose **Add to User Persona Memory** to generate a draft from that message.
|
||||
|
||||
When you add a memory from a conversation message, Msty Studio:
|
||||
|
||||
1. Uses the model assigned to **User Persona Memory Extraction** in **Model Hub > Model Squad**.
|
||||
2. Falls back to the split's selected conversation model if no Model Squad assignment exists.
|
||||
3. Uses the **User Persona Memory Generation** prompt from [Settings > Default Prompts](/settings/default-prompts) to draft memory content.
|
||||
4. Opens a **Review Memory Draft** dialog so you can edit before saving.
|
||||
|
||||
### Configure Models and Prompts
|
||||
|
||||
- Set the preferred memory extraction model in **Model Hub > Model Squad** with the **User Persona Memory Extraction** assignment.
|
||||
- Update the memory drafting prompt in [Settings > Default Prompts](/settings/default-prompts) by editing **User Persona Memory Generation**.
|
||||
- Update crew handoff and coordination instructions in [Settings > Default Prompts](/settings/default-prompts) by editing **Crew Mode**.
|
||||
|
||||
## Create and Organize Personas
|
||||
|
||||
::steps
|
||||
|
||||
@@ -0,0 +1,27 @@
|
||||
function joinURL(base, ...parts) {
|
||||
let out = typeof base === 'string' && base.length > 0 ? base : '/'
|
||||
for (const part of parts) {
|
||||
if (part == null || part === '') {
|
||||
continue
|
||||
}
|
||||
out = out.replace(/\/+$/, '') + '/' + String(part).replace(/^\/+/, '')
|
||||
}
|
||||
return out === '' ? '/' : out
|
||||
}
|
||||
|
||||
export function baseURL() {
|
||||
return process.env.NUXT_APP_BASE_URL || process.env.NITRO_APP_BASE_URL || '/'
|
||||
}
|
||||
|
||||
export function buildAssetsDir() {
|
||||
return process.env.NUXT_APP_BUILD_ASSETS_DIR || '/_nuxt/'
|
||||
}
|
||||
|
||||
export function publicAssetsURL(...path) {
|
||||
const publicBase = process.env.NUXT_APP_CDN_URL || baseURL()
|
||||
return path.length > 0 ? joinURL(publicBase, ...path) : publicBase
|
||||
}
|
||||
|
||||
export function buildAssetsURL(...path) {
|
||||
return joinURL(publicAssetsURL(), buildAssetsDir(), ...path)
|
||||
}
|
||||
@@ -1,3 +1,6 @@
|
||||
import { access, mkdir, writeFile } from "node:fs/promises";
|
||||
import { resolve } from "node:path";
|
||||
|
||||
const watchIgnored = [
|
||||
"**/.git/**",
|
||||
"**/.nuxt/**",
|
||||
@@ -8,6 +11,69 @@ const watchIgnored = [
|
||||
"**/.pnpm-store/**",
|
||||
];
|
||||
|
||||
const nuxtPathsShimCode = `function joinURL(base, ...parts) {
|
||||
let out = typeof base === 'string' && base.length > 0 ? base : '/'
|
||||
for (const part of parts) {
|
||||
if (part == null || part === '') continue
|
||||
out = out.replace(/\\/+$/, '') + '/' + String(part).replace(/^\\/+/, '')
|
||||
}
|
||||
return out === '' ? '/' : out
|
||||
}
|
||||
export function baseURL() {
|
||||
return process.env.NUXT_APP_BASE_URL || process.env.NITRO_APP_BASE_URL || '/'
|
||||
}
|
||||
export function buildAssetsDir() {
|
||||
return process.env.NUXT_APP_BUILD_ASSETS_DIR || '/_nuxt/'
|
||||
}
|
||||
export function publicAssetsURL(...path) {
|
||||
const publicBase = process.env.NUXT_APP_CDN_URL || baseURL()
|
||||
return path.length > 0 ? joinURL(publicBase, ...path) : publicBase
|
||||
}
|
||||
export function buildAssetsURL(...path) {
|
||||
return joinURL(publicAssetsURL(), buildAssetsDir(), ...path)
|
||||
}
|
||||
`;
|
||||
|
||||
async function ensureNuxtInternalPathsShim(rootDir: string) {
|
||||
const runtimePackageDirs = [
|
||||
resolve(rootDir, ".nuxt/dist/server/node_modules/nuxt"),
|
||||
resolve(rootDir, ".output/server/node_modules/nuxt"),
|
||||
];
|
||||
|
||||
for (const nuxtRuntimePackageDir of runtimePackageDirs) {
|
||||
try {
|
||||
await access(nuxtRuntimePackageDir);
|
||||
} catch {
|
||||
continue;
|
||||
}
|
||||
|
||||
const shimDir = resolve(nuxtRuntimePackageDir, "dist/internal");
|
||||
await mkdir(shimDir, { recursive: true });
|
||||
|
||||
await writeFile(
|
||||
resolve(shimDir, "paths-shim.mjs"),
|
||||
nuxtPathsShimCode,
|
||||
"utf8",
|
||||
);
|
||||
|
||||
await writeFile(
|
||||
resolve(nuxtRuntimePackageDir, "package.json"),
|
||||
`${JSON.stringify(
|
||||
{
|
||||
name: "nuxt-ssr-shim",
|
||||
type: "module",
|
||||
imports: {
|
||||
"#internal/nuxt/paths": "./dist/internal/paths-shim.mjs",
|
||||
},
|
||||
},
|
||||
null,
|
||||
2,
|
||||
)}\n`,
|
||||
"utf8",
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
// https://nuxt.com/docs/api/configuration/nuxt-config
|
||||
export default defineNuxtConfig({
|
||||
devtools: { enabled: true },
|
||||
@@ -45,6 +111,12 @@ export default defineNuxtConfig({
|
||||
preset: "cloudflare_pages",
|
||||
},
|
||||
|
||||
hooks: {
|
||||
async "build:done"() {
|
||||
await ensureNuxtInternalPathsShim(process.cwd());
|
||||
},
|
||||
},
|
||||
|
||||
watchers: {
|
||||
chokidar: {
|
||||
ignored: watchIgnored,
|
||||
|
||||
@@ -2,6 +2,9 @@
|
||||
"name": "msty-studio-docs",
|
||||
"private": true,
|
||||
"type": "module",
|
||||
"imports": {
|
||||
"#internal/nuxt/paths": "./internal/nuxt/paths.mjs"
|
||||
},
|
||||
"scripts": {
|
||||
"build": "nuxt build",
|
||||
"dev": "nuxt dev",
|
||||
|
||||
Reference in New Issue
Block a user