diff --git a/.gitignore b/.gitignore index b45b1961c..2e6ed14e8 100644 --- a/.gitignore +++ b/.gitignore @@ -7,4 +7,5 @@ node_modules/ .pnpm-store .DS_Store deepagents/ -debug.log \ No newline at end of file +debug.log +opencode/ \ No newline at end of file diff --git a/README.es.md b/README.es.md index 299c6e95c..dea86a793 100644 --- a/README.es.md +++ b/README.es.md @@ -41,7 +41,7 @@ NotebookLM es una de las mejores y más útiles plataformas de IA que existen, p - **Sin Dependencia de Proveedores** - Configura cualquier modelo LLM, de imagen, TTS y STT. - **25+ Fuentes de Datos Externas** - Agrega tus fuentes desde Google Drive, OneDrive, Dropbox, Notion y muchos otros servicios externos. - **Soporte Multijugador en Tiempo Real** - Trabaja fácilmente con los miembros de tu equipo en un notebook compartido. -- **Aplicación de Escritorio** - Obtén asistencia de IA en cualquier aplicación con Quick Assist, General Assist, Extreme Assist y sincronización de carpetas locales. +- **Aplicación de Escritorio** - Obtén asistencia de IA en cualquier aplicación con Quick Assist, General Assist, Screenshot Assist y sincronización de carpetas locales. ...y más por venir. @@ -84,9 +84,9 @@ https://github.com/user-attachments/assets/a0a16566-6967-4374-ac51-9b3e07fbecd7















SURFSENSE_ENABLE_PERMISSION on
+ the backend to manage allow/deny/ask rules from this panel.
+ Open a search space to manage agent rules.
+ ); + } + + if (isLoading) { + return ( +Failed to load rules
++ {error instanceof Error ? error.message : "Unknown error."} +
++ Tell the agent which tools to allow, deny, or ask before running. Rules use wildcard + patterns and are evaluated at the most specific scope first. +
+
+ Match a tool capability. Use * for wildcards.
+
+ Wildcard against the canonical argument (e.g. prod-*).
+
+ {ACTION_DESCRIPTIONS[formData.action]} +
+No rules yet
++ Without rules the agent uses the deployment default for every tool. +
+
+ {rule.permission}
+
+ {rule.pattern !== "*" && (
+
+ → {rule.pattern}
+
+ )}
+ + Created {formatRelativeDate(rule.created_at)} +
+
+ {def.envVar}
+
+ {def.description}
+
+ SURFSENSE_DISABLE_NEW_AGENT_STACK=true
+
+ forces every new middleware off, regardless of the individual flags below. Restart the
+ backend after changing it.
+ AgentFeatureFlags. Flip an env var and
+ restart the backend to change a value.
+ {group.title}
+{group.subtitle}
+- Show suggestions while typing in other applications. -
-Hotkeys are only available in the SurfSense desktop app.
++ Hotkeys are only available in the SurfSense desktop app. +
- SurfSense needs two macOS permissions to provide context-aware writing suggestions. + SurfSense needs two macOS permissions for Screenshot Assist and for desktop features that + require focusing the app or the active application.
{formatRelativeDate(action.created_at)}
++ Arguments +
+
+ {truncatedArgs}
+
+ + Error +
+
+ {JSON.stringify(action.error, null, 2)}
+
+ + Reverse plan +
+
+ {JSON.stringify(action.reverse_descriptor, null, 2)}
+
+ + Action ID: {action.id} +
+ {canRevert ? ( +No actions logged yet
++ Once the agent calls a tool in this thread, it will show up here. From the log you can + inspect arguments and revert reversible actions. +
+Action log is disabled
+
+ This deployment hasn't enabled the agent action log. An admin can flip
+
+ SURFSENSE_ENABLE_ACTION_LOG
+
+ .
+
Failed to load actions
++ {error instanceof Error ? error.message : "Unknown error"} +
++ Showing {items.length} of {data.total}. Older actions are paginated. +
+ )} +Microsoft Teams Access
- Your agent can search and read messages from Teams channels you have access to, - and send messages on your behalf. Make sure you're a member of the teams - you want to interact with. + Your agent can search and read messages from Teams channels you have access to, and send + messages on your behalf. Make sure you're a member of the teams you want to interact + with.
+ {data?.title ?? "Surfsense documentation"} +
+Chunk #{chunkId}
++ {error instanceof Error ? error.message : "Failed to load chunk"} +
+ )} + {!isLoading && !error && citedChunk?.content && ( +No content available.
+ )} ++ {data?.title ?? (isLoading ? "Loading…" : `Chunk #${chunkId}`)} +
++ {error instanceof Error ? error.message : "Failed to load citation"} +
+ )} + + {!isLoading && !error && data && ( + <> + {hasMoreAbove && ( ++ … {startIndex} earlier chunk{startIndex === 1 ? "" : "s"} not shown +
+ )} ++ … {totalChunks - (startIndex + data.chunks.length)} later chunk + {totalChunks - (startIndex + data.chunks.length) === 1 ? "" : "s"} not shown +
+ )} + > + )} +