TidGi-Desktop/localization/locales/en/agent.json
lin onetwo fa9751e5ea
Feat/Native AI Agent (#640)
* refactor: only use message id

* feat: stream update, but react don't react on it dny

* feat: start stop

* feat: basic resoponse handlers

* feat: load handler config schema

* chore: upgrade to "moduleResolution": "bundler"

* fix: prompt concat

* feat: rjfs with mui

* fix: mui v7 upgrade

* fix: field editor tabs

* feat: Description field is i18n key, use i18nAlly extension to see it on VSCode. And use react-i18next to translate it on frontend.

* refactor: extract some shared components

* refactor: remove @mui/lab

* feat: faster editor

* feat: beautify editor

* refactor: better style

* fix: fullscreen style

* fix: array sort

* fix: editor not saved

* fix: broken array

* chore: upgrade mui deps

* Update type.d.ts

* feat: upgrade and install react dev tools

* refactor: simplify the code

* refactor: simplify the code

* refactor: simplify ai generated garbage code

* fix: translated label

* feat: translate enum and conditional show field based on enum

* feat: click to open source

* fix: ai generated garbage code to solve id and index problem

* refactor: simplify

* refactor: shorten

* test: add jest

* chore: node-linker=hoisted as electron forge suggested

* test: e2e

* fix: test failed on ci

* test: faster by disable some typecheck

* fix: ci

* fix: ci

* refactor: remove unused

* fix: use macos and take screenshot in ci

* docs:

(cherry picked from commit b1a9706264)

* fix: ci crash due to no dugite binary, due to NODE_ENV=test not set

* Update test.yml

* fix: ci

* Update release.yml

* docs: test

* refactor: move folders and lint

* refactor: organize pages to reduce level

* refactor: merge page service and workspace service to allow drag & drop of pages

* Update ipc-syncadaptor.ts

* Update browserViewMetaData.ts

* fix: view.webContents.loadURL won't reload on new electron version

* fix: try to disable annoying useless disabling pasting "feature"

https://github.com/electron/electron/issues/40995

* fix: initial page

* feat: allow sort add icon

* test: use vitest instead

* refactor: use emotion instead

* fix: all ts error after migrate to vitest and emotion

* fix: Component selectors can only be used in conjunction with @emotion/babel-plugin, the swc Emotion plugin, or another Emotion-aware compiler transform.

fix by not using this usage

* fix: too many open files

* test: add basic main page test

* refactor: split workspace type to make it more specific

* test: support mock react lazy import component by re-export them

* test: sidebar

* refactor: move mock to global

* test: testing library fix

* test: new wiki form

* docs: test with vitest

* lint: fix

* docs: pronounication & remove toc as gh build in

* feat: tools and rag

* feat: prompt for build-in tools

* fix: i18n

* fix: tool using

* test: fix

* refactor: Auto-create default wiki workspace if none exists (handled in backend)

* fix: create wiki workspace so it is on first one

* refactor: remove some useless feature

* refactor: use plugin instead of handler

* chore: make concatPrompt async iterator

* feat: show progress on frontend

* fix: errors

* fix: ConfigError: Config (unnamed): Key "overrides": This appears to be in eslintrc format rather than flat config format.

* Update package.json

* feat: allow windows to hide titlebar

* fix: logger error when ctrl+c on mac

* lint

* refactor: use plugin everywhere

* refactor: move more logic to plugin

* refactor: run tool in plugin, simplify abstraction

* refactor: remove ai generated duplicate

* refactor

* refactor: less plugins

* test: simplify wiki search test

* test: remove any

* fix: not streaming, tool order wrong

* test: plugin system and streaming

* refactor: remove useless auto reply plugin

* fix: hide duration expired tool calling message, so long tool result only show to ai once

* fix: $ props should lower cased

* test: support run as electron so can use sqlite3 compiled bin for electron

* docs: better electron as node run and doc

* test: restore to use threads instead of fock. Seems this also works for inmemory database

* test: fix frontend ui test

* lint: ai content

* test: fix coverage

* test: Refactor test mocks to dedicated __mocks__ directory

Moved common test mocks from setup-vitest.ts into separate files under src/__tests__/__mocks__ for better organization and maintainability. Updated documentation to reflect the new structure. Removed fileMock.js and updated setup-vitest.ts to import and use the new centralized mocks.

* Update ErrorDuringStart.md

* Update messageManagementPlugin.test.ts

* test: Fix Electron test process cleanup and update test config

Update test:unit script to use cross-env for ELECTRON_RUN_AS_NODE, ensuring child processes inherit the variable and preventing resource leaks. Remove manual process.env setting from vitest.config.ts and add documentation on handling related errors in Testing.md. Also, add 'hanging-process' reporter to Vitest config for improved diagnostics.

* fix: warning in test

* Create AgentInstanceWorkflow.md

* fix: duration bug

* fix: ai not response for tool result

* test: Add agent workflow feature and step definitions

Introduces a new Cucumber feature for agent workflow, including multi-round conversation and tool usage. Adds agent-specific step definitions for message input and chat history validation. Refactors application step definitions for improved selector handling and element interaction. Updates test scripts in package.json to include a preparation step for e2e tests.

* Update application.ts

* test: Add mock OpenAI server and tests

Introduces a MockOpenAIServer for simulating OpenAI chat completions, including tool call and tool result responses. Adds corresponding tests and updates vitest config to include tests in the features directory.

* test: simplify steps

* test: Add separate test userData and wiki folders

Introduces 'userData-test' and 'wiki-test' folders for test environments, updating appPaths, fileNames, and paths constants to distinguish between development and test modes. This helps prevent conflicts when running test and development instances simultaneously.

* Update eslint.config.mjs

@typescript-eslint/no-unnecessary-condition': 'off'

* test: Add data-testid attributes for test automation

Added data-testid attributes to form inputs and buttons in ExternalAPI components to improve test automation reliability. Updated feature files and step definitions to use these selectors, refined window switching logic, and improved timing for UI interactions. Also exposed isElectronDevelopment and added isMainWindowPage utility for window identification.

* test: fix wront page type by ai written garbage code

* Update application.ts

* Update Testing.md

* fix: no log during e2e test, and error creating wiki blocks other init steps

* test: click agent workspace button, and refactor mock server

* test: mock streamable openai api

* rename

* chore: try esbuild loader, renderer build too slow

* chore: organize webpack

* chore: ignore service code from hot reload

* Update Testing.md

* test: use full agentinstance in test

* chore: webpack error

* Update Testing.md

* chore: remove useless spectron

* test: EsbuildPlugin's `define` doesn't work, it won't set env properly.

* test: e2e mock openai

* lint: disable @typescript-eslint/require-await

* test: Add quick access to create default agent tab

Introduces a 'Create Default Agent' quick access button in the Agent New Tab page, with localization support. Adds utility to close all tabs and create a default agent tab for fallback scenarios, improves test selectors for tab and close actions, and refactors agent chat tab creation logic for consistency and testability.

* feat: remove unuse favorite

* feat: Add wiki operation and workspaces list plugins

Introduces wikiOperationPlugin and workspacesListPlugin for agent instance prompt and response handling. Updates plugin registry, test coverage, and default agent configuration to support wiki workspace listing and wiki note operations (create, update, delete) via tool calls. Refactors wikiSearchPlugin to delegate workspace list injection to workspacesListPlugin.

* Refactor plugin schema system for dynamic registration

Introduces a dynamic plugin schema registry, allowing plugins to register their parameter schemas and metadata at runtime. Refactors prompt concat schema generation to use dynamically registered plugin schemas, removes static plugin schema definitions, and updates all plugin files to export their parameter schemas. Adds new modelContextProtocolPlugin and schemaRegistry modules, and updates plugin initialization to register schemas and metadata. This enables extensibility and type safety for plugin configuration and validation.

* refactor: move PromptConfigForm to inside PromptPreviewDialog

* test: frontent render tool usage info

* test: split file

* test: fix error

* test: wiki operation

* test: remove log and clean up test deps

* Update i18next-electron-fs-backend.ts

* fix: wikiOperationInServer not called due to no message

* test: fix

* test: Refactor agent feature setup and improve mock server URL handling

Moved AI provider and model configuration to a shared setup scenario in agent.feature to avoid redundant steps in each test. Enhanced application.ts to use a fallback localhost URL for MOCK_SERVER_URL when the mock server is not available, improving test reliability.

* Remove retry logic from basicPromptConcatHandler

Eliminated retryCount and maxRetries from basicPromptConcatHandler, simplifying the control flow and removing the retry limit for LLM calls. Logging and yield logic were updated to reflect the removal of retries.

* Update agent.feature

* test: agent and default wiki

* test: refactor wiki cleanup

* Update agent.feature

* Refactor AI settings setup and add preference feature

Moved AI provider and model configuration steps from agent.feature to a new preference.feature file for better separation of concerns. Updated step definitions in agent.ts to improve robustness when reading and writing settings files, including type usage and directory checks.

* test: try debug can't stop bug

* Update Testing.md

* fix: cancel agent not update cancel button

* refactor: update Frontend use `void window.service.native.log` to log to file.

* test: log from renderer test

* feat: add default embedding model config and victor search service and search preference panel

* test: default embedding form and

* test: default agent

* refator: unused tool listing methods

* Refactor test database setup for integration tests

Centralizes in-memory SQLite test database initialization and cleanup in shared utilities for all integration tests. Updates agentDefinition and messageManagementPlugin tests to use the shared test database, improving reliability and reducing code duplication.

* fix: app path wrong in unit test

* feat: externalAPIDebug

* test: embedding service and let db use real in memory one

* test: provide at least one tab for close tab test

* fix: victor db not loaded in new connection

* test: disable hot reload

* Update DeveloperTools.tsx

* feat: tool message & wiki tool schema

* feat: pref to open db

* chore: skip ExternalsPlugin on dev

* fix: APIs doesn't accept 'tool' role, and it won't return anything when API calls

* fix: docs and remove ai fake fix

* refactor: get agent list don't need to have message

* Update basicPromptConcatHandler.failure.test.ts

* Update basicPromptConcatHandler.test.ts

* fix: role wrong cause e2e failed

* test: allow e2e create .db file to check

* feat: create new agent

* feat: getAgentDefinitionTemplatesFromWikis

* fix: Prevent update non-active (hiding) wiki workspace, so it won't pop up to cover other active agent workspace

* fix: Ensure the config change is fully persisted before proceeding

* test: Don't bring up window when running e2e test, otherwise it will annoy the developer who is doing other things.

* feat: Edit existing agent definition workflow

* Update StyledArrayContainer.tsx

* test: prevent mock server hang

* Refactor UI step definitions into separate file

Moved UI-related Cucumber step definitions from application.ts to a new ui.ts file for better separation of concerns and maintainability. application.ts now only contains application-specific logic.

* lint: ai auto fix

* Clean up feature files and improve test coverage

Removed unnecessary blank lines and improved formatting in feature files for better readability. Updated tsconfig to use 'bundler' module resolution. Enhanced EditAgentDefinitionContent test to mock and verify console.error output. Added type annotation for IAgentDefinitionService in basicPromptConcatHandler.failure.test.ts for improved type safety.

* test: simplify message text match

* feat: transcription and image generation model config

* fix: style props error

* chore: remove unused file

* chore: try to imporove dev start speed but no sig improvment

Replaces 'pnpm start' with 'pnpm start:init' for initial setup and documents slow startup in development. Adds a debug Webpack script, disables polling in renderer file watching, and only enables CircularDependencyPlugin in production/CI for faster dev builds. WebpackBar now only shows when DEBUG includes 'electron-forge:*'. ForkTsCheckerWebpackPlugin is now configured for async checks with memory limits and test file exclusion. Updates documentation to reflect these changes.

* docs: why not vite

* refactor: basic vite usage, but wiki worker is not running and view is not showing

* refactor: remove lazy inject so vite works and wiki worker works, wiki in browser view can loads

* Replace electron-squirrel-startup with inline implementation

Added a custom Squirrel event handler in src/helpers/squirrelStartup.ts to handle Windows install/update/uninstall events, replacing the electron-squirrel-startup package. This avoids ESM/CommonJS compatibility issues and simplifies event handling in src/main.ts.

* refactor: vite build and test

* fix: e2e still use dev wiki folder

* fix: provide env

* chore: "tiddlywiki": "5.3.7"

* Apply suggestion from @Copilot

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* Apply suggestion from @Copilot

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* Apply suggestion from @Copilot

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* Apply suggestion from @Copilot

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* fix: missing i18n

* test:  Module did not self-register: '/home/runner/work/TidGi-Desktop/TidGi-Desktop/node_modules/better-sqlite3/build/Release/better_sqlite3.node'.

* feat: i18n

* feat: zh-Hant i18n

* Update test.yml

* feat: zh-Hans in test

* test: i18n

* refactor: ts forge config

* lint: fix

* chore: update wiki

* Update pnpm-lock.yaml

* chore: update github action versions

* Update wiki

* fix: pnpm then node

* fix: Multiple versions of pnpm specified

* Update test.yml

* fix: Failed to take screenshot: page.screenshot: Target page, context or browser has been closed

* chore: CodeQL Action major versions v1 and v2 have been deprecated.

* chore: parallel codeql

* Update test.yml

* fix: i18n test not passing

* test: step screenshot in each folder

* fix: can't unzip, may due to file path

* test: increase timeout in CI

* docs: more log about wiki creation, and add log to criticial path

* Refactor: logging for structured and consistent output

Replaces string-based logger messages with structured logging throughout the codebase, providing function names, error messages, and relevant context as objects. This improves log readability, enables better filtering and searching, and standardizes error and debug reporting across services.

* chore: debug wiki copy

* fix: wiki submodule not cloned

* Revert "test: increase timeout in CI"

This reverts commit eff8583a01.

* test: reduce wait time, because most check already will wait for a while

* test: batch some e2e steps to reduce screenshot count

* Update index.ts

* chore: remove webpack files, use vite plugins

---------

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2025-10-10 17:16:56 +08:00

549 lines
23 KiB
JSON

{
"APILogs": {
"CurrentAgent": "Showing logs for agent: {{agentId}}",
"Description": "Debug logs for external API calls made by this agent. Enable 'External API Debug' in preferences to start logging.",
"ErrorDetails": "Error Details",
"NoLogs": "No API logs found for this agent",
"NoResponse": "No response",
"RequestDetails": "Request Details",
"ResponseContent": "Response Content",
"ResponseMetadata": "Response Metadata",
"StatusCancel": "Cancelled",
"StatusDone": "Completed",
"StatusError": "Error",
"StatusStart": "Started",
"StatusUpdate": "Processing",
"Title": "API Debug Logs"
},
"Agent": {
"EditTitle": "Edit agent name",
"InvalidTabType": "Invalid tab type. A chat tab is required.",
"LoadingChat": "Loading conversation...",
"StartConversation": "Start a conversation",
"Untitled": "Untitled"
},
"Browser": {
"Back": "Step back",
"Bookmark": "Bookmark",
"CurrentUrl": "Current URL",
"EnterUrlPlaceholder": "Enter URL",
"Forward": "forward",
"Home": "Homepage",
"Refresh": "refresh",
"RenderPlaceholder": "This is the webpage rendering area."
},
"Chat": {
"Cancel": "Cancel",
"ConfigError": {
"GoToSettings": "Go to Settings",
"Title": "Configuration Issue"
},
"InputPlaceholder": "Type a message, Ctrl+Enter to send",
"Send": "Send",
"SessionGroup": {
}
},
"Common": {
},
"ContextMenu": {
"AddToCurrentSplitView": "Add to current split view",
"Close": "Close",
"CloseAbove": "Close the tab above",
"CloseBelow": "Close the tab below",
"CloseOther": "Close other tabs",
"CloseTabs": "Close multiple tabs",
"ConvertToSplitView": "Convert to split view",
"CreateSplitViewWithActive": "Create split view with active tab",
"Duplicate": "copy",
"NewTabBelow": "Open a new tab below",
"Pin": "Pinned Tab",
"Refresh": "refresh",
"RestoreClosed": "Restore closed tab",
"Unpin": "Unpin"
},
"CreateAgent": {
"AgentName": "Agent Name",
"AgentNameHelper": "Enter a descriptive name for your agent",
"AgentNamePlaceholder": "My Custom Agent",
"Back": "Back",
"CreatingPreview": "Creating preview agent...",
"EditPrompt": "Edit Prompt",
"EditPromptDescription": "Customize the system prompt and behavior of your agent",
"ImmediateUse": "Test & Use",
"ImmediateUseDescription": "Test your agent and start using it immediately",
"Next": "Next",
"NoTemplateSelected": "Please select a template first",
"Preview": "(Preview)",
"SaveAndUse": "Save & Use Agent",
"SearchTemplates": "Search for agent templates...",
"SelectTemplate": "Choose Template",
"SelectTemplateDescription": "Select an existing agent as a starting template",
"SelectedTemplate": "Selected Template",
"SetupAgent": "Setup Agent",
"SetupAgentDescription": "Configure your new agent by choosing a name and template",
"Steps": {
},
"Title": "Create New Agent"
},
"EditAgent": {
"AgentDescription": "Agent Description",
"AgentDescriptionHelper": "Describe the functionality and purpose of your intelligent agent.",
"AgentDescriptionPlaceholder": "Enter agent description...",
"AgentName": "Agent Name",
"AgentNameHelper": "Enter a descriptive name for your agent",
"AgentNamePlaceholder": "My Custom Agent",
"AgentNotFound": "Agent not found",
"EditBasic": "Edit Basic Info",
"EditBasicDescription": "Edit the basic information of your agent",
"EditPrompt": "Edit Prompt",
"EditPromptDescription": "Customize the system prompt and behavior of your agent",
"ImmediateUse": "Test & Use",
"ImmediateUseDescription": "Test your agent and start using it immediately",
"Loading": "Loading...",
"LoadingPromptConfig": "Loading prompt configuration...",
"PreviewChat": "Preview Chat",
"Save": "Save",
"Saving": "Saving...",
"Steps": {
},
"Title": "Edit Agent"
},
"ModelFeature": {
},
"ModelSelector": {
"Model": "model",
"NoModelSelected": "No model selected",
"SelectModel": "Select Model",
"Title": "model selection"
},
"NewTab": {
"CreateDefaultAgent": "Create Default Agent",
"CreateInstance": "Create Instance",
"CreateNewAgent": "Create New Agent",
"EditDefinition": "Edit Definition",
"NewTab": "New Tab",
"QuickAccess": "quick access",
"SearchPlaceholder": "Search for tabs or agents..."
},
"Preference": {
"AIAgent": "AI Agent",
"AIAgentDescription": "Manage AI Agent conversation records database",
"AIAgentDescriptionDetail": "Here you can view and delete the size and location information of the AI Agent conversation records database",
"APIKey": "API Key",
"AddNewModel": "Add New Model",
"AddNewProvider": "Add New Provider",
"AddProvider": "Add Provider",
"AgentDatabaseDescription": "All AI Agent conversation records are stored in this database, involving only conversations with AI, without affecting Wiki content, occupying {{size}}",
"BaseURL": "API Base URL",
"BaseURLRequired": "API Base URL is required",
"Browse": "Browse",
"CancelAddProvider": "Cancel Adding",
"ConfigureModelParameters": "configuration parameters",
"ConfigureProvider": "Configure {{provider}}",
"ConfirmDeleteAgentDatabase": "Are you sure you want to delete the database containing all AI conversation records? This action cannot be undone.",
"CustomProvider": "Custom Provider",
"DefaultAIModelSelection": "Default AI Model Selection",
"DefaultAIModelSelectionDescription": "Choose the default AI provider and model to use when not specifically set",
"DefaultEmbeddingModelSelection": "Default Embedding Model Selection",
"DefaultEmbeddingModelSelectionDescription": "Choose the default embedding model to use for semantic search and vector operations",
"DefaultImageGenerationModelSelection": "Default Image Generation Model Selection",
"DefaultImageGenerationModelSelectionDescription": "Choose the default image generation model to use for creating images from text",
"DefaultSpeechModelSelection": "Default Speech Generation Model Selection",
"DefaultSpeechModelSelectionDescription": "Choose the default speech generation model to use for text-to-speech operations",
"DefaultTranscriptionsModelSelection": "Default Transcriptions Model Selection",
"DefaultTranscriptionsModelSelectionDescription": "Choose the default transcriptions model to use for speech-to-text operations",
"DeleteAgentDatabase": "Delete AI Conversation Database",
"DeleteProvider": "Delete provider",
"DisabledProviderInfo": "This provider is disabled, and its models will not appear in the model selection list",
"EnableProvider": "Enable this provider",
"ExternalAPI": "External API",
"ExternalAPIDebug": "Enable API Debug Logging",
"ExternalAPIDebugDescription": "When enabled, all API requests and responses will be logged to the database for debugging purposes",
"ExternalApiDatabaseDescription": "Database containing external API debug information, occupying {{size}}",
"FailedToAddModel": "Failed to add model",
"FailedToAddProvider": "Failed to add provider",
"FailedToRemoveModel": "Failed to remove model",
"FailedToSaveSettings": "Failed to save settings",
"FailedToUpdateModel": "Failed to update model",
"FailedToUpdateProviderStatus": "Failed to update provider status",
"MaxTokens": "Maximum generation length",
"MaxTokensDescription": "The maximum number of characters (measured in tokens) that the model can generate in a single request.",
"ModelAddedSuccessfully": "Model added successfully",
"ModelAlreadyExists": "Model already exists",
"ModelCaption": "Model Display Name",
"ModelCaptionHelp": "A friendly name to display in the interface; if left blank, the model name will be used",
"ModelDetails": "Model Details",
"ModelFeatures": "Model Features",
"ModelName": "Model Name",
"ModelNameRequired": "Model name is required",
"ModelParameters": "model parameters",
"ModelParametersDescription": "Configure the behavior parameters of generative AI models, such as temperature and token limits.",
"ModelRemovedSuccessfully": "Model removed successfully",
"ModelUpdatedSuccessfully": "Model updated successfully",
"Models": "Available Models",
"NoPresetSelected": "No preset model selected",
"NoProvidersAvailable": "No providers available",
"OpenDatabaseFolder": "Open Database Folder",
"PresetModels": "Preset Models",
"PresetProvider": "Preset Provider",
"ProviderAddedSuccessfully": "Provider added successfully",
"ProviderAlreadyExists": "Provider name already exists",
"ProviderClass": "Provider Interface Type",
"ProviderConfiguration": "Provider Configuration",
"ProviderConfigurationDescription": "Configure the API key and other settings for AI providers",
"ProviderDisabled": "Provider disabled",
"ProviderEnabled": "Provider enabled",
"ProviderName": "Provider Name",
"ProviderNameRequired": "Provider name is required",
"SearchEmbeddingNoEmbeddingModelError": "Please configure the default embedding model settings in the external API section first.",
"SelectDefaultProvider": "Select default provider",
"SelectFromPresets": "Select from Preset Models",
"SelectModel": "Select Model",
"SettingsSaved": "Settings saved",
"SystemPrompt": "System Prompt",
"SystemPromptDescription": "Set the system instructions sent to the AI to define its behavior and capabilities",
"SystemPromptPlaceholder": "System prompt placeholder",
"Temperature": "Temperature",
"TemperatureDescription": "Lower values produce more deterministic and focused responses, while higher values yield more diverse and creative responses.",
"TopP": "Top P",
"TopPDescription": "Control the randomness of responses. Lower values make responses more deterministic, while higher values allow for greater variability.",
"WorkflowFile": "Workflow File",
"WorkflowFileHelp": "Path to the ComfyUI workflow JSON file",
"WorkflowFilePath": "Workflow File Path"
},
"Prompt": {
"AutoRefresh": "Preview auto-refreshes with input text changes",
"CodeEditor": "Code Editor",
"Flat": "Flat View",
"FormEditor": "Form Editor",
"LastUpdated": "Last updated",
"Loading": "Loading preview...",
"NoMessages": "No message available for preview",
"Preview": "Prompt Preview",
"SchemaNotProvided": "Schema Not Provided",
"SchemaNotProvidedDescription": "No JSON schema was provided or could be fetched. Form cannot be rendered.",
"Tree": "Tree View",
"ValidationErrors": "Validation Errors"
},
"PromptConfig": {
"AddItem": "Add project",
"EmptyArray": "No items have been added yet. Click the button below to add your first item.",
"ItemCount": "{{count}} items",
"RemoveItem": "Remove item",
"Tabs": {
"Prompts": "prompt",
"Response": "response"
},
"Tags": {
"HelperText": "Press Enter to add a tag after input, or select from predefined tags.",
"NoOptions": "No optional tags",
"Placeholder": "Input tags..."
}
},
"Schema": {
"AIConfig": {
"Description": "AI Conversation Settings Configuration",
"Title": "AI Configuration"
},
"AgentConfig": {
"Description": "Agent Configuration",
"Id": "Agent Unique Identifier",
"IdTitle": "Agent ID",
"PromptConfig": {
"Description": "Prompt configuration",
"Prompts": "Prompt Configuration List",
"Response": "Response Configuration List",
"Title": "Prompt Configuration"
},
"Title": "Agent Configuration"
},
"AutoReroll": {
},
"BaseAPIConfig": {
"API": "API providers and model configurations",
"APITitle": "API Configuration",
"Description": "Basic API Configuration",
"ModelParameters": "Model parameter configuration",
"ModelParametersTitle": "model parameters",
"Title": "Basic API Configuration"
},
"DefaultAgents": {
"Description": "Default Agent Configuration List",
"Title": "default intelligent agent"
},
"DynamicPosition": {
},
"FullReplacement": {
"Description": "Complete replacement of parameter configuration",
"SourceType": "source type",
"SourceTypeTitle": "source type",
"SourceTypes": {
},
"TargetId": "Target Element ID",
"TargetIdTitle": "Target ID",
"Title": "Fully replace parameters"
},
"Function": {
},
"HandlerConfig": {
},
"JavascriptTool": {
},
"MCP": {
"Description": "Model Context Protocol Parameter Configuration",
"Id": "MCP Server ID",
"IdTitle": "Server ID",
"ResponseProcessing": {
},
"TimeoutMessage": "timeout message",
"TimeoutMessageTitle": "timeout message",
"TimeoutSecond": "Timeout (seconds)",
"TimeoutSecondTitle": "timeout period",
"Title": "Model Context Protocol Parameters"
},
"ModelParameters": {
"Description": "Model parameter configuration",
"MaxTokens": "Maximum number of tokens generated",
"MaxTokensTitle": "Maximum token count",
"SystemPrompt": "Model system prompt words",
"SystemPromptTitle": "System prompt",
"Temperature": "Response generation temperature (higher = more creative)",
"TemperatureTitle": "temperature",
"Title": "model parameters",
"TopP": "Top P sampling parameter",
"TopPTitle": "Top P"
},
"Position": {
"Bottom": "Offset a few messages from the bottom",
"BottomTitle": "bottom offset",
"Description": "Position Parameter Configuration",
"TargetId": "target element ID",
"TargetIdTitle": "Target ID",
"Title": "positional arguments",
"Type": "Location Type",
"TypeTitle": "Location Type",
"Types": {
}
},
"Prompt": {
"Caption": "brief description",
"CaptionTitle": "description",
"Children": "The sub-prompt list will be concatenated from top to bottom, and from outer to inner, to form the final prompt text.",
"ChildrenTitle": "sub-prompt",
"Description": "Complete prompt configuration, including type and content",
"Enabled": "Whether to enable this prompt, only enabled ones will be incorporated into the final prompt.",
"EnabledTitle": "enable",
"Id": "The unique identifier for the prompt configuration, facilitating reference via targetId in PromptDynamicModification.",
"IdTitle": "ID",
"Role": "Prompt role for OpenAI-compatible interface",
"RoleTitle": "role",
"RoleType": {
"Assistant": "Assistant - AI's replies and responses",
"System": "System - Defines the behavioral rules and background settings for AI",
"User": "User - Simulate user input and requests"
},
"Tags": "Tag List",
"TagsTitle": "label",
"Text": "The prompt content can include syntax supported by wiki text, such as <<variable name>>.",
"TextTitle": "text",
"Title": "prompt"
},
"PromptDynamicModification": {
"DynamicModificationTypes": {
}
},
"PromptPart": {
},
"ProviderModel": {
"Description": "Provider and Model Configuration",
"EmbeddingModel": "Embedding model name for semantic search and vector operations",
"EmbeddingModelTitle": "Embedding Model",
"ImageGenerationModel": "Image generation model name for creating images from text",
"ImageGenerationModelTitle": "Image Generation Model",
"Model": "AI model name",
"ModelTitle": "Model",
"Provider": "AI provider name",
"ProviderTitle": "Provider",
"SpeechModel": "Speech generation model name for text-to-speech operations",
"SpeechModelTitle": "Speech Model",
"Title": "Provider and Model",
"TranscriptionsModel": "Transcriptions model name for speech-to-text operations",
"TranscriptionsModelTitle": "Transcriptions Model"
},
"RAG": {
"Removal": {
},
"SourceTypes": {
}
},
"Response": {
"Description": "The response from an external API, typically used as the target for dynamic modifications in responses, shares the same structure as the prompt. It can be filled with preset content or serve as a placeholder or container, where ResponseDynamicModification injects the specific content from the external API's response.",
"Title": "response"
},
"ResponseDynamicModification": {
"DynamicModificationTypes": {
},
"ResponseProcessingTypes": {
}
},
"ToolCalling": {
},
"Trigger": {
"Model": {
}
},
"Wiki": {
},
"WikiOperation": {
"Description": "Execute Tiddler operations (add, delete, or set text) in wiki workspaces",
"Title": "Wiki Operation",
"Tool": {
"Examples": {
},
"Parameters": {
"extraMeta": {
"Description": "JSON string of extra metadata such as tags and fields, defaults to \"{}\"",
"Title": "Extra Metadata"
},
"operation": {
"Description": "Type of operation to execute",
"Title": "Operation Type"
},
"options": {
"Description": "JSON string of operation options, defaults to \"{}\"",
"Title": "Operation Options"
},
"text": {
"Description": "Text content of the Tiddler",
"Title": "Tiddler Content"
},
"title": {
"Description": "Title of the Tiddler",
"Title": "Tiddler Title"
},
"workspaceName": {
"Description": "Name or ID of the workspace to operate on",
"Title": "Workspace Name"
}
}
},
"ToolListPosition": {
"Position": "Position relative to target element (before/after)",
"PositionTitle": "Insert Position",
"TargetId": "ID of the target element where the tool list will be inserted",
"TargetIdTitle": "Target ID"
},
"ToolResultDuration": "Number of rounds tool execution results remain visible in conversation, after which they become grayed out",
"ToolResultDurationTitle": "Tool Result Duration"
},
"WikiSearch": {
"Description": "Search for content in TiddlyWiki workspaces using filter expressions",
"SourceType": "Data source type",
"SourceTypeTitle": "source type",
"Title": "Wiki Search",
"Tool": {
"Parameters": {
"filter": {
"Description": "TiddlyWiki Filter Expressions",
"Title": "filter"
},
"limit": {
"Description": "Maximum number of results to return",
"Title": "limit"
},
"query": {
"Description": "Query text (natural language) used for vector search",
"Title": "query"
},
"searchType": {
"Description": "Choose a search mode based on rules or similarity.",
"Title": "search type"
},
"threshold": {
"Description": "Similarity threshold (0-1), vector results below this threshold will be filtered.",
"Title": "threshold"
},
"workspaceName": {
"Description": "Workspace name or ID to search for",
"Title": "Workspace Name"
}
}
},
"ToolListPosition": {
"Position": "Insertion position relative to the target position",
"PositionTitle": "insertion position",
"TargetId": "The ID of the target element, the tool list will be inserted relative to this element.",
"TargetIdTitle": "Target ID"
},
"ToolListPositionTitle": "Tool List Location",
"ToolResultDuration": "The number of turns during which the tool execution result remains visible in the conversation; after exceeding this number, the result will be displayed grayed out.",
"ToolResultDurationTitle": "Tool Result Duration Rounds"
}
},
"Search": {
"AvailableAgents": "Available Agents",
"FailedToCreateChatWithAgent": "Unable to create a conversation with the agent.",
"FailedToFetchAgents": "Failed to retrieve the agent list",
"NoAgentsFound": "Agent not found",
"NoClosedTabsFound": "No recently closed tabs",
"NoTabsFound": "No tabs found",
"OpenTabs": "Open tabs",
"RecentlyClosedTabs": "Recently closed tabs"
},
"SplitView": {
"NoTabs": "No tabs in split-screen view"
},
"Tab": {
"Title": {
"CreateNewAgent": "Create New Agent",
"EditAgentDefinition": "Edit Agent",
"NewTab": "New Tab",
"NewWeb": "Create a new webpage",
"SplitView": ""
}
},
"Tool": {
"Schema": {
"Description": "Description",
"Examples": "Usage Examples",
"Optional": "Optional",
"Parameters": "Parameters",
"Required": "Required"
},
"WikiOperation": {
"Error": {
"WorkspaceNotExist": "Workspace {{workspaceID}} does not exist",
"WorkspaceNotFound": "Workspace with name or ID \"{{workspaceName}}\" does not exist. Available workspaces: {{availableWorkspaces}}"
},
"Success": {
"Added": "Successfully added tiddler \"{{title}}\" in wiki workspace \"{{workspaceName}}\"",
"Deleted": "Successfully deleted tiddler \"{{title}}\" from wiki workspace \"{{workspaceName}}\"",
"Updated": "Successfully set text for tiddler \"{{title}}\" in wiki workspace \"{{workspaceName}}\""
}
},
"WikiSearch": {
"Error": {
"ExecutionFailed": "Tool execution failed: {{error}}",
"WorkspaceNotExist": "Workspace {{workspaceID}} does not exist",
"WorkspaceNotFound": "Workspace with name or ID \"{{workspaceName}}\" does not exist. Available workspaces: {{availableWorkspaces}}"
},
"Success": {
"Completed": "Wiki search completed successfully. Found {{totalResults}} total results, showing {{shownResults}}:\n\n",
"NoResults": "No results found for filter \"{{filter}}\" in wiki workspace \"{{workspaceName}}\"",
"NoVectorResults": "No eligible vector search results were found in the Wiki workspace \"{{workspaceName}}\" (similarity threshold: {{threshold}}).",
"VectorCompleted": "Based on vector search, the following related content was found in the workspace {{workspaceName}}:"
},
"UpdateEmbeddings": {
"Error": {
"ExecutionFailed": "Failed to generate embedding: {{error}}",
"NoAIConfig": "Please configure the AI provider and embedding model first (in Settings).",
"WorkspaceNotExist": "Workspace {{workspaceID}} does not exist.",
"WorkspaceNotFound": "The workspace name or ID \"{{workspaceName}}\" does not exist. Available workspaces: {{availableWorkspaces}}"
},
"Success": {
"Generated": "The vector embedding index has been successfully generated for the workspace {{workspaceName}}. Total of {{totalNotes}} notes and {{totalEmbeddings}} embeddings."
}
}
}
}
}