内容
<p align="center">
<img src="docs/assets/hero.svg" alt="Podiom — 您的 AI 代理,协同工作。" width="100%">
</p>
<p align="center">
<img src="https://img.shields.io/badge/build-passing-1F8A5B?style=flat-square&labelColor=3A3430" alt="构建通过">
<img src="https://img.shields.io/badge/version-0.4.0-2F6E60?style=flat-square&labelColor=3A3430" alt="版本 0.4.0">
<img src="https://img.shields.io/badge/license-MIT-5A6470?style=flat-square&labelColor=3A3430" alt="MIT 许可证">
<img src="https://img.shields.io/badge/local--first-✓-C9A24E?style=flat-square&labelColor=3A3430" alt="本地优先">
</p>
# Podiom
本地 LLM 代理的薄调度层(Claude Code 和 OpenAI Codex)。
Podiom 调用本地的 `claude` 和 `codex` 命令行接口,并依赖它们的 MCP、工具和技能,同时拥有自己的持久化真相:命名代理、持久化聊天会话、规范历史记录,可以在任何配置文件/提供程序切换时重放到新的后台命令行接口会话,嵌入式调度器和共享项目账本。它作为单个 Go 二进制文件发布,带有嵌入式 Svelte 网页界面。
## 为什么选择 Podiom?
管理多个本地代理很容易开始,但很难保持一致。Podiom 有意保持轻量:
- 持久化会话,生存于提供程序和配置文件更改。
- 共享项目账本,确保工作不会在运行之间丢失。
- 内置调度器,用于定期工作和后续跟进。
- 与您已经使用的工具的原生集成,而不是替换它们。
## 适用人群
- 已经在本地使用 Claude Code 或 OpenAI Codex 的开发人员。
- 开源构建者,他们希望拥有持久化、可审查的代理工作。
- 操作员和爱好者,他们更喜欢本地优先的工作流程,而不是云锁定。
- 需要在现有代理工具周围提供轻量级控制平面的维护人员。
## 快速开始(开发)
### 安装
macOS/Linux:
```sh
curl -fsSL https://github.com/Podiom/Podiom/releases/latest/download/install.sh | bash
```
Windows PowerShell:
```powershell
irm https://github.com/Podiom/Podiom/releases/latest/download/install.ps1 | iex
```
安装程序下载匹配的发布二进制文件,验证校验和,可以设置用户级自动启动,并启动 `podiom onboard` 以检查 Claude/Codex 并创建您的第一个代理。
每个提交到 `master` 分支都会使用自动的 `v0.1.<运行编号>` 系列发布 GitHub Release。该系列故意是单调的,而不是基于日历的,以便突发工作可以产生许多发布,而不意味着一个月一次的节奏。
安装后,可以从命令行接口或网页界面检查和应用更新:
```sh
podiom update check
podiom update apply --yes
```
Linux 发布是与发行版无关的静态二进制文件。
### 开发
先决条件:Go 1.26+,Node 20+(用于构建网页界面)。
```sh
# 构建网页界面(vite)和两个二进制文件到 bin/,带有版本戳。
make build
# 运行守护进程(前台)。它在第一次运行时搭建 ~/.podiom。
./bin/podiomd
# 在另一个 shell 中,检查它是否在线。
./bin/podiom status
```
打开 http://127.0.0.1:8787 访问网页界面。
要在开发过程中使用热重载,运行 `npm run dev` 在 `web/`(它将 API/WebSocket 流量代理到正在运行的 `podiomd`)。
### 跨平台构建和打包
`podiomd` 是一个带有嵌入式单页应用的单个静态二进制文件 — 没有外部资产,没有 cgo(通过 `modernc.org/sqlite` 实现纯 Go SQLite),因此它可以干净地跨编译:
```sh
make cross # linux/darwin/windows × amd64/arm64 → bin/<os>-<arch>/
make package # 将发布工件存档到 dist/ 并写入 SHA256SUMS
```
所有运行时状态都生活在单个可覆盖的根目录下,因此将 Podiom 作为 Home Assistant 插件或在容器中运行是一个打包步骤,而不是重写:
```sh
PODIOM_HOME=/data/podiom ./bin/podiomd # 相对值锚定为绝对值
```
网页绑定在 `config.yaml` 中可配置(`server.bind` / `server.port`,默认为 `127.0.0.1:8787`);参见 [配置](docs/configuration.md)。
## 布局
```
cmd/podiom/ 薄 CLI 客户端
cmd/podiomd/ 守护进程:网页服务器 + 调度器 + 核心
internal/ 核心、适配器、执行、调度、配置、存储、服务器、客户端
web/ Svelte + Vite + TS + Tailwind 单页应用(构建后嵌入)
docs/ 需求、CLI 参考、配置、集成合约
```
所有运行时状态都生活在 `$PODIOM_HOME` 下(默认为 `~/.podiom/`)。
## 文档
- [需求](docs/requirements.md) — 权威规范(v1.6)。
- [CLI 参考](docs/cli.md)
- [配置](docs/configuration.md)
- [调度](docs/scheduling.md)
- [项目和路线图](docs/projects.md)
- [目标](docs/goals.md) — 将结果交给代理;它计划、审查并报告回来
- [工作区工具](docs/workspace-tools.md) — 每个代理的 CLI 安装获批
- [语音输入](docs/voice-input.md) — 在聊天、任务和目标中说出提示(OpenAI Whisper)
- [安全和日志记录](docs/security.md) — 权限模式、网关令牌、删除、运行日志
- [Home Assistant 应用](docs/home-assistant.md) — 将 Podiom 部署为 HA 插件
- [集成合约](docs/integrations/README.md)
## 贡献
Podiom 在 [MIT 许可证](LICENSE) 下开源。欢迎贡献;请阅读 [CONTRIBUTING.md](CONTRIBUTING.md) 以了解设置、验证和拉取请求指南。