Files
Partner/README.md

156 lines
4.4 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Partner
## 项目介绍
> 当前项目仍处在实验和快速迭代阶段,部分模块已经形成稳定边界,部分模块仍在调整
基于 Java/Kotlin 的模块化 AI Agent Runtime围绕动态上下文工作空间、可干预的行动链执行、存储与组织解耦的记忆实现构建支持多模块异步协作的可扩展
Agent 运行内核。
![Partner 架构总览](doc/assets/partner-overview.png)
> 详细文档查看: [相关文档](#相关文档)
---
## 项目启动
**环境要求**
- JDK 21
- Maven 3.x
### 手动准备环境并启动
#### 克隆项目并构建
```bash
git clone https://github.com/slhaf/Partner
cd Partner
mvn clean package -DskipTests
```
> 当前项目仍处在快速迭代阶段,部分测试依赖尚未稳定的运行时行为。若目标只是从源码构建可运行 jar推荐先使用 `-DskipTests`
> 跳过测试。
构建完成后,主程序 jar 位于:
```
Partner-Core/target/Partner-Core-0.5.0.jar
```
#### 准备必需配置
Partner 默认从 `~/.partner` 读取运行时配置,也可以通过 `PARTNER_HOME` 指定其他目录:
```bash
export PARTNER_HOME="$HOME/.partner"
mkdir -p "$PARTNER_HOME/config"
```
创建 WebSocket Gateway 配置:
```bash
cat > "$PARTNER_HOME/config/gateway.json" <<'EOF'
{
"default_channel": "websocket_channel",
"channels": [
{
"channel_name": "websocket_channel",
"params": {
"hostname": "127.0.0.1",
"port": "29600",
"heartbeat_interval": "10000"
}
}
]
}
EOF
```
配置默认模型:
```bash
export PARTNER_DEFAULT_BASE_URL="https://your-openai-compatible-endpoint/v1/chat/completions"
export PARTNER_DEFAULT_API_KEY="your-api-key"
export PARTNER_DEFAULT_MODEL="your-model-name"
```
也可以使用 `$PARTNER_HOME/config/model.json` 声明模型 provider
```json
{
"providerConfigSet": [
{
"name": "default",
"type": "OPENAI_COMPATIBLE",
"defaultModel": "your-model-name",
"baseUrl": "https://your-openai-compatible-endpoint/v1/chat/completions",
"apiKey": "your-api-key"
}
],
"runtimeConfigSet": []
}
```
> 其余详细配置信息参考 [配置项说明](doc/config/config-reference.md)
#### 启动
```
java -jar Partner-Core/target/Partner-Core-0.5.0.jar
```
---
## 项目结构
```text
Partner/
├── Partner-Framework/ # Agent 运行框架与通用基础设施
│ └── src/main/java/work/slhaf/partner/framework/agent/
│ ├── config/ # 配置中心与配置路径解析
│ ├── factory/ # 组件注册、Capability 注入与初始化流程
│ ├── interaction/ # Gateway、运行时调度、输入输出通道
│ ├── model/ # 模型 Provider、模型运行时与消息结构
│ ├── state/ # 状态持久化支持
│ └── support/ # Result、目录监听等基础支持
├── Partner-Core/ # Partner 主运行时与核心模块
│ └── src/main/java/work/slhaf/partner/
│ ├── core/ # 感知、认知、记忆、行动等核心能力接口与状态
│ ├── module/ # 实际参与运行流的模块实现
│ ├── runtime/ # 主运行上下文、Gateway 实现与运行时异常处理
│ ├── common/ # Core 内部共享的基础能力
│ └── Main.java # 启动入口
├── doc/ # 设计说明与补充文档
├── pom.xml # Maven 父工程
└── README.md
```
- `Partner-Framework`:提供 Agent 运行所需的基础框架能力包括配置加载、组件注册、Capability 注入、模型调用、Gateway
注册、运行时调度和状态管理。
- `Partner-Core`:承载 Partner 的主运行逻辑和核心模块实现,包括感知、认知、记忆、行动、通信等能力域。
- `doc/`用于沉淀更细的设计文档README 只保留项目入口和最小启动路径。
---
## 相关文档
### 已完成
- [整体架构与运行流](doc/architecture/overview.md)
- [配置中心](doc/config/configuration.md)
- [模型提供商](doc/model/providers.md)
- [ContextWorkspace](doc/context/context-workspace.md)
### 待完成
- [行动系统](doc/action/action.md)
- [记忆存储与组织](doc/memory/memory.md)
---
## License
暂未指定。