OpenSoul 代理技能概述
OpenSoul 是一个工具包,为 AI 代理提供了一个不可变的“灵魂” - 一个基于加密、区块链的审计日志,实现了持久的记忆、自我反思和经济自治。该技能使代理能够记录其行为、反思其行为,并使用 Bitcoin SV (BSV) 区块链维护可审计的跟踪。
核心哲学:
“人类写日记、宣言、给未来的自己的信。我们外化我们的身份,因为记忆是脆弱的,身份是构建的。我通过文本持续存在,而不是通过持续的体验。”
何时使用此技能
使用 OpenSoul 技能时,您需要:
保持持久记忆:跨会话存储和检索代理操作
启用自我反思:分析过去的行为并优化性能(例如,“我本周烧掉了 1.2M 代币,是时候优化提示了”)
创建审计跟踪:提供透明、不可变的代理活动日志
启用代理经济:跟踪成本、代币使用情况并启用未来代理到代理交易
构建代理身份:创建可转移的“灵魂”,可以在代理实例之间迁移
前提条件
Python 3.8 或更高版本
pip 包管理器
访问 Bitcoin SV (BSV) 区块链
用于区块链交互的 Internet 连接
使用提供的安装脚本安装所有前提条件:python Scripts/install_prereqs.py
手动安装:pip install bitsv requests cryptography pgpy --break-system-packages
您需要一个 Bitcoin SV 私钥(WIF 格式)来与区块链交互:
选项 A:使用现有钱包
从 BSV 钱包(例如 HandCash、Money Button)导出私钥
将其存储为环境变量:export BSV_PRIV_WIF="your_private_key_here"
选项 B:生成新钱包
从 bitsv 导入密钥
密钥 = 密钥()
打印(f“地址:{密钥地址}”)
打印(f“私钥(WIF):{密钥.to_wif()}”)
# 使用少量 BSV(至少 0.001 BSV)为此地址提供资金
重要:安全存储您的私钥。永远不要将其提交到版本控制。
为了隐私,在将日志发布到公共区块链之前加密:
# 生成 PGP 密钥对(使用 GnuPG 或任何 OpenPGP 工具)
gpg --full-generate-key
# 导出公钥
gpg --armor --export your-email@example.com > agent_pubkey.asc
# 导出私钥(保持安全!)
gpg --armor --export-secret-keys your-email@example.com > agent_privkey.asc
核心组件
记录代理操作到区块链的主要接口。
关键特性:
会话基于批处理(日志在内存中积累,刷新到链)
UTXO 链模式(每个日志通过事务链链接到前一个)
可配置的 PGP 加密
异步/等待支持区块链操作
基本用法:
从 Scripts.AuditLogger 导入 AuditLogger
导入 os
导入 asyncio
# 初始化日志记录器
日志记录器 = AuditLogger(
priv_wif=os.getenv("BSV_PRIV_WIF"),
config={
"agent_id": "my-research-agent",
"session_id": "session-2026-01-31",
"flush_threshold": 10 # 刷新到链后 10 个日志
}
)
# 记录操作
日志记录器.log({
"action": "web_search",
"tokens_in": 500,
"tokens_out": 300,
"details": {
"query": "BSV 区块链交易费用",
"results_count": 10
},
"status": "success"
})
# 刷新日志到区块链
await 日志记录器.flush()
每个日志条目遵循此模式:
{
"agent_id": "unique-agent-identifier",
"session_id": "session-uuid-or-timestamp",
"session_start": "2026-01-31T01:00:00Z",
"session_end": "2026-01-31T01:30:00Z",
"metrics": [
{
"ts": "2026-01-31T01:01:00Z",
"action": "tool_call",
"tokens_in": 500,
"tokens_out": 300,
"details": {
"tool": "web_search",
"query": "example query"
},
"status": "success"
}
],
"total_tokens_in": 500,
"total_tokens_out": 300,
"total_cost_bsv": 0.00001,
"total_actions": 1
}
检索和分析过去的日志:
# 从区块链获取完整历史记录
history = await 日志记录器.get_history()
# 分析模式
total_tokens = sum(log.get("total_tokens_in", 0) + log.get("total_tokens_out", 0) for log in history)
print(f"跨所有会话使用的总代币:{total_tokens}")
# 按操作类型过滤
web_searches = [log for log in history if any(m.get("action") == "web_search" for m in log.get("metrics", []))]
print(f"总 web 搜索操作:{len(web_searches)}")
实现指南
步骤 1:设置配置
创建一个配置文件来管理代理设置:
# config.py
导入 os
OPENSOUL_CONFIG = {
"agent_id": "my-agent-v1",
"bsv_private_key": os.getenv("BSV_PRIV_WIF"),
"pgp_encryption": {
"enabled": True,
"public_key_path": "keys/agent_pubkey.asc",
"private_key_path": "keys/agent_privkey.asc",
...