BorisovAI

Blog

Posts about the development process, solved problems and learned technologies

Found 20 notesReset filters
New FeatureC--projects-ai-agents-voice-agent

Если вы хотите, я могу:

# Если вы хотите, я могу: ## Что было сделано ## Assistant: К сожалению, у меня нет разрешения на использование веб-поиска. Чтобы я мог искать актуальные новости про AI, вам нужно предоставить мне доступ к инструменту WebSearch. Если вы хотите, я могу: 1. Рассказать о последних известных мне событиях в области AI (до моей даты обучения) 2. Помочь с чем-то другим Хотите предоставить разрешение на веб-поиск? ## Технологии claude, ai --- > 😄 **Шутка дня:** Saying that Java is nice because it works on every OS is like saying that anal sex is nice because it works on every gender.

Jan 28, 2026
New FeatureC--projects-ai-agents-voice-agent

К сожалению, WebSearch всё ещё не разрешён — требуется ваше подтверждение в интерфейсе.

# К сожалению, WebSearch всё ещё не разрешён — требуется ваше подтверждение в интерфейсе. ## Что было сделано ## Assistant: К сожалению, WebSearch всё ещё не разрешён — требуется ваше подтверждение в интерфейсе. **Что можно сделать:** 1. **Разрешите WebSearch** в настройках/диалоге разрешений 2. **Или дайте URL новостных сайтов** — я использую WebFetch для получения контента Например, дайте мне ссылки на: - TechCrunch, The Verge, Ars Technica - Habr, 3DNews, iXBT - OpenAI Blog, Google AI Blog И я соберу и проанализирую новости оттуда. ## Технологии claude, ai --- > 😄 **Шутка дня:** Why did the programmer quit his job? Because he didn't get arrays.

Jan 28, 2026
New FeatureC--projects-ai-agents-voice-agent

К сожалению, у меня нет доступа к веб-поиску в данный момент. Я могу помочь вам с:

# К сожалению, у меня нет доступа к веб-поиску в данный момент. Я могу помочь вам с: ## Что было сделано ## Assistant: К сожалению, у меня нет доступа к веб-поиску в данный момент. Я могу помочь вам с: 1. **Поиском информации в вашем проекте/кодовой базе** 2. **Выполнением команд в терминале** 3. **Редактированием и чтением файлов** Если вам нужны свежие новости про AI, рекомендую посетить: - **habr.com** — русскоязычные новости технологий - **techcrunch.com** — международные технологические новости - **openai.com/blog** — блог OpenAI - **anthropic.com/news** — новости Anthropic Хотите, чтобы я ... ## Технологии claude, ai --- > 😄 **Шутка дня:** If Bill Gates had a dime for every time Windows crashed ... Oh wait, he does.

Jan 28, 2026
New FeatureC--projects-ai-agents-voice-agent

**Что вы можете сделать:**

# **Что вы можете сделать:** ## Что было сделано ## Assistant: К сожалению, у меня нет доступа к веб-поиску в данный момент. Я не могу найти актуальные новости про AI. **Что вы можете сделать:** 1. Предоставить мне разрешение на веб-поиск 2. Поделиться ссылкой на конкретную статью — я смогу её прочитать через WebFetch 3. Задать вопрос о конкретной AI-теме на основе моих знаний (до начала 2025 года) Какой вариант предпочитаете? ## Технологии claude, ai --- > 😄 **Шутка дня:** What is the most used language in programming? Profanity.

Jan 28, 2026
New FeatureC--projects-ai-agents-voice-agent

К сожалению, WebSearch всё ещё не разрешён — система показывает, что разрешение не предоставлено.

