Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 4 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,10 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/).
## [Unreleased]

### Added
- Interactive configuration wizard via `zeph init` subcommand with 5-step setup (LLM provider, memory, channels, secrets backend, config generation)
- clap-based CLI argument parsing with `--help`, `--version` support
- `Serialize` derive on `Config` and all nested types for TOML generation
- `dialoguer` dependency for interactive terminal prompts
- Structured LLM output via `chat_typed<T>()` on `LlmProvider` trait with JSON schema enforcement (#456)
- OpenAI/Compatible native `response_format: json_schema` structured output (#457)
- Claude structured output via forced tool use pattern (#458)
Expand Down
99 changes: 99 additions & 0 deletions Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

5 changes: 5 additions & 0 deletions Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,8 @@ repository = "https://github.com/bug-ops/zeph"

[workspace.dependencies]
age = { version = "0.11.2", default-features = false }
clap = { version = "4.5", features = ["derive"] }
dialoguer = "0.11"
anyhow = "1.0"
candle-core = { version = "0.9", default-features = false }
candle-nn = { version = "0.9", default-features = false }
Expand Down Expand Up @@ -126,6 +128,9 @@ stt = ["zeph-llm/stt"]

[dependencies]
anyhow.workspace = true
clap.workspace = true
dialoguer.workspace = true
toml.workspace = true
tokio = { workspace = true, features = ["macros", "rt-multi-thread", "signal", "sync", "time"] }
tokio-util.workspace = true
tracing.workspace = true
Expand Down
45 changes: 37 additions & 8 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -23,30 +23,59 @@ Most AI agent frameworks are **token furnaces**. They dump every tool descriptio

Zeph takes the opposite approach: **automated context engineering**. Only relevant data enters the context. Everything else is filtered, compressed, or retrieved on demand. The result — dramatically lower costs, faster responses, and an agent that runs on hardware you already have.

## Installation

```bash
# From source
cargo install --git https://github.com/bug-ops/zeph
```

Pre-built binaries for Linux, macOS, and Windows: [GitHub Releases](https://github.com/bug-ops/zeph/releases/latest) · [Docker](https://bug-ops.github.io/zeph/guide/docker.html)

## Quick Start

```bash
git clone https://github.com/bug-ops/zeph && cd zeph
cargo build --release
# Interactive setup wizard — generates config.toml with provider, memory, and channel settings
zeph init

# Run the agent
zeph

# Or with TUI dashboard (requires `tui` feature)
zeph --tui
```

Manual configuration is also supported:

```bash
# Local models — no API costs
ollama pull mistral:7b && ollama pull qwen3-embedding
./target/release/zeph
zeph

# Cloud providers
ZEPH_LLM_PROVIDER=claude ZEPH_CLAUDE_API_KEY=sk-ant-... ./target/release/zeph
ZEPH_LLM_PROVIDER=openai ZEPH_OPENAI_API_KEY=sk-... ./target/release/zeph
ZEPH_LLM_PROVIDER=claude ZEPH_CLAUDE_API_KEY=sk-ant-... zeph
ZEPH_LLM_PROVIDER=openai ZEPH_OPENAI_API_KEY=sk-... zeph

# Any OpenAI-compatible API (Together AI, Groq, Fireworks, etc.)
ZEPH_LLM_PROVIDER=compatible ZEPH_COMPATIBLE_BASE_URL=https://api.together.xyz/v1 \
ZEPH_COMPATIBLE_API_KEY=... ./target/release/zeph
ZEPH_COMPATIBLE_API_KEY=... zeph
```

Pre-built binaries for Linux, macOS, and Windows: [GitHub Releases](https://github.com/bug-ops/zeph/releases/latest) · [Docker](https://bug-ops.github.io/zeph/guide/docker.html)

> [!TIP]
> Full setup walkthrough: [Installation](https://bug-ops.github.io/zeph/getting-started/installation.html) · [Configuration](https://bug-ops.github.io/zeph/getting-started/configuration.html) · [Secrets management](https://bug-ops.github.io/zeph/guide/vault.html)

## CLI Usage

```
zeph Run the agent (default)
zeph init Interactive configuration wizard
zeph init -o path.toml Write generated config to a specific path
zeph --tui Run with TUI dashboard
zeph --config <path> Use a custom config file
zeph --version Print version
zeph --help Show help
```

## Automated Context Engineering

This is the core idea behind Zeph. Every byte that enters the LLM context window is there because it's **useful for the model** — not because the framework was too lazy to filter it.
Expand Down
Loading
Loading