Skip to content

OpenPipal 1.1.3

Choose a tag to compare

@yuanlang12 yuanlang12 released this 08 Sep 06:29
· 10 commits to main since this release

This release adds Rules — tell an Agent once how something should always be done and it is enforced on every tool call from then on — and fixes a packaging bug that broke design artifacts on every Mac install of 1.1.1 and 1.1.2.

What's new

  • Rules. Say once how something should always be done — "mask student names before reading a grade sheet", "never run rm -rf", "run the tests after every code change" — and the Agent hands it to a background writer that turns it into a small hook file inside a plugin. Your conversation keeps going meanwhile. From the next turn on every tool call passes through the rule: arguments can be rewritten, a call blocked, a result amended, the system prompt extended. A centered capsule appears in the conversation when the rule is in place, stays where it happened, and offers view / revoke; the Plugins page lists every rule with a switch. Rules are plain TypeScript files you can read and edit yourself (~/.openpipal/plugins/local-rules/hooks/), and any plugin can ship its own under hooks/.
  • Memory notices stay put. "Remembered …" used to be a toast that vanished after eight seconds; it is now the same kind of capsule, kept in the conversation where it happened. Neither capsule is sent to the model or counted as conversation history.

Rules run before the permission check, which reviews the final arguments; a call a rule blocks is written to the audit log; a broken rule never blocks the turn — it is reported and skipped. The background writer can only touch the local-rules plugin directory and has no shell.

What's fixed

  • Design artifacts failed to compile in the installed app (1.1.1 and 1.1.2). esbuild's synchronous API spawns its binary from a worker thread, where Electron's asar path rewriting does not apply, so every TypeScript/JSX compile inside the packaged app failed with spawn ENOTDIR — the design assistant's JSX scenes among them. The packaged build now points esbuild at the unpacked binary at startup. Development builds never showed this, which is why it shipped twice.

Windows installers are rebuilt from the same source; there are no Windows-specific changes in this release. There is still no OS sandbox on Windows (the agent asks before running shell commands).

Install

macOS (Apple Silicon: openpipal-1.1.3-arm64.dmg; Intel: openpipal-1.1.3-x64.dmg)
The build is ad-hoc signed. On first launch use System Settings → Privacy & Security → Open Anyway, or run xattr -dr com.apple.quarantine /Applications/OpenPipal.app.

Windows (most PCs: openpipal-1.1.3-x64-setup.exe; Snapdragon laptops: openpipal-1.1.3-arm64-setup.exe)
The installer is not code-signed, so SmartScreen shows "Windows protected your PC": click More info → Run anyway. It installs per-user into %LOCALAPPDATA%\Programs\OpenPipal. Install Git for Windows if you want the agent to run shell commands. On ARM64, PDF page rendering is unavailable (@napi-rs/canvas has no win32-arm64 build yet).

The browser extension (0.3.13) is unchanged from 1.0.0.

Verify what you installed

SHA256SUMS.txt covers every installer. On Windows, verify-windows-install.ps1 -ExpectedAsarSha256 <sha> proves the installed app is this build; the expected value is asarSha256 in the attached factory report for your architecture.