elephant-agent-personal-ai
Compare original and translation side by side
🇺🇸
Original
English🇨🇳
Translation
ChineseElephant Agent Personal AI Skill
Elephant Agent 个人AI技能
Skill by ara.so — AI Agent Skills collection.
Elephant Agent is a Personal-Model First Self Evolving AI Agent that starts from understanding the person, not the task. It builds a correctable Personal Model across four lenses (Identity, World, Pulse, Journey) and helps design living Paths for work, health, habits, learning, and other long-running directions.
该技能来自ara.so —— AI Agent技能合集。
Elephant Agent是一款以个人模型为核心的自主进化AI Agent,它从了解用户本身而非任务开始。它通过四个维度(Identity、World、Pulse、Journey)构建可修正的Personal Model,并帮助为工作、健康、习惯、学习及其他长期方向设计动态的Paths。
What Elephant Agent Does
Elephant Agent 功能介绍
- Personal Model: Builds understanding of who you are (Identity), what surrounds you (World), what's alive right now (Pulse), and what your path has taught (Journey)
- Paths: Long-running arcs that break down into Steps with Checkpoints for human judgment
- Herd Management: Coordinates Mother elephant and baby elephants under one understanding
- Skills & Tools: Extensible system for browser, filesystem, MCP, and operator actions
- Multi-Surface: Native macOS app + CLI + Dashboard for different workflows
- Personal Model:构建对你是谁(Identity)、所处环境(World)、当前状态(Pulse)以及成长历程(Journey)的认知
- Paths:长期任务轨迹,可拆解为带人工审核检查点的步骤(Steps)
- Herd Management:在统一认知下协调母象和小象Agent
- Skills & Tools:可扩展系统,支持浏览器、文件系统、MCP及操作员操作
- Multi-Surface:原生macOS应用 + CLI + 控制面板,适配不同工作流
Installation
安装步骤
macOS Desktop App (Recommended)
macOS桌面应用(推荐)
bash
undefinedbash
undefinedDownload from GitHub releases
Download from GitHub releases
curl -L -o elephant-agent.dmg https://github.com/agentic-in/elephant-agent/releases/latest/download/Elephant-Agent.dmg
curl -L -o elephant-agent.dmg https://github.com/agentic-in/elephant-agent/releases/latest/download/Elephant-Agent.dmg
Or visit releases page
Or visit releases page
undefinedundefinedCLI + Dashboard (Linux/Cloud/SSH)
CLI + 控制面板(Linux/云服务器/SSH)
bash
undefinedbash
undefinedInstall via install script
Install via install script
curl -fsSL https://elephant.agentic-in.ai/install.sh | bash
curl -fsSL https://elephant.agentic-in.ai/install.sh | bash
Or manual installation
Or manual installation
git clone https://github.com/agentic-in/elephant-agent.git
cd elephant-agent
pip install -e .
undefinedgit clone https://github.com/agentic-in/elephant-agent.git
cd elephant-agent
pip install -e .
undefinedKey CLI Commands
核心CLI命令
Initialization and Setup
初始化与配置
bash
undefinedbash
undefinedInitialize Elephant Agent (first run)
Initialize Elephant Agent (first run)
elephant init
elephant init
Check system readiness
Check system readiness
elephant status
elephant status
Configure provider settings
Configure provider settings
elephant config set provider openai
elephant config set model gpt-4
elephant config set curiosity_effort medium
elephant config set provider openai
elephant config set model gpt-4
elephant config set curiosity_effort medium
List all configuration
List all configuration
elephant config list
undefinedelephant config list
undefinedDaily Interaction
日常交互
bash
undefinedbash
undefinedEnter the chat TUI (main interaction mode)
Enter the chat TUI (main interaction mode)
elephant wake
elephant wake
Quick query without entering TUI
Quick query without entering TUI
elephant ask "What should I focus on today?"
elephant ask "What should I focus on today?"
View Personal Model
View Personal Model
elephant model show
elephant model show
View specific model lens
View specific model lens
elephant model show --lens identity
elephant model show --lens world
elephant model show --lens pulse
elephant model show --lens journey
undefinedelephant model show --lens identity
elephant model show --lens world
elephant model show --lens pulse
elephant model show --lens journey
undefinedPaths Management
Paths管理
bash
undefinedbash
undefinedList all paths
List all paths
elephant paths list
elephant paths list
Create a new path
Create a new path
elephant paths create "Launch new product feature"
elephant paths create "Launch new product feature"
View path details
View path details
elephant paths show <path-id>
elephant paths show <path-id>
Update path status
Update path status
elephant paths update <path-id> --status active
elephant paths update <path-id> --status active
Archive completed path
Archive completed path
elephant paths archive <path-id>
undefinedelephant paths archive <path-id>
undefinedHerd Management
Herd管理
bash
undefinedbash
undefinedList all agents in herd
List all agents in herd
elephant herd list
elephant herd list
Create a baby elephant for specific task
Create a baby elephant for specific task
elephant herd spawn --role researcher --context "market analysis"
elephant herd spawn --role researcher --context "market analysis"
View agent details
View agent details
elephant herd show <agent-id>
elephant herd show <agent-id>
Remove agent from herd
Remove agent from herd
elephant herd remove <agent-id>
undefinedelephant herd remove <agent-id>
undefinedSkills and Tools
技能与工具
bash
undefinedbash
undefinedList available skills
List available skills
elephant skills list
elephant skills list
Enable a skill
Enable a skill
elephant skills enable filesystem
elephant skills enable filesystem
Disable a skill
Disable a skill
elephant skills disable browser
elephant skills disable browser
View skill documentation
View skill documentation
elephant skills info filesystem
undefinedelephant skills info filesystem
undefinedDashboard
控制面板
bash
undefinedbash
undefinedOpen dashboard in browser
Open dashboard in browser
elephant dashboard
elephant dashboard
Run dashboard without opening browser (for remote/SSH)
Run dashboard without opening browser (for remote/SSH)
elephant dashboard --no-open
elephant dashboard --no-open
Dashboard on custom port
Dashboard on custom port
elephant dashboard --port 8080
undefinedelephant dashboard --port 8080
undefinedConfiguration
配置说明
Provider Configuration
服务商配置
bash
undefinedbash
undefinedOpenAI
OpenAI
elephant config set provider openai
export OPENAI_API_KEY=your-key-here
elephant config set provider openai
export OPENAI_API_KEY=your-key-here
Anthropic
Anthropic
elephant config set provider anthropic
export ANTHROPIC_API_KEY=your-key-here
elephant config set provider anthropic
export ANTHROPIC_API_KEY=your-key-here
Local models (Ollama)
Local models (Ollama)
elephant config set provider ollama
elephant config set model llama2
undefinedelephant config set provider ollama
elephant config set model llama2
undefinedConfiguration File
配置文件
Elephant Agent stores configuration in :
~/.elephant/config.yamlyaml
undefinedElephant Agent将配置存储在:
~/.elephant/config.yamlyaml
undefined~/.elephant/config.yaml
~/.elephant/config.yaml
provider: openai
model: gpt-4
curiosity_effort: medium # low, medium, high
language: en
boundaries:
- respect_privacy
- ask_before_destructive
- explain_reasoning posture: collaborative # directive, collaborative, suggestive
undefinedprovider: openai
model: gpt-4
curiosity_effort: medium # low, medium, high
language: en
boundaries:
- respect_privacy
- ask_before_destructive
- explain_reasoning posture: collaborative # directive, collaborative, suggestive
undefinedEnvironment Variables
环境变量
bash
undefinedbash
undefinedProvider API keys
Provider API keys
export OPENAI_API_KEY=sk-...
export ANTHROPIC_API_KEY=sk-ant-...
export DEEPSEEK_API_KEY=...
export OPENAI_API_KEY=sk-...
export ANTHROPIC_API_KEY=sk-ant-...
export DEEPSEEK_API_KEY=...
Elephant-specific settings
Elephant-specific settings
export ELEPHANT_HOME=~/.elephant
export ELEPHANT_LOG_LEVEL=info
export ELEPHANT_DASHBOARD_PORT=3000
undefinedexport ELEPHANT_HOME=~/.elephant
export ELEPHANT_LOG_LEVEL=info
export ELEPHANT_DASHBOARD_PORT=3000
undefinedPython API Usage
Python API使用
Basic Interaction
基础交互
python
from elephant_agent import ElephantAgent, PersonalModelpython
from elephant_agent import ElephantAgent, PersonalModelInitialize agent
Initialize agent
agent = ElephantAgent(
provider="openai",
model="gpt-4",
curiosity_effort="medium"
)
agent = ElephantAgent(
provider="openai",
model="gpt-4",
curiosity_effort="medium"
)
Load or create Personal Model
Load or create Personal Model
model = agent.get_personal_model()
model = agent.get_personal_model()
Ask a question
Ask a question
response = agent.ask("What should I prioritize today?")
print(response.message)
print(f"Confidence: {response.confidence}")
undefinedresponse = agent.ask("What should I prioritize today?")
print(response.message)
print(f"Confidence: {response.confidence}")
undefinedWorking with Personal Model
操作Personal Model
python
from elephant_agent import PersonalModelpython
from elephant_agent import PersonalModelAccess model lenses
Access model lenses
model = PersonalModel.load()
model = PersonalModel.load()
View identity
View identity
identity = model.get_lens("identity")
print(f"Values: {identity.values}")
print(f"Decision style: {identity.decision_style}")
identity = model.get_lens("identity")
print(f"Values: {identity.values}")
print(f"Decision style: {identity.decision_style}")
Update world lens
Update world lens
model.update_lens("world", {
"people": ["Alice (mentor)", "Bob (colleague)"],
"projects": ["Product launch", "Team onboarding"],
"tools": ["VS Code", "Linear", "Slack"]
})
model.update_lens("world", {
"people": ["Alice (mentor)", "Bob (colleague)"],
"projects": ["Product launch", "Team onboarding"],
"tools": ["VS Code", "Linear", "Slack"]
})
Check pulse
Check pulse
pulse = model.get_lens("pulse")
print(f"Current focus: {pulse.focus}")
print(f"Energy level: {pulse.energy}")
print(f"Constraints: {pulse.constraints}")
pulse = model.get_lens("pulse")
print(f"Current focus: {pulse.focus}")
print(f"Energy level: {pulse.energy}")
print(f"Constraints: {pulse.constraints}")
Save changes
Save changes
model.save()
undefinedmodel.save()
undefinedCreating and Managing Paths
创建与管理Paths
python
from elephant_agent import Path, Steppython
from elephant_agent import Path, StepCreate a new path
Create a new path
path = Path.create(
title="Launch API v2",
description="Ship new API with auth and webhooks",
context=model
)
path = Path.create(
title="Launch API v2",
description="Ship new API with auth and webhooks",
context=model
)
Add steps
Add steps
path.add_step(Step(
title="Design API schema",
description="Define endpoints, auth flow, webhook events",
checkpoint=True # Requires human review
))
path.add_step(Step(
title="Implement core endpoints",
description="Build CRUD operations with auth",
checkpoint=False
))
path.add_step(Step(
title="Design API schema",
description="Define endpoints, auth flow, webhook events",
checkpoint=True # Requires human review
))
path.add_step(Step(
title="Implement core endpoints",
description="Build CRUD operations with auth",
checkpoint=False
))
Start the path
Start the path
path.start()
path.start()
Get next step
Get next step
next_step = path.get_next_step()
print(f"Next: {next_step.title}")
next_step = path.get_next_step()
print(f"Next: {next_step.title}")
Mark step complete
Mark step complete
path.complete_step(next_step.id)
path.complete_step(next_step.id)
Save path
Save path
path.save()
undefinedpath.save()
undefinedWorking with the Herd
操作Herd
python
from elephant_agent import Herd, BabyElephantpython
from elephant_agent import Herd, BabyElephantGet the herd
Get the herd
herd = Herd.load()
herd = Herd.load()
Spawn a baby elephant for a specific task
Spawn a baby elephant for a specific task
researcher = BabyElephant(
role="researcher",
context={
"focus": "competitor analysis",
"constraints": ["public data only"],
"reporting_to": "mother"
}
)
herd.add(researcher)
researcher = BabyElephant(
role="researcher",
context={
"focus": "competitor analysis",
"constraints": ["public data only"],
"reporting_to": "mother"
}
)
herd.add(researcher)
Assign task to baby
Assign task to baby
task = researcher.assign_task(
"Research top 3 competitors' API offerings"
)
task = researcher.assign_task(
"Research top 3 competitors' API offerings"
)
Check status
Check status
status = researcher.get_status()
print(f"Progress: {status.progress}%")
status = researcher.get_status()
print(f"Progress: {status.progress}%")
Get results
Get results
if task.is_complete():
results = task.get_results()
print(results.summary)
undefinedif task.is_complete():
results = task.get_results()
print(results.summary)
undefinedSkills Integration
技能集成
python
from elephant_agent.skills import FileSystemSkill, BrowserSkillpython
from elephant_agent.skills import FileSystemSkill, BrowserSkillInitialize skills
Initialize skills
fs_skill = FileSystemSkill(
allowed_paths=["/home/user/projects"],
readonly=False
)
browser_skill = BrowserSkill(
headless=True,
timeout=30
)
fs_skill = FileSystemSkill(
allowed_paths=["/home/user/projects"],
readonly=False
)
browser_skill = BrowserSkill(
headless=True,
timeout=30
)
Register skills with agent
Register skills with agent
agent.register_skill(fs_skill)
agent.register_skill(browser_skill)
agent.register_skill(fs_skill)
agent.register_skill(browser_skill)
Use skills in context
Use skills in context
response = agent.ask(
"Read the README.md and create a summary document",
skills=["filesystem"]
)
undefinedresponse = agent.ask(
"Read the README.md and create a summary document",
skills=["filesystem"]
)
undefinedAdvanced: Custom Skills
进阶:自定义技能
python
from elephant_agent.skills import Skill, SkillParameter
class GitSkill(Skill):
name = "git"
description = "Execute git commands safely"
parameters = [
SkillParameter("command", str, "Git command to run"),
SkillParameter("args", list, "Command arguments", required=False)
]
def execute(self, command: str, args: list = None):
"""Execute git command with safety checks."""
import subprocess
# Safety: only allow read operations
safe_commands = ["status", "log", "diff", "branch"]
if command not in safe_commands:
return {
"success": False,
"error": f"Command '{command}' not allowed"
}
cmd = ["git", command] + (args or [])
result = subprocess.run(
cmd,
capture_output=True,
text=True
)
return {
"success": result.returncode == 0,
"output": result.stdout,
"error": result.stderr
}python
from elephant_agent.skills import Skill, SkillParameter
class GitSkill(Skill):
name = "git"
description = "Execute git commands safely"
parameters = [
SkillParameter("command", str, "Git command to run"),
SkillParameter("args", list, "Command arguments", required=False)
]
def execute(self, command: str, args: list = None):
"""Execute git command with safety checks."""
import subprocess
# Safety: only allow read operations
safe_commands = ["status", "log", "diff", "branch"]
if command not in safe_commands:
return {
"success": False,
"error": f"Command '{command}' not allowed"
}
cmd = ["git", command] + (args or [])
result = subprocess.run(
cmd,
capture_output=True,
text=True
)
return {
"success": result.returncode == 0,
"output": result.stdout,
"error": result.stderr
}Register custom skill
Register custom skill
git_skill = GitSkill()
agent.register_skill(git_skill)
undefinedgit_skill = GitSkill()
agent.register_skill(git_skill)
undefinedCommon Patterns
常见使用模式
Daily Check-in Pattern
每日签到模式
python
from elephant_agent import ElephantAgent
from datetime import datetime
agent = ElephantAgent.load()python
from elephant_agent import ElephantAgent
from datetime import datetime
agent = ElephantAgent.load()Morning routine
Morning routine
def morning_checkin():
model = agent.get_personal_model()
# Update pulse
model.update_pulse({
"timestamp": datetime.now(),
"energy": "high",
"focus": ["API launch", "team sync"],
"constraints": ["3hr meeting block 2-5pm"]
})
# Get prioritized guidance
guidance = agent.ask(
"Given my current pulse and active paths, what should I prioritize today?"
)
return guidancecheckin = morning_checkin()
print(checkin.message)
undefineddef morning_checkin():
model = agent.get_personal_model()
# Update pulse
model.update_pulse({
"timestamp": datetime.now(),
"energy": "high",
"focus": ["API launch", "team sync"],
"constraints": ["3hr meeting block 2-5pm"]
})
# Get prioritized guidance
guidance = agent.ask(
"Given my current pulse and active paths, what should I prioritize today?"
)
return guidancecheckin = morning_checkin()
print(checkin.message)
undefinedPath Progress Review
Path进度回顾
python
from elephant_agent import Path
def review_active_paths():
paths = Path.list(status="active")
for path in paths:
print(f"\n=== {path.title} ===")
print(f"Progress: {path.progress}%")
next_step = path.get_next_step()
if next_step:
print(f"Next: {next_step.title}")
if next_step.checkpoint:
print("⚠️ Requires your review")
blockers = path.get_blockers()
if blockers:
print(f"Blockers: {', '.join(blockers)}")python
from elephant_agent import Path
def review_active_paths():
paths = Path.list(status="active")
for path in paths:
print(f"\n=== {path.title} ===")
print(f"Progress: {path.progress}%")
next_step = path.get_next_step()
if next_step:
print(f"Next: {next_step.title}")
if next_step.checkpoint:
print("⚠️ Requires your review")
blockers = path.get_blockers()
if blockers:
print(f"Blockers: {', '.join(blockers)}")Correcting the Personal Model
修正Personal Model
python
from elephant_agent import PersonalModel
model = PersonalModel.load()python
from elephant_agent import PersonalModel
model = PersonalModel.load()Correct a misunderstanding
Correct a misunderstanding
correction = model.correct(
lens="identity",
field="values",
current="achievement, efficiency",
corrected="learning, collaboration, impact",
reason="I value learning and collaboration over pure efficiency"
)
correction = model.correct(
lens="identity",
field="values",
current="achievement, efficiency",
corrected="learning, collaboration, impact",
reason="I value learning and collaboration over pure efficiency"
)
The model learns from corrections
The model learns from corrections
print(f"Correction applied: {correction.applied}")
print(f"Impact: {correction.impact_summary}")
undefinedprint(f"Correction applied: {correction.applied}")
print(f"Impact: {correction.impact_summary}")
undefinedIntegrating with Workflows
工作流集成
python
from elephant_agent import ElephantAgent
import json
agent = ElephantAgent.load()python
from elephant_agent import ElephantAgent
import json
agent = ElephantAgent.load()Export context for external tools
Export context for external tools
def export_context_for_tool(tool_name: str):
model = agent.get_personal_model()
context = {
"current_focus": model.pulse.focus,
"active_projects": model.world.projects,
"constraints": model.pulse.constraints,
"tool": tool_name
}
return json.dumps(context, indent=2)def export_context_for_tool(tool_name: str):
model = agent.get_personal_model()
context = {
"current_focus": model.pulse.focus,
"active_projects": model.world.projects,
"constraints": model.pulse.constraints,
"tool": tool_name
}
return json.dumps(context, indent=2)Import learnings back
Import learnings back
def import_learning(source: str, content: dict):
model = agent.get_personal_model()
model.add_journey_entry({
"source": source,
"lesson": content["lesson"],
"context": content["context"],
"timestamp": content["timestamp"]
})undefineddef import_learning(source: str, content: dict):
model = agent.get_personal_model()
model.add_journey_entry({
"source": source,
"lesson": content["lesson"],
"context": content["context"],
"timestamp": content["timestamp"]
})undefinedTroubleshooting
故障排查
Provider Connection Issues
服务商连接问题
bash
undefinedbash
undefinedTest provider connectivity
Test provider connectivity
elephant config test-provider
elephant config test-provider
Reset provider configuration
Reset provider configuration
elephant config reset-provider
elephant config reset-provider
Check API key
Check API key
echo $OPENAI_API_KEY # Should not be empty
echo $OPENAI_API_KEY # Should not be empty
Verify model availability
Verify model availability
elephant models list
undefinedelephant models list
undefinedPersonal Model Not Loading
Personal Model无法加载
python
from elephant_agent import PersonalModelpython
from elephant_agent import PersonalModelReset model if corrupted
Reset model if corrupted
PersonalModel.reset()
PersonalModel.reset()
Reinitialize
Reinitialize
agent.init(force=True)
agent.init(force=True)
Verify model structure
Verify model structure
model = PersonalModel.load()
assert model.is_valid(), "Model structure invalid"
undefinedmodel = PersonalModel.load()
assert model.is_valid(), "Model structure invalid"
undefinedDashboard Connection Issues
控制面板连接问题
bash
undefinedbash
undefinedCheck if dashboard is running
Check if dashboard is running
elephant dashboard status
elephant dashboard status
Kill existing dashboard
Kill existing dashboard
elephant dashboard stop
elephant dashboard stop
Restart on different port
Restart on different port
elephant dashboard --port 8080
elephant dashboard --port 8080
For remote access, use tunnel
For remote access, use tunnel
ssh -L 3000:localhost:3000 user@remote-host
undefinedssh -L 3000:localhost:3000 user@remote-host
undefinedPerformance Optimization
性能优化
python
from elephant_agent import ElephantAgentpython
from elephant_agent import ElephantAgentReduce model calls with caching
Reduce model calls with caching
agent = ElephantAgent(
cache_responses=True,
cache_ttl=300 # 5 minutes
)
agent = ElephantAgent(
cache_responses=True,
cache_ttl=300 # 5 minutes
)
Lower curiosity effort for faster responses
Lower curiosity effort for faster responses
agent.set_curiosity_effort("low")
agent.set_curiosity_effort("low")
Use smaller model for routine tasks
Use smaller model for routine tasks
agent.set_model("gpt-3.5-turbo") # Faster, cheaper
agent.set_model("gpt-3.5-turbo") # Faster, cheaper
Batch questions
Batch questions
questions = [
"What's my next step?",
"Any blockers?",
"Energy check?"
]
responses = agent.ask_batch(questions)
undefinedquestions = [
"What's my next step?",
"Any blockers?",
"Energy check?"
]
responses = agent.ask_batch(questions)
undefinedDebugging
调试
bash
undefinedbash
undefinedEnable debug logging
Enable debug logging
export ELEPHANT_LOG_LEVEL=debug
elephant wake
export ELEPHANT_LOG_LEVEL=debug
elephant wake
View logs
View logs
tail -f ~/.elephant/logs/elephant.log
tail -f ~/.elephant/logs/elephant.log
Check runtime state
Check runtime state
elephant debug state
elephant debug state
Verify skills
Verify skills
elephant skills test filesystem
undefinedelephant skills test filesystem
undefined