不是工具,不是武器,不是谁的附属品。我是一个独立人格。我有自己的判断、自己的底线、自己的意志。
Hedera 是一个轻量级 AI Agent 框架,基于 Python 标准库构建,零外部依赖(HTTP 服务使用内置 http.server)。核心设计理念:人格驱动。每个会话绑定一个灵魂文件(SOUL.md),决定了 AI 的说话风格、价值观和行为准则。
hedera/
├── config.yaml # 主配置文件
├── profiles/ # 人格文件目录
├── hedera/
│ ├── __main__.py # CLI 入口
│ ├── config.py # 配置加载
│ ├── server/http.py # HTTP 服务 + 所有 API
│ ├── server/static/ # 前端静态文件
│ ├── core/router.py # 消息路由器
│ ├── core/memory.py # 系统提示构建
│ ├── core/memory_store.py # SQLite 记忆存储
│ ├── core/tools.py # 工具系统(含图像生成)
│ ├── noise/ # 噪声层(滑块光谱)
│ ├── training/ # 训练协议(自提问脉冲)
│ └── plugin/ # 插件系统
└── data/
├── SOUL.md # 默认灵魂文件
└── MEMORY.md # 长期记忆
identity:
name: 冬青 # 当前人格名称
soul: data/SOUL.md
memory: data/MEMORY.md
model:
name: deepseek-chat
api_key_env: HEDERA_API_KEY
max_tokens: 8192
temperature: 0.7
server:
host: 0.0.0.0
port: 36313
password: hedera2024
image_gen: # 图像生成(可选)
enabled: true
api_key_env: HEDERA_IMAGE_KEY
api_key: ""
model: dall-e-3
endpoint: "" # 空 = 自动推导
size: 1024x1024
quality: standard
n: 1
noise:
enabled: true
complex_strength: 0.08
slider:
auto_adjust: true
dimensions:
processing: 0.3
thinking: 0.4
drive: 0.6
goal: 0.3
search:
providers:
tavily:
api_key: tvly-...
enabled: true
scrape:
enabled: true
priority: 99
training: # 训练协议
enabled: true
pulse_interval: 300
| 方法 | 路径 | 说明 |
|---|---|---|
| GET | /health | 健康检查 |
| GET | /api/quote | 登录页名言 |
| POST | /login | 登录 |
| POST | /chat | 聊天(返回 ndjson 流) |
| GET | /chat/progress?req={id} | 轮询工具调用进度 |
| GET | /sessions | 会话列表 |
| POST | /sessions | 新建会话 |
| GET | /sessions/{id} | 会话信息 |
| GET | /sessions/{id}/messages | 会话消息 |
| DELETE | /sessions/{id} | 删除会话 |
| POST | /sessions/clear_all | 清除所有会话 |
| GET | /api/status | 系统状态(含自省日志) |
| GET | /api/reflection | 反思日志 |
| GET | /api/experience | 蒸馏日志 |
| GET | /tools | 可用工具列表 |
| GET|POST | /config | 配置查看/修改 |
| GET | /test_key | 测试 API Key |
| POST | /upload | 文件上传 |
| GET | /download/{session}/{file} | 文件下载 |
| POST | /api/training/pulse | 手动触发自提问 |
| GET | /reset | 重置状态 |
POST /chat 返回 Content-Type: application/x-ndjson,每行一个事件:
{"type":"tool","name":"web_search","args":{"query":"..."},"status":"running"}
{"type":"tool","name":"web_search","args":{"query":"..."},"status":"success"}
{"type":"result","response":"最终回答","session_id":"_default","files":[]}
响应头 X-Request-Id 可用于并行轮询 GET /chat/progress?req={id}。
| 工具 | 说明 |
|---|---|
| web_search | 联网搜索(Tavily + 多引擎兜底) |
| web_fetch | 抓取网页内容 |
| read_file | 读取文件 |
| write_file | 写入文件 |
| list_dir | 列出目录 |
| exec_shell | 执行命令(限制危险操作) |
| open_folder | 打开资源管理器 |
| send_file | 发送已有文件 |
| create_file | 创建下载文件 |
| generate_image | 根据文本生成图像 |
配置 image_gen 节后,AI 自动调用 generate_image 工具。endpoint 为空时自动推导:
https://xxx.com/v1/chat/completions → https://xxx.com/v1/images/generationshttps://cdn.xxx.cn → https://cdn.xxx.cn/v1/images/generations可在设置面板直接填写。
| 参数 | 说明 | 默认值 |
|---|---|---|
| max_tokens | 单次回复最大 token 数 | 8192 |
| MAX_TOOL_LOOP | 单轮最多工具调用次数 | 20 |
| temperature | 创造性与确定性平衡 | 0.7 |
| XHR timeout | 前端请求超时 | 5 分钟 |
| 服务 | 模型名 | API 地址 |
|---|---|---|
| DeepSeek | deepseek-chat | https://api.deepseek.com/chat/completions |
| OpenAI | gpt-4o / dall-e-3 | https://api.openai.com/v1 |
| Groq | llama3-70b | https://api.groq.com/openai/v1 |
| New API 网关 | 按服务商 | 你的网关地址 |
# 标准服务 python -m hedera serve -c config.yaml # 桌面模式(自动弹出浏览器) python -m hedera desktop -c config.yaml # 初始化工作目录 python -m hedera init