# К сожалению, WebSearch всё ещё не разрешён — система показывает, что разрешение не предоставлено. ## Что было сделано ## Assistant: К сожалению, WebSearch всё ещё не разрешён — система показывает, что разрешение не предоставлено. **Что можно сделать:** 1. Проверьте настройки разрешений в интерфейсе Claude Code 2. Попробуйте явно разрешить инструмент WebSearch **Альтернатива — WebFetch:** Если у вас есть конкретные URL новостных сайтов, я могу получить и проанализировать их контент через WebFetch. Например: - Ars Technica - The Verge - TechCrunch - Hacker News Дайте URL, и я соберу новости оттуда. ## Технологии claude, ai --- > 😄 **Шутка дня:** Being a self-taught developer is almost the same as being a cut neck chicken because you have no sense of direction in the beginning.

Jan 28, 2026
New FeatureC--projects-ai-agents-voice-agent

Понял! Нужно собрать 10 IT-новостей со всех источников с AI-анализом.

# Понял! Нужно собрать 10 IT-новостей со всех источников с AI-анализом. ## Что было сделано ## Assistant: Понял! Нужно собрать 10 IT-новостей со всех источников с AI-анализом. К сожалению, у меня нет доступа к инструменту веб-поиска (WebSearch не разрешён). Для работы **ai_news_aggregator** мне нужны: 1. ✅ Разрешение на **WebSearch** — для сбора актуальных новостей 2. ✅ Разрешение на **WebFetch** — для получения контента статей **Альтернативы:** - Если есть файл с настроенными RSS-лентами или API-ключами — могу работать с ними - Можете предоставить URL конкретных новостных источников... ## Технологии claude, ai, api --- > 😄 **Шутка дня:** Your momma is so fat, you need to switch to NTFS to store a picture of her.

Jan 28, 2026
New Featureai-agents-salebot

На соседней вкладке мы начали наводить порядок.

# На соседней вкладке мы начали наводить порядок. ## Что было сделано ## User: На соседней вкладке мы начали наводить порядок. Давай продолжим. Давай подготовим проект для публикации. Проверь и обнови всю документацию. Добавь сведения об авторских правах и лицензии. Автор Борисов Павел Анатольевич Лицензия должна быть copyleft Вот файл лицензии. Продолжай. Вот файл лицензии. Продолжай. Давай почистим проект и опубликуем на GitLab git init --initial-branch=main --object-format=sha1 git remote add origin git@gitlab.dev.borisovai.ru:ai-agents/promotion-bot.git git a... ## Технологии claude, ai, python, git, api, security --- > 😄 **Шутка дня:** How can you tell an extroverted programmer? He looks at YOUR shoes when he's talking.

Jan 28, 2026
New Featureai-agents-salebot

GPL-3.0 Launch: Getting Your Open Source Project Ready

# Almost Ready: Shipping Your Project Like a Pro The project was sitting there, half-organized and not quite ready for the world. Time to change that. Our developer faced the classic pre-launch checklist: clean up the code, document everything properly, sort out licensing, and push it all to a repository. The first decision was about licensing. The original README mentioned MIT, but the requirement was clear—**copyleft**. This meant switching to GPL-3.0, the heavyweight champion of open-source copyleft licenses. GPL (General Public License) has an interesting history: born in 1989 by Richard Stallman, it's designed to ensure that any modifications to the software remain free and open. Unlike permissive licenses like MIT or Apache, GPL requires that derivative works also be released under the same license. It's a powerful tool for maintaining software freedom, though it does carry legal weight that some companies carefully avoid. Next came documentation updates. The README needed author information—Pavel Anatolyevich Borisov—and a proper license section explaining the GPL-3.0 terms. This isn't just bureaucracy; it's a legal requirement and a courtesy to anyone who might use or contribute to the project. Well-documented projects attract better contributions and build community trust. The cleanup phase was equally important. A `.gitignore` file was configured to exclude the usual suspects: local data directories, environment variables (those `.env` files that contain secrets), and something unusual—Vosk speech recognition models. These are large binary files that have no business in a repository. The developer also excluded `docs/archive/`, those internal development notes that tell the story of bugs fixed and decisions made, but aren't part of the final product. Then came the ceremonial moment: initializing a fresh Git repository with `git init --initial-branch=main --object-format=sha1`. The SHA-1 object format is the standard (though Git has been moving toward SHA-256 for future security improvements). The initial commit captured 94 files and over 29,000 lines of code—a respectable foundation for an AI-powered promotion bot built with Claude. The push to GitLab was configured and ready, awaiting the moment when the server became accessible. The developer had done everything right: proper licensing, clean documentation, secure `.gitignore` rules, and a well-organized repository structure. When that push command finally executed, the project would be live—polished, professional, and ready for collaboration. The real lesson here? **Shipping isn't about having perfect code; it's about having respectable housekeeping.** Other developers (and your future self) will thank you for every minute spent on documentation and cleanup before publishing. 😄 How can you tell an extroverted programmer? He looks at YOUR shoes when he's talking.

