Skip to content
diffexaiPublic

About

Self-evolving agent harness

Resources

Code of conduct

Contributing

Security policy

Stars

1 star

Watchers

0 watching

Forks

Latest commit

 

History

5,808 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

diffex.ai wordmark

Daytona Startup Grid

E2B for Startups

Website Node.js 22.19 or newer License: Apache 2.0 CI

Diffex

Diffex is a self-evolving coding agent. It provides a multi-provider LLM API, a general-purpose agent runtime, a terminal UI, remote session protocols, and an extensible coding-agent CLI.

Diffex treats the agent harness as an optimization target. Diffex evolves through observable behavior, diagnostic signals, and evidence-backed improvements.

The archived Rust implementation is available at diffexai/diffex-legacy.

Read more at diffex.ai and in the Diffex white paper.

Diffex builds on the Pi Agent Harness to extend its capabilities. Use ./diffex-test.sh to run Diffex directly from this repository.

Installation

Diffex is released on npm as @diffexai/diffex. Install it globally and launch the CLI:

npm install -g @diffexai/diffex
diffex

Workspace Packages

Package Responsibility
packages/telemetry Vendor-neutral telemetry contracts and typed schemas.
packages/ai Unified LLM API with provider and model discovery.
packages/agent Agent runtime, tool calling, state management, and attachments.
packages/harness-state Immutable, content-addressed harness revisions and global selection.
packages/protocol Transport-neutral CBOR protocol for remote sessions.
packages/client Transport-neutral client for remote sessions.
packages/server Experimental remote session server.
packages/session-backends/sqlite-node SQLite session persistence for Node.js.
packages/tui Terminal UI components with differential rendering.
packages/coding-agent Interactive coding-agent CLI and extension system.
packages/evals Evaluation utilities and scenarios.

Distribution policy

The source repository remains private pending an explicit publication review. Changing visibility requires an audit of retained Actions logs, artifacts, source snapshots, debug maps, and linked session transcripts. Artifact names such as private-release-* do not provide access protection. The approved release channel is the public npm package @diffexai/diffex, which bundles the required runtime workspaces. Standalone archives, Python, secondary package registries, and interactive CLI containers are deferred. Public packages include readable JavaScript and declarations, with Apache-2.0 metadata and complete applicable upstream notices. They exclude source maps, TypeScript examples, and native source build files. Delivered implementation code remains inspectable; private source hosting and compilation do not guarantee confidentiality. See the distribution review for exact scope and release prerequisites. See the source publication review for the separate repository visibility transition.

Local Setup

Diffex requires Node.js 22.19 or newer and npm.

git clone https://github.com/diffexai/diffex.git
cd diffex
npm install --ignore-scripts
npm run build:offline
./diffex-test.sh

The source launcher can be run from any directory and preserves the caller's working directory.

Local Validation

npm run check
./test.sh

npm run check runs formatting, linting, dependency policy checks, and TypeScript validation. ./test.sh runs the non-E2E test suites without activating tests that require provider credentials.

Documentation

Permissions and Containerization

Diffex does not impose a built-in security boundary around filesystem, process, network, or credential access. By default, it runs with the permissions of the user and process that launched it.

Use a container or sandbox when stronger isolation is required. See the containerization guide for supported patterns.

Contributing

Issues and pull requests are welcome. Read CONTRIBUTING.md for setup, validation, and review expectations. Participation in the project is governed by the Code of Conduct.

Security

Do not commit credentials, secrets, local machine artifacts, build output, or private deployment state. Report sensitive issues privately through the repository maintainers or the contact paths on diffex.ai. See SECURITY.md for reporting guidance and the execution trust boundary.

License

Diffex contributions are distributed under the Apache License 2.0. Portions derived from Pi remain available under the MIT License, with the upstream copyright and permission notice preserved in the license file.

About

Self-evolving agent harness

Resources

Code of conduct

Contributing

Security policy

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors

Languages