Система управления проектами для 1С-консультантов с автоматической генерацией документов через Claude AI и доставкой в Telegram.
AI Project Executor автоматизирует рутину 1С-консультанта:
- Создаёшь проект и задачу (устав, ТЗ, КП, отчёт...)
- Указываешь дату/расписание и добавляешь контекст в чат задачи
- В нужное время Claude AI генерирует DOCX-документ
- Готовый файл автоматически отправляется в Telegram
- 📁 Проекты и задачи — управление, статусы, прогресс
- 🤖 AI-генерация — уставы, ТЗ, КП, отчёты, протоколы, уведомления (Claude Sonnet)
- 📄 DOCX — полноценные Word-документы с таблицами, заголовками, списками
✈️ Telegram-доставка — файл в чат/канал, поддержка bot webhook- ⏰ Расписание — конкретная дата или cron (
0 8 * * 1= каждый понедельник) - 👀 Режим Confirm — перед отправкой показывает превью в Telegram с кнопками ✅/✏️
- 📅 Dashboard — статистика + задачи прямо под каждым проектом
- 🔐 Авторизация — JWT, роли пользователей
- 👑 Администратор — управление пользователями и ролями
| Слой | Технологии |
|---|---|
| Backend | Node.js 20, Express, TypeScript, Prisma ORM |
| БД | PostgreSQL 16 |
| AI | Anthropic Claude (claude-sonnet-4-20250514) |
| Мессенджер | Telegram Bot API (node-telegram-bot-api) |
| Планировщик | node-cron + cron-parser |
| DOCX | docx npm package |
| Frontend | React 18, TypeScript, Vite, TailwindCSS |
| Auth | JWT (jsonwebtoken + bcryptjs) |
| Deploy | Docker Compose / native Node.js |
git clone https://github.com/Aleksandr-Litvinenko/Claude_code.-project-crm.git
cd Claude_code.-project-crm
cp .env.example .env
# Заполни .env: DATABASE_URL, ANTHROPIC_API_KEY, JWT_SECRET
docker-compose up --build -d
# Применить миграции и загрузить тестовые данные
docker-compose exec backend sh -c "npx prisma migrate deploy && npx tsx prisma/seed.ts"Приложение: http://localhost:5173 API: http://localhost:3000
# Backend
cd backend
npm install
npx prisma migrate dev
npx tsx prisma/seed.ts # тестовые данные + admin@admin.admin
npm run dev # http://localhost:3000
# Frontend (другой терминал)
cd frontend
npm install
npm run dev # http://localhost:5173| Переменная | Обязательная | Описание |
|---|---|---|
DATABASE_URL |
✅ | postgresql://user:pass@localhost:5432/prm |
ANTHROPIC_API_KEY |
✅ | Ключ Anthropic (sk-ant-...). Можно задать в UI |
JWT_SECRET |
✅ | Секрет подписи JWT (openssl rand -hex 32). Без него берётся запасной секрет из этого репозитория — им можно подписать токен администратора. См. docs/SECURITY.md |
PORT |
— | Порт backend (по умолчанию 3000) |
FILES_DIR |
— | Папка для DOCX (по умолчанию ./files) |
TG_BOT_TOKEN |
— | Telegram Bot Token. Можно задать в UI настроек |
TG_CHAT_ID |
— | ID чата для отправки. Опционально, можно в UI |
После seed.ts доступен дефолтный администратор:
Логин: admin@admin.admin
Пароль: 123456
Смени пароль или удали этого пользователя в продакшне через Панель Администратора.
Перед выкладкой наружу пройдите чек-лист в docs/SECURITY.md: секрет JWT, порт базы, ключи в переменных, HTTPS.
Первый самостоятельно зарегистрированный пользователь тоже получает роль ADMIN.
| Роль | Описание |
|---|---|
ADMIN |
Полный доступ + Панель администратора + Настройки |
EXECUTOR |
Управление проектами и задачами |
CO_EXECUTOR |
Соисполнитель, участие в проектах |
OBSERVER |
Просмотр без изменений |
Управление пользователями: Меню → 👑 Администратор
| Тип | Описание |
|---|---|
CHARTER |
Устав проекта |
TZ |
Техническое задание |
KP |
Коммерческое предложение |
REPORT |
Статусный отчёт (хорошо сочетается с cron) |
PROTOCOL |
Протокол совещания |
NOTIFICATION |
Только Telegram-сообщение, без DOCX |
COMBINED |
DOCX-файл + отдельный Telegram-анонс |
| Режим | Поведение |
|---|---|
| AUTO ⚡ | Документ сразу отправляется в Telegram |
| CONFIRM 👀 | Telegram показывает превью + кнопки «Подтвердить» / «Правки» |
При нажатии «Правки»: задача возвращается в PENDING, добавь уточнения в чат и запусти снова.
# Аутентификация
POST /api/auth/register
POST /api/auth/login
GET /api/auth/me
# Пользователи (только Admin)
GET /api/users
POST /api/users
PATCH /api/users/:id/role
DEL /api/users/:id
# Проекты
GET/POST /api/projects
GET/PATCH/DEL /api/projects/:id
GET /api/projects/:id/tasks
# Задачи
POST /api/tasks
GET/PATCH/DEL /api/tasks/:id
POST /api/tasks/:id/run-now
GET/POST /api/tasks/:id/messages
DEL /api/tasks/:id/messages/:msgId
# Выполнения
GET /api/executions
POST /api/executions/:id/approve
GET /api/files/:executionId (скачать DOCX)
# Прочее
GET/PATCH /api/settings
POST /api/settings/test-telegram
POST /api/settings/test-anthropic
GET /api/dashboard
POST /api/tg/webhook
curl -X POST "https://api.telegram.org/bot<TOKEN>/setWebhook" \
-d "url=https://ваш-домен/api/tg/webhook"ai-project-executor/
├── docker-compose.yml
├── .env.example
│
├── backend/
│ ├── prisma/
│ │ ├── schema.prisma # модели: Project, Task, User, Execution, Settings
│ │ ├── migrations/ # SQL-миграции
│ │ └── seed.ts # тест-данные + admin@admin.admin / 123456
│ └── src/
│ ├── middleware/auth.ts # JWT + роли
│ ├── routes/
│ │ ├── auth.ts # /api/auth/*
│ │ ├── users.ts # /api/users/* (Admin)
│ │ ├── projects.ts
│ │ ├── tasks.ts
│ │ ├── dashboard.ts
│ │ └── settings.ts
│ └── services/
│ ├── agent.ts # Claude AI агент
│ ├── scheduler.ts # cron планировщик
│ ├── docx.ts # Markdown → DOCX
│ └── telegram.ts # Telegram Bot
│
└── frontend/
└── src/
├── context/AuthContext.tsx
├── pages/
│ ├── Login.tsx # вход / регистрация
│ ├── Admin.tsx # управление пользователями
│ ├── Dashboard.tsx # проекты + задачи под каждым
│ ├── ProjectDetail.tsx
│ ├── TaskDetail.tsx # задача + AI-чат + выполнения
│ ├── ExecutionLog.tsx
│ └── Settings.tsx
└── api/client.ts # типизированные API-вызовы
MIT
0 comments
log in to comment.