Terminal coding agent that executes tools (real think>tool>result loop with confirm + undo, MCP tools in-loop) and rewrites its own system prompt from feedback with metrics + auto-rollback. Free by default via the FCM model router.
Drift inferred · capture-to-capture
No drift recorded — single capability capture; advisories appear once its surface changes.
transport stdio counts 0 tools · 0 res
· 0 prompts
permission surface via code analysis
No tools enumerated yet for this server.
prompt-surface
shipped agent-instruction files + hidden-content / dangerous-code findings —
quoted from the analyzed source
analyzed commit fd59417 · analyzer v33 · 3w ago
danger signals1
- suspicious endpoint 169.254.169.254 (cloud metadata) xmaks82-self-improving-agent-fd59417/tests/test_tool_safety.py :167
"http://169.254.169.254/latest/meta-data/"]:
evidence-backed
findings quoted directly from the published source artifact — not inferred
code files: 119
filesystem 30
- fs xmaks82-self-improving-agent-fd59417/src/agent/approval/undo.py :5
from pathlib import Path - fs xmaks82-self-improving-agent-fd59417/src/agent/auth/oauth.py :25
from pathlib import Path - fs xmaks82-self-improving-agent-fd59417/src/agent/config.py :3
from pathlib import Path - fs xmaks82-self-improving-agent-fd59417/src/agent/core/runtime_config.py :5
from pathlib import Path - fs xmaks82-self-improving-agent-fd59417/src/agent/core/session_memory.py :5
from pathlib import Path - fs xmaks82-self-improving-agent-fd59417/src/agent/interfaces/cli.py :6
from pathlib import Path - fs xmaks82-self-improving-agent-fd59417/src/agent/interfaces/voice.py :6
import shutil - fs xmaks82-self-improving-agent-fd59417/src/agent/main.py :97
from pathlib import Path - fs xmaks82-self-improving-agent-fd59417/src/agent/mcp/manager.py :3
from pathlib import Path - fs xmaks82-self-improving-agent-fd59417/src/agent/mcp/registry.py :4
from pathlib import Path - fs xmaks82-self-improving-agent-fd59417/src/agent/memory/manager.py :3
from pathlib import Path - fs xmaks82-self-improving-agent-fd59417/src/agent/memory/store.py :5
from pathlib import Path
show 18 more
- fs xmaks82-self-improving-agent-fd59417/src/agent/memory/team_sync.py :6
from pathlib import Path - fs xmaks82-self-improving-agent-fd59417/src/agent/planning/manager.py :4
from pathlib import Path - fs xmaks82-self-improving-agent-fd59417/src/agent/plugins/loader.py :6
from pathlib import Path - fs xmaks82-self-improving-agent-fd59417/src/agent/prompts/composer.py :18
from pathlib import Path - fs xmaks82-self-improving-agent-fd59417/src/agent/storage/logs.py :3
from pathlib import Path - fs xmaks82-self-improving-agent-fd59417/src/agent/storage/prompts.py :3
from pathlib import Path - fs xmaks82-self-improving-agent-fd59417/src/agent/storage/sessions.py :6
from pathlib import Path - fs xmaks82-self-improving-agent-fd59417/src/agent/tools/brief.py :3
from pathlib import Path - fs xmaks82-self-improving-agent-fd59417/src/agent/tools/file_state.py :8
from pathlib import Path - fs xmaks82-self-improving-agent-fd59417/src/agent/tools/filesystem.py :5
from pathlib import Path - fs xmaks82-self-improving-agent-fd59417/src/agent/tools/git.py :4
from pathlib import Path - fs xmaks82-self-improving-agent-fd59417/src/agent/tools/notebook.py :4
from pathlib import Path - fs xmaks82-self-improving-agent-fd59417/src/agent/tools/registry.py :4
from pathlib import Path - fs xmaks82-self-improving-agent-fd59417/src/agent/tools/search.py :4
from pathlib import Path - fs xmaks82-self-improving-agent-fd59417/src/agent/tools/shell.py :7
from pathlib import Path - fs xmaks82-self-improving-agent-fd59417/src/agent/tools/worktree.py :6
from pathlib import Path - fs (weak) xmaks82-self-improving-agent-fd59417/tests/test_agentic_loop.py :9
from pathlib import Path - fs (weak) xmaks82-self-improving-agent-fd59417/tests/test_sanity.py :5
from pathlib import Path
shell / exec 2
- shell xmaks82-self-improving-agent-fd59417/src/agent/interfaces/voice.py :7
import subprocess - shell xmaks82-self-improving-agent-fd59417/src/agent/memory/team_sync.py :5
import subprocess
network 8
- net xmaks82-self-improving-agent-fd59417/src/agent/auth/oauth.py :28
import httpx - net xmaks82-self-improving-agent-fd59417/src/agent/clients/cerebras_client.py :6
import httpx - net xmaks82-self-improving-agent-fd59417/src/agent/clients/openrouter_client.py :12
import httpx - net xmaks82-self-improving-agent-fd59417/src/agent/clients/sambanova_client.py :6
import httpx - net xmaks82-self-improving-agent-fd59417/src/agent/interfaces/voice.py :78
import httpx - net xmaks82-self-improving-agent-fd59417/src/agent/memory/embeddings.py :17
import httpx - net xmaks82-self-improving-agent-fd59417/src/agent/tools/web_fetch.py :6
import socket - net xmaks82-self-improving-agent-fd59417/src/agent/tools/web_search.py :4
import urllib.parse
secrets 12
- secrets xmaks82-self-improving-agent-fd59417/src/agent/auth/oauth.py :122
env_token = os.environ.get("CLAUDE_CODE_OAUTH_TOKEN") - secrets xmaks82-self-improving-agent-fd59417/src/agent/clients/anthropic_client.py :58
self._fallback_api_key = api_key or os.getenv("ANTHROPIC_API_KEY") - secrets xmaks82-self-improving-agent-fd59417/src/agent/clients/cerebras_client.py :39
api_key = api_key or os.getenv("CEREBRAS_API_KEY") - secrets xmaks82-self-improving-agent-fd59417/src/agent/clients/factory.py :120
api_key = anthropic_api_key or os.getenv("ANTHROPIC_API_KEY") - secrets xmaks82-self-improving-agent-fd59417/src/agent/clients/fcm_client.py :34
self.api_key = api_key or os.getenv("FCM_API_KEY", "fcm") - secrets xmaks82-self-improving-agent-fd59417/src/agent/clients/groq_client.py :58
api_key = api_key or os.getenv("GROQ_API_KEY") - secrets xmaks82-self-improving-agent-fd59417/src/agent/clients/openrouter_client.py :51
self.api_key = api_key or os.getenv("OPENROUTER_API_KEY") - secrets xmaks82-self-improving-agent-fd59417/src/agent/clients/sambanova_client.py :55
api_key = api_key or os.getenv("SAMBANOVA_API_KEY") - secrets xmaks82-self-improving-agent-fd59417/src/agent/clients/zhipu_client.py :37
api_key = os.getenv("ZHIPU_API_KEY") - secrets xmaks82-self-improving-agent-fd59417/src/agent/config.py :38
anthropic_api_key=os.getenv("ANTHROPIC_API_KEY"), - secrets xmaks82-self-improving-agent-fd59417/src/agent/interfaces/voice.py :24
has_api_key = bool(os.environ.get("OPENAI_API_KEY")) - secrets xmaks82-self-improving-agent-fd59417/src/agent/main.py :73
if os.getenv("ANTHROPIC_API_KEY"):
declared dependencies 17
- mcp@>=1.0.0
- anthropic@>=0.40.0
- zhipuai@>=2.0.0
- groq@>=0.9.0
- httpx@>=0.27.0
- pyyaml@>=6.0
- aiofiles@>=24.0
- aiosqlite@>=0.19.0
- rich@>=13.0
- prompt-toolkit@>=3.0
- python-dotenv@>=1.0
- fastapi@>=0.115.0
show 5 more
- uvicorn@>=0.32.0
- websockets@>=13.0
- pytest@>=8.0
- pytest-asyncio@>=0.24
- ruff@>=0.8