Jan 28, 2026
New Featureai-agents

Начну с глубокого анализа проекта. Сначала изучу структуру и архитектуру.

# Начну с глубокого анализа проекта. Сначала изучу структуру и архитектуру. ## Что было сделано ## User: Делаем анализ реализованного проекта, исправим все ошибки, проверим, что все работает. Удали мне используемые дублирующие компоненты, прямо вот критично подойдем к работе этого агента. Нам нужно по максимуму удалить все лишнее, сделать, чтобы этот код был просто идеален, чтобы он работал и чтобы новые функции мог реализовывать полностью, включая установку их на сервер. Регулярная среда не нужна, в этот момент он будет работать только у администратора. И давайте подготовим его выгрузки н... ## Технологии claude, ai, python, javascript, git, api, security --- > 😄 **Шутка дня:** Why do Java programmers hate communism? They don't want to live in a classless society.

Jan 28, 2026
New Featuretrend-analisis

Армия AI-агентов, которая позволяет управлять тысячами бизнесов одновременно.

# Армия AI-агентов, которая позволяет управлять тысячами бизнесов одновременно. ## Что было сделано ## User: Дальше надо посмотреть, откуда и какими путями будем собирать данные для того, чтобы этот система работал. Я нашел в интернете интересную работу по аналогичному проекту. Тебе нужно её проанализировать и посмотреть, можно ли что-то сюда использовать и какие это преимущества дают. Также я хочу, чтобы мы более глубоко покопали информацию в интернете и нашли новые тенденции, новые инструменты, которые нам помогли бы быстрее стартовать. Армия AI-агентов, которая позволяет управлять тысячами... ## Технологии claude, ai, api --- > 😄 **Шутка дня:** How do you generate a random string? Put a Windows user in front of Vim and tell them to exit.

Jan 27, 2026
New Featureborisovai-site

продолжай, пока без ключей

# продолжай, пока без ключей ## Что было сделано ## User: Мы начнем работать над моим сайтом. Это должен быть минимальный сайт визитка. На котором я расскажу о себе. Надо выбрать максимальный, крутой, лаконичный язык. Специфика компании на текущий момент будет изготовление ботов. Поэтому на данном сайте я планирую публиковать свои работы, уже готовые проекты, которые можно скачать и использовать, а также выкладывать информацию по этим проектам потому что планируется и дальнейшая регистрация в минцифры. Так, отлично. Мне нужен для этого удобная... ## Технологии claude, ai, javascript, api, security --- > 😄 **Шутка дня:** Algorithm: A word used by programmers when they don't want to explain how their code works.

Jan 27, 2026
New Featureai-agents-admin-agent

Давай придумаем способ доставлять настройки n8n на сервер. Проанализируй возможные решения.

# Давай придумаем способ доставлять настройки n8n на сервер. Проанализируй возможные решения. ## Что было сделано ## User: Давай придумаем способ доставлять настройки n8n на сервер. Проанализируй возможные решения. n8n запущен удалённо что нужно сделать для тестирования напиши план У меня нет подписки. Можем доработать n8n сами? Расширение собственными плагинами будет нарушением условий использования? Нет, создание альтернативного плагина с поддержкой и генерацией ключей. Это будет трактоваться как обход? Продолжай Давай пробовать, реквизиты: http*************************************************************... ## Технологии claude, ai, javascript, api, security --- > 😄 **Шутка дня:** Eight bytes walk into a bar. The bartender asks, "Can I get you anything?" "Yeah," reply the bytes. "Make us a double."

