ZA

zfinix/aster

开发工具

本页由 AI 翻译,技术细节请以原文为准。 查看原文

134 stars 质量 71 趋势 36Apache-2.0

一个开源的代理工具,用于软件工作。

概览

Aster 是一个终端代理,负责读取你的代码、回答问题、编辑文件、执行命令并审查你的更改。它支持任何兼容 OpenAI 的提供商:OpenRouter、OpenAI、Groq、Anthropic,或者运行在你自己机器上的模型。 - 你的密钥、你的模型、你的机器。会话、内存和技能都是你磁盘上的普通文件。没有托管的控制平面,没有矢量数据库,也没有遥测。指向本地模型,它完全不需要网络就能工作。- 工具、权限、历史、内存和检索都是共享基础设施。聊天、审查和修复都是继承的,所以新功能只是小小的补充,而不是另一个代理重建同样的架构。- 听起来正确的代理并不等同于正确的代理。Aster 在展示给你之前会额外花时间去反驳自己的发现,而且它会告诉你空间用尽,而不是悄悄收尾。

概述(AI 翻译)

你自己运行的开源代码代理,使用你选择的模式。

Aster 是一个终端代理,会读取你的代码,回答问题,编辑文件, 运行命令并审核你的更改。它支持任何兼容 OpenAI 的设备 提供者:OpenRouter、OpenAI、Groq、Anthropic,或运行于您自己的模型 机器。

有三个理念塑造了它:

  • **你拥有整个东西。**你的钥匙,你的模型,你的机器。Sessions, 内存和技能是你磁盘上的普通文件。没有托管控制 平面,没有矢量数据库,也没有遥测,除非你对准自己的 OpenTelemetry 端点。指向本地模型,它无需网络即可运行 一点也不。
  • 一个线带,不是提示。 工具、权限、历史、内存和 检索是共享基础设施。聊天、审核和修复都继承了它们, 所以新增功能只是小范围的补充,而不是另一个代理重建 同样的脚手架。
  • 让它证明事实。 听起来正确的代理人和一个代理人是不一样的 没错。Aster 花了额外的模型努力试图推翻自己的说法 在展示之前,它会告诉你什么时候没地方了 而不是悄悄地结束。

本页由 AI 翻译,技术细节请以原文为准。

README

以下为原文 README 节选,完整内容请查看原文。

✳ Aster

An open-source coding agent you run yourself, with the model you choose.

Aster is a terminal agent that reads your code, answers questions, edits files, runs commands, and reviews your changes. It works with any OpenAI-compatible provider: OpenRouter, OpenAI, Groq, Anthropic, or a model running on your own machine.

Three ideas shape it:

  • You own the whole thing. Your key, your model, your machine. Sessions, memory, and skills are plain files on your disk. There is no hosted control plane, no vector database, and no telemetry unless you point it at your own OpenTelemetry endpoint. Point it at a local model and it works with no network at all.
  • A harness, not a prompt. Tools, permissions, history, memory, and retrieval are shared infrastructure. Chat, review, and fix all inherit them, so a new capability is a small addition rather than another agent rebuilding the same scaffolding.
  • Make it prove things. An agent that sounds right is not the same as one that is right. Aster spends extra model effort trying to disprove its own findings before showing them to you, and it tells you when it ran out of room instead of quietly wrapping up.

Status: early, building in the open. Chat, review, memory, skills, permissions, MCP, and the browser, editor, and desktop surfaces have landed. Expect rough edges.

Install

curl -fsSL https://withaster.dev/install | sh

Or build it yourself (Rust 1.85 or newer):

git clone https://github.com/zfinix/aster && cd aster
cargo install --path crates/aster-cli

Start here

cd your-repo
aster          # first run asks how you want to connect, then opens the chat

The first run asks one question: sign in with a browser (OpenRouter, ChatGPT, Z.ai), paste an API key, or point at a model already running on your machine (Ollama, LM Studio, vLLM, llama.cpp). It writes ~/.aster/aster.yaml and stores any key in ~/.aster/.env, so it applies to every repo. aster init runs the same setup again later.

Prefer environment variables? Skip the wizard and export these instead:

export ASTER_API_KEY=sk-...
export ASTER_BASE_URL=https://openrouter.ai/api/v1
export ASTER_MODEL=anthropic/claude-sonnet-5

Then just talk to it:

❯ where does the retry logic live?
❯ add a test for the empty-input case
❯ why is that finding critical?

Aster reads files, searches the repo, runs commands, and edits code when you let it. Ask it something outside a repo and it still works, it just has less to look at.

The chat

Key What it does
enter Send. esc interrupts a running turn.
在 GitHub 查看完整 README

推荐工具

换一个关键词,或者移除筛选条件。

安装

npx skillfish add zfinix/aster
新手?先看 mcpskill.org 教程 →