Metadata-Version: 2.4
Name: aasai
Version: 0.1.0
Summary: A minimal CLI agent
Author: ma-xiaodun
License-Expression: MIT
Project-URL: Homepage, https://gitee.com/ma-xiaodun/ass
Project-URL: Source, https://gitee.com/ma-xiaodun/ass
Keywords: ai,agent,cli,tool-calling,openai
Classifier: Development Status :: 3 - Alpha
Classifier: Environment :: Console
Classifier: Intended Audience :: Developers
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Programming Language :: Python :: 3.14
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Requires-Python: >=3.11
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: openai
Requires-Dist: pydantic
Requires-Dist: ipython
Provides-Extra: dev
Requires-Dist: pytest; extra == "dev"
Requires-Dist: pyright; extra == "dev"
Dynamic: license-file

# aas

一个基于 OpenAI tool-calling 的轻量 CLI 智能体，可通过工具调用读写文件、执行代码。

## 定位

| 是 | 不是 |
|---|---|
| 信任 AI、方便第一 | 防备 AI、安全优先 |
| 一句话提示词 + 通用工具 | 几万字工具定义 + 受限工具 |
| 极简、单用户、个人工具 | 重武器、多用户、通用产品 |

> 价值在"轻"，不在"功能多"。任何增加重量的优化，都是对它的背叛。
> 期待被更简单的方案吞噬——被吞噬是成功，不是失败。

## 安装

| 步骤 | 命令 | 说明 |
|---|---|---|
| 1 | `pip install pipx` | 装 pipx（已有则跳过） |
| 2 | `pipx install git+https://gitee.com/ma-xiaodun/ass.git` | 从 Gitee 装 aas + 全部依赖 |
| 3 | 见下方 | Windows 配置 PATH；macOS/Linux 跳过 |

**Windows 第三步**（在 PowerShell 执行，然后重开终端）：

```powershell
$userPath = [Environment]::GetEnvironmentVariable("Path", "User")
[Environment]::SetEnvironmentVariable("Path", $userPath + ";$env:USERPROFILE\.local\bin", "User")
```

装完在任何目录运行 `aas` 或 `aas --web`。更新用 `pipx upgrade aas`。

## 配置

配置文件为 `~/.aas/config.json`（用户目录，与源码分离）。首次使用前创建：

```json
{
  "MODEL": "deepseek-chat",
  "DEEPSEEK_API_KEY": "你的密钥",
  "DEEPSEEK_BASE_URL": "https://api.deepseek.com/v1",
  "DEEPSEEK_MODELS": "deepseek-chat"
}
```

- `MODEL`：当前模型名（必设，须在某供应商 `{P}_MODELS` 中登记）
- 每个供应商三项：`{P}_API_KEY` / `{P}_BASE_URL` / `{P}_MODELS`（模型名逗号分隔）
- `P` = 供应商名大写、连字符转下划线，如 `ark-plan` → `ARK_PLAN`

## 使用

**终端模式：**
```bash
aas
```
启动后输入内容对话；`exit` 退出。会话命令：`/new` 新会话、`/list` 列出、`/switch N` 切换、`/model` 切换默认模型。

**Web 界面模式：**
```bash
aas --web
```
浏览器打开 <http://127.0.0.1:8765>，获得带 Markdown 渲染、流式输出、工具调用可见、会话切换的聊天界面。

## 开发者

```bash
pip install -e .        # 可编辑安装，改代码即生效
```

- 配置与会话存于 `~/.aas/`，与源码分离，删除源码不影响数据。
- 新增工具：新建 `aas/tools/xxx.py` → 在 `aas/tools/__init__.py` 加一行 → 生效。
- 设计决策遵循 [CONSTITUTION.md](CONSTITUTION.md)。

## 依赖

- Python >= 3.11
- openai
- pydantic
- ipython