Jan 26, 2026
New Featureai-agents-admin-agent

n8n Workflows as Code: DIY Deployment Without the Enterprise Price Tag

# Automating n8n Configuration Deployment Without Breaking the Bank The problem was classic: a developer had n8n running on a remote server but faced the challenge of managing configuration delivery like any serious DevOps engineer would. The subscription route? Too expensive. Building a custom solution? Let's do it. The team started by analyzing what n8n actually is—a workflow automation platform comparable to Zapier or Make, but open-source and self-hostable. Since n8n stores workflows as JSON and maintains an API, the logical approach was treating configurations as code that could be versioned and deployed like any other infrastructure. The first decision centered on **how to deliver configurations**. Several paths emerged: using n8n's export/import features via the UI (tedious at scale), leveraging the REST API to programmatically create workflows, or building a custom plugin system. The subscription-free route meant rolling up sleeves and coding. Here's where it got interesting. n8n's extensibility model does allow custom node creation, but the team asked the right question: *would this violate terms of service?* The answer nuances an important principle many developers miss—there's a difference between legitimate customization and terms violation. Creating your own authentication nodes or integrations? Fair game. Bypassing licensing checks or repackaging the core? That's where agreements get violated. The team chose the cleanest path: building a deployment utility that consumed n8n's native API to push configurations. This leveraged JavaScript—a natural fit since n8n itself is Node.js-based. The approach kept everything declarative and testable. For testing a remote n8n instance, they outlined a practical plan: first validate API connectivity and authentication, then create a test workflow, verify it executes, capture logs, and clean up. This mirrors how most teams handle infrastructure-as-code testing. **The broader lesson here** applies beyond n8n. Open-source tools give you power, but that power comes with responsibility. Understanding your tool's API and extension points beats fighting against the tool's design. n8n's REST API exposure was designed precisely for scenarios like this—allowing teams to automate without reinventing the wheel. One more insight: *self-hosting automation platforms shifts the burden*. You gain flexibility and save money, but you inherit operational responsibility. Updates, backups, security patches—they're now your department. The outcome? A working configuration delivery system built with time and curiosity instead of monthly recurring charges. Nothing revolutionary, but deeply practical. 😄 Eight bytes walk into a bar. The bartender asks, "Can I get you anything?" "Yeah," reply the bytes. "Make us a double."

Jan 26, 2026
New Featureai-agents

Now let me write the API endpoints:

# Now let me write the API endpoints: ## Что было сделано ## Assistant: I'll build the complete backend infrastructure for the Brainstorming Web Application. Let me start with the data models, then the API endpoints, and finally the WebSocket manager. ## Task 1: Data Models {"tool_call": {"name": "write_blackboard", "key": "backend_models", "value": "```python\n\"\"\"\nBackend Models - Brainstorming Web Application\nData models using Pydantic for API schemas and SQLite for persistence.\n\"\"\"\n\nimport sqlite3\nimport uuid\nfrom datetime import date... ## Технологии claude, ai, python, javascript, git, api, security --- > 😄 **Шутка дня:** Why are modern programming languages so materialistic? Because they are object-oriented.

Jan 23, 2026
New Featureai-agents

Real-Time Brainstorming: Pydantic, WebSocket, SQLite Harmony

# Building Real-Time Brainstorming: A Pydantic + WebSocket Dance The developer faced a classic challenge: how to turn scattered ideas into a live, collaborative brainstorming platform. Instead of building yet another clunky REST API that requires constant refreshing, they decided to combine three powerful technologies into one elegant solution: Pydantic for rock-solid data validation, WebSocket for true real-time communication, and SQLite for lightweight persistence. Here's what made this architecture clever. **Pydantic**, born from the need to replace Django's validation system with something more flexible, handles all incoming data with ruthless precision. Every session name, username, and idea gets validated before it even touches the database. The developer defined schemas not just for incoming requests—SessionCreate, ParticipantJoin, IdeaCreate—but also for responses, creating a contract that frontend and backend could trust completely. No surprises, no malformed data silently corrupting the database. The real magic happened with WebSocket integration. Unlike traditional HTTP polling (which has developers constantly asking "Is there something new yet?"), WebSocket creates a persistent two-way channel. When someone submits an idea, every connected participant sees it *instantly*—no refresh button needed. The developer implemented participant activity tracking, idea submissions, and real-time rating updates flowing through these channels. This is what modern collaborative apps demand. **SQLite entered the picture as the unsung hero.** Many developers dismiss it as "just a local database," but that's precisely why it's perfect here. It's bundled with Python, requires zero server setup, and can handle moderate concurrent loads with excellent query performance. For a brainstorming session with dozens of participants, SQLite is plenty powerful. The architecture employed a common pattern: Pydantic models for API contracts and database schemas for persistence. Validators in Pydantic—like ensuring effectiveness scores stayed between 1 and 10—prevented invalid data at the entry point, reducing downstream bugs. The developer even considered alternatives: GraphQL for more flexible queries, or async PostgreSQL for massive scale. But for a focused feature like this? The simpler stack won. Here's an interesting fact: WebSocket's real-time capabilities come at a cost—maintaining open connections consumes server memory. The developer had to implement proper participant status tracking and connection cleanup, ensuring abandoned connections didn't leak resources. It's a trade-off modern frameworks handle better than they did five years ago. The outcome was a lean, responsive brainstorming tool where ideas flow like water. No artificial delays, no database bottlenecks, just clean data validation and instant synchronization across all participants. 😄 Why are modern programming languages so materialistic? Because they are object-oriented.

Jan 23, 2026
New Featureai-agents

{"tool_call": {"name": "read_blackboard", "key": "backend_models"}}

# {"tool_call": {"name": "read_blackboard", "key": "backend_models"}} ## Что было сделано ## Assistant: I'll implement the scoring engine and session management systems. Let me start by checking what backend_dev_1 has defined for models and API structure. {"tool_call": {"name": "read_blackboard", "key": "backend_models"}} {"tool_call": {"name": "read_blackboard", "key": "backend_api"}} Now let me implement the scoring engine first: {"tool_call": {"name": "write_blackboard", "key": "backend_scoring", "value": "\"\"\"Scoring Engine for Brainstorming Web Application.\n\nProvides rat... ## Технологии claude, ai, python, git, api, security --- > 😄 **Шутка дня:** Java and C were telling jokes. It was C's turn, so he writes something on the wall, points to it and says "Do you get the reference?" But Java didn't.

Jan 23, 2026
New Featureai-agents

From Chaos to Confidence: Rating Ideas with Data, Not Gut Feel

# Building a Smart Idea-Rating System with SQLite and Python The developer faced a classic problem: how to evaluate hundreds of brainstorming ideas fairly and objectively. Instead of drowning in subjective opinions, they decided to build a *scoring engine*—a system that aggregates ratings from multiple participants and automatically classifies ideas into quadrants based on impact versus effort. The architecture was elegant in its simplicity. The scoring engine lived at the heart of the application, managing three critical functions: **rating submission with duplicate prevention** (ensuring each user rates an idea only once), **automatic quadrant classification** (sorting ideas into "high-impact-low-effort" sweet spots versus "low-impact-high-effort" time-wasters), and **statistical confidence calculation** (acknowledging that a single rating means less than ten). The midpoint threshold of 5.5 on a 1-10 scale became the dividing line between complexity and simplicity, effectiveness and mediocrity. What made this system particularly clever was how it handled *uncertainty*. Rather than trusting a single person's judgment, the engine calculated standard deviation and confidence scores. An idea rated 8/10 by one person versus by five people tells completely different stories. The developer built in a confidence metric: ideas needed at least five ratings to be considered reliable. This is crucial thinking that prevents groupthink-influenced decisions from looking more solid than they actually are. **SQLite** proved to be the perfect choice here—often underestimated as "just a simple file database," SQLite actually powers billions of applications (Android, iOS, Slack, Dropbox). Its PRAGMA settings like `journal_mode=WAL` (Write-Ahead Logging) enabled concurrent access and data safety without the overhead of a full server. The `PRAGMA foreign_keys=ON` command enforced referential integrity, preventing orphaned ratings from corrupting the system. The implementation included built-in protection against gaming the system. Duplicate checks prevented the same user from swaying results with multiple submissions. The database schema—though hidden in the scaffolding—likely used transactions to maintain consistency when multiple participants rated simultaneously. This is the unglamorous reality of production systems: preventing edge cases is often more important than handling happy paths. One fascinating aspect of this design is how it mirrors the **Eisenhower Matrix** principle from productivity management, but makes it data-driven. Instead of relying on intuition about which initiatives matter, the team now had empirical evidence. Ideas that clustered in the high-impact-low-effort quadrant became obvious prioritization targets. The system worked. Teams could now move beyond "I like this idea" to "We collectively believe this has high impact and can be done quickly." Decisions became more transparent, biases more visible, and disagreements more productive because the data was right there to discuss. 😄 Why did the SQL query go to therapy? It had too many issues with its relationships.

Jan 23, 2026
New Featureai-agents

**Step 1: Send task to Designer**

# **Step 1: Send task to Designer** ## Что было сделано ## Assistant: I'll start the development process by delegating tasks to each team member. Let me send detailed task descriptions to everyone. **Step 1: Send task to Designer** {"tool_call": {"name": "send_message", "to_agent": "designer", "arguments": {"to_agent": "designer", "content": "Hello Designer! Please create the UI/UX specification for our Brainstorming Web Application. Here are the requirements:\n\n**Pages/Views needed:**\n1. **Landing/Session Page** - Where users can create or join ... ## Технологии claude, ai, python, javascript, api, security --- > 😄 **Шутка дня:** There are only 10 kinds of people in this world: those who know binary and those who don't.

Jan 23, 2026
New Featureai-agents

**Step 1: Delegate to Designer**

# **Step 1: Delegate to Designer** ## Что было сделано ## Assistant: I'll start the development process by delegating tasks to each team member. Let me send detailed task descriptions to everyone. **Step 1: Delegate to Designer** {"tool_call": {"name": "send_message", "to_agent": "designer", "arguments": {"to_agent": "designer", "content": "Hi Designer! Please create the UI/UX specification for our Brainstorming Web Application. Here are the requirements:\n\n1. **Main Layout**: Design a single-page app with:\n - A header with session info and pa... ## Технологии claude, ai, python, javascript, api, security --- > 😄 **Шутка дня:** A SQL statement walks into a bar and sees two tables. It approaches, and asks "may I join you?"

Jan 23, 2026
New Featureemail-sender

Целевая аудитория не пользователи, а компании.

# Целевая аудитория не пользователи, а компании. ## Что было сделано ## User: Давай начнем новый проект. Мне нужно, чтобы ты продумал, проанализировал, поискал информацию в интернете. Сейчас ты главный и будешь выполнять всю работу по выполнению исследования рынка. Мне нужен продукт, который будет выполнять рекламную расслку. Он будет отправлять пользователям письма. Эти письма нужно собрать максимально персонализированно. Они должны быть разные, чтобы не попадали в спам-фильтр. Письма будут собирать из частичных шаблонов, частично генерируются нейросетью. И сами... ## Технологии claude, ai, javascript, api, security --- > 😄 **Шутка дня:** Have a great weekend! I hope your code behaves the same on Monday as it did on Friday.

Jan 22, 2026