packages / companionai-bohr

@companionai/bohr

Research-first CLI agent built on Pi and alphaXiv

No reviews yet

Install

$ pi install npm:@companionai/bohr

Installs from npm into ~/.pi/agent/. Add -l for project-local (.pi/). Manage with pi list / pi update / pi remove.

What this package can reach

Detected automatically from the source at version 0.2.19. This describes access, not safety — you decide whether it's appropriate for what the package claims to do.

  • Commands — Runs shell commands Spawns processes on your machine.
  • 📁
    Files — Reads files outside your project Touches paths beyond the working directory, such as your home folder.
  • 📡
    LLM traffic — Sees raw model API traffic Reads or replaces provider requests, headers or responses — including your prompts.
  • 🔧
    New tools — Adds model-callable tools Gives the agent new abilities. Additive and visible, unlike an override.
  • UI — Draws its own interface Renders widgets, footers, dialogs or full-screen views.

What it actually did when run

observed

Loaded in a sandbox with no network, a read-only filesystem and a recording stand-in for pi's API. This is what it called — not what the source suggests it might.

Tools registered alpha_searchalpha_get_paperalpha_ask_paperalpha_annotate_paperalpha_list_annotationsalpha_read_code

Events subscribed before_provider_requestsession_start

APIs called getAllToolsgetAllTools.slicegetAllTools.slice.sortgetAllTools.slice.sort.findgetAllTools.slice.sort.mapgetCommandsgetCommands.filtergetCommands.filter.mapgetCommands.filter.map.sortgetCommands.mapgetCommands.slicegetCommands.slice.sortgetCommands.slice.sort.mapmodelRegistry.getAvailablemodelRegistry.refreshregisterCommandregisterToolui.notifyui.selectui.select.splitui.select.startsWithui.setEditorTextui.setHeader

14 calls the source scan did not predict

getAllTools.slice · getAllTools.slice.sort · getAllTools.slice.sort.find · getAllTools.slice.sort.map · getCommands.filter · getCommands.filter.map · getCommands.filter.map.sort · getCommands.map · getCommands.slice · getCommands.slice.sort · getCommands.slice.sort.map · modelRegistry.refresh · ui.select.split · ui.select.startsWith

Reached through a value the scan could not follow — passed as an argument, stored on another object, or returned by a helper.

Run against version 0.2.19 on 2026-08-02. Registration-time behaviour under default settings; other configurations may differ.

Review before you install. pi packages run with your full system permissions. Check the source, pin versions, and prefer authors you trust.

Reviews

0 published

Sign in with GitHub to write a review, reply, or vote.

No reviews yet — be the first.

More in Tool providers

  • @juicesharp/rpiv-web-tools — Pi extension. Web search and fetch for the model with pluggable providers (Brave, Tavily, …
  • pi-web — Web UI for pi that keeps sessions alive in real workspaces — run and monitor pi from the b…
  • @vaayne/pi-web-tools — Pi extension for web fetching and search capabilities
  • @firstpick/pi-utils — Shared utilities for Firstpick Pi extension packages.