Skip to content

v0.2.71

Choose a tag to compare

@github-actions github-actions released this 28 Feb 06:08
· 28 commits to main since this release
2319599

Downloads

Desktop App

Platform Download Size
Windows (x64) CachiBot-Setup-0.2.71-win.exe 154.0 MB
macOS (Apple Silicon) CachiBot-0.2.71-mac.dmg 214.1 MB
Linux (x64 AppImage) CachiBot-0.2.71-linux.AppImage 206.7 MB
Linux (x64 .deb) CachiBot-0.2.71-linux.deb 164.3 MB
Linux (x64 .rpm) CachiBot-0.2.71-linux.rpm 173.5 MB

Mobile App

Platform Download Size
Android (APK) CachiBot-0.2.71.apk 79.8 MB

Downloads become available once the build pipeline completes (~10 min after release).

macOS users: This build is not yet notarized by Apple. After installing, open Terminal and run:

xattr -cr /Applications/CachiBot.app

Then open the app normally. This only needs to be done once.

Python Package (pip)

pip install cachibot==0.2.71

Changes

Tools used to be take-it-or-leave-it black boxes — same timeout, same output limit, same sandbox rules for everyone. Now each tool can declare its own knobs, and the frontend gives users a proper dialog to turn them.

Highlights

  • Tools can now expose configurable parameters (timeouts, path allowlists, import controls) that users can tune per-bot from the UI
  • The Python sandbox gains seven config knobs: execution timeout, max output length, extra read/write paths, blocked paths, and extra/blocked imports
  • A new tool configuration dialog renders the right input widget for each parameter type — sliders for numbers, list editors for arrays, toggles for booleans, and more
Technical changes
  • cachibot/plugins/python_sandbox.py: Added config_params to the python_execute @skill decorator — timeoutSeconds, maxOutputLength, allowedReadPaths, allowedWritePaths, blockedPaths, extraImports, blockedImports — each with typed ConfigParam metadata (min/max, units, placeholders, item limits)
  • cachibot/api/routes/plugins.py: Skill metadata endpoint now serializes configParams via desc.config_params so the frontend can discover available knobs
  • frontend/src/types/index.ts: Added ConfigParam interface and ToolConfigs type; extended Tool with optional configParams array
  • frontend/src/components/dialogs/ToolConfigDialog.tsx: New dialog component that dynamically renders inputs for 12 param types (number, boolean, select, string, secret, text, path, string[], number[], map, multiselect, url, code) with save/reset/cancel actions
  • frontend/src/components/views/ToolsView.tsx: Integrated ToolConfigDialog — tools with configParams show a "Configure" button that opens the dialog, passing current per-bot toolConfigs
  • cachibot/agent.py: _harden_security_context now reads self.tool_configs["python_execute"]["blockedPaths"] to apply user-configured blocked paths to the sandbox security context
  • tests/test_security.py: Fixed _harden_security_context test calls to pass a mock self (method uses self.tool_configs), resolving TypeError from missing positional argument
  • cachibot/services/bot_creation_service.py: Removed stale # type: ignore[no-any-return] on extract_with_model call (return type now properly inferred)

Details