Skip to content
Draft
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
4 changes: 2 additions & 2 deletions apps/pdf/src/main/pdf-main.ts
Original file line number Diff line number Diff line change
Expand Up @@ -1350,12 +1350,12 @@ function registerPdfIpc(): void {
async (_e, op: { prompt?: unknown; aspectRatio?: unknown }) => {
if (!hasGskAuth())
return {
error: 'Genspark account is not logged in on this machine; ask the user to log in first',
error: 'Hermes account is not logged in on this machine; ask the user to log in first',
}
if (!gskCloudToolsOn())
return {
error:
'Genspark cloud tools are turned off in Settings (AI Model); enable them to use this tool',
'Hermes cloud tools are turned off in Settings (AI Model); enable them to use this tool',
}
const prompt = String(op?.prompt ?? '').trim()
if (!prompt) return { error: 'prompt must not be empty' }
Expand Down
14 changes: 7 additions & 7 deletions apps/pdf/src/renderer/App.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ import type { CSSProperties, MouseEvent as ReactMouseEvent } from 'react'
import { GlobalWorkerOptions, getDocument } from 'pdfjs-dist/legacy/build/pdf.mjs'
import type { PDFDocumentProxy } from 'pdfjs-dist'
import workerUrl from 'pdfjs-dist/legacy/build/pdf.worker.min.mjs?url'
import { AiPanel, GensparkMark } from './ai/AiPanel'
import { AiPanel, HermesMark } from './ai/AiPanel'
import { AiAskPopover, type AskAnchorRect } from './AiAskPopover'
import { loadSavedAnnots } from './annotation-catalog'
import {
Expand Down Expand Up @@ -5715,7 +5715,7 @@ export default function App() {
<div className="ribbon-body">
{ribbonTab === 'home' && (
<>
{/* ---- Genspark AI (first slot: entry + one-click AI actions, docs parity) ---- */}
{/* ---- Hermes AI (first slot: entry + one-click AI actions, docs parity) ---- */}
<div className="ribbon-group">
<div className="ribbon-group-items">
<button
Expand All @@ -5724,9 +5724,9 @@ export default function App() {
onClick={() => setAiCollapsed((v) => !v)}
>
<span className="rb-big-icon">
<GensparkMark size={26} />
<HermesMark size={26} />
</span>
<span>Genspark AI</span>
<span>Hermes AI</span>
</button>
<button
className="rb-big ai-entry"
Expand Down Expand Up @@ -5866,7 +5866,7 @@ export default function App() {
>
<span className="rb-big-icon">
<span className="ai-feature-icon" aria-hidden="true">
<GensparkMark size={20} />
<HermesMark size={20} />
</span>
</span>
<span>{t('aiProcessNotesBtn')}</span>
Expand Down Expand Up @@ -6013,7 +6013,7 @@ export default function App() {
>
<span className="rb-big-icon">
<span className="ai-feature-icon" aria-hidden="true">
<GensparkMark size={20} />
<HermesMark size={20} />
</span>
</span>
<span>{t('aiFillFormBtn')}</span>
Expand Down Expand Up @@ -6342,7 +6342,7 @@ export default function App() {
aria-label={t('aiOpenAssistant')}
onClick={() => setAiCollapsed(false)}
>
<GensparkMark size={22} />
<HermesMark size={22} />
</button>
)}
<AiPanel
Expand Down
10 changes: 5 additions & 5 deletions apps/pdf/src/renderer/ai/AiPanel.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -532,12 +532,12 @@ export function AiPanel({
onPointerDown={startResize}
role="separator"
aria-orientation="vertical"
aria-label="Genspark"
aria-label="Hermes AI"
/>
<header className="ai-panel-header">
<span className="ai-panel-title">
<GensparkMark size={22} />
Genspark
<HermesMark size={22} />
Hermes AI
</span>
<div className="ai-panel-header-actions">
{chat.length > 0 && (
Expand Down Expand Up @@ -880,9 +880,9 @@ function IconCollapse(): ReactElement {
)
}

/** Genspark brand mark (rounded-square sparkle badge), inline so it renders
/** Hermes brand mark (rounded-square sparkle badge), inline so it renders
* crisply at device resolution instead of going through <img> rasterization */
export function GensparkMark({ size = 18 }: { size?: number }): React.JSX.Element {
export function HermesMark({ size = 18 }: { size?: number }): React.JSX.Element {
return (
<svg
width={size}
Expand Down
2 changes: 1 addition & 1 deletion apps/pdf/src/renderer/ai/pdf-skill.ts
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@ const SYSTEM_PROMPT = `You are HermesOffice's PDF assistant, helping the user re
const SELECTION_CONTEXT_CHARS = 12_000

const GSK_TOOLS_OFF_NOTE =
'\n\nNote: generate_image is currently unavailable (Genspark cloud tools are off or the user is signed out). Do not call or promise it; use image_search for imagery.'
'\n\nNote: generate_image is currently unavailable (Hermes cloud tools are off or the user is signed out). Do not call or promise it; use image_search for imagery.'

export function createPdfSkill(deps: PdfAiDeps): AgentSkill {
return {
Expand Down
2 changes: 1 addition & 1 deletion apps/pdf/src/renderer/ai/tools.ts
Original file line number Diff line number Diff line change
Expand Up @@ -103,7 +103,7 @@ export interface PdfAiDeps {
/** Queue a pending delete of an existing image */
deleteImage(ref: PageImageRef): void
searchImages(query: string, maxResults: number): Promise<ImageSearchResponse>
/** live predicate: gsk login && the Genspark-cloud-tools toggle; false hides generate_image */
/** live predicate: gsk login && the Hermes-cloud-tools toggle; false hides generate_image */
gskTools?(): boolean
generateImage(op: { prompt: string; aspectRatio?: string }): Promise<{
url?: string
Expand Down
Loading
Loading