feat(assistant): ask Claude from Home, the Library, a studyset and a session

A device setting, off unless the person turns it on (Settings ›
Assistant), shows a field at the foot of Home and a button that unfolds
into one: above Create studyset in the Library (smaller), in the free lane
on the right of a studyset's bottom bar (floating alone from expanded
windows on), and in the card's lower right corner while studying.

A question is handed to Claude, not answered here: the app opens
claude.ai/new with the question written in, followed by what it is about
(the person's learning on the instance, a studyset by name, or the studied
card's front and back as text), cut at 12,000 characters, for the person
to read and send in Claude. A Claude plan can't drive a chat inside
another app, as Anthropic allows no third party to offer sign-in with it;
Claude is to read the studysets through a connector on the instance
instead (next). Nothing leaves the app until the person sends it there.

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:
Tizian 「ティツィアーン」 2026-10-10 11:51:58 +02:00
commit f4baf053b3
Signed by: raisondetredev
GPG key ID: 07F6FCF405488B64

View file

@ -5627,6 +5627,64 @@ class AppLocalizationsEn extends AppLocalizations {
@override
String get kanjiExampleWords => 'Words with it';
@override
String get settingsAssistant => 'Assistant';
@override
String get settingsAskClaude => 'Ask Claude';
@override
String get settingsAskClaudeSubtitle =>
'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.';
@override
String get assistantHint => 'Ask Claude…';
@override
String assistantHintStudyset(String title) {
return 'Ask Claude about $title…';
}
@override
String get assistantHintCard => 'Ask Claude about this card…';
@override
String get assistantSend => 'Ask in Claude';
@override
String get assistantOpen => 'Ask Claude';
@override
String get assistantClose => 'Close';
@override
String get assistantOpenFailed => 'Claude couldn\'t be opened.';
@override
String assistantPromptLearning(String question, String instance) {
return '$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.)';
}
@override
String assistantPromptStudyset(
String question,
String title,
String instance,
) {
return '$question\n\n(About my studyset “$title” in Halkyon Learn on $instance. If you have the Halkyon Learn connector, you can read it there.)';
}
@override
String assistantPromptCard(
String question,
String title,
String front,
String back,
String instance,
) {
return '$question\n\n(About a flashcard I am studying, in my studyset “$title” in Halkyon Learn on $instance.\nFront: $front\nBack: $back)';
}
}
/// The translations for English, as used in the United Kingdom (`en_GB`).