Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
9 changes: 9 additions & 0 deletions packages/app/src/context/settings.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,7 @@ export interface Settings {
releaseNotes: boolean
followup: "queue" | "steer"
showReasoningSummaries: boolean
reasoningToolDefaultOpen: boolean
shellToolPartsExpanded: boolean
editToolPartsExpanded: boolean
}
Expand Down Expand Up @@ -90,6 +91,7 @@ const defaultSettings: Settings = {
releaseNotes: true,
followup: "steer",
showReasoningSummaries: false,
reasoningToolDefaultOpen: true,
shellToolPartsExpanded: false,
editToolPartsExpanded: false,
},
Expand Down Expand Up @@ -169,6 +171,13 @@ export const { use: useSettings, provider: SettingsProvider } = createSimpleCont
setShowReasoningSummaries(value: boolean) {
setStore("general", "showReasoningSummaries", value)
},
reasoningToolDefaultOpen: withFallback(
() => store.general?.reasoningToolDefaultOpen,
defaultSettings.general.reasoningToolDefaultOpen,
),
setReasoningToolDefaultOpen(value: boolean) {
setStore("general", "reasoningToolDefaultOpen", value)
},
shellToolPartsExpanded: withFallback(
() => store.general?.shellToolPartsExpanded,
defaultSettings.general.shellToolPartsExpanded,
Expand Down
3 changes: 3 additions & 0 deletions packages/app/src/i18n/ar.ts
Original file line number Diff line number Diff line change
Expand Up @@ -67,6 +67,9 @@ export const dict = {
"command.prompt.mode.normal": "Prompt",
"command.permissions.autoaccept.enable": "قبول الأذونات تلقائيًا",
"command.permissions.autoaccept.disable": "إيقاف قبول الأذونات تلقائيًا",
"command.settings.thinking.enable": "إظهار التفكير",
"command.settings.thinking.disable": "إخفاء التفكير",
"command.settings.thinking.description": "تبديل عرض ملخصات تفكير النموذج في الجدول الزمني",
"command.workspace.toggle": "تبديل مساحات العمل",
"command.workspace.toggle.description": "تمكين أو تعطيل مساحات العمل المتعددة في الشريط الجانبي",
"command.session.undo": "تراجع",
Expand Down
3 changes: 3 additions & 0 deletions packages/app/src/i18n/br.ts
Original file line number Diff line number Diff line change
Expand Up @@ -67,6 +67,9 @@ export const dict = {
"command.prompt.mode.normal": "Prompt",
"command.permissions.autoaccept.enable": "Aceitar permissões automaticamente",
"command.permissions.autoaccept.disable": "Parar de aceitar permissões automaticamente",
"command.settings.thinking.enable": "Mostrar raciocínio",
"command.settings.thinking.disable": "Ocultar raciocínio",
"command.settings.thinking.description": "Alternar exibição de resumos de raciocínio do modelo na linha do tempo",
"command.workspace.toggle": "Alternar espaços de trabalho",
"command.workspace.toggle.description": "Habilitar ou desabilitar múltiplos espaços de trabalho na barra lateral",
"command.session.undo": "Desfazer",
Expand Down
3 changes: 3 additions & 0 deletions packages/app/src/i18n/bs.ts
Original file line number Diff line number Diff line change
Expand Up @@ -73,6 +73,9 @@ export const dict = {
"command.prompt.mode.normal": "Prompt",
"command.permissions.autoaccept.enable": "Automatski prihvati dozvole",
"command.permissions.autoaccept.disable": "Zaustavi automatsko prihvatanje dozvola",
"command.settings.thinking.enable": "Prikaži razmišljanje",
"command.settings.thinking.disable": "Sakrij razmišljanje",
"command.settings.thinking.description": "Uključi/isključi prikaz sažetaka razmišljanja modela na vremenskoj traci",
"command.workspace.toggle": "Prikaži/sakrij radne prostore",
"command.workspace.toggle.description": "Omogući ili onemogući više radnih prostora u bočnoj traci",
"command.session.undo": "Poništi",
Expand Down
3 changes: 3 additions & 0 deletions packages/app/src/i18n/da.ts
Original file line number Diff line number Diff line change
Expand Up @@ -73,6 +73,9 @@ export const dict = {
"command.prompt.mode.normal": "Prompt",
"command.permissions.autoaccept.enable": "Accepter tilladelser automatisk",
"command.permissions.autoaccept.disable": "Stop med at acceptere tilladelser automatisk",
"command.settings.thinking.enable": "Vis tænkning",
"command.settings.thinking.disable": "Skjul tænkning",
"command.settings.thinking.description": "Skift visning af model-tænkningssammendrag på tidslinjen",
"command.workspace.toggle": "Skift arbejdsområder",
"command.workspace.toggle.description": "Aktiver eller deaktiver flere arbejdsområder i sidebjælken",
"command.session.undo": "Fortryd",
Expand Down
3 changes: 3 additions & 0 deletions packages/app/src/i18n/de.ts
Original file line number Diff line number Diff line change
Expand Up @@ -71,6 +71,9 @@ export const dict = {
"command.prompt.mode.normal": "Prompt",
"command.permissions.autoaccept.enable": "Berechtigungen automatisch akzeptieren",
"command.permissions.autoaccept.disable": "Automatische Akzeptanz von Berechtigungen stoppen",
"command.settings.thinking.enable": "Denken anzeigen",
"command.settings.thinking.disable": "Denken ausblenden",
"command.settings.thinking.description": "Anzeige der Denkzusammenfassungen des Modells in der Zeitleiste umschalten",
"command.workspace.toggle": "Arbeitsbereiche umschalten",
"command.workspace.toggle.description": "Mehrere Arbeitsbereiche in der Seitenleiste aktivieren oder deaktivieren",
"command.session.undo": "Rückgängig",
Expand Down
3 changes: 3 additions & 0 deletions packages/app/src/i18n/en.ts
Original file line number Diff line number Diff line change
Expand Up @@ -75,6 +75,9 @@ export const dict = {
"command.prompt.mode.normal": "Prompt",
"command.permissions.autoaccept.enable": "Auto-accept permissions",
"command.permissions.autoaccept.disable": "Stop auto-accepting permissions",
"command.settings.thinking.enable": "Show reasoning",
"command.settings.thinking.disable": "Hide reasoning",
"command.settings.thinking.description": "Toggle whether to show model reasoning summaries in the timeline",
"command.workspace.toggle": "Toggle workspaces",
"command.workspace.toggle.description": "Enable or disable multiple workspaces in the sidebar",
"command.session.undo": "Undo",
Expand Down
4 changes: 4 additions & 0 deletions packages/app/src/i18n/es.ts
Original file line number Diff line number Diff line change
Expand Up @@ -73,6 +73,10 @@ export const dict = {
"command.prompt.mode.normal": "Prompt",
"command.permissions.autoaccept.enable": "Aceptar permisos automáticamente",
"command.permissions.autoaccept.disable": "Dejar de aceptar permisos automáticamente",
"command.settings.thinking.enable": "Mostrar razonamiento",
"command.settings.thinking.disable": "Ocultar razonamiento",
"command.settings.thinking.description":
"Alternar la visualización de resúmenes de razonamiento del modelo en la línea de tiempo",
"command.workspace.toggle": "Alternar espacios de trabajo",
"command.workspace.toggle.description": "Habilitar o deshabilitar múltiples espacios de trabajo en la barra lateral",
"command.session.undo": "Deshacer",
Expand Down
6 changes: 4 additions & 2 deletions packages/app/src/i18n/fr.ts
Original file line number Diff line number Diff line change
Expand Up @@ -67,8 +67,10 @@ export const dict = {
"command.prompt.mode.normal": "Prompt",
"command.permissions.autoaccept.enable": "Accepter automatiquement les permissions",
"command.permissions.autoaccept.disable": "Arrêter d'accepter automatiquement les permissions",
"command.workspace.toggle": "Basculer les espaces de travail",
"command.workspace.toggle.description": "Activer ou désactiver plusieurs espaces de travail dans la barre latérale",
"command.settings.thinking.enable": "Afficher le raisonnement",
"command.settings.thinking.disable": "Masquer le raisonnement",
"command.settings.thinking.description":
"Basculer l'affichage des résumés de raisonnement du modèle dans la chronologie",
"command.session.undo": "Annuler",
"command.session.undo.description": "Annuler le dernier message",
"command.session.redo": "Rétablir",
Expand Down
5 changes: 3 additions & 2 deletions packages/app/src/i18n/ja.ts
Original file line number Diff line number Diff line change
Expand Up @@ -67,8 +67,9 @@ export const dict = {
"command.prompt.mode.normal": "プロンプト",
"command.permissions.autoaccept.enable": "権限を自動承認する",
"command.permissions.autoaccept.disable": "権限の自動承認を停止する",
"command.workspace.toggle": "ワークスペースを切り替え",
"command.workspace.toggle.description": "サイドバーでの複数のワークスペースの有効化・無効化",
"command.settings.thinking.enable": "思考を表示",
"command.settings.thinking.disable": "思考を非表示",
"command.settings.thinking.description": "タイムライン内のモデルの思考要約の表示を切り替え",
"command.session.undo": "元に戻す",
"command.session.undo.description": "最後のメッセージを元に戻す",
"command.session.redo": "やり直す",
Expand Down
3 changes: 3 additions & 0 deletions packages/app/src/i18n/ko.ts
Original file line number Diff line number Diff line change
Expand Up @@ -71,6 +71,9 @@ export const dict = {
"command.prompt.mode.normal": "프롬프트",
"command.permissions.autoaccept.enable": "권한 자동 수락",
"command.permissions.autoaccept.disable": "권한 자동 수락 중지",
"command.settings.thinking.enable": "사고 표시",
"command.settings.thinking.disable": "사고 숨기기",
"command.settings.thinking.description": "타임라인에서 모델 사고 요약 표시 전환",
"command.workspace.toggle": "작업 공간 전환",
"command.workspace.toggle.description": "사이드바에서 다중 작업 공간 활성화 또는 비활성화",
"command.session.undo": "실행 취소",
Expand Down
3 changes: 3 additions & 0 deletions packages/app/src/i18n/no.ts
Original file line number Diff line number Diff line change
Expand Up @@ -76,6 +76,9 @@ export const dict = {
"command.prompt.mode.normal": "Prompt",
"command.permissions.autoaccept.enable": "Aksepter tillatelser automatisk",
"command.permissions.autoaccept.disable": "Stopp automatisk akseptering av tillatelser",
"command.settings.thinking.enable": "Vis tenkning",
"command.settings.thinking.disable": "Skjul tenkning",
"command.settings.thinking.description": "Veksle visning av modellens tenkesammendrag i tidslinjen",
"command.workspace.toggle": "Veksle arbeidsområder",
"command.workspace.toggle.description": "Enable or disable multiple workspaces in the sidebar",
"command.session.undo": "Angre",
Expand Down
5 changes: 3 additions & 2 deletions packages/app/src/i18n/pl.ts
Original file line number Diff line number Diff line change
Expand Up @@ -67,8 +67,9 @@ export const dict = {
"command.prompt.mode.normal": "Prompt",
"command.permissions.autoaccept.enable": "Automatycznie akceptuj uprawnienia",
"command.permissions.autoaccept.disable": "Zatrzymaj automatyczne akceptowanie uprawnień",
"command.workspace.toggle": "Przełącz przestrzenie robocze",
"command.workspace.toggle.description": "Włącz lub wyłącz wiele przestrzeni roboczych na pasku bocznym",
"command.settings.thinking.enable": "Pokaż myślenie",
"command.settings.thinking.disable": "Ukryj myślenie",
"command.settings.thinking.description": "Przełącz wyświetlanie podsumowań myślenia modelu na osi czasu",
"command.session.undo": "Cofnij",
"command.session.undo.description": "Cofnij ostatnią wiadomość",
"command.session.redo": "Ponów",
Expand Down
3 changes: 3 additions & 0 deletions packages/app/src/i18n/ru.ts
Original file line number Diff line number Diff line change
Expand Up @@ -73,6 +73,9 @@ export const dict = {
"command.prompt.mode.normal": "Промпт",
"command.permissions.autoaccept.enable": "Автоматически принимать разрешения",
"command.permissions.autoaccept.disable": "Остановить автоматическое принятие разрешений",
"command.settings.thinking.enable": "Показать размышления",
"command.settings.thinking.disable": "Скрыть размышления",
"command.settings.thinking.description": "Переключить отображение сводок размышлений модели в ленте",
"command.workspace.toggle": "Переключить рабочие пространства",
"command.workspace.toggle.description": "Включить или отключить несколько рабочих пространств в боковой панели",
"command.session.undo": "Отменить",
Expand Down
3 changes: 3 additions & 0 deletions packages/app/src/i18n/th.ts
Original file line number Diff line number Diff line change
Expand Up @@ -73,6 +73,9 @@ export const dict = {
"command.prompt.mode.normal": "พรอมต์",
"command.permissions.autoaccept.enable": "ยอมรับสิทธิ์โดยอัตโนมัติ",
"command.permissions.autoaccept.disable": "หยุดยอมรับสิทธิ์โดยอัตโนมัติ",
"command.settings.thinking.enable": "แสดงการคิด",
"command.settings.thinking.disable": "ซ่อนการคิด",
"command.settings.thinking.description": "สลับการแสดงสรุปการคิดของโมเดลในไทม์ไลน์",
"command.workspace.toggle": "สลับพื้นที่ทำงาน",
"command.workspace.toggle.description": "เปิดหรือปิดใช้งานพื้นที่ทำงานหลายรายการในแถบด้านข้าง",
"command.session.undo": "ยกเลิก",
Expand Down
3 changes: 3 additions & 0 deletions packages/app/src/i18n/tr.ts
Original file line number Diff line number Diff line change
Expand Up @@ -77,6 +77,9 @@ export const dict = {
"command.prompt.mode.normal": "Komut",
"command.permissions.autoaccept.enable": "Düzenlemeleri otomatik kabul et",
"command.permissions.autoaccept.disable": "Otomatik kabulü durdur",
"command.settings.thinking.enable": "Düşünmeyi göster",
"command.settings.thinking.disable": "Düşünmeyi gizle",
"command.settings.thinking.description": "Zaman çizelgesinde model düşünme özetlerini göster/gizle",
"command.workspace.toggle": "Çalışma alanlarını aç/kapat",
"command.workspace.toggle.description": "Kenar çubuğunda birden fazla çalışma alanını göster veya gizle",
"command.session.undo": "Geri al",
Expand Down
4 changes: 4 additions & 0 deletions packages/app/src/i18n/zh.ts
Original file line number Diff line number Diff line change
Expand Up @@ -99,6 +99,10 @@ export const dict = {
"command.permissions.autoaccept.enable": "自动接受权限",
"command.permissions.autoaccept.disable": "停止自动接受权限",

"command.settings.thinking.enable": "显示思考",
"command.settings.thinking.disable": "隐藏思考",
"command.settings.thinking.description": "在时间线中切换显示模型思考摘要",

"command.workspace.toggle": "切换工作区",
"command.workspace.toggle.description": "在侧边栏启用或禁用多个工作区",

Expand Down
3 changes: 3 additions & 0 deletions packages/app/src/i18n/zht.ts
Original file line number Diff line number Diff line change
Expand Up @@ -77,6 +77,9 @@ export const dict = {
"command.prompt.mode.normal": "Prompt",
"command.permissions.autoaccept.enable": "自動接受權限",
"command.permissions.autoaccept.disable": "停止自動接受權限",
"command.settings.thinking.enable": "顯示思考",
"command.settings.thinking.disable": "隱藏思考",
"command.settings.thinking.description": "在時間軸中切換顯示模型思考摘要",
"command.workspace.toggle": "切換工作區",
"command.workspace.toggle.description": "在側邊欄啟用或停用多個工作區",
"command.session.undo": "復原",
Expand Down
1 change: 1 addition & 0 deletions packages/app/src/pages/session/message-timeline.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -1097,6 +1097,7 @@ export function MessageTimeline(props: {
active={active()}
status={active() ? sessionStatus() : undefined}
showReasoningSummaries={settings.general.showReasoningSummaries()}
reasoningToolDefaultOpen={settings.general.reasoningToolDefaultOpen()}
shellToolDefaultOpen={settings.general.shellToolPartsExpanded()}
editToolDefaultOpen={settings.general.editToolPartsExpanded()}
classes={{
Expand Down
16 changes: 16 additions & 0 deletions packages/app/src/pages/session/use-session-commands.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@ import { useLocal } from "@/context/local"
import { usePermission } from "@/context/permission"
import { usePrompt } from "@/context/prompt"
import { useSDK } from "@/context/sdk"
import { useSettings } from "@/context/settings"
import { useSync } from "@/context/sync"
import { useTerminal } from "@/context/terminal"
import { showToast } from "@opencode-ai/ui/toast"
Expand Down Expand Up @@ -41,6 +42,7 @@ export const useSessionCommands = (actions: SessionCommandContext) => {
const permission = usePermission()
const prompt = usePrompt()
const sdk = useSDK()
const settings = useSettings()
const sync = useSync()
const terminal = useTerminal()
const layout = useLayout()
Expand Down Expand Up @@ -118,6 +120,7 @@ export const useSessionCommands = (actions: SessionCommandContext) => {
const mcpCommand = withCategory(language.t("command.category.mcp"))
const agentCommand = withCategory(language.t("command.category.agent"))
const permissionsCommand = withCategory(language.t("command.category.permissions"))
const settingsCommand = withCategory(language.t("command.category.settings"))

const isAutoAcceptActive = () => {
const sessionID = params.id
Expand Down Expand Up @@ -559,6 +562,18 @@ export const useSessionCommands = (actions: SessionCommandContext) => {
}),
]

const settingsCmds = () => [
settingsCommand({
id: "settings.thinking",
title: settings.general.reasoningToolDefaultOpen()
? language.t("command.settings.thinking.disable")
: language.t("command.settings.thinking.enable"),
description: language.t("command.settings.thinking.description"),
slash: "thinking",
onSelect: () => settings.general.setReasoningToolDefaultOpen(!settings.general.reasoningToolDefaultOpen()),
}),
]

command.register("session", () => [
...sessionCmds(),
...shareCmds(),
Expand All @@ -571,5 +586,6 @@ export const useSessionCommands = (actions: SessionCommandContext) => {
...mcpCmds(),
...agentCmds(),
...permissionsCmds(),
...settingsCmds(),
])
}
Loading
Loading