Skip to main content

Personal assistant agent with persistent memory and configurable persona

Project description

Pip-Boy

Pip-Boy 3000 Mark IV

A personal assistant agent with persistent memory and a configurable persona, providing a chat-based interface for workstation interaction. Built on Anthropic's Claude API, it supports multi-agent teamwork, task planning, git worktree isolation, and extensible skills.

Features

Core

  • Conversational REPL — Interactive chat loop with readline history and UTF-8 support
  • Persona System — Fixed lead persona ("Pip-Boy") with customizable teammate personas via Markdown files
  • Web Search — Tavily integration with automatic DuckDuckGo fallback

Tools

  • Filesystemread, write, edit, glob (sandboxed to working directory)
  • Shellbash execution with optional background mode for long-running commands
  • Webweb_search and web_fetch for real-time information retrieval
  • Skillsload_skill dynamically loads built-in and user-defined skill guides (Markdown with YAML frontmatter)

Task Planning

  • Story / Task DAG — Two-level planning: stories (epics) contain tasks with dependency tracking
  • Kanban Boardtask_board_overview, task_board_detail for status visualization
  • State Machine — Tasks flow through pendingin_progressin_reviewcompleted / failed
  • Persistent Storage — JSON files under .pip/tasks/ survive across sessions

Multi-Agent Team

  • Teammate Spawningteam_spawn creates daemon threads with per-session model and turn limits
  • Inbox Messaging — JSONL-based message bus (send, read_inbox) between lead and teammates
  • Model Selection — Per-project .pip/models.json defines available models for teammate assignment
  • Protocol Tracking — Structured shutdown and plan approval flows
  • CLI Commands/team for roster status, /inbox to peek the lead inbox

Git Worktree Isolation

  • Isolated Branches — Each subagent works in its own git worktree (.pip/.worktrees/{name}/, branch wt/{name})
  • Sync / Integrate / Cleanup — Worktree lifecycle management with merge conflict detection
  • Task Submissiontask_submit syncs work and transitions task status automatically

Context Management

  • Micro-Compaction — Old tool results replaced with placeholders, keeping the last N rounds intact
  • Auto-Compaction — When token count exceeds threshold, full transcript is saved and replaced with an LLM-generated summary
  • Transcript Persistence — Timestamped JSON transcripts stored under .pip/transcripts/

Skills (Built-in)

Skill Purpose
task-planning Structured planning with story/task breakdown
agent-team Multi-agent coordination and delegation
git Git operations and workflow guidance
code-review Code review methodology
create-skill Authoring new custom skills

Workspace Scaffold

On first run in a new project, the agent automatically creates:

  • .pip/ directory structure (tasks, transcripts, team, skills)
  • .pip/models.json with default model catalog
  • .pip/agents/pip-boy.md default agent persona
  • .env from template (if missing)
  • .gitignore entries for .pip/ and related paths
  • .pip/.scaffold_manifest.json for tracking scaffold file versions

Scaffold files are version-tracked: unmodified files are auto-updated when a new version ships changes; locally modified files are left untouched with a warning.

Installation

Prerequisites: Python >= 3.11

pip install pip-boy

Development (from source)

git clone https://github.com/ByeDream/Pip-Boy.git
cd Pip-Boy
pip install -e .

Usage

# Navigate to your target project and run
cd /path/to/your/project
pip-boy

# Or use python -m
python -m pip_agent

# CLI-only mode (no WeChat/WeCom channels)
pip-boy --cli

# Force WeChat QR login
pip-boy --scan

# Show version
pip-boy --version

On first launch, the scaffold automatically creates .pip/ directory structure, .env (from template), and .gitignore entries in the target project. Edit the generated .env to fill in your ANTHROPIC_API_KEY, then run again.

The agent uses Path.cwd() as its working directory — always run it from the project you want to interact with.

Updating

From within a running session:

/update

Or manually:

pip install --upgrade pip-boy

Configuration

All configuration is done via environment variables or .env file.

Variable Required Default Description
ANTHROPIC_API_KEY Yes Anthropic API key
ANTHROPIC_BASE_URL No (api.anthropic.com) Custom API endpoint (proxy support)
MODEL No claude-sonnet-4-6 Default model for the lead agent
MAX_TOKENS No 8096 Max response tokens
SEARCH_API_KEY No Tavily API key; falls back to DuckDuckGo
COMPACT_THRESHOLD No 50000 Token estimate to trigger auto-compaction
COMPACT_MICRO_AGE No 3 Micro-compaction: rounds of tool results to preserve
VERBOSE No true Verbose output
PROFILER_ENABLED No false Enable performance profiling

Project-Level Files

File Location Purpose
models.json .pip/ Model catalog for teammate spawning
*.md .pip/team/ Teammate persona definitions (YAML frontmatter + body)
_meta.json + *.json .pip/tasks/{story}/ Task board state
*.md .pip/skills/ User-defined skills

Dependencies

License

This project is licensed under the MIT License. See LICENSE for details.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pip_boy-0.1.0.tar.gz (104.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

pip_boy-0.1.0-py3-none-any.whl (89.8 kB view details)

Uploaded Python 3

File details

Details for the file pip_boy-0.1.0.tar.gz.

File metadata

  • Download URL: pip_boy-0.1.0.tar.gz
  • Upload date:
  • Size: 104.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for pip_boy-0.1.0.tar.gz
Algorithm Hash digest
SHA256 6ea996fcc69f37c3d772e55ea031692bbdb72c62ef9378f8a630c344931fab25
MD5 fe80b4006438180e2709496676502777
BLAKE2b-256 f1353b22cd8295b093c86be1cf17af5dfccbc01c74fe8c71f0029ae2ae542294

See more details on using hashes here.

Provenance

The following attestation bundles were made for pip_boy-0.1.0.tar.gz:

Publisher: publish.yml on ByeDream/Pip-Boy

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pip_boy-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: pip_boy-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 89.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for pip_boy-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 9c6dd267efe164b3f399b6068c1456aac1f3ef386e02b1a91762abf20ac13e7a
MD5 825e908f8ccd5b54a26e30148b2b3323
BLAKE2b-256 55d1002d4381f1897189d069b537aa006b0fbab2d4b6d8ea4ffa57038e30685f

See more details on using hashes here.

Provenance

The following attestation bundles were made for pip_boy-0.1.0-py3-none-any.whl:

Publisher: publish.yml on ByeDream/Pip-Boy

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page