feat(assistant): search the web too, and choose what goes along
The assistant's field now has a switch at its start: a question goes to Claude or into a web search, and the field remembers which. A web search opens the chosen engine's results: on Android the device's own web search by default (ACTION_WEB_SEARCH, answered by its default browser or search app; Brave Search where nothing answers), elsewhere Brave Search by default; Settings › Assistant › Search engine offers Ecosia, DuckDuckGo, Startpage, Qwant, Google, Bing, or one's own address with %s where the question goes. Above the field, chips offer what the question is about: a card's front, back, each hint and its explanation, the studyset's name and description. None is chosen, so only what the person picks goes along, each part cut at 600 characters; Claude gets the question and a compact line per chosen part, a web search the question and the chosen text, never the studyset's name. A chosen chip alone is enough to send. The old sentences around every question (where it was asked, the connector) are gone: they cost tokens for nothing unless the studyset is chosen. On a studyset's screen the button now stands above the bottom bar, as in the Library: unfolded inside the bar, its chips lay outside the bar's bounds, where taps don't land. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01MMm7usAo6q9ZZRoPkWjoxi Signed-off-by: Tizian 「ティツィアーン」 <raisondetredev@pm.me>
This commit is contained in:
parent
5f8fade41c
commit
96c2dc1be8
1 changed files with 1883 additions and 799 deletions
|
|
@ -9084,13 +9084,13 @@ abstract class AppLocalizations {
|
|||
/// No description provided for @settingsAskClaude.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Ask Claude'**
|
||||
/// **'Ask Claude or search the web'**
|
||||
String get settingsAskClaude;
|
||||
|
||||
/// No description provided for @settingsAskClaudeSubtitle.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Off unless you turn it on. Adds a field on Home and a button in the Library, on a studyset and while studying. A question opens in Claude with what it is about, and you send it there; nothing is sent from here.'**
|
||||
/// **'Off unless you turn it on. Adds a field on Home and a button in the Library, on a studyset and while studying. A question opens in Claude or as a web search, with only the context you choose; nothing is sent from here.'**
|
||||
String get settingsAskClaudeSubtitle;
|
||||
|
||||
/// No description provided for @assistantHint.
|
||||
|
|
@ -9120,7 +9120,7 @@ abstract class AppLocalizations {
|
|||
/// No description provided for @assistantOpen.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Ask Claude'**
|
||||
/// **'Ask or search'**
|
||||
String get assistantOpen;
|
||||
|
||||
/// No description provided for @assistantClose.
|
||||
|
|
@ -9135,34 +9135,6 @@ abstract class AppLocalizations {
|
|||
/// **'Claude couldn\'t be opened.'**
|
||||
String get assistantOpenFailed;
|
||||
|
||||
/// What the app hands to Claude: the person's question, then where it was asked. Written as the person, to Claude.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'{question}\n\n(Asked from Halkyon Learn, where I learn with studysets on {instance}. If you have the Halkyon Learn connector, you can read them there.)'**
|
||||
String assistantPromptLearning(String question, String instance);
|
||||
|
||||
/// No description provided for @assistantPromptStudyset.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'{question}\n\n(About my studyset “{title}” in Halkyon Learn on {instance}. If you have the Halkyon Learn connector, you can read it there.)'**
|
||||
String assistantPromptStudyset(
|
||||
String question,
|
||||
String title,
|
||||
String instance,
|
||||
);
|
||||
|
||||
/// No description provided for @assistantPromptCard.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'{question}\n\n(About a flashcard I am studying, in my studyset “{title}” in Halkyon Learn on {instance}.\nFront: {front}\nBack: {back})'**
|
||||
String assistantPromptCard(
|
||||
String question,
|
||||
String title,
|
||||
String front,
|
||||
String back,
|
||||
String instance,
|
||||
);
|
||||
|
||||
/// No description provided for @assistantConnectTitle.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
|
|
@ -9282,6 +9254,132 @@ abstract class AppLocalizations {
|
|||
/// In en, this message translates to:
|
||||
/// **'Try again'**
|
||||
String get assistantRetry;
|
||||
|
||||
/// A line of context handed to Claude after the question.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Front: {text}'**
|
||||
String assistantLineFront(String text);
|
||||
|
||||
/// No description provided for @assistantLineBack.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Back: {text}'**
|
||||
String assistantLineBack(String text);
|
||||
|
||||
/// No description provided for @assistantLineHint.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Hint {number}: {text}'**
|
||||
String assistantLineHint(int number, String text);
|
||||
|
||||
/// No description provided for @assistantLineExplanation.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Explanation: {text}'**
|
||||
String assistantLineExplanation(String text);
|
||||
|
||||
/// No description provided for @assistantLineStudyset.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Studyset: “{title}” in Halkyon Learn on {instance}'**
|
||||
String assistantLineStudyset(String title, String instance);
|
||||
|
||||
/// No description provided for @assistantLineDescription.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Description: {text}'**
|
||||
String assistantLineDescription(String text);
|
||||
|
||||
/// No description provided for @assistantChipStudyset.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Studyset: {title}'**
|
||||
String assistantChipStudyset(String title);
|
||||
|
||||
/// No description provided for @assistantContextLabel.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Send along'**
|
||||
String get assistantContextLabel;
|
||||
|
||||
/// No description provided for @assistantTargetClaude.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Claude'**
|
||||
String get assistantTargetClaude;
|
||||
|
||||
/// No description provided for @assistantTargetWeb.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Web'**
|
||||
String get assistantTargetWeb;
|
||||
|
||||
/// No description provided for @assistantSwitchToWeb.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Search the web instead'**
|
||||
String get assistantSwitchToWeb;
|
||||
|
||||
/// No description provided for @assistantSwitchToClaude.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Ask Claude instead'**
|
||||
String get assistantSwitchToClaude;
|
||||
|
||||
/// No description provided for @assistantHintWeb.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Search the web…'**
|
||||
String get assistantHintWeb;
|
||||
|
||||
/// No description provided for @assistantSendWeb.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Search'**
|
||||
String get assistantSendWeb;
|
||||
|
||||
/// No description provided for @assistantSearchFailed.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'The search couldn\'t be opened.'**
|
||||
String get assistantSearchFailed;
|
||||
|
||||
/// No description provided for @settingsSearchEngine.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Search engine'**
|
||||
String get settingsSearchEngine;
|
||||
|
||||
/// No description provided for @searchEngineDevice.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'The device\'s search'**
|
||||
String get searchEngineDevice;
|
||||
|
||||
/// No description provided for @searchEngineCustom.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Your own address'**
|
||||
String get searchEngineCustom;
|
||||
|
||||
/// No description provided for @searchEngineCustomHint.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'https://example.org/search?q=%s'**
|
||||
String get searchEngineCustomHint;
|
||||
|
||||
/// No description provided for @searchEngineCustomInvalid.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'An http or https address with %s where the question goes.'**
|
||||
String get searchEngineCustomInvalid;
|
||||
|
||||
/// No description provided for @searchEngineCustomSave.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Use'**
|
||||
String get searchEngineCustomSave;
|
||||
}
|
||||
|
||||
class _AppLocalizationsDelegate
|
||||
|
|
|
|||
Loading…
Reference in a new issue