Add an in-app BYOK authoring agent #14

Open
opened 2026-09-16 12:05:36 +02:00 by morten-olsen · 0 comments
Owner

Context

Issue #10 delivered the transport-neutral authoring tool module and authorized Android IPC adapter. The first remaining consumer is an in-app agent using an OpenAI-compatible provider configured by the user.

Scope

  • Add provider settings for an OpenAI-compatible base URL, model, and bring-your-own API key.
  • Store provider credentials with Android-appropriate private storage and never place them in workflow documents, logs, captures, audits, or tool results.
  • Implement a bounded agent/tool loop that invokes the shared AuthoringToolModule directly rather than reproducing workflow, registry, validation, mutation, or fixture-test behavior.
  • Present proposed workflow changes and structured diagnostics in an in-app authoring conversation.
  • Require explicit user confirmation before write-scope tools mutate saved workflows; read and deterministic test tools remain distinguishable in the UI.
  • Support cancellation, request/time/tool-call limits, provider failures, and context-size failures with actionable recovery.
  • Keep the provider seam OpenAI-compatible and avoid proprietary device services so the app remains F-Droid compatible.

Non-goals

  • Do not expose HTTP or MCP from the app in this issue.
  • Do not give the model live workflow execution or arbitrary-code/database access.
  • Do not make one hosted provider mandatory.

Acceptance

  • A user can configure an OpenAI-compatible provider and author a workflow through the shared tools.
  • The agent can inspect installed definitions, validate and fixture-test its draft, and only mutate a saved workflow after confirmation.
  • Invalid tool calls and provider failures are recoverable without partial workflow mutation.
  • Credentials and workflow contents do not appear in authorization/audit logs.
  • Focused tests prove tool-loop limits, confirmation gating, cancellation, and provider-error handling.
## Context Issue #10 delivered the transport-neutral authoring tool module and authorized Android IPC adapter. The first remaining consumer is an in-app agent using an OpenAI-compatible provider configured by the user. ## Scope - Add provider settings for an OpenAI-compatible base URL, model, and bring-your-own API key. - Store provider credentials with Android-appropriate private storage and never place them in workflow documents, logs, captures, audits, or tool results. - Implement a bounded agent/tool loop that invokes the shared `AuthoringToolModule` directly rather than reproducing workflow, registry, validation, mutation, or fixture-test behavior. - Present proposed workflow changes and structured diagnostics in an in-app authoring conversation. - Require explicit user confirmation before write-scope tools mutate saved workflows; read and deterministic test tools remain distinguishable in the UI. - Support cancellation, request/time/tool-call limits, provider failures, and context-size failures with actionable recovery. - Keep the provider seam OpenAI-compatible and avoid proprietary device services so the app remains F-Droid compatible. ## Non-goals - Do not expose HTTP or MCP from the app in this issue. - Do not give the model live workflow execution or arbitrary-code/database access. - Do not make one hosted provider mandatory. ## Acceptance - A user can configure an OpenAI-compatible provider and author a workflow through the shared tools. - The agent can inspect installed definitions, validate and fixture-test its draft, and only mutate a saved workflow after confirmation. - Invalid tool calls and provider failures are recoverable without partial workflow mutation. - Credentials and workflow contents do not appear in authorization/audit logs. - Focused tests prove tool-loop limits, confirmation gating, cancellation, and provider-error handling.
Sign in to join this conversation.
No labels
bug
enhancement
feature
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
incubator/macros#14
No description provided.