← 全部工具

@earendil-works/pi-coding-agent

热度 65 更新于 开发与构建

Coding agent CLI with read, bash, edit, write tools and session management

npmauto-collected

安装

npm
npm install -g @earendil-works/pi-coding-agent

通过 npm 安装。

<p align="center" <a href="https://pi.dev" <img alt="pi logo" src="https://pi.dev/logo-auto.svg" width="128" </a </p <p align="center" <a href="https://discord.com/invite/3cU7Bz4UPx"<img alt="Discord" src="https://img.shields.io/badge/discord-community-5865F2?style=flat-square&logo=discord&logoColor=white" /</a <a href="https://www.npmjs.com/package/@earendil-works/pi-coding-agent"<img alt="npm" src="https://img.shields.io/npm/v/@earendil-works/pi-coding-agent?style=flat-square" /</a </p

New issues and PRs from new contributors are auto-closed by default. Maintainers review auto-closed issues daily. See CONTRIBUTING.md.

Pi Agent Harness

This is the home of the Pi agent harness project including our self extensible coding agent.

  • @earendil-works/pi-coding-agent: Interactive coding agent CLI
  • @earendil-works/pi-agent-core: Agent runtime with tool calling and state management
  • @earendil-works/pi-ai: Unified multi-provider LLM API (OpenAI, Anthropic, Google, …)

To learn more about Pi:

  • Visit pi.dev, the project website with demos
  • Read the documentation, but you can also ask the agent to explain itself

All Packages

| Package | Description | |---------|-------------| | @earendil-works/pi-ai | Unified multi-provider LLM API (OpenAI, Anthropic, Google, etc.) | | @earendil-works/pi-agent-core | Agent runtime with tool calling and state management | | @earendil-works/pi-coding-agent | Interactive coding agent CLI | | @earendil-works/pi-tui | Terminal UI library with differential rendering |

For Slack/chat automation and workflows see earendil-works/pi-chat.

Permissions & Containerization

Pi does not include a built-in permission system for restricting filesystem, process, network, or credential access. By default, it runs with the permissions of the user and process that launched it.

If you need stronger boundaries, containerize or sandbox Pi. See packages/coding-agent/docs/containerization.md for three patterns:

  • Gondolin extension: keep pi and provider auth on the host while routing built-in tools and ! commands into a local Linux micro-VM.
  • Plain Docker: run the whole pi process in a local container for simple isolation.
  • OpenShell: run the whole pi process in a policy-controlled sandbox.

Contributing

See CONTRIBUTING.md for contribution guidelines and AGENTS.md for project-specific rules (for both humans and agents). Longer term plans for Pi can also be found in RFCs.

Development

npm install --ignore-scripts  # Install all dependencies without running lifecycle scripts
npm run build         # Refresh model data, then build all packages
npm run build:offline # Rebuild using existing model data without network access
npm run check         # Lint, format, and type check
./test.sh            # Run tests (skips LLM-dependent tests without API keys)
./pi-test.sh         # Run pi from sources (can be run from any directory)