Skip to content

Releases: capek-dev/prokop

Server 1.17.0

Choose a tag to compare

@github-actions github-actions released this 17 Sep 13:26

Added

  • Experimental memory and skill selection: Enable task-aware context selection in Settings → Experimental after configuring a TypeSafe API key under LLM providers. Prokop scores eligible memory entries and skills against the request and bounded conversation context, then includes qualifying memories and preloads selected skill bodies. Preferences and system instructions remain included, and workspace memory access settings still apply. The feature is disabled by default and sends task text, recent conversation, eligible memories, and skill content to TypeSafe when enabled.

  • Configurable relevance acceptance: Choose a minimum relevance level and required probability. Defaults accept candidates with at least a 70% combined probability of level 2 (directly useful) or above, rather than requiring an average score of 2. Qualifying candidates remain subject to separate memory and skill character budgets. Changes apply server-wide to subsequent responses without restarting.

  • Per-response Context details: Inspect the memories, preferences, and skill bodies assembled for a response. Technical details show qualifying probabilities, selection settings, exclusions, and content revisions. Snapshots preserve the content used at assembly time; they do not assert provider delivery or compliance. Historical snapshots remain readable.

  • Expanded memory capacity: Enabling experimental selection raises workspace and agent MEMORY.md capacity to 50,000 characters each, while responses retain a 5,000-character ordinary-memory budget. USER.md remains limited to 1,500 characters. Disabling selection restores the 2,500-character write limit without truncating saved files. Selection failures and timeouts use bounded fallback memory.

Changed

  • DeepSeek Flash image capability: The bundled model configuration now declares image input support alongside text.

Operational notes

  • Selection diagnostics contain private context: Server logs include serialized TypeSafe scoring requests and mapped results for debugging. These can contain conversation text, memories, and skill content. The configured TypeSafe key is redacted, but other secrets within content are not automatically detected. Treat these logs as sensitive.

Server 1.16.0

Choose a tag to compare

@github-actions github-actions released this 16 Sep 15:49

Changed

  • Load archived and scheduled sessions on demand: Archived and Scheduled start collapsed when entering a workspace, showing session counts without fetching their lists. Expand either category to load its sessions, with separate pagination and retry controls. Only normal active sessions are listed on initial load, including in Overview. Counts refresh through session events and reconnect handling, without polling. Scheduled-job controls remain available, and archived bulk deletion is labelled Delete loaded sessions to distinguish it from deleting the entire archive.

  • Consistent session category headers: Scheduled now uses the same compact uppercase label, chevron, spacing, and muted inline count as Active and Archived. Its three-dot menu remains visible, including on mobile.

Added

  • Multiple Codex subscriptions: Save several ChatGPT logins under Settings → LLM providers → Account subscriptions. Use Add account to connect another login, then select it to make it active server-wide, with no Save button. Adding an account preserves the current selection. Existing logins are retained, and signing in again with the same ChatGPT account and user identity updates that entry. Switching applies to new Codex runs; ongoing model invocations and their retries stay on the original account. Account changes update other open clients without polling. Removing the active account leaves the others saved but unselected, with no automatic fallback.

  • Per-workspace session ordering: Choose whether tagged groups appear above or below untagged sessions. Change the order immediately from the session panel’s Active → ⋯ menu, or choose Tagged first or Untagged first in Workspace Settings → Sessions and save. The preference is saved per workspace and also applies in the overview. Tagged-first remains the default, and ordering within each group is unchanged.

  • Workspace sorting: Order the workspace selector by name (A to Z or Z to A), newest added, oldest added, or recently active. Change the order with the small sort button beside workspace search or in Settings → Appearance → Workspace order. The preference is saved on this device across servers, with newest added as the default. Workspaces and Agent homes stay in separate groups. Recently active uses the latest user or assistant message, not opening or renaming a session. Activity updates arrive live and refresh after reconnect, without moving rows while the selector is open.

  • Optional commit hooks: The commit form now includes a Run commit hooks checkbox, checked by default. Uncheck it to skip repository hooks for that commit, including when using Commit & push or Commit & force push. The option resets after a successful commit and does not change repository configuration. Commit signing, selected-file safeguards, and unrelated staged changes remain intact.

Server 1.15.0

Choose a tag to compare

@github-actions github-actions released this 14 Sep 07:20

Added

  • Automatic update notices: The client checks for a newer server version when connecting, then checks again on browser focus or reconnect when the cached result is over one hour old. Checks do not poll in the background. When an update is available, a small dot appears on the settings cog, its tooltip shows the available version and update command, and the settings dropdown includes instructions accessible without hovering. A quiet, eight-second toast appears once per server and available version per browser tab. Run prokop update in a terminal on the machine hosting the server to update; nothing is installed automatically.
  • Published-release validation: Update checks compare the running server's /api/info version with packages/server/VERSION on the capek-dev/prokop GitHub repository's main branch. The matching server/vX.Y.Z release must be published, non-draft, and non-prerelease before an update is advertised. A version bump without a published release does not trigger a notice. Failed checks remain quiet.
  • Development version behavior: In development, the running server normally reads its version from the local packages/server/VERSION file. Checks compare semantic version numbers, not commits or the client package version. Equal or newer local versions do not trigger notices, and unrecognized versions such as 0.0.0-dev are excluded. These server update notices are separate from the existing PWA refresh flow.

Fixed

  • Separate instance data directories: prokop start now forwards the resolved data directory to the background server using both PROKOPAI_DATA_DIR and the legacy JEAN2_DATA_DIR. Previously, an instance launched with a custom data directory could listen on the requested port while loading the default production database and configuration instead. The background server now uses the same data root as its parent process's PID and log files.

Server 1.14.0

Choose a tag to compare

@github-actions github-actions released this 11 Sep 11:42

Added

Learning

  • Automatic background learning: Enable Automatic learning in workspace settings to review eligible conversations and save lessons to memory and user preferences, with optional skill creation and refinement. Learning is opt-in and supports both workspace knowledge and an agent's personal knowledge in its home workspace. Enabling learning also enables Memory and Session search without changing existing permission risk settings.
  • Configurable learners: Choose learner preconfigs, override their models and variants, and set each learner's focus and timing: quiet period, minimum interval, and maximum pending age. Workspace learners can share instructions, and Preview prompt shows the configured review prompt before saving.
  • Learning sources and exclusions: Personal learning can use all eligible workspaces or a selected set, and each workspace can disallow its use as a personal learning source. Personal reviews use the agent recorded on each message, rather than assuming the session's owner participated. The session menu offers Exclude from learning and Allow future learning without removing knowledge already saved.
  • Learning history and undo: Browse recent runs with learner names, statuses, grouped source conversations, and per-file patch diffs. Open source conversations or the learning session directly from a run. Undo this change restores an individual change only if its file still matches the learning result, leaving later edits untouched. Background learning sessions stay out of the sidebar and overview.
  • Automatic recovery: Interrupted learning runs recover after cleanup or server restart without replaying unfinished writes. Saved changes are preserved, unfinished evidence remains eligible for a fresh review, and history marks automatically recovered runs while keeping undo available.

Git

  • Revert modified files: Use Revert changes… from a modified file's row menu in the Changes tab to restore that file to its last committed version. A destructive confirmation identifies the file before both staged and unstaged changes are discarded. The action applies only to tracked modified files, respects the selected checkout, leaves unrelated changes untouched, and refreshes Git state across connected clients.

Changed

  • Agent runtime: Updated @capekai/core from 1.0.11 to 1.0.13.

Server 1.13.0

Choose a tag to compare

@github-actions github-actions released this 08 Sep 14:17

Changed

  • Long-conversation tool previews: Automatic tool previews are limited to the latest three submitted user prompts. Older previews stay collapsed until opened, reducing rendering work while browsing history. Manual expansion survives scrolling away and back, queued prompts do not advance the cutoff, and active tools and pending questions remain available.
  • Raw tool data: Opening a tool preview no longer fetches or renders its raw input and output. Tools with previews offer a separate, muted Show raw data link, with Hide raw data to collapse it again.

Fixed

  • Server reconnect recovery: Clients retry immediately after losing a connection, with subsequent retry gaps capped at three seconds in the foreground. Initial page loading also retries when the server is unavailable. Connection attempts are bounded and cancellable, temporary server errors no longer appear as invalid credentials, and retired sockets cannot overwrite the current connection state. Recovery restores session subscriptions without replaying mutations.

  • Shutdown and stale connections: Server shutdown explicitly closes chat and terminal sockets and rejects new WebSocket connections. Clients detect stale connections after 90 seconds of silence and check connection freshness when returning to the app.

  • Reconnect status: Retry countdowns distinguish waiting from active connection attempts. The status appears only after 1.5 seconds of disconnection, floats below the header without shifting content, and resets when switching servers or reconnecting.

  • Codex connection recovery: Early socket connection failures now use the SDK's bounded retries for the failed model request, including after completed tools, instead of immediately stopping chats and goal runs. Completed tools are not replayed, cancellation remains available, and failures after response output still stop safely. Includes @capekai/core 1.0.11.

  • Git pull and branch switching: Unrelated modified and staged files no longer block fast-forward pulls or branch switches. Git still rejects operations that would overwrite local work, including ignored files. Pull remains fast-forward only, with no automatic stashing.

  • Session opening: The conversation now mounts after the selected pane has a paint opportunity, showing a loading state before expensive transcript rendering, including for cached sessions.

  • History scroll anchoring: The transcript now compensates for message-height changes as historical rows are measured or previews are expanded, in addition to preserving position when older messages are added.

  • Text pulsing while scrolling: Removed the message entrance fade-and-slide animation so historical messages do not replay it when virtualized rows remount. Streaming text reveal is unchanged.

Server 1.12.0

Choose a tag to compare

@github-actions github-actions released this 07 Sep 14:32

Added

Git

  • Add untracked files to Git: Use Add to Git from an untracked file's row menu in the Changes tab to stage that file in the selected checkout. Git status and file decorations refresh automatically. The action respects ignored files, rejects unavailable checkouts rather than falling back to the primary checkout, and does not create a commit. Staged additions also offer Move to untracked, or Remove staged addition when the file has already been deleted from disk.
  • Commit selected files: Select whole files or directories in Changes, enter a message, and commit without including unrelated staged changes. The file selection tree is collapsible, and commit drafts are retained per checkout while navigating. Choose Commit & push to publish immediately, or retry a failed push without creating another commit. Git hooks run during commits, and hooks that stage unchecked files cause the commit to be rejected.
  • Branch management and history: The new Branches tab lists grouped local and remote branches, shows commit history and multi-file patches, and supports creating branches from commits, switching branches, tracking remote branches, and fetching updates. History marks commits that need pushing or pulling. Pull can fast-forward a local branch from its upstream without checking it out; divergent branches, branches checked out elsewhere, and active Git operations are rejected.
  • Reviewed pushes and live Git updates: Review outgoing and remote-only commits before pushing a branch. Force pushes require confirmation and an explicit lease so remote changes made after review cannot be overwritten. Publishing a branch sets its upstream when none exists. Push progress remains visible when returning to the checkout, including while pre-push hooks run, and server events refresh status, branches, history, and worktree views across connected clients.
  • Rebase and conflict resolution: Start a rebase from Branches, resolve text conflicts section by section, choose either side or keep both, and edit the result before staging it. Whole-file choices handle binary files and deletions, with an optional comparison against the common ancestor. Continue or abort an in-progress rebase after reloading. Conflict refreshes preserve drafts and block saving against stale versions; failed reads can be retried. Abort requires confirmation, and safety checks protect colliding untracked and ignored files.

Files and editor

  • Per-session Files views: Switching sessions restores each session's Files tab, pinned checkout, and workbench view instead of sharing one selection across sessions. Saved pins are retained while worktrees are being discovered, and unavailable roots do not silently fall back to the primary checkout.
  • Kotlin syntax highlighting: Kotlin source and script files (.kt and .kts) now use Kotlin highlighting in the shared code and diff renderer, in both light and dark themes.

Changed

  • Provider adapters and DeepSeek reasoning replay: Updated @capekai/core to 1.0.10, replacing separate MiniMax, Zhipu, Zhipu Coding, and DeepSeek integrations with shared Anthropic-compatible and OpenAI-compatible adapters while preserving provider-specific request handling. DeepSeek requests now replay saved assistant reasoning as reasoning_content, including tool continuations; providers without reasoning replay support continue to omit it.

Fixed

  • Deleted files in Changes: Files staged as added, renamed, or copied now show as deleted after removal from disk instead of retaining their staged status label after refresh. Staged content is preserved, and renamed or copied files retain their destination paths.
  • Compaction during long-running tasks: Updated @capekai/core to 1.0.9 so both regular chats and goal sessions can compact context between completed tool steps and continue from the checkpoint without replaying the original prompt. Context accounting includes newly appended tool results, and continuation preserves the turn's step budget.
  • Context overflow recovery: Goal sessions now use the same bounded compaction recovery as regular chats. Unresolved tool outcomes or required-compaction failures stop continuation instead of risking repeated actions or another oversized request. Compaction after a final answer does not start an extra worker turn.
  • Goal cancellation: Cancellation remains active across worker turns, compaction, and goal evaluation. Cancelling during evaluation now records the goal as cancelled rather than completed or failed.
  • Goal evaluation after compaction: The evaluator retains the latest checkpoint even when it falls outside the recent-message window. Checkpoints are labeled as summary claims rather than direct evidence, and bounded tool-output excerpts preserve both the beginning and end to retain trailing test and build results.

Server 1.11.0

Choose a tag to compare

@github-actions github-actions released this 04 Sep 20:38

Added

  • Managed Git worktrees: Create named worktrees from existing local branches and manage them from the workspace Worktrees panel. Checked-out branches are identified before creation, and worktrees are stored in repository-scoped Prokop data directories.
  • Per-session checkouts: Choose the primary checkout or a managed worktree for a new session. The checkout is locked after the first message, preserved when a session is forked, and inherited by subagent sessions.
  • Worktree-aware workspace tools: Files, Changes, file editing, file references, and new terminals use the focused session's checkout. Worktree names and branch labels identify roots without exposing internal directory IDs, while an explicitly pinned Files root remains available for cross-checkout work.
  • Worktree lifecycle safety: Removal is blocked when a worktree is dirty, has a running attached session, or has an attached terminal. Submodule changes are included in dirty checks, and clean worktrees containing submodules can be removed safely.
  • Unavailable checkout recovery: Missing or removed worktrees fail closed instead of silently using the primary checkout. Affected sessions show recovery actions for switching to another worktree or returning to the primary checkout.
  • Live worktree state: Worktree availability, removal state, session attachments, running status, and deletion are synchronized through server events across connected clients.
  • Customizable keyboard shortcuts: Application shortcuts can now be changed from Settings → Keybinds. Assignments persist locally and support conflict replacement, explicit unassignment, per-command reset, reset all, modified Escape shortcuts, and sequences such as Esc, Esc.

Fixed

  • Queued messages after interruption: Updated @capekai/core to 1.0.8 so queued messages start after an interrupted chat finishes cleanup, including interruption during retry delays. Follow-ups retain FIFO order and attachments instead of remaining stuck in the queue.

  • GPT-6 provider requests: Updated @capekai/core to 1.0.7 so OpenAI and ChatGPT (Codex) requests for gpt-6* models omit the unsupported temperature parameter, preventing bad-request responses.

Server 1.10.0

Choose a tag to compare

@github-actions github-actions released this 02 Sep 18:44

Added

  • Browser automation: Agents can now read pages, discover interactive elements, navigate, interact with page controls, manage tabs across Chrome windows, and inspect screenshots through the ProkopaiBrowser extension. These tools now ship with the server instead of requiring separate installation.
  • Document conversion: Agents can now convert PDF, Microsoft Office, LibreOffice, and ZIP files to Markdown with a built-in tool that also works in compiled server binaries.
  • Tavily web search: Tavily search now ships as a built-in tool, with topic, date, country, domain, exact-match, and raw-content filters.

Changed

  • LLM provider settings: API keys and account subscriptions are now managed together under LLM Providers, with clearer descriptions of how each connection method works.
  • External tools: Prokop no longer installs or updates tools from a managed repository. Built-in tools ship with the server, while user-prepared external tools can still be loaded from ~/.prokopai/tools/.

Removed

  • Gmail and Discord integrations: Gmail OAuth and the repository-provided Gmail and Discord tools have been removed. Tavily crawl, extract, and map tools were also removed; Tavily search remains available as a built-in tool.

Fixed

  • Agent terminal pagers: Commands run in agent-created terminals no longer pause inside interactive pagers such as less. User-created terminal sessions keep their configured pager behavior.
  • Tool environment deletion: Clearing a tool environment variable now removes its saved value instead of leaving it configured.
  • Provider credential deletion: Clearing a provider API key now removes its active runtime value and any legacy fallback, so deleted credentials no longer appear configured or become active again.

Browser Extension 1.0.0

Choose a tag to compare

@github-actions github-actions released this 02 Sep 16:46
browser/v1.0.0

tools: remove repository installation

Server 1.9.0

Choose a tag to compare

@github-actions github-actions released this 01 Sep 11:38

Added

  • User prompt map: Wide chats now show a compact prompt map beside the transcript. Hover a marker to preview the prompt, or select it to navigate directly to that message. The map stays hidden when the chat is too narrow to display it without overlapping messages.
  • Change workspace folder: Existing workspaces can now be pointed to a renamed or moved directory while preserving their sessions and messages.

Changed

  • Explorer shows gitignored files: the file explorer now includes files and directories matched by .gitignore and .ignore rules instead of hiding them. Chat @ autocomplete and file-reference search continue to honor ignore rules, so their suggestions remain filtered.

Fixed

  • Workspace permission loading: Workspace Settings now fetches the current permission grants when opened, so saved permissions appear without requiring a manual refresh.