ваше сообщение коммита
This commit is contained in:
@@ -1,813 +0,0 @@
|
||||
<!--
|
||||
Copyright (c) 2024-2025 Тарабанов Александр Викторович
|
||||
All rights reserved.
|
||||
|
||||
This software is proprietary and confidential.
|
||||
Unauthorized copying, modification, or distribution is prohibited.
|
||||
|
||||
For licensing inquiries: info@hb3-accelerator.com
|
||||
Website: https://hb3-accelerator.com
|
||||
GitHub: https://github.com/HB3-ACCELERATOR
|
||||
-->
|
||||
|
||||
# DLE Governance System - Документация
|
||||
|
||||
## 📋 Обзор системы
|
||||
|
||||
DLE (Digital Legal Entity) - это система управления цифровым юридическим лицом с использованием смарт-контрактов и токенов управления. Система включает в себя механизмы голосования, мультиподписи и административного управления.
|
||||
|
||||
## 🏗️ Архитектура системы
|
||||
|
||||
### Текущие смарт-контракты
|
||||
|
||||
#### 1. GovernanceToken.sol
|
||||
```solidity
|
||||
contract GovernanceToken is ERC20Permit, ERC20Votes, Ownable {
|
||||
// Основные функции:
|
||||
- mintInitialSupply(address[] partners, uint256[] amounts) // Начальное распределение токенов
|
||||
- transfer() // Передача токенов
|
||||
- balanceOf() // Проверка баланса
|
||||
- getVotes() // Получение голосов на определенном блоке
|
||||
}
|
||||
```
|
||||
|
||||
#### 2. GovernanceTimelock.sol
|
||||
```solidity
|
||||
contract GovernanceTimelock is TimelockController {
|
||||
// Основные функции:
|
||||
- queue() // Постановка операции в очередь
|
||||
- execute() // Выполнение операции после задержки
|
||||
- cancel() // Отмена операции
|
||||
}
|
||||
```
|
||||
|
||||
#### 3. GovernorContract.sol
|
||||
```solidity
|
||||
contract GovernorContract is Governor, GovernorSettings, GovernorCountingSimple, GovernorVotes, GovernorVotesQuorumFraction, GovernorTimelockControl {
|
||||
// Основные функции:
|
||||
- propose() // Создание предложения
|
||||
- vote() // Голосование
|
||||
- execute() // Выполнение предложения
|
||||
- cancel() // Отмена предложения
|
||||
}
|
||||
```
|
||||
|
||||
### Текущие параметры системы
|
||||
- **Порог предложения**: 100,000 GT
|
||||
- **Кворум**: 4% от общего количества токенов
|
||||
- **Задержка голосования**: 1 день
|
||||
- **Период голосования**: 7 дней
|
||||
- **Минимальная задержка Timelock**: 2 дня
|
||||
|
||||
## 🔧 Функции приложения
|
||||
|
||||
### Критические функции (требуют голосования)
|
||||
|
||||
#### 🚨 УДАЛЕНИЕ ДАННЫХ
|
||||
|
||||
##### Пользователи
|
||||
```javascript
|
||||
// Удаление пользователя
|
||||
DELETE /api/users/:id
|
||||
- Описание: Полное удаление пользователя и всех связанных данных
|
||||
- Критичность: 🔴 ВЫСОКАЯ
|
||||
- Требует голосования: ДА
|
||||
|
||||
// Блокировка пользователя
|
||||
PATCH /api/users/:id/block
|
||||
- Описание: Блокировка пользователя в системе
|
||||
- Критичность: 🔴 ВЫСОКАЯ
|
||||
- Требует голосования: ДА
|
||||
```
|
||||
|
||||
##### Таблицы
|
||||
```javascript
|
||||
// Удаление таблицы
|
||||
DELETE /api/tables/:id
|
||||
- Описание: Удаление таблицы и всех связанных данных
|
||||
- Критичность: 🔴 ВЫСОКАЯ
|
||||
- Требует голосования: ДА
|
||||
|
||||
// Удаление строк таблицы
|
||||
DELETE /api/tables/:id/rows
|
||||
- Описание: Массовое удаление строк
|
||||
- Критичность: 🟡 СРЕДНЯЯ
|
||||
- Требует голосования: ДА
|
||||
|
||||
// Удаление столбцов таблицы
|
||||
DELETE /api/tables/:id/columns
|
||||
- Описание: Удаление столбцов таблицы
|
||||
- Критичность: 🟡 СРЕДНЯЯ
|
||||
- Требует голосования: ДА
|
||||
```
|
||||
|
||||
##### DLE (Digital Legal Entity)
|
||||
```javascript
|
||||
// Удаление DLE
|
||||
DELETE /api/dle/:tokenAddress
|
||||
- Описание: Удаление DLE по адресу токена
|
||||
- Критичность: 🔴 ВЫСОКАЯ
|
||||
- Требует голосования: ДА
|
||||
|
||||
// Удаление пустого DLE
|
||||
DELETE /api/dle/empty/:fileName
|
||||
- Описание: Удаление пустого DLE по имени файла
|
||||
- Критичность: 🔴 ВЫСОКАЯ
|
||||
- Требует голосования: ДА
|
||||
```
|
||||
|
||||
##### Системные настройки
|
||||
```javascript
|
||||
// Удаление RPC провайдера
|
||||
DELETE /api/settings/rpc/:networkId
|
||||
- Описание: Удаление RPC конфигурации
|
||||
- Критичность: 🔴 ВЫСОКАЯ
|
||||
- Требует голосования: ДА
|
||||
|
||||
// Удаление токена аутентификации
|
||||
DELETE /api/settings/auth-token/:address/:network
|
||||
- Описание: Удаление токена для аутентификации
|
||||
- Критичность: 🔴 ВЫСОКАЯ
|
||||
- Требует голосования: ДА
|
||||
|
||||
// Удаление AI настроек
|
||||
DELETE /api/settings/ai-settings/:provider
|
||||
- Описание: Удаление настроек AI провайдера
|
||||
- Критичность: 🟡 СРЕДНЯЯ
|
||||
- Требует голосования: ДА
|
||||
|
||||
// Удаление правил AI ассистента
|
||||
DELETE /api/settings/ai-assistant-rules/:id
|
||||
- Описание: Удаление набора правил AI
|
||||
- Критичность: 🟡 СРЕДНЯЯ
|
||||
- Требует голосования: ДА
|
||||
```
|
||||
|
||||
#### 🏗️ СОЗДАНИЕ КРИТИЧНЫХ СУЩНОСТЕЙ
|
||||
|
||||
##### DLE
|
||||
```javascript
|
||||
// Создание нового DLE
|
||||
POST /api/dle
|
||||
- Описание: Создание нового Digital Legal Entity
|
||||
- Критичность: 🔴 ВЫСОКАЯ
|
||||
- Требует голосования: ДА
|
||||
- Параметры: name, symbol, location, isicCodes, partners, amounts, network, etc.
|
||||
```
|
||||
|
||||
##### Таблицы
|
||||
```javascript
|
||||
// Создание таблицы
|
||||
POST /api/tables
|
||||
- Описание: Создание новой таблицы
|
||||
- Критичность: 🟡 СРЕДНЯЯ
|
||||
- Требует голосования: ДА
|
||||
```
|
||||
|
||||
##### Системные настройки
|
||||
```javascript
|
||||
// Добавление RPC провайдера
|
||||
POST /api/settings/rpc
|
||||
- Описание: Добавление нового RPC провайдера
|
||||
- Критичность: 🔴 ВЫСОКАЯ
|
||||
- Требует голосования: ДА
|
||||
|
||||
// Добавление токена аутентификации
|
||||
POST /api/settings/auth-token
|
||||
- Описание: Добавление нового токена для аутентификации
|
||||
- Критичность: 🔴 ВЫСОКАЯ
|
||||
- Требует голосования: ДА
|
||||
```
|
||||
|
||||
#### ⚙️ ИЗМЕНЕНИЕ СИСТЕМНЫХ НАСТРОЕК
|
||||
|
||||
##### База данных
|
||||
```javascript
|
||||
// Изменение настроек БД
|
||||
PUT /api/settings/db-settings
|
||||
- Описание: Изменение параметров подключения к базе данных
|
||||
- Критичность: 🔴 ВЫСОКАЯ
|
||||
- Требует голосования: ДА
|
||||
- Параметры: db_host, db_port, db_name, db_user, db_password
|
||||
```
|
||||
|
||||
##### AI настройки
|
||||
```javascript
|
||||
// Изменение настроек AI ассистента
|
||||
PUT /api/settings/ai-assistant
|
||||
- Описание: Изменение глобальных настроек AI ассистента
|
||||
- Критичность: 🟡 СРЕДНЯЯ
|
||||
- Требует голосования: ДА
|
||||
|
||||
// Изменение AI провайдера
|
||||
PUT /api/settings/ai-settings/:provider
|
||||
- Описание: Изменение настроек конкретного AI провайдера
|
||||
- Критичность: 🟡 СРЕДНЯЯ
|
||||
- Требует голосования: ДА
|
||||
```
|
||||
|
||||
##### Коммуникации
|
||||
```javascript
|
||||
// Настройки Email
|
||||
PUT /api/identities/email-settings
|
||||
- Описание: Изменение настроек SMTP/IMAP
|
||||
- Критичность: 🟡 СРЕДНЯЯ
|
||||
- Требует голосования: ДА
|
||||
|
||||
// Настройки Telegram
|
||||
PUT /api/identities/telegram-settings
|
||||
- Описание: Изменение настроек Telegram бота
|
||||
- Критичность: 🟡 СРЕДНЯЯ
|
||||
- Требует голосования: ДА
|
||||
```
|
||||
|
||||
### Умеренные функции (опциональное голосование)
|
||||
|
||||
#### 📝 РЕДАКТИРОВАНИЕ ДАННЫХ
|
||||
|
||||
```javascript
|
||||
// Редактирование пользователя
|
||||
PATCH /api/users/:id
|
||||
- Описание: Изменение данных пользователя
|
||||
- Критичность: 🟡 СРЕДНЯЯ
|
||||
- Требует голосования: ОПЦИОНАЛЬНО
|
||||
|
||||
// Редактирование таблицы
|
||||
PATCH /api/tables/:id
|
||||
- Описание: Изменение структуры таблицы
|
||||
- Критичность: 🟡 СРЕДНЯЯ
|
||||
- Требует голосования: ОПЦИОНАЛЬНО
|
||||
|
||||
// Импорт пользователей
|
||||
POST /api/users/import
|
||||
- Описание: Массовый импорт пользователей
|
||||
- Критичность: 🟡 СРЕДНЯЯ
|
||||
- Требует голосования: ОПЦИОНАЛЬНО
|
||||
```
|
||||
|
||||
### Обычные функции (не требуют голосования)
|
||||
|
||||
#### 📖 ПРОСМОТР ДАННЫХ
|
||||
|
||||
```javascript
|
||||
// Список пользователей
|
||||
GET /api/users
|
||||
- Описание: Получение списка пользователей
|
||||
- Критичность: 🟢 НИЗКАЯ
|
||||
- Требует голосования: НЕТ
|
||||
|
||||
// Список таблиц
|
||||
GET /api/tables
|
||||
- Описание: Получение списка таблиц
|
||||
- Критичность: 🟢 НИЗКАЯ
|
||||
- Требует голосования: НЕТ
|
||||
|
||||
// Список DLE
|
||||
GET /api/dle
|
||||
- Описание: Получение списка DLE
|
||||
- Критичность: 🟢 НИЗКАЯ
|
||||
- Требует голосования: НЕТ
|
||||
|
||||
// Детали пользователя
|
||||
GET /api/users/:id
|
||||
- Описание: Получение детальной информации о пользователе
|
||||
- Критичность: 🟢 НИЗКАЯ
|
||||
- Требует голосования: НЕТ
|
||||
```
|
||||
|
||||
#### ✏️ РЕДАКТИРОВАНИЕ ЯЧЕЕК
|
||||
|
||||
```javascript
|
||||
// Изменение значения ячейки
|
||||
PATCH /api/tables/cell
|
||||
- Описание: Изменение значения конкретной ячейки таблицы
|
||||
- Критичность: 🟢 НИЗКАЯ
|
||||
- Требует голосования: НЕТ
|
||||
```
|
||||
|
||||
## 🎯 Система голосования
|
||||
|
||||
### Текущая реализация
|
||||
|
||||
#### Процесс голосования
|
||||
1. **Создание предложения** - пользователь с достаточным количеством токенов создает предложение
|
||||
2. **Период голосования** - 7 дней для голосования
|
||||
3. **Подсчет голосов** - проверка кворума (4% от общего количества токенов)
|
||||
4. **Постановка в очередь** - успешные предложения ставятся в очередь Timelock
|
||||
5. **Выполнение** - после задержки (2 дня) предложение выполняется
|
||||
|
||||
#### Параметры голосования
|
||||
- **Порог для создания предложений**: 100,000 GT
|
||||
- **Кворум**: 4% от общего количества токенов
|
||||
- **Задержка голосования**: 1 день (в блоках)
|
||||
- **Период голосования**: 7 дней (в блоках)
|
||||
- **Минимальная задержка Timelock**: 2 дня
|
||||
|
||||
### Предлагаемые улучшения
|
||||
|
||||
#### Новый модуль: AdminGovernanceModule
|
||||
|
||||
```solidity
|
||||
contract AdminGovernanceModule {
|
||||
struct AdminAction {
|
||||
string actionType; // Тип действия
|
||||
string targetId; // ID цели
|
||||
bytes actionData; // Данные действия
|
||||
uint256 proposalId; // ID предложения
|
||||
bool executed; // Выполнено ли
|
||||
uint256 createdAt; // Время создания
|
||||
}
|
||||
|
||||
mapping(uint256 => AdminAction) public adminActions;
|
||||
mapping(string => bool) public actionTypesRequiringVote;
|
||||
|
||||
// Функции
|
||||
function proposeAdminAction(string memory actionType, string memory targetId, bytes memory actionData) external returns (uint256);
|
||||
function executeAdminAction(uint256 actionId) external;
|
||||
function canExecuteAction(address executor, string memory actionType) external view returns (bool);
|
||||
}
|
||||
```
|
||||
|
||||
#### Типы административных действий
|
||||
|
||||
```solidity
|
||||
// Критические действия (обязательное голосование)
|
||||
"DELETE_USER" // Удаление пользователя
|
||||
"DELETE_DLE" // Удаление DLE
|
||||
"DELETE_TABLE" // Удаление таблицы
|
||||
"CREATE_DLE" // Создание DLE
|
||||
"UPDATE_DB_SETTINGS" // Изменение настроек БД
|
||||
"UPDATE_RPC" // Изменение RPC настроек
|
||||
"UPDATE_AUTH_TOKENS" // Изменение токенов аутентификации
|
||||
|
||||
// Важные действия (опциональное голосование)
|
||||
"CREATE_TABLE" // Создание таблицы
|
||||
"UPDATE_AI_SETTINGS" // Изменение AI настроек
|
||||
"UPDATE_EMAIL_SETTINGS" // Изменение email настроек
|
||||
"UPDATE_TELEGRAM_SETTINGS" // Изменение telegram настроек
|
||||
"IMPORT_USERS" // Импорт пользователей
|
||||
```
|
||||
|
||||
## 🔐 Система доступа
|
||||
|
||||
### Текущая система ролей
|
||||
|
||||
#### Роли пользователей
|
||||
- **Администратор** - полный доступ ко всем функциям
|
||||
- **Пользователь** - ограниченный доступ
|
||||
|
||||
#### Проверка прав
|
||||
```javascript
|
||||
// Middleware для проверки администратора
|
||||
requireAdmin(req, res, next) {
|
||||
// Проверка через сессию
|
||||
if (req.session.isAdmin) return next();
|
||||
|
||||
// Проверка через кошелек
|
||||
if (req.session.address) {
|
||||
const isAdmin = await authService.checkAdminTokens(req.session.address);
|
||||
if (isAdmin) return next();
|
||||
}
|
||||
|
||||
// Проверка через ID пользователя
|
||||
if (req.session.userId) {
|
||||
const user = await db.getQuery()('SELECT role FROM users WHERE id = $1', [req.session.userId]);
|
||||
if (user.rows[0].role === 'admin') return next();
|
||||
}
|
||||
|
||||
return res.status(403).json({ error: 'Доступ запрещен' });
|
||||
}
|
||||
```
|
||||
|
||||
### Предлагаемая система доступа с токенами
|
||||
|
||||
#### Проверка через смарт-контракт
|
||||
```solidity
|
||||
function canExecuteAction(address executor, string memory actionType) public view returns (bool) {
|
||||
// Проверка баланса токенов
|
||||
uint256 balance = governanceToken.balanceOf(executor);
|
||||
|
||||
// Проверка типа действия
|
||||
if (actionTypesRequiringVote[actionType]) {
|
||||
return balance >= proposalThreshold;
|
||||
}
|
||||
|
||||
// Для некритических действий достаточно быть администратором
|
||||
return adminService.isAdmin(executor);
|
||||
}
|
||||
```
|
||||
|
||||
## 📊 Модули DLE
|
||||
|
||||
### Текущие модули
|
||||
|
||||
#### Доступные модули
|
||||
1. **Контракт на активы** - токенизация физических активов
|
||||
2. **Мультиподпись** - повышенная безопасность
|
||||
3. **Дивиденды** - распределение дивидендов между держателями
|
||||
4. **Стейкинг** - стейкинг токенов для получения наград
|
||||
5. **Прием платежей** - прием оплаты в выбранных токенах
|
||||
|
||||
#### Предлагаемый модуль: Административное голосование
|
||||
```javascript
|
||||
{
|
||||
name: 'Административное голосование',
|
||||
description: 'Добавляет систему голосования для административных действий',
|
||||
installed: false,
|
||||
features: [
|
||||
'Голосование за удаление пользователей',
|
||||
'Голосование за создание таблиц',
|
||||
'Голосование за изменение системных настроек',
|
||||
'Интеграция с существующими контрактами DLE'
|
||||
]
|
||||
}
|
||||
```
|
||||
|
||||
## 🚀 План реализации
|
||||
|
||||
### Этап 1: Анализ и проектирование
|
||||
- [x] Анализ текущих функций приложения
|
||||
- [x] Определение критических операций
|
||||
- [x] Проектирование архитектуры системы голосования
|
||||
|
||||
### Этап 2: Разработка смарт-контрактов
|
||||
- [ ] Создание AdminGovernanceModule
|
||||
- [ ] Расширение GovernorContract
|
||||
- [ ] Создание интерфейсов для взаимодействия
|
||||
|
||||
### Этап 3: Интеграция с приложением
|
||||
- [ ] Создание сервиса для работы с голосованием
|
||||
- [ ] Интеграция с существующими API
|
||||
- [ ] Обновление middleware для проверки прав
|
||||
|
||||
### Этап 4: Обновление UI
|
||||
- [ ] Создание интерфейса для управления предложениями
|
||||
- [ ] Интеграция с модульной системой DLE
|
||||
- [ ] Добавление уведомлений о голосованиях
|
||||
|
||||
### Этап 5: Тестирование и развертывание
|
||||
- [ ] Тестирование смарт-контрактов
|
||||
- [ ] Интеграционное тестирование
|
||||
- [ ] Развертывание в production
|
||||
|
||||
## 📝 Заключение
|
||||
|
||||
Текущая система DLE предоставляет базовую функциональность управления через токены, но требует расширения для полной интеграции с административными функциями приложения. Предлагаемая система голосования позволит обеспечить безопасность и прозрачность при выполнении критических операций.
|
||||
|
||||
### Ключевые преимущества предлагаемого решения:
|
||||
1. **Безопасность** - все критические операции требуют голосования
|
||||
2. **Прозрачность** - все действия записываются в блокчейн
|
||||
3. **Гибкость** - возможность настройки уровней критичности
|
||||
4. **Интеграция** - использование существующей инфраструктуры DLE
|
||||
5. **Модульность** - возможность включения/выключения функций
|
||||
|
||||
---
|
||||
|
||||
# 🏗️ Архитектура DLE как цифрового акционерного общества
|
||||
|
||||
## 🎯 Концепция DLE
|
||||
|
||||
DLE (Digital Legal Entity) - это **цифровое акционерное общество**, где смарт-контракт сам по себе является **цифровым ИНН организации** со всеми функциями традиционного АО.
|
||||
|
||||
### **Основная аналогия:**
|
||||
```
|
||||
Акционерное общество:
|
||||
├── ИНН (идентификатор)
|
||||
├── Банковский счет (финансы)
|
||||
├── Юридический адрес
|
||||
├── Контакты (телефон, email)
|
||||
├── Коды деятельности (ОКВЭД)
|
||||
├── Акционеры (владельцы)
|
||||
├── Управление (голосование)
|
||||
└── Участие в других организациях
|
||||
|
||||
DLE (цифровой аналог):
|
||||
├── Адрес контракта (идентификатор)
|
||||
├── Токены управления (акции)
|
||||
├── Цифровой адрес (блокчейн)
|
||||
├── Контакты (веб-интерфейс)
|
||||
├── Коды деятельности (ISIC)
|
||||
├── Держатели токенов (акционеры)
|
||||
├── Система голосования
|
||||
└── Участие в других DLE
|
||||
```
|
||||
|
||||
## 📋 Формы для ручного деплоя смарт-контрактов
|
||||
|
||||
### **Основная форма деплоя DLE:**
|
||||
|
||||
#### **Блок 1: Идентификация (ИНН)**
|
||||
```
|
||||
- Название организации (name)
|
||||
- Символ токена (symbol)
|
||||
- Описание деятельности (businessDescription)
|
||||
- Юридический адрес (legalAddress)
|
||||
- Контактная информация (contactInfo)
|
||||
```
|
||||
|
||||
#### **Блок 2: Коды деятельности (ISIC)**
|
||||
```
|
||||
- Выбор секций ISIC (A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U)
|
||||
- Выбор разделов (2-значные коды)
|
||||
- Выбор групп (3-значные коды)
|
||||
- Выбор классов (4-значные коды)
|
||||
- Дополнительные коды деятельности
|
||||
```
|
||||
|
||||
#### **Блок 3: Финансы (банковский счет)**
|
||||
```
|
||||
- Начальное распределение токенов (partners[], amounts[])
|
||||
- Общее количество токенов (totalSupply)
|
||||
- Минимальный баланс для голосования (proposalThreshold)
|
||||
- Кворум для принятия решений (quorumPercentage)
|
||||
```
|
||||
|
||||
#### **Блок 4: Управление (акционерное собрание)**
|
||||
```
|
||||
- Задержка голосования (votingDelay)
|
||||
- Период голосования (votingPeriod)
|
||||
- Минимальная задержка выполнения (timelockMinDelay)
|
||||
- Тип управления (демократическое/олигархическое)
|
||||
```
|
||||
|
||||
#### **Блок 5: Мультиподпись**
|
||||
```
|
||||
- Количество требуемых подписей (requiredSignatures)
|
||||
- Список авторизованных подписантов (authorizedSigners[])
|
||||
- Временные ограничения на подписание
|
||||
- Типы операций, требующие мультиподпись
|
||||
```
|
||||
|
||||
#### **Блок 6: Коммуникация**
|
||||
```
|
||||
- Веб-сайт организации (website)
|
||||
- Email для связи (contactEmail)
|
||||
- Телефон для связи (contactPhone)
|
||||
- Адрес для сообщений (communicationAddress)
|
||||
```
|
||||
|
||||
## 🏗️ Типы и функции смарт-контрактов
|
||||
|
||||
### **Основной контракт: DigitalLegalEntity.sol**
|
||||
|
||||
#### **A. Функции идентификации:**
|
||||
```solidity
|
||||
- getName() - получение названия
|
||||
- getSymbol() - получение символа
|
||||
- getContractAddress() - получение адреса (ИНН)
|
||||
- getBusinessDescription() - получение описания
|
||||
- getLegalAddress() - получение юр. адреса
|
||||
- getContactInfo() - получение контактов
|
||||
```
|
||||
|
||||
#### **B. Функции кодов деятельности:**
|
||||
```solidity
|
||||
- getIsicCodes() - получение кодов ISIC
|
||||
- addIsicCode(string code) - добавление кода
|
||||
- removeIsicCode(string code) - удаление кода
|
||||
- updateBusinessDescription(string description) - обновление описания
|
||||
```
|
||||
|
||||
#### **C. Финансовые функции:**
|
||||
```solidity
|
||||
- receive() - прием ETH
|
||||
- receiveERC20(address token, uint256 amount) - прием токенов
|
||||
- getBalance() - получение баланса
|
||||
- distributePayment(address[] recipients, uint256[] amounts) - распределение
|
||||
- mintTokens(address to, uint256 amount) - эмиссия токенов
|
||||
- transferTokens(address to, uint256 amount) - передача токенов
|
||||
- getTotalSupply() - общее количество токенов
|
||||
```
|
||||
|
||||
#### **D. Функции управления:**
|
||||
```solidity
|
||||
- createProposal(string title, string description, ProposalType type) - создание предложения
|
||||
- vote(uint256 proposalId, bool support) - голосование
|
||||
- executeProposal(uint256 proposalId) - выполнение предложения
|
||||
- cancelProposal(uint256 proposalId) - отмена предложения
|
||||
- getProposalStatus(uint256 proposalId) - статус предложения
|
||||
- getVotingPower(address account) - голосующая сила
|
||||
```
|
||||
|
||||
#### **E. Функции участия в других DLE:**
|
||||
```solidity
|
||||
- participateInDLE(address dleAddress, uint256 tokens) - участие в другом DLE
|
||||
- voteInOtherDLE(address dleAddress, uint256 proposalId, bool support) - голосование в другом DLE
|
||||
- getParticipation(address dleAddress) - получение информации об участии
|
||||
- withdrawFromDLE(address dleAddress, uint256 tokens) - выход из DLE
|
||||
```
|
||||
|
||||
#### **F. Функции мультиподписи:**
|
||||
```solidity
|
||||
- requireMultiSignature(bytes32 operationId, uint256 requiredSignatures) - требование мультиподписи
|
||||
- signOperation(bytes32 operationId) - подписание операции
|
||||
- getSignatureCount(bytes32 operationId) - количество подписей
|
||||
- addAuthorizedSigner(address signer) - добавление подписанта
|
||||
- removeAuthorizedSigner(address signer) - удаление подписанта
|
||||
```
|
||||
|
||||
#### **G. Коммуникационные функции:**
|
||||
```solidity
|
||||
- sendMessage(string message, string senderInfo) - отправка сообщения
|
||||
- respondToMessage(uint256 messageId, string response) - ответ на сообщение
|
||||
- initiateCall(string callerInfo, string purpose) - запрос звонка
|
||||
- acceptCall(uint256 callId, string response) - принятие звонка
|
||||
- rejectCall(uint256 callId, string reason) - отклонение звонка
|
||||
```
|
||||
|
||||
## 🧩 Модули для настройки смарт-контракта
|
||||
|
||||
### **Базовые модули:**
|
||||
|
||||
#### **Модуль 1: Управление токенами**
|
||||
```
|
||||
Функции:
|
||||
- Эмиссия новых токенов
|
||||
- Сжигание токенов
|
||||
- Замораживание/размораживание токенов
|
||||
- Делегирование голосов
|
||||
- Настройка прав доступа
|
||||
|
||||
Настройки:
|
||||
- Максимальное количество токенов
|
||||
- Минимальный баланс для голосования
|
||||
- Период блокировки токенов
|
||||
- Комиссии за операции
|
||||
```
|
||||
|
||||
#### **Модуль 2: Система голосования**
|
||||
```
|
||||
Функции:
|
||||
- Создание различных типов предложений
|
||||
- Настройка параметров голосования
|
||||
- Автоматическое выполнение решений
|
||||
- Отмена предложений
|
||||
- Делегирование голосов
|
||||
|
||||
Настройки:
|
||||
- Кворум для разных типов решений
|
||||
- Период голосования
|
||||
- Задержка выполнения
|
||||
- Порог для создания предложений
|
||||
```
|
||||
|
||||
#### **Модуль 3: Мультиподпись**
|
||||
```
|
||||
Функции:
|
||||
- Настройка количества подписей
|
||||
- Управление подписантами
|
||||
- Временные ограничения
|
||||
- Отмена подписей
|
||||
- Автоматическое выполнение
|
||||
|
||||
Настройки:
|
||||
- Количество требуемых подписей
|
||||
- Список авторизованных подписантов
|
||||
- Время действия подписей
|
||||
- Типы операций, требующие мультиподписи
|
||||
```
|
||||
|
||||
#### **Модуль 4: Финансовое управление**
|
||||
```
|
||||
Функции:
|
||||
- Управление балансами
|
||||
- Распределение дивидендов
|
||||
- Инвестирование средств
|
||||
- Конвертация валют
|
||||
- Управление портфелем
|
||||
|
||||
Настройки:
|
||||
- Автоматическое распределение дивидендов
|
||||
- Инвестиционные лимиты
|
||||
- Валютные пары для конвертации
|
||||
- Комиссии за операции
|
||||
```
|
||||
|
||||
#### **Модуль 5: Участие в других DLE**
|
||||
```
|
||||
Функции:
|
||||
- Покупка токенов других DLE
|
||||
- Голосование в других DLE
|
||||
- Управление портфелем участий
|
||||
- Автоматическое голосование
|
||||
- Отчетность по участиям
|
||||
|
||||
Настройки:
|
||||
- Лимиты на участие в других DLE
|
||||
- Стратегии голосования
|
||||
- Автоматические действия
|
||||
- Уведомления о важных событиях
|
||||
```
|
||||
|
||||
#### **Модуль 6: Коммуникация**
|
||||
```
|
||||
Функции:
|
||||
- Управление сообщениями
|
||||
- Настройка уведомлений
|
||||
- Автоматические ответы
|
||||
- Интеграция с внешними сервисами
|
||||
- Архив коммуникаций
|
||||
|
||||
Настройки:
|
||||
- Автоматические ответы
|
||||
- Фильтры сообщений
|
||||
- Интеграции (email, telegram, slack)
|
||||
- Шаблоны ответов
|
||||
```
|
||||
|
||||
#### **Модуль 7: Безопасность**
|
||||
```
|
||||
Функции:
|
||||
- Многофакторная аутентификация
|
||||
- Временные блокировки
|
||||
- Аудит операций
|
||||
- Восстановление доступа
|
||||
- Мониторинг безопасности
|
||||
|
||||
Настройки:
|
||||
- Уровни безопасности
|
||||
- Временные ограничения
|
||||
- Список доверенных адресов
|
||||
- Автоматические блокировки
|
||||
```
|
||||
|
||||
#### **Модуль 8: Отчетность**
|
||||
```
|
||||
Функции:
|
||||
- Генерация финансовых отчетов
|
||||
- Отчеты о голосованиях
|
||||
- Отчеты об участиях
|
||||
- Налоговая отчетность
|
||||
- Экспорт данных
|
||||
|
||||
Настройки:
|
||||
- Периодичность отчетов
|
||||
- Форматы экспорта
|
||||
- Автоматическая отправка
|
||||
- Шаблоны отчетов
|
||||
```
|
||||
|
||||
## 🔄 Интеграция модулей
|
||||
|
||||
### **Связи между модулями:**
|
||||
```
|
||||
Управление токенами ↔ Система голосования
|
||||
Финансовое управление ↔ Участие в других DLE
|
||||
Мультиподпись ↔ Все критические операции
|
||||
Безопасность ↔ Все модули
|
||||
Отчетность ↔ Все модули
|
||||
Коммуникация ↔ Все модули
|
||||
```
|
||||
|
||||
### **Настройка модулей:**
|
||||
```
|
||||
1. Активация/деактивация модулей
|
||||
2. Настройка параметров каждого модуля
|
||||
3. Установка связей между модулями
|
||||
4. Тестирование функциональности
|
||||
5. Развертывание в production
|
||||
```
|
||||
|
||||
## 🎯 Ключевые особенности DLE
|
||||
|
||||
### **1. Единый идентификатор:**
|
||||
- Адрес смарт-контракта = ИНН организации
|
||||
- Все функции доступны через один адрес
|
||||
- Полная прозрачность всех операций
|
||||
|
||||
### **2. Автоматизация:**
|
||||
- Автоматическое выполнение решений
|
||||
- Автоматическое распределение дивидендов
|
||||
- Автоматическая отчетность
|
||||
|
||||
### **3. Безопасность:**
|
||||
- Мультиподпись для критических операций
|
||||
- Временные задержки для важных решений
|
||||
- Полный аудит в блокчейне
|
||||
|
||||
### **4. Масштабируемость:**
|
||||
- Участие в неограниченном количестве других DLE
|
||||
- Настраиваемые параметры для разных типов операций
|
||||
- Модульная архитектура для добавления новых функций
|
||||
|
||||
## 🏆 Преимущества DLE над традиционным АО
|
||||
|
||||
### **Эффективность:**
|
||||
- Мгновенные платежи и переводы
|
||||
- Автоматическое выполнение решений
|
||||
- Снижение бюрократических процедур
|
||||
|
||||
### **Прозрачность:**
|
||||
- Все операции видны в блокчейне
|
||||
- Невозможность подделки документов
|
||||
- Полная история всех действий
|
||||
|
||||
### **Глобальность:**
|
||||
- Работа без границ
|
||||
- Участие в международных проектах
|
||||
- Мультивалютные операции
|
||||
|
||||
### **Инновационность:**
|
||||
- Интеграция с DeFi протоколами
|
||||
- Участие в DAO экосистеме
|
||||
- Доступ к новым финансовым инструментам
|
||||
@@ -1,113 +0,0 @@
|
||||
<!--
|
||||
Copyright (c) 2024-2025 Тарабанов Александр Викторович
|
||||
All rights reserved.
|
||||
|
||||
This software is proprietary and confidential.
|
||||
Unauthorized copying, modification, or distribution is prohibited.
|
||||
|
||||
For licensing inquiries: info@hb3-accelerator.com
|
||||
Website: https://hb3-accelerator.com
|
||||
GitHub: https://github.com/HB3-ACCELERATOR
|
||||
-->
|
||||
|
||||
# Интеграция RAG-ассистента для бизнеса с поддержкой продуктов, сегментов клиентов и LLM
|
||||
|
||||
## Цель
|
||||
|
||||
Реализовать интеллектуального ассистента для бизнеса, который:
|
||||
- Использует RAG-таблицы для хранения вопросов, ответов, уточняющих вопросов, ответов на возражения и дополнительного контекста.
|
||||
- Поддерживает фильтрацию по продуктам, сегментам клиентов (тегам), приоритету, дате и другим бизнес-полям.
|
||||
- Интегрируется с LLM (Ollama/OpenAI) для генерации финального ответа на основе найденного контекста.
|
||||
- Позволяет настраивать системный промт с плейсхолдерами для гибкой персонализации ответов.
|
||||
- Позволяет генерировать draft-ответ для администратора, который может быть отредактирован и отправлен вручную.
|
||||
|
||||
---
|
||||
|
||||
## Основные требования
|
||||
|
||||
1. **Гибкая структура RAG-таблицы**
|
||||
- Пользователь может создавать таблицы с произвольными столбцами и назначать им специальное значение (purpose) через выпадающий список:
|
||||
- Вопрос (`question`)
|
||||
- Ответ (`answer`)
|
||||
- Ответ с уточняющим вопросом (`clarifyingAnswer`)
|
||||
- Ответ на возражение (`objectionAnswer`)
|
||||
- Теги пользователя/сегмента (`userTags`)
|
||||
- Продукт/услуга (`product`)
|
||||
- Дополнительный контекст (`context`)
|
||||
- Приоритет (`priority`)
|
||||
- Дата (`date`)
|
||||
- Для каждого столбца указывается назначение при создании/редактировании.
|
||||
- Можно добавлять дополнительные столбцы для бизнес-атрибутов.
|
||||
|
||||
2. **Фильтрация и поиск**
|
||||
- При поступлении вопроса пользователя:
|
||||
- Фильтровать строки по продукту, тегам пользователя, приоритету, дате и другим полям.
|
||||
- Выполнять векторный поиск (embedding) только по релевантным строкам (по столбцу "Вопрос").
|
||||
|
||||
3. **Интеграция с LLM**
|
||||
- После поиска по RAG-таблице формировать системный промт с подстановкой найденных данных (через плейсхолдеры).
|
||||
- Передавать промт и вопрос пользователя в LLM (Ollama/OpenAI).
|
||||
- Возвращать финальный ответ пользователю.
|
||||
|
||||
4. **Плейсхолдеры для промта**
|
||||
- Поддерживаются плейсхолдеры:
|
||||
- `{context}` — дополнительная информация
|
||||
- `{answer}` — основной ответ
|
||||
- `{clarifyingAnswer}` — уточняющий вопрос
|
||||
- `{objectionAnswer}` — ответ на возражение
|
||||
- `{question}` — вопрос пользователя
|
||||
- `{userTags}` — теги пользователя
|
||||
- `{product}` — продукт/услуга
|
||||
- `{priority}` — приоритет
|
||||
- `{date}` — дата
|
||||
- `{rules}` — описание применённых правил
|
||||
- `{history}` — история диалога
|
||||
- `{model}` — используемая LLM
|
||||
- `{language}` — язык ответа
|
||||
|
||||
5. **Кэширование embedding**
|
||||
- Для ускорения поиска embedding для вопросов кэшируются в БД.
|
||||
- При изменении вопроса embedding обновляется.
|
||||
|
||||
6. **Логирование и аналитика**
|
||||
- Логируются все этапы работы ассистента: запрос пользователя, найденный контекст, результат LLM, время ответа, id пользователя и т.д.
|
||||
- Вся информация сохраняется для последующего анализа и улучшения качества ответов.
|
||||
|
||||
7. **Автоответ и draft-ответ**
|
||||
- Если найден релевантный вопрос (score > 0.95) — ассистент автоматически отвечает пользователю.
|
||||
- Если нет — ассистент генерирует draft-ответ для администратора (через роут `/ai-draft`), который подставляется в поле ввода и ожидает отправки админом. Draft генерируется всегда, даже если нет точного совпадения в RAG.
|
||||
- Draft-ответ строится с учётом промта, истории и всех доступных данных из RAG.
|
||||
|
||||
---
|
||||
|
||||
## Пример бизнес-сценария
|
||||
|
||||
- Клиент B2B интересуется продуктом "ProductX".
|
||||
- Вопрос: "Как интегрировать ваш продукт с нашей ERP?"
|
||||
- Система фильтрует строки по `product = "ProductX"` и тегу `B2B`.
|
||||
- Векторный поиск проводится только по релевантным строкам.
|
||||
- В системном промте используются плейсхолдеры для подстановки найденных данных.
|
||||
- LLM генерирует финальный ответ с учётом контекста, уточняющих вопросов и ответов на возражения.
|
||||
- Если точного совпадения нет — draft-ответ для администратора формируется на основе промта и истории.
|
||||
|
||||
---
|
||||
|
||||
## Пример системного промта
|
||||
|
||||
```
|
||||
Ты — ассистент компании. Пользователь интересуется продуктом: {product}, сегмент: {userTags}.
|
||||
Используй только релевантные ответы и контекст для этого продукта и типа клиента.
|
||||
Контекст: {context}
|
||||
Ответ: {answer}
|
||||
Уточняющий вопрос: {clarifyingAnswer}
|
||||
Ответ на возражение: {objectionAnswer}
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Результат
|
||||
|
||||
- Персонализированные, точные и масштабируемые ответы для разных продуктов и сегментов клиентов.
|
||||
- Гибкая настройка ассистента через UI и системный промт.
|
||||
- Возможность расширения под любые бизнес-сценарии.
|
||||
- Draft-ответы для администратора, которые можно редактировать и отправлять вручную.
|
||||
@@ -1,418 +0,0 @@
|
||||
<!--
|
||||
Copyright (c) 2024-2025 Тарабанов Александр Викторович
|
||||
All rights reserved.
|
||||
|
||||
This software is proprietary and confidential.
|
||||
Unauthorized copying, modification, or distribution is prohibited.
|
||||
|
||||
For licensing inquiries: info@hb3-accelerator.com
|
||||
Website: https://hb3-accelerator.com
|
||||
GitHub: https://github.com/HB3-ACCELERATOR
|
||||
-->
|
||||
|
||||
# DApp for Business
|
||||
|
||||
## Краткое описание
|
||||
**DApp for Business** — это современное веб3-приложение, позволяющее предпринимателям использовать цифровое юридическое лицо для обслуживания клиентов, приема безналичных платежей, безопасного управления активами и прозрачного учета с помощью смарт-контрактов и искусственного интеллекта.
|
||||
|
||||
---
|
||||
|
||||
## Основные возможности
|
||||
- Создание и управление цифровым юридическим лицом на блокчейне
|
||||
- Прием безналичных платежей (криптовалюта, стейблкоины)
|
||||
- Безопасное хранение и управление бизнес-активами через смарт-контракты
|
||||
- Прозрачный учет операций и автоматизация отчетности
|
||||
- Интеграция с ИИ для анализа данных и автоматизации бизнес-процессов
|
||||
- Управление клиентской базой и сервисами через децентрализованное приложение
|
||||
|
||||
---
|
||||
|
||||
## Целевая аудитория
|
||||
- Индивидуальные предприниматели
|
||||
- Малый и средний бизнес
|
||||
- Стартапы, работающие с цифровыми активами
|
||||
- Фрилансеры, желающие автоматизировать бизнес-процессы
|
||||
|
||||
---
|
||||
|
||||
## Преимущества
|
||||
- Полная прозрачность и доверие благодаря блокчейну
|
||||
- Автоматизация рутинных задач с помощью ИИ
|
||||
- Безопасное управление активами без посредников
|
||||
- Гибкая интеграция с внешними сервисами и кошельками
|
||||
- Масштабируемость и независимость от традиционных банковских систем
|
||||
|
||||
---
|
||||
|
||||
## Технические требования
|
||||
- Операционная система: Linux, macOS, Windows (рекомендуется WSL2 для Windows)
|
||||
- Docker
|
||||
- Node.js (v16+)
|
||||
- Yarn
|
||||
- Браузер с поддержкой Web3 (например, MetaMask)
|
||||
|
||||
---
|
||||
|
||||
## Установка и запуск
|
||||
|
||||
1. Клонируйте репозиторий:
|
||||
```bash
|
||||
git clone https://github.com/your-org/dapp-for-business.git
|
||||
cd dapp-for-business
|
||||
```
|
||||
2. Установите зависимости:
|
||||
```bash
|
||||
yarn install
|
||||
```
|
||||
3. Запустите приложение в Docker:
|
||||
```bash
|
||||
docker-compose up --build
|
||||
```
|
||||
4. Откройте приложение в браузере по адресу: [http://localhost:3000](http://localhost:3000)
|
||||
|
||||
---
|
||||
|
||||
## Быстрый старт
|
||||
|
||||
1. Зарегистрируйте цифровое юридическое лицо через интерфейс приложения.
|
||||
2. Подключите криптокошелек (MetaMask или другой Web3-кошелек).
|
||||
3. Настройте параметры бизнеса и добавьте клиентов.
|
||||
4. Начните принимать платежи и управлять активами через смарт-контракты.
|
||||
|
||||
---
|
||||
|
||||
## Структура проекта
|
||||
|
||||
- `frontend/` — клиентская часть на Vue.js (исходный код, конфиги, сборка, nginx)
|
||||
- `backend/` — серверная логика, API, работа с БД, интеграция со смарт-контрактами
|
||||
- `vector-search/` — сервис поиска и работы с векторными данными (Python, FastAPI)
|
||||
- `webssh-agent/` — сервис для работы с SSH-агентом через веб-интерфейс (Node.js)
|
||||
- `scripts/` — bash-скрипты для автоматизации (миграции, обновления DNS и др.)
|
||||
- `md/` — дополнительная документация и технические описания
|
||||
- `docs/` — документация и примеры
|
||||
- `docker-compose.yml`, `Dockerfile` — конфигурация контейнеризации и сборки
|
||||
- `setup.sh`, `clean-logs.sh` — вспомогательные скрипты для установки и обслуживания
|
||||
|
||||
---
|
||||
|
||||
## Часто задаваемые вопросы (FAQ)
|
||||
|
||||
- **Как подключить кошелек?**
|
||||
Используйте MetaMask или любой другой Web3-кошелек, следуя инструкции в интерфейсе приложения.
|
||||
|
||||
- **Какие криптовалюты поддерживаются?**
|
||||
Поддерживаются основные токены стандарта ERC-20 и стейблкоины.
|
||||
|
||||
- **Безопасно ли хранить активы в приложении?**
|
||||
Все операции выполняются через проверенные смарт-контракты, код которых открыт и доступен для аудита.
|
||||
|
||||
---
|
||||
|
||||
## Особенности развертывания и автономной работы
|
||||
|
||||
- Программное обеспечение с ИИ может работать полностью автономно на локальном устройстве без доступа к интернету после установки.
|
||||
- С локального устройства возможно открыть доступ к сервису для интернет-пользователей (например, через проброс портов или настройку прокси).
|
||||
- Приложение может быть установлено и сразу в облачный сервис (VPS, облачные платформы и т.д.) для круглосуточного доступа из любой точки мира.
|
||||
|
||||
---
|
||||
|
||||
|
||||
## Управление настройками и доступом
|
||||
|
||||
- Управление всеми настройками приложения осуществляется через удобный веб-интерфейс.
|
||||
- Доступ к настройкам получает только пользователь, чей криптокошелек содержит специальный админ-токен управления смарт-контрактом.
|
||||
- После первого входа в приложение администратор может изменить стандартный админ-токен, создав собственный токен через специальную форму для деплоя смарт-контракта прямо в интерфейсе приложения.
|
||||
- Таким образом, ваш кошелек — это ваш смарт-контракт, ваши токены, ваш управляемый доступ и ваши активы: только вы контролируете все ключевые параметры и права.
|
||||
- Для получения бесплатных обновлений приложения в течение 5 лет администратору необходимо отправить первичный админ-токен на собственный смарт-контракт, созданный в приложении (операция выполняется через интерфейс).
|
||||
|
||||
> **Примечание:** Все смарт-контракты приложения построены на базе проверенных и безопасных библиотек OpenZeppelin.
|
||||
|
||||
---
|
||||
|
||||
## Инструкция по заполнению формы «Блокчейн-настройки»
|
||||
|
||||
1. **Создание нового DLE (Digital Legal Entity)**
|
||||
- **Имя DLE**: Введите уникальное название вашей цифровой организации (например, My DLE).
|
||||
- **Символ токена управления (GT)**: Укажите короткое обозначение токена (3-5 латинских символов, например, MDGT).
|
||||
|
||||
2. **Выбор кода деятельности (ISIC)**
|
||||
- Последовательно выберите секцию, раздел, группу и класс деятельности из выпадающих списков.
|
||||
- После выбора нужного кода нажмите «Добавить код деятельности». Можно добавить несколько кодов.
|
||||
|
||||
3. **Партнёры**
|
||||
- Для каждого партнёра укажите:
|
||||
- **Адрес партнёра** (Ethereum-адрес, например, 0x...).
|
||||
- **Сумму GT для партнёра** (количество токенов управления).
|
||||
- Для добавления нового партнёра используйте кнопку «Добавить партнёра».
|
||||
- Для удаления — «Удалить партнёра».
|
||||
|
||||
4. **RPC-конфигурации**
|
||||
- В разделе «Добавить новую RPC конфигурацию» выберите сеть из списка или укажите пользовательский ID и Chain ID.
|
||||
- Введите RPC URL (например, https://...).
|
||||
- При необходимости воспользуйтесь предложенным URL.
|
||||
- Нажмите «Добавить RPC» для сохранения конфигурации.
|
||||
|
||||
5. **Выбор сети для деплоя**
|
||||
- В выпадающем списке выберите блокчейн-сеть, в которую будет развёрнут смарт-контракт вашей организации.
|
||||
|
||||
6. **Приватный ключ для деплоя**
|
||||
- Введите приватный ключ деплоера (будет использоваться только для развертывания смарт-контракта).
|
||||
|
||||
7. **Пользовательские настройки газа (опционально)**
|
||||
- Если требуется, включите опцию «Использовать пользовательские настройки газа» и укажите лимит газа, максимальную и приоритетную комиссию.
|
||||
|
||||
8. **Сохранение и деплой**
|
||||
- После заполнения всех полей проверьте введённые данные.
|
||||
- Нажмите кнопку деплоя (или «Сохранить»), чтобы развернуть смарт-контракт и завершить настройку.
|
||||
|
||||
**Важно:**
|
||||
- Доступ к настройкам имеют только пользователи с админ-токеном в кошельке.
|
||||
- После деплоя вы сможете управлять организацией через смарт-контракт и веб-интерфейс.
|
||||
|
||||
---
|
||||
|
||||
## Управление DLE и модульными смарт-контрактами
|
||||
|
||||
После создания смарт-контракта с админ-токеном управления в разделе CRM приложения появляется интерфейс для управления функциями смарт-контракта и добавления модульных смарт-контрактов.
|
||||
|
||||
### Как управлять DLE через интерфейс
|
||||
|
||||
1. **Переход к управлению DLE**
|
||||
- В разделе CRM нажмите на блок "Управление DLE" и кнопку "Подробнее" или перейдите по адресу `/dle-management`.
|
||||
|
||||
2. **Выбор DLE**
|
||||
- В списке отобразятся все созданные вами DLE. Выберите нужную организацию для управления.
|
||||
|
||||
3. **Основная информация**
|
||||
- Вкладка "Основная информация" содержит сведения о названии, символе токена, местонахождении, кодах деятельности, дате создания и адресах смарт-контрактов (токен, таймлок, Governor). Можно скопировать адреса или открыть их в обозревателе блокчейна.
|
||||
|
||||
4. **Предложения**
|
||||
- На вкладке "Предложения" можно создавать новые предложения для управления DLE (например, изменение параметров, добавление участников и др.).
|
||||
- Для создания предложения заполните заголовок и описание, затем отправьте на голосование.
|
||||
- Участвуйте в голосовании по предложениям ("За" или "Против"). Статус предложения обновляется автоматически.
|
||||
|
||||
5. **Управление (Governance)**
|
||||
- Вкладка "Управление" позволяет просматривать и изменять параметры управления: порог предложения, кворум, задержку и период голосования.
|
||||
|
||||
6. **Модули**
|
||||
- Вкладка "Модули" предназначена для подключения дополнительных модульных смарт-контрактов (например, токенизация активов, мультиподпись, дивиденды, стейкинг, приём платежей и др.).
|
||||
- Для установки модуля нажмите "Установить" напротив нужного модуля. Для удаления — "Удалить".
|
||||
- Для модуля "Прием платежей" выберите токены, которые будут приниматься, и сохраните настройки.
|
||||
|
||||
7. **Удаление DLE**
|
||||
- При необходимости можно удалить DLE (доступно только администратору). Будьте внимательны: действие необратимо.
|
||||
|
||||
**Важно:**
|
||||
- Все действия с DLE и модулями доступны только пользователям с админ-токеном в кошельке.
|
||||
- Управление DLE реализовано через смарт-контракты на базе OpenZeppelin, что обеспечивает безопасность и прозрачность операций.
|
||||
|
||||
---
|
||||
|
||||
## Настройка и использование ИИ-моделей
|
||||
|
||||
После установки приложения администратор может:
|
||||
- Добавить ключи своих ИИ-моделей по подписке (например, OpenAI, Gemini и др.) в настройках приложения.
|
||||
- Скачать одну из доступных ИИ-моделей и развернуть её локально на своём устройстве для автоматизации обслуживания клиентов бизнеса без рисков утечки конфиденциальных данных.
|
||||
|
||||
Для дообучения добавленных моделей деталям вашего бизнеса предусмотрена возможность:
|
||||
- Создавать собственные таблицы в установленной базе данных через веб-интерфейс приложения.
|
||||
- Заполнять эти таблицы данными, которые ИИ-ассистент сможет использовать для генерации персонализированных сообщений клиентам бизнеса как в чате приложения, так и в других каналах коммуникации (например, email, Telegram и др.).
|
||||
|
||||
Это позволяет максимально адаптировать ИИ-ассистента под специфику вашего бизнеса и обеспечить безопасность корпоративных данных.
|
||||
|
||||
---
|
||||
|
||||
## Интерактивный обмен контентом, публикация и интеграция с ИИ
|
||||
|
||||
- Пользователи могут создавать и публиковать веб-страницы (о компании, продуктах, статьи) с помощью удобной формы.
|
||||
- Каждая страница получает уникальный URL, оптимизирована для SEO и доступна для поиска в интернете и ИИ-системах.
|
||||
- После публикации страницы можно делиться ими в корпоративном чате: появляется интерактивная карточка с кнопкой для просмотра содержимого, а также возможностью задать вопрос по содержимому страницы.
|
||||
- Страницы автоматически интегрируются с RAG: разбиваются на смысловые блоки, векторизуются и используются ИИ-ассистентом для поиска и генерации ответов.
|
||||
- При публикации можно выбрать интеграцию с RAG и добавить Q&A по теме страницы для последующего поиска.
|
||||
- Возможна публикация страниц в соцсетях и блогах (Medium, LinkedIn, Instagram, Telegram и др.) через API с выбором платформ.
|
||||
- Все компоненты реализованы с учётом безопасности и приватности данных, поддерживается удаление и редактирование страниц.
|
||||
- Используются современные RAG-фреймворки (LlamaIndex, LangChain) и актуальные модели для векторизации (OpenAI, Sentence Transformers и др.).
|
||||
- Страницы открыты для индексации поисковыми системами и ИИ-ботами, что обеспечивает максимальную видимость и доступность информации.
|
||||
|
||||
---
|
||||
|
||||
## Управление контактами в CRM
|
||||
|
||||
В разделе "Контакты" CRM администраторы приложения могут:
|
||||
- Отслеживать и управлять всеми выбранными контактами через удобную таблицу.
|
||||
- Использовать фильтры быстрого поиска по имени, email, Telegram, кошельку, типу контакта, дате и тегам.
|
||||
- Применять кнопки быстрых действий для массовой рассылки сообщений, импорта контактов, удаления выбранных записей.
|
||||
- Просматривать подробную информацию о каждом контакте, редактировать имя, email, Telegram, кошелек, язык общения.
|
||||
- Добавлять и удалять теги для контакта, а также создавать новые теги прямо из интерфейса.
|
||||
- Блокировать и разблокировать пользователей, полностью удалять контакт.
|
||||
- Вести чат с каждым контактом прямо в интерфейсе приложения, использовать ИИ-ассистента для генерации ответов.
|
||||
- Все изменения и действия с контактами доступны только администраторам.
|
||||
|
||||
Это позволяет эффективно управлять клиентской базой, быстро находить нужные контакты и автоматизировать коммуникации с помощью встроенных инструментов.
|
||||
|
||||
|
||||
## Контакты и поддержка
|
||||
|
||||
- Email: info@hb3-accelerator.com
|
||||
- Telegram: @yourproject_support
|
||||
- Сайт: [https://hb3-accelerator.com](https://hb3-accelerator.com)
|
||||
|
||||
---
|
||||
|
||||
## Лицензия
|
||||
|
||||
MIT License
|
||||
|
||||
---
|
||||
|
||||
|
||||
|
||||
|
||||
офер:
|
||||
|
||||
Привет! Я **Алекс** из венчурного фонда **HB3 Accelerator**.
|
||||
|
||||
Если ваша компания:
|
||||
* использует **CRM** для обслуживания клиентов и имеет штат **продавцов и бухгалтеров**;
|
||||
* нуждается в **безналичных платежах без лимитов, ограничений и с низкими комиссиями**;
|
||||
* ценит **прозрачный учёт и свободное управление активами**,
|
||||
|
||||
то я буду рад предложить вам **программное обеспечение с ИИ и смарт-контрактами**.
|
||||
|
||||
|
||||
примеры вопросов оо клиентов:
|
||||
|
||||
1. Как ваш софт интегрируется с уже существующими CRM-системами? Например, у нас сейчас используется 1С и Bitrix24.
|
||||
2. Какие конкретно задачи автоматизирует ваш ИИ? Это только аналитика или он может, например, помогать продавцам в реальном времени?
|
||||
3. Как обеспечивается безопасность и прозрачность работы со смарт-контрактами? Кто их разрабатывает и кто несёт ответственность в случае ошибки?
|
||||
4. Какой у вас опыт внедрения подобных решений в СНГ? Есть ли кейсы в моей отрасли (например, розничная торговля)?
|
||||
5. Какой порядок внедрения: сколько времени занимает интеграция, кто обучает персонал?
|
||||
6. Какие комиссии по безналичным платежам и с какими банками/платёжными системами вы работаете?
|
||||
7. Какой уровень поддержки вы предоставляете после внедрения?
|
||||
|
||||
|
||||
ответ:
|
||||
|
||||
### Наше комплексное решение для вашего бизнеса
|
||||
|
||||
Наше программное обеспечение включает **встроенную CRM-систему**, куда вы можете легко загрузить необходимые контакты из ваших текущих CRM для **омниканального обслуживания**.
|
||||
|
||||
**ИИ-ассистент**, интегрированный в наш софт, способен обучаться работе с сегментами ваших клиентов и поставщиков. Обучение происходит на основе правил, которые вы устанавливаете и загружаете в **векторную базу данных**. Эта база надёжно хранит ваши конфиденциальные данные либо на **локальном**, либо на **облачном сервере**.
|
||||
|
||||
Мы — **молодой стартап**, представляющий свой первый технологический продукт. Внедрение нашего решения занимает от **нескольких часов до одного года**, в зависимости от сложности интеграции.
|
||||
|
||||
---
|
||||
|
||||
### Условия сотрудничества
|
||||
|
||||
Мы предоставляем **5 лет обновлений** для вашего программного обеспечения.
|
||||
|
||||
Кроме того, если **в течение первого года** мы не сможем настроить софт под индивидуальные потребности вашего бизнеса, вы можете получить **возврат 70% от стоимости**.
|
||||
|
||||
|
||||
вопросы:
|
||||
|
||||
Какой у вас опыт работы с интеграцией в 1С и Bitrix24? Есть ли готовые модули или потребуется доработка под нас?
|
||||
Как реализована миграция данных из старых CRM? Кто этим занимается — ваша команда или наши специалисты?
|
||||
Какой стек технологий вы используете для ИИ и смарт-контрактов? На каких блокчейн-платформах строится ваша система?
|
||||
Какой SLA по поддержке и реагированию на инциденты? Есть ли круглосуточная поддержка?
|
||||
Как лицензируется продукт: это подписка, разовая покупка или гибридная модель?
|
||||
Какой порядок оплаты: аванс, поэтапно, после внедрения?
|
||||
Как вы обеспечиваете соответствие требованиям законодательства РФ/СНГ по хранению и обработке персональных данных?
|
||||
Есть ли демо-доступ или пилотный проект, чтобы мы могли протестировать систему на реальных данных?
|
||||
|
||||
ответы :
|
||||
|
||||
---
|
||||
|
||||
### Особенности нашего решения
|
||||
|
||||
Мы не занимаемся интеграциями с **устаревшими CRM-системами**. Однако ваши сотрудники смогут легко выполнить **миграцию данных** при поддержке нашего **ИИ-ассистента**.
|
||||
|
||||
Наш **ИИ-ассистент** обеспечивает **круглосуточную поддержку**. Инциденты с нашей стороны **исключены**, поскольку приобретаемое вами программное обеспечение является **полностью локальным решением**.
|
||||
|
||||
---
|
||||
|
||||
### Безопасность и конфиденциальность данных
|
||||
|
||||
Хранение персональных данных **соответствует требованиям законодательства**. Все данные **зашифрованы** и хранятся **на вашей территории**.
|
||||
|
||||
---
|
||||
|
||||
### Технологический стек
|
||||
|
||||
Вот основные технологии, которые мы используем в нашем **backend-решении**:
|
||||
|
||||
* **Искусственный интеллект и машинное обучение:** `@anthropic-ai/sdk`, `@google/genai`, `@langchain/community`, `@langchain/core`, `@langchain/ollama`, `langchain`, `openai`
|
||||
* **Блокчейн и смарт-контракты:** `@openzeppelin/contracts`, `ethers`, `siwe`, `viem`
|
||||
* **Веб-сервер и API:** `express`, `cors`, `helmet`, `express-rate-limit`
|
||||
* **Базы данных:** `pg`, `connect-pg-simple`
|
||||
* **Безопасность:** `csurf`, `express-session`, `session-file-store`, `cookie`
|
||||
* **Обработка электронной почты:** `imap`, `mailparser`, `nodemailer`
|
||||
* **Мессенджеры:** `node-telegram-bot-api`, `telegraf`, `ws`
|
||||
* **Утилиты и вспомогательные библиотеки:** `archiver`, `axios`, `cron`, `dotenv`, `multer`, `node-cron`, `semver`, `winston`
|
||||
* **Инструменты разработки:** `nodemon`, `eslint`, `prettier`, `hardhat`, `mocha`, `chai`, `typescript`
|
||||
|
||||
|
||||
вопросы:
|
||||
|
||||
1. Как реализована поддержка и обновления: если решение полностью локальное, как будут устанавливаться апдейты и исправления? Это делается через удалённый доступ, или вы предоставляете инструкции для нашей IT-команды?
|
||||
2. Какой механизм резервного копирования и восстановления данных предусмотрен в вашем решении?
|
||||
3. Если потребуется интеграция с внешними сервисами (например, платёжные шлюзы, государственные системы учёта), возможно ли это реализовать на вашей платформе?
|
||||
4. Какой минимальный и рекомендуемый состав IT-специалистов нужен для поддержки вашего ПО на стороне клиента?
|
||||
5. Какой порядок лицензирования используемых вами open-source библиотек и SDK? Нет ли рисков для конечного пользователя?
|
||||
6. Предусмотрена ли возможность кастомизации интерфейса и бизнес-логики под наши процессы?
|
||||
7. Какой минимальный объём внедрения (по стоимости или количеству пользователей) вы рассматриваете?
|
||||
|
||||
|
||||
ответ: Конечно! Вот ответы на вопросы предпринимателя, составленные на основе документации к продукту DApp for Business:
|
||||
|
||||
---
|
||||
|
||||
### 1. Как реализована поддержка и обновления: если решение полностью локальное, как будут устанавливаться апдейты и исправления? Это делается через удалённый доступ, или вы предоставляете инструкции для нашей IT-команды?
|
||||
|
||||
**Ответ:**
|
||||
Обновления предоставляются бесплатно в течение 5 лет. Программное обеспечение устанавливается и работает полностью локально, без необходимости постоянного интернет-доступа. Для установки обновлений вы можете использовать предоставленные bash-скрипты (`setup.sh`, `clean-logs.sh`) и инструкции из документации. При необходимости можно открыть доступ к сервису для интернет-пользователей (например, через проброс портов или прокси), но это не обязательно. Все инструкции по обновлению и обслуживанию доступны вашей IT-команде, удалённый доступ не требуется.
|
||||
|
||||
---
|
||||
|
||||
### 2. Какой механизм резервного копирования и восстановления данных предусмотрен в вашем решении?
|
||||
|
||||
**Ответ:**
|
||||
В документации прямо не описан отдельный модуль резервного копирования, однако, поскольку все данные хранятся локально (или на вашем облачном сервере), вы полностью контролируете процесс бэкапа. Используются стандартные базы данных (`pg` — PostgreSQL), для которых легко настраиваются регулярные резервные копии с помощью штатных инструментов PostgreSQL или через Docker-скрипты. Также можно использовать bash-скрипты из папки `scripts/` для автоматизации резервного копирования и восстановления.
|
||||
|
||||
---
|
||||
|
||||
### 3. Если потребуется интеграция с внешними сервисами (например, платёжные шлюзы, государственные системы учёта), возможно ли это реализовать на вашей платформе?
|
||||
|
||||
**Ответ:**
|
||||
Да, гибкая интеграция с внешними сервисами и кошельками поддерживается. Приложение масштабируемо и не зависит от традиционных банковских систем. В разделе "Модули" можно подключать дополнительные смарт-контракты, в том числе для приёма платежей, токенизации активов и других задач. Также реализована возможность публикации и интеграции с внешними платформами через API (например, соцсети, мессенджеры, внешние сервисы учёта).
|
||||
|
||||
---
|
||||
|
||||
### 4. Какой минимальный и рекомендуемый состав IT-специалистов нужен для поддержки вашего ПО на стороне клиента?
|
||||
|
||||
**Ответ:**
|
||||
Для базовой эксплуатации достаточно одного системного администратора или DevOps-специалиста, знакомого с Docker, Linux и базовыми инструментами Node.js/PostgreSQL. Вся установка и обслуживание автоматизированы скриптами и не требуют глубоких знаний в программировании. Для расширенной кастомизации или интеграции с внешними сервисами может потребоваться разработчик с опытом работы с Node.js, смарт-контрактами (Solidity) и API.
|
||||
|
||||
---
|
||||
|
||||
### 5. Какой порядок лицензирования используемых вами open-source библиотек и SDK? Нет ли рисков для конечного пользователя?
|
||||
|
||||
**Ответ:**
|
||||
Программное обеспечение распространяется по лицензии MIT, что гарантирует отсутствие ограничений для конечного пользователя. Все используемые библиотеки (например, OpenZeppelin, LangChain, Express, PostgreSQL и др.) также имеют открытые лицензии (MIT, Apache 2.0 и аналогичные), что исключает юридические риски для вашего бизнеса.
|
||||
|
||||
---
|
||||
|
||||
### 6. Предусмотрена ли возможность кастомизации интерфейса и бизнес-логики под наши процессы?
|
||||
|
||||
**Ответ:**
|
||||
Да, архитектура приложения модульная и предусматривает возможность кастомизации. Вы можете добавлять собственные таблицы в базу данных через веб-интерфейс, подключать новые модули смарт-контрактов, настраивать параметры бизнеса, интегрировать свои ИИ-модели и дообучать их на ваших данных. Интерфейс реализован на Vue.js и может быть доработан под ваши задачи.
|
||||
|
||||
---
|
||||
|
||||
### 7. Какой минимальный объём внедрения (по стоимости или количеству пользователей) вы рассматриваете?
|
||||
|
||||
**Ответ:**
|
||||
В документации не указаны ограничения по минимальному объёму внедрения или количеству пользователей. Продукт ориентирован как на индивидуальных предпринимателей, так и на малый и средний бизнес, стартапы и фрилансеров. Вы можете начать с одного пользователя и масштабировать решение по мере роста бизнеса.
|
||||
|
||||
@@ -1,107 +0,0 @@
|
||||
<!--
|
||||
Copyright (c) 2024-2025 Тарабанов Александр Викторович
|
||||
All rights reserved.
|
||||
|
||||
This software is proprietary and confidential.
|
||||
Unauthorized copying, modification, or distribution is prohibited.
|
||||
|
||||
For licensing inquiries: info@hb3-accelerator.com
|
||||
Website: https://hb3-accelerator.com
|
||||
GitHub: https://github.com/HB3-ACCELERATOR
|
||||
-->
|
||||
|
||||
# VC HB3 - Accelerator: Детали задания для ИИ-ассистента
|
||||
|
||||
## 1. Описание проекта
|
||||
VC HB3 - Accelerator — это венчурный фонд и поставщик софта, который с помощью акселерационных программ помогает предпринимателям создавать токенизированные стартапы во всех отраслях. Фонд объединяет предпринимателей из разных юрисдикций, предоставляет инструменты для токенизации, прозрачных инвестиций и управления цифровыми юридическими лицами.
|
||||
|
||||
## 2. Цели и задачи ИИ-ассистента
|
||||
- Помогать клиентам быстро находить ответы на вопросы о продуктах, услугах и условиях фонда.
|
||||
- Предлагать релевантные продукты и услуги на основе сегментации клиентов.
|
||||
- Автоматизировать консультации, обработку типовых запросов и навигацию по возможностям фонда.
|
||||
- Содействовать формированию групп акселератора и информировать о возможностях участия.
|
||||
|
||||
## 3. Сегментация клиентов
|
||||
ИИ-ассистент должен различать следующие основные сегменты клиентов:
|
||||
|
||||
### 3.1. Предприниматели
|
||||
- Интересуются запуском стартапа, токенизацией бизнеса, участием в акселераторе.
|
||||
- Могут быть из разных юрисдикций и отраслей.
|
||||
- Ищут инструменты для управления, учета, приема платежей, автоматизации.
|
||||
|
||||
### 3.2. LP (Liquidity Providers)
|
||||
- Инвесторы, желающие получить доступ к метрикам DLE, ранним инвестициям, доле в фонде.
|
||||
- Интересуются прозрачностью, возвратом инвестиций, управлением токенами.
|
||||
|
||||
### 3.3. Стартапы-участники акселератора
|
||||
- Уже приобрели софт, участвуют в акселерационных программах.
|
||||
- Ищут финансирование, экспертизу, партнерство.
|
||||
|
||||
### 3.4. Холдеры админ токенов
|
||||
- Заинтересованы в управлении фондом, получении обновлений, возврате средств.
|
||||
|
||||
### 3.5. Регуляторы и партнеры
|
||||
- Интересуются прозрачностью, юридическими аспектами, сотрудничеством.
|
||||
|
||||
## 4. Примеры типовых запросов и сценариев
|
||||
- Как установить и настроить софт?
|
||||
- Как получить финансирование для стартапа?
|
||||
- Как стать участником акселератора?
|
||||
- Как LP может получить доступ к метрикам?
|
||||
- Как вернуть средства за админ токены?
|
||||
|
||||
---
|
||||
|
||||
## 5. RAG-таблица (для дальнейшего наполнения)
|
||||
| Вопрос | Ответ | Категория |
|
||||
|--------|-------|-----------|
|
||||
| | | |
|
||||
|
||||
## 6. Сценарии взаимодействия
|
||||
(заполняется по мере детализации бизнес-процессов)
|
||||
|
||||
## 7. Использование тегов для сегментации и персонализации
|
||||
Для каждого вопроса и ответа в RAG-таблице добавляется столбец с мультивыбором тегов клиентов. Это позволяет:
|
||||
- Связывать вопросы и ответы с определёнными сегментами пользователей (например, предприниматель, LP, стартап, холдер, регулятор, отрасль, регион и т.д.).
|
||||
- Персонализировать рекомендации ассистента на основе тегов пользователя.
|
||||
- Масштабировать базу знаний, добавляя новые теги и сегменты по мере развития проекта.
|
||||
|
||||
**Пример расширенной структуры RAG-таблицы:**
|
||||
| Вопрос | Ответ | Категория | Теги клиентов |
|
||||
|--------|-------|-----------|--------------|
|
||||
| Как получить финансирование? | ... | Инвестиции | предприниматель, стартап, акселератор |
|
||||
| Как вернуть средства за токены? | ... | Тарифы | холдер, LP |
|
||||
| Как установить софт? | ... | Продукт | предприниматель, стартап |
|
||||
|
||||
## 8. Фильтры для работы с таблицами
|
||||
Для удобства редактирования и поиска в таблицах реализуются фильтры:
|
||||
- По тегам клиентов (мультивыбор).
|
||||
- По категориям вопросов/ответов.
|
||||
- По продуктам и услугам.
|
||||
- По статусу (активен, архив и др.).
|
||||
|
||||
Фильтры позволяют быстро находить, редактировать и анализировать релевантные записи, а также персонализировать отображение данных для разных ролей пользователей.
|
||||
|
||||
## 9. Пользовательские таблицы, multiselect-столбцы и связи
|
||||
|
||||
### 9.1. Гибкая структура пользовательских таблиц
|
||||
- Пользователь может создавать собственные таблицы (user_tables), столбцы (user_columns) и строки (user_rows).
|
||||
- Для каждого столбца можно выбрать тип: text, select, multiselect, relation и др.
|
||||
- Для multiselect/select-столбцов значения (опции) хранятся в поле options столбца и могут добавляться/удаляться прямо из интерфейса.
|
||||
|
||||
### 9.2. Хранение и настройка связей
|
||||
- Для связи между сущностями (например, пользователь — партнеры, вопрос — продукты) используется отдельная таблица связей (например, user_multiselect_values: id, user_id, column_id, value).
|
||||
- Это позволяет хранить любые связи "многие-ко-многим" между пользователями, вопросами, продуктами и т.д.
|
||||
- Для multiselect-столбцов в RAG-таблице вопросы/ответы можно выбирать продукты/услуги, к которым относится запись.
|
||||
|
||||
### 9.3. Фильтрация и производительность
|
||||
- Фильтрация реализуется через SQL-запросы с JOIN по user_tables, user_columns, user_rows, user_cell_values и таблице связей.
|
||||
- Для multiselect-столбцов фильтрация по значениям возможна через LIKE или jsonb-операторы (при хранении массивов).
|
||||
- Производительность обеспечивается индексами по row_id, column_id и, при необходимости, по value (jsonb gin-индекс).
|
||||
- Такая архитектура масштабируется и используется в современных low-code/CRM системах (Notion, Airtable и др.).
|
||||
|
||||
### 9.4. Пример использования
|
||||
- Пользователь создает таблицу "Партнеры" с multiselect-столбцом.
|
||||
- В интерфейсе контакта можно выбрать партнеров для пользователя — значения сохраняются в user_multiselect_values.
|
||||
- В RAG-таблице вопросы/ответы можно связать с продуктами/услугами через multiselect-столбец.
|
||||
- ИИ-ассистент может фильтровать и персонализировать ответы по этим связям.
|
||||
Reference in New Issue
Block a user