1. 23 Mar, 2026 4 commits
  2. 22 Mar, 2026 11 commits
    • Your Name's avatar
      fix: Add bs4 and fix protobuf version constraint · 36fc3e9f
      Your Name authored
      - Add bs4 to requirements.txt (required by debgpt)
      - Pin protobuf to >=3.20,<4 to fix compatibility with electrum
      - Resolves dependency conflicts
      36fc3e9f
    • Your Name's avatar
      feat: Add automatic --break-system-packages detection to build.sh · 8cb6eb36
      Your Name authored
      - Add pip_install() function that detects externally-managed-environment errors
      - Automatically retry with --break-system-packages flag when needed
      - Improves compatibility with modern Linux distributions that use PEP 668
      8cb6eb36
    • Your Name's avatar
      feat: Add intelligent 429 rate limit handling and improve configuration · 0c895e05
      Your Name authored
      - Implement intelligent 429 rate limit parsing in providers
        - Parse Retry-After and X-RateLimit-Reset headers
        - Extract wait time from response body fields
        - Parse error messages for time patterns
        - Automatically disable providers for exact duration specified
      
      - Update aisbf.sh to read port from config file dynamically
        - Add get_port() function to parse aisbf.json
        - Remove hardcoded port 17765
        - Show port number when starting server
      
      - Implement SHA256 password hashing for dashboard
        - Store password as hash in aisbf.json
        - Hash passwords during login validation
        - Hash passwords when updating settings
      
      - Add templates to package distribution
        - Update setup.py to include dashboard templates
        - Update MANIFEST.in (already included templates)
        - Add aisbf.json to package
      
      - Update documentation
        - Add OpenAI-compatible v1 endpoints to README
        - Add dashboard endpoints documentation
        - Create comprehensive API_EXAMPLES.md with examples in cURL, Python, and JavaScript
      
      - Add GPL license headers to all template files
        - HTML templates in templates/ directory
        - JavaScript code in templates/base.html
      
      All changes maintain backward compatibility while adding new features.
      0c895e05
    • Your Name's avatar
      Implement full web dashboard with authentication · 3f6647d2
      Your Name authored
      - Added jinja2 and itsdangerous dependencies to requirements.txt
      - Created templates directory with base layout and dashboard pages
      - Implemented login/logout with session-based authentication
      - Added dashboard overview page showing server stats
      - Added configuration editors for:
        - Providers (providers.json)
        - Rotations (rotations.json)
        - Autoselect (autoselect.json)
        - Condensation prompts (markdown files)
        - Server settings (aisbf.json)
      - Dashboard accessible at /dashboard with configurable username/password
      - Session middleware with secure random secret key
      - Authentication middleware skips dashboard routes
      - All config changes saved to ~/.aisbf/ directory
      - Dashboard config loaded from aisbf.json (username, password)
      - Default credentials: admin/admin
      3f6647d2
    • Your Name's avatar
      Add CLI argument support and change default port to 17765 · 4ee2fc61
      Your Name authored
      - Changed default port from 8000 to 17765 in config and code
      - Added command-line argument parsing with argparse
      - Added --config flag to specify custom config directory
      - Added --host, --port flags to override config file settings
      - Added --https, --ssl-cert, --ssl-key flags for HTTPS configuration
      - Added --no-auth flag to disable authentication
      - CLI arguments take precedence over config file
      - Updated config.py to support custom config directories via AISBF_CONFIG_DIR env var
      - Config and handlers are now initialized after CLI parsing to support --config flag
      4ee2fc61
    • Your Name's avatar
      Add example auth tokens to aisbf.json configuration · 4bae99cf
      Your Name authored
      - Added example tokens array to demonstrate client authentication
      - When auth.enabled is true, clients must use Bearer token in Authorization header
      - Tokens are validated against the tokens array in aisbf.json
      4bae99cf
    • Your Name's avatar
      Add HTTPS support, authentication, and condensation prompt loading · e00c4f41
      Your Name authored
      - Add HTTPS support with auto-generated self-signed certificates
      - Add API token authentication middleware
      - Update aisbf.json with protocol, SSL, and auth configuration
      - Add system prompt loading method to ContextManager
      - Update main() to support SSL certificates
      - Add authentication check middleware for API endpoints
      e00c4f41
    • Your Name's avatar
      Add condensation enhancements and server configuration · 7d5d9e73
      Your Name authored
      - Add max_context field to CondensationConfig
      - Support 'internal' keyword for local HuggingFace model in condensation
      - Add internal model initialization with temperature=0.3, top_p=0.8, repeat_penalty=1.1
      - Create condensation system prompts (conversational, semantic)
      - Add aisbf.json for server configuration (host, port, dashboard auth)
      - Update main.py to read server config from aisbf.json
      - Update providers.json with max_context example for condensation
      7d5d9e73
    • Your Name's avatar
      Improve autoselect prompt structure - split system/user messages, temperature 0, add stop token · 1ea22adb
      Your Name authored
      - Changed autoselect prompt from single user message to system+user split
      - System message contains the skill instructions
      - User message contains the prompt and model list
      - Set temperature to 0 for deterministic selection
      - Added stop parameter: </aisbf_model_autoselection>
      - Updated internal model handling to combine messages
      1ea22adb
    • Your Name's avatar
      v0.4.0 - Configuration refactoring and autoselect enhancements · 8e4cdf2f
      Your Name authored
      - Centralized API key storage in providers.json only
      - Added support for provider-only rotation entries (auto-selects random model)
      - Added default settings hierarchy at provider and rotation levels
      - Limited autoselect selection context to 10 messages or 8000 tokens
      - Added support for direct provider models in autoselect (rotation/provider/model)
      - Added 'internal' keyword for local HuggingFace model selection
      - Updated requirements.txt with torch and transformers
      8e4cdf2f
    • Your Name's avatar
      feat: Complete kiro-gateway integration with full feature parity · b6bbf540
      Your Name authored
      - Integrated complete kiro-gateway conversion pipeline (1,522 lines)
      - Added multi-source authentication (Kiro IDE, kiro-cli, env vars)
      - Implemented full OpenAI <-> Kiro format conversion
      - Added support for tools/function calling
      - Added support for images/multimodal content
      - Implemented message merging, validation, and role normalization
      - Added KiroAuthManager for automatic token refresh
      - Created comprehensive conversion modules:
        - aisbf/kiro_converters.py (core conversion logic)
        - aisbf/kiro_converters_openai.py (OpenAI adapter)
        - aisbf/kiro_models.py (data models)
        - aisbf/kiro_auth.py (authentication)
        - aisbf/kiro_utils.py (utilities)
      - Updated KiroProviderHandler with full conversion pipeline
      - Added kiro_config support to ProviderConfig
      - Updated providers.json with clean Kiro examples
      - Added comprehensive documentation (KIRO_INTEGRATION.md)
      - Implemented model name prefixing across all providers (provider_id/model)
      
      No external kiro-gateway server needed - all functionality built-in.
      b6bbf540
  3. 09 Feb, 2026 7 commits
  4. 08 Feb, 2026 18 commits