工作区
Workspace 的概念
一个 workspace 就是一个用来容纳 assistants、dialogs 和 artifacts 的文件夹式容器。它在 src/utils/types.ts 中的数据模型是:
interface Workspace {
id: string
name: string
avatar: Avatar
type: 'workspace'
parentId: string // 顶层时为 '$root'
vars: Record<string, string> // 工作区级变量
indexContent: string // 工作区首页 markdown 内容
defaultAssistantId?: string
lastDialogId?: string
listOpen: { assistants: boolean, artifacts: boolean, dialogs: boolean }
}vars 会通过 {{varName}} 形式插入到助手 prompt 中。indexContent 则是在你打开 /workspaces/:wid/ 时展示的那张 markdown 首页。
创建一个 Workspace
- 打开左侧抽屉,在 workspace 选择器旁边点击 +,然后选择 Workspace
- 填写名称、图标(可以是文本 / SVG / URL / icon / image),也可以顺手填一段 home markdown
- 如果需要,还可以添加 workspace 变量。每个
key=value都可以在这个 workspace 中的任意助手 prompt 里通过{{key}}引用
Assistant
Assistant 是一个把 provider、model、prompt、plugins、modelSettings 组合在一起的已保存配置:
interface Assistant {
id: string
name: string
avatar: Avatar
prompt: string
promptVars: PromptVar[]
promptTemplate: string
provider: Provider
model?: Model
modelSettings: { temperature, topP, presencePenalty, frequencyPenalty, maxSteps, maxRetries }
workspaceId: string
plugins: AssistantPlugins
promptRole: 'system' | 'user' | 'assistant'
contextNum?: number
stream: boolean
description?: string
author?: string
homepage?: string
}创建一个 Assistant
- 先打开一个 workspace
- 在左侧抽屉的 Assistants 区域点击 +
- 填写名称和 description(支持 markdown)
- 选择 provider 和 model
- 编写 prompt。变量有两层来源:一是 workspace 的
vars(始终可用),二是 assistant 自己定义的promptVars(每次进入对话时要求用户填写) - 选择 prompt template。内置的
default模板会把{{system_prompt}}、{{history}}、{{input}}、{{tools}}、{{currentTime}}、{{workspace_vars}}、{{input_vars}}这些字段拼在一起 - 在 chip 区域启用需要的插件
- 设置模型参数,例如 temperature(默认 0.6)、topP(1.0)、maxSteps(4)、maxRetries(1)
Dialog
Dialog 就是一条具体的会话线程。它原生支持分支;如果你想理解分支是怎么工作的,可以去看 架构设计 页面中的 branching chat 说明。
创建一个 dialog 的流程:
- 在某个 workspace 中,打开左侧抽屉,进入 Dialogs 区域后点击 +
- 选择一个 assistant(默认会使用 workspace 的
defaultAssistantId) - 输入消息并发送。默认发送快捷键是
Ctrl+Enter(也可以在设置里改) - 如果你在 dialog 头部右键,还可以直接创建一个 sibling dialog,也就是基于同一个 assistant 派生的并行对话
每次对话的临时覆盖
对话头部会显示当前模型名。点它会弹出一个菜单:
- 可以改成别的模型(写入
dialog.modelOverride) - 可以退回到 assistant 自己的默认模型(清除 override)
- 如果 assistant 本身没配置模型,也可以退回到全局默认模型
- 还可以从你的 Common Models 快捷列表中直接选
在对话进行过程中:
- 你可以点击任意一条历史 assistant 回复,选择 edit and regenerate。这会创建一条新的分支,并把路由切换过去
- 可以用 dialog 侧边的分支按钮在多条分支之间来回切换
- 也可以用 regenerate 快捷键重新跑最后一条 assistant 回复
Prompt 变量
这里一共有三层变量:
- Workspace vars:
workspace.vars,在整个 workspace 中始终可用 - Assistant prompt vars:定义在 assistant 上,会在 dialog 开始时(或 dialog UI 中)收集,并保存到
dialog.inputVars - Dialog input vars:针对当前 dialog 对 assistant prompt vars 的覆盖
变量占位符统一写成 {{varName}}。默认 prompt template 会把 {{workspace_vars}} 和 {{input_vars}} 以 JSON 形式一并塞进 prompt。
Artifacts
Artifact 是 workspace 内部的一种长生命周期、可编辑文档。历史版本保存在 artifacts[].versions[] 中。Artifact 插件可以在 assistant 回复结束后自动抽取一个 artifact(在 Settings → Automatically Extract Artifact 中开关)。编辑器入口在 /workspaces/:wid/artifacts/:aid,通过 workspace 的 Artifacts 区域进入。