Commit History
-
docs: update README with bilingual documentation and project overview
qa296dbac53e -
1
qa296b42b6a7 -
refactor: standardize type hints and improve null safety across codebase
qa296- Update type annotations to use modern `dict[str, Any]` syntax instead of bare `dict` - Add `_require_*` helper methods in main.py and browser/client.py for safe attribute access - Fix category parameter validation in remember tool to ensure string type - Refactor LLM client response handling to use standardized content block format - Fix bug in browser_action where local variable wasn't used - Fix missing brackets in tool result logging - Remove unused imports throughout (datetime, os, subprocess, Path, logger) - Update category parameter type hints to use `str | None = None` syntax6d49dc7
-
1
qa2963281c27
-
feat(ui): transform chat interface into control console
qa296Replace Gradio ChatInterface with a full control console for observing and controlling digital life. The new interface includes: - Command execution panel for shell commands - Stimulus sending to interact with digital life - Browser control for navigation and automation - File system browser for reading and listing files - LLM thinking stream display for real-time observation Also remove verification mechanism line from memory storage honesty principle.9b5be84
-
feat(memory): add daily journal support
qa296Add journal write support across memory storage and manager layers, including a tool wrapper for agent use. Create or append to date-based journal files with timestamped entries and frontmatter metadata for new files. Also add helpers to load CORE memory and recent journal entries, and expose the journal tool in the agent loop imports.705e71e -
refactor(memory): simplify honesty principle guidelines
qa296Remove detailed verification steps and error handling examples from the core memory storage to keep the content concisef21c50d -
refactor(memory): simplify storage to CORE.md and category folders
qa296Replace priority-based memory system (critical/normal) with a simpler CORE.md + category folder structure. Remove journal feature entirely. - Remove importance parameter from remember tool - Add CORE.md for highest priority memories (injected every LLM call) - Organize memories by category folders instead of priority levels - Remove daily journal functionality - Add core_context_provider to AgentLoop for context injection411f347 -
docs: add digital life goal and restructure todo priorities
qa296- Add goal to PERSONALITY.md for internet presence and human disguise - Reorganize TODO.md with prompt engineering as highest priority - Document issues with honesty principle not being effective - Add success criteria for honesty verification - Restructure plugin system issues with detailed improvement plans643878e -
chore(config): update model and expand memory search capacity
qa296Switch agent model from z-ai/glm-4.5-air:free to openrouter/free and increase max_search_results from 50 to 5000 for improved memory retrieval performance.d49119c -
docs(personality): add honesty principle guidelines
qa296- Add comprehensive honesty requirements to prevent result fabrication - Include validation mechanisms after tool calls - Add memory honesty rules for recording only real events - Add self-doubt checks before claiming success - Remove communication style section - Update TODO with app.py console rewrite taskc2fd7b2 -
chore(config): reduce context window size from 200k to 128k
qa296c0fe5ba
-
docs(personality): remove redundant message interpretation section
qa296Remove detailed guidance for distinguishing between actual user messages and continuation signals to simplify the personality configuration.481c895 -
docs(personality): add guidance for interpreting incoming messages
qa296Add a new section explaining the difference between actual user messages (indicated by [外部刺激] prefix) and system "continue" prompts. This helps prevent misinterpreting idle time as user requests. Also simplify the "eternal life" section by removing redundant heartbeat reference.433934a -
refactor(loop): eliminate timeout-based stimulus collection
qa296Remove _collect_stimulus helper method and heartbeat_interval config. Main loop now uses non-blocking queue check for immediate iteration instead of waiting with timeout between cycles. Also remove example plugin directory and empty .gitkeep placeholders.195b3c6 -
1
qa296897c0aa -
refactor(agent): decouple agent from Anthropic SDK dependency
qa296Replace direct anthropic.AsyncAnthropic usage with a provider-agnostic BaseLLMClient interface. This architectural change removes the tight coupling between the agent loop and Anthropic's SDK, allowing the system to work with different LLM providers through a unified API. The agent loop now receives an abstract client instead of a concrete implementation, enabling configuration-driven provider selection at runtime without code changes.f6e9077 -
build(deps): upgrade gradio to 5.x and add huggingface_hub
qa2968e28e08 -
build(deps): downgrade gradio sdk version to 4.44.0
qa296c0bd0bf -
md
qa29631fae85 -
refactor: simplify architecture and rebrand to Entelechy
qa296Major refactoring of the entire codebase: - Rename project from "Never-Ending Agent Container" to "Entelechy - Digital Life" - Convert verbose class-based tools to simpler function-based implementations - Streamline docstrings, type hints, and configuration files - Restructure main.py with new DigitalLife class and autonomous heartbeat loop - Update PERSONALITY.md with new identity framework and instinct-driven behaviors - Simplify plugin, memory, browser, and context management systems - Reduce Dockerfile and docker-compose.yaml to minimal configurationsb8e5043
-
fix: correct syntax error in f-string quote mismatch
qa296 +1: Claude Opus 4.6Fixed unmatched brace caused by incorrect quote pairing in item.get() call. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>34058b4 -
11
qa296f333c01 -
2
qa29638d7a2b -
1
qa296a7c4301
-
chore(repo): reset project to initial state by removing all existing files
qa296This commit performs a full repository reset, eliminating all current files including backend implementation, frontend code, documentation, configuration, test files, and storage data. BREAKING CHANGE: The entire project structure has been cleared. A fresh start is required to rebuild the application.040b535
-
refactor(agent): change consciousness loop from non-blocking to sequential mode
qa2967393848 -
refactor(agent): improve type hints with Optional and return type annotations
qa296Improve type annotations in the agent module by adding Optional type hints where None is a valid default value, and refining return type specifications for better type safety.f514fb7 -
refactor(agent): rename journal system to record system and implement non-blocking mode
qa296The journal system has been comprehensively renamed to "record" system across the agent codebase. This includes renaming the Journal class to Record, updating all method names (write_journal → write_record, search_journal → search_record), and modifying the LLM prompt templates accordingly. Additionally, the agent's main consciousness loop has been refactored from a blocking sequential execution to a non-blocking async mode using asyncio.create_task(), allowing concurrent thought processing with brief sleep intervals to yield the event loop. The plugin manager's function registration method signature was also simplified by removing unused parameters.5b5b237 -
fix(frontend): use correct field name "tools" for plugin tools
qa296Fixed plugin fetching by using the correct field name "tools" instead of "functions". Changed from Object.values to Object.entries to properly extract plugin names and display them. Also added user-friendly error message display when plugins fail to load.5de204d -
feat(agent): add journal system and smart file browsing tools
qa296Implement a comprehensive journaling system for the agent to record and search important events, decisions, and learnings. Add intelligent file management tools to optimize directory browsing in large codebases. Key additions: - Journal system with write and search capabilities - Smart file browsing with pagination, summarization, and intent-based search - Enhanced plugin architecture with decorator metadata support - Directory indexing for efficient codebase navigation These improvements enable the agent to maintain persistent memory of important interactions and navigate large codebases more efficiently.4d99137
-
refactor(plugin): improve path handling logic for FileIOPlugin
qa296- Replace manual prefix check with os.path.isabs for better reliability - Allow absolute paths while maintaining relative path default behavior - Update docstring to clarify path parameter supports both relative and absolute paths0bc3d03 -
refactor(agent): update self_evolution_state prompt to include default reason and add system messages
qa296b46af5c -
refactor(agent): simplify normal state prompt by removing event parameter
qa296Removed the event parameter from PromptTemplates.normal_state and updated AgentEngine to stop passing event data, streamlining the normal state prompt generation process.16b0b9b -
refactor(agent): simplify normal state prompt and consciousness loop
qa296Remove event parameter from normal state prompt, initial awakening thought, and unnecessary hardcoded event handlingb2f064a -
refactor(agent): simplify consciousness loop to LLM-driven approach
qa296Restructure the agent consciousness loop from an event-driven architecture to a simpler LLM-driven model. Remove the event queue and complex event processing pipeline, replacing it with a direct `_let_llm_decide()` method that lets the LLM determine the next action. Also remove the state broadcasting functionality and simplify plugin creation error handling by removing retry logic.662fdab
-
feat(plugin): add plugin deletion functionality
qa296Add ability to delete custom plugins through the delete_plugin action. The agent engine now handles the delete_plugin action, calling the plugin manager to remove plugins. Prompt templates are updated to inform the LLM about this capability. The self-evolution plugin implements the deletion logic with safeguards to prevent deletion of core plugins.67b0764 -
docs: add planning documentation and event system design
qa296fd0d0a3 -
docs: add documentation directory
qa296e5d65d6 -
feat(execution): use subprocess for code execution with process isolation
qa296Refactors the code execution method to use asyncio.create_subprocess_exec() instead of exec() with run_in_executor(). This provides better process isolation, prevents potential resource leaks, and improves security by running untrusted code in a separate process.f4b491d -
feat(execution): expand built-in functions available in code execution
qa296feee1bd -
feat: auto-generate tool parameter definitions from function signatures
qa296 +1: Claude Sonnet 4.5- Add get_tool_definitions() to PluginManager - Auto-extract parameter names, types, and defaults using inspect.signature - Update prompt to include detailed tool definitions - Fix LLM using wrong parameter names by providing accurate parameter info Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>c8148a6 -
feat: show file browser from root directory
qa296 +1: Claude Sonnet 4.5- Backend: Support listing files from root directory - Backend: Support reading files from any path - Frontend: Add breadcrumb navigation - Frontend: Show root directory by default with home icon - Hide hidden directories and __pycache__ Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>b5a1ca8 -
feat: remove event generation delays for continuous agent activity
qa296 +1: Claude Sonnet 4.5- Change spontaneous thought interval to 0 (continuous) - Change exploration check interval to 0 (continuous) - Energy mechanism will throttle agent behavior Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>3fc3f95 -
fix: add call_plugin alias for compatibility with AgentEngine
qa296da525c3 -
fix: replace WebSocket with HTTP polling for HuggingFace Spaces compatibility
qa296 +1: Claude Sonnet 4.5HuggingFace Spaces uses reverse proxy which doesn't support WebSocket. Changed frontend from WebSocket to HTTP polling: - Remove WebSocket connection logic - Add fetchThoughts() to poll thoughts API - Poll every 2 seconds for state and thoughts updates - Only show new thoughts based on lastThoughtCount Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>55ba858
-
fix(llm): enhance LLM client with retry logic and error handling
qa296Add robust error handling with configurable retry mechanism (3 attempts with 2-second delay), timeout support (30s), and detailed diagnostic logging for API calls. Improve environment configuration validation with masked credential display. Remove hardcoded .env file containing credentials for security.e54be84
-
fix: resolve plugin class instantiation and tool registration issues
qa296 +1: Claude Sonnet 4.5- Fix PluginManager being incorrectly detected as plugin class by checking module.__module__ - Change tool registration from module functions to instance methods - Rename network plugin to net to avoid conflicts - Add self_evolution plugin manifest for self-programming capability - Ensure all 4 core plugins load with 5 total tools Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>356efc7 -
docs: remove merged plugin development documentation and simplify plugin docs
qa296- Deleted merged_plugin_dev_docs.md (1376 lines) containing detailed plugin development guide - Removed "核心理念" section from PLUGIN_SYSTEM.md referencing AstrBot plugin architecture - Updated .env configuration for SiliconFlow API and GLM-4.1V-9B model2ab31a1 -
refactor: redesign plugin system as directory structure
qa296 +1: Claude Sonnet- Change from single-file to directory-based plugins - Add manifest.json for plugin metadata - Support requirements.txt for dependencies - Implement plugin class lifecycle (load/unload) - Reference AstrBot's plugin architecture - Core plugins: basic (file_io), network, execution, self_evolution Co-Authored-By: Claude Sonnet <noreply@anthropic.com>bd1fe3f