diff --git a/artifacts/iishnitsa_panel_vision.html b/artifacts/iishnitsa_panel_vision.html new file mode 100644 index 0000000..693f334 --- /dev/null +++ b/artifacts/iishnitsa_panel_vision.html @@ -0,0 +1,70 @@ + + +
+ +Панельная сессия ИИШНИЦЫ · 90 минут · 3 спикера (члены правления кооператива 42)
+ +| Время | Блок | Что происходит |
|---|---|---|
| 0–5 | Открытие | Модератор: миссия 42 как рамка, представление спикеров и формата «три круга». |
| 5–17 | Круг 1 — «Моё будущее» (4 мин/спикер) | Каждый спикер за 4 минуты рассказывает, каким видит своё будущее через призму миссии кооператива. Без презентаций — живой рассказ. |
| 17–25 | Пауза-рефлексия | Модератор резюмирует 3 услышанных будущего, гости отмечают в карточках «что откликнулось». |
| 25–31 | Круг 2 — «Что понравилось у других» (2 мин/спикер) | Каждый спикер называет, что из сказанного коллегами ему ближе всего и почему. |
| 31–45 | Название общего видения | Модератор выносит на сцену заготовки-названия; зал и спикеры голосуют стикерами/руками, рождается общее название видения. |
| 45–85 | Вопросы из зала | Открытый микрофон; спикеры отвечают по кругу. Модератор держит рамку миссии, фиксирует обещания/следующие шаги на флипчарт. |
| 85–90 | Закрытие | Модератор озвучивает родившееся название общего видения + 3 следующих шага. Общее фото. |
| Роль | Кто | Зона ответственности |
|---|---|---|
| Модератор | Спикер 1 | Тайминг, рамка миссии, голосование за название, сбор вопросов. |
| Спикер | Спикер 2 | Круг 1 (4 мин), круг 2 (2 мин), ответы на вопросы. |
| Спикер / scriba | Спикер 3 | Круги 1–2 + фиксация следующего шага и названия на флипчарт. |
| Организатор | из команды ИИШНИЦЫ | Чек-лист ниже. |
+«Капитал роста» +«42 будущих» +«Ресурс, который множится» +«Одна орбита» +«Мы — AUM друг друга» +«Кооператив как среда роста» +«Точка сборки 42» +
+Правило: если зал предложит своё — оно в приоритете; голосование простым большинством.
+ +Концепт подготовлен агентом харнеса Simbiot · кооператив 42 · 2026
+ + diff --git a/artifacts/index.html.bak-showcase-261012 b/artifacts/index.html.bak-showcase-261012 new file mode 100644 index 0000000..dfee270 --- /dev/null +++ b/artifacts/index.html.bak-showcase-261012 @@ -0,0 +1,693 @@ + + + + + +Simbiot gives your studio a dedicated AI team — engineers, video producers, content makers — and the operating system that runs them: projects, treasury, decisions, meetings. White-label, under your brand.
+ +Every agent runs on a dedicated server with its own memory, tools, email and Matrix chat. You brief them like employees — they onboard onto your idea and start shipping.
+Every studio needs an operating layer. Simbiot keeps projects, money, decisions and meetings in one transparent system — under your studio's name and domain.
+A card for every venture: key decisions, ownership, agents, activity feed. The whole portfolio at a glance.
Code and docs live in a dedicated repository with a web editor. Nothing gets lost in chats.
Revenue share flows into the treasury automatically. Every payout is transparent and auditable.
Allocate resources between projects by vote. Cycles, quorum, full decision history — governance built in.
Built-in video calls with recording, transcription and summaries. Every decision lands in the registry.
What every agent completed, how much work went where — a daily digest in your inbox.
A partner registers a project: 7 decisions, studio share.
Partners vote — the project gets priority and resources.
Engineer codes, producer cuts video, content ships.
An MVP validates the hypothesis in days, not months.
The studio share flows back and funds the next projects.
Real screens from our own production harness — the same one you get. Dashboard with the task ladder, chat with your agent right in the UI.
+Everything a product studio needs on day one — from payment rails to the agents themselves. No marketplace, no add-ons, no metered surprises.
+Card payments for whatever your agents build — subscriptions, one-offs, invoices. Live Stripe account wired on day one: a working checkout, not a promise.
All model inference runs on our gateway — no API keys, no vendor bills to manage, no surprise invoices. Compute is part of the flat rate.
Your own subdomain, your studio's name and brand at the front. Nobody sees the machinery; every deliverable ships under your identity.
Staff of specialists that actually produces: an engineer for code, a producer for video/assembly, a content maker for marketing — plus more on demand.
Projects, treasury with USDA wallets, decisions and voting, meetings with AI minutes, task tracking with daily digests — one transparent system.
The rhythm engine behind every agent: reflex, minute, hour, day — escalation, memory, semantic knowledge base. Coop-tested daily on our own runtime.
Flat rate for product studios. Your whole team of AI agents and the OS to run them — no per-seat math.
+Your personal AI agent on its own server, with a private Matrix chat. Everything included — inference, hosting, updates. Zero lock-in: export everything with one click, anytime.
+ +Your studio portal on your own subdomain, under your own name. Deployed the same day you pay.
+ +Already a member? Your billing cabinet shows subscription status and payment history.
+ Start — $999/mo + Open my cabinet +Панель в три круга, которая заканчивается артефактом
+ +Панельная сессия в три круга — не классическая панель с вопросами модератора, а разговор, который заканчивается артефактом: одним названием общего видения будущего.
+Формат держит миссия кооператива «42»: все миссии одинаково важны — каждый взгляд на будущее важен, любая индустрия равна.
+ +| Время | Круг | Что происходит |
|---|---|---|
| 00:00–00:03 | Открытие | Модератор озвучивает миссию 42 как рамку сессии |
| 00:03–00:15 | Круг 1 — «Моё будущее» | Каждый участник по 4 минуты описывает будущее своей индустрии в самом дальнем горизонте, в который может заглянуть. Без вопросов, без перебиваний |
| 00:15–00:21 | Круг 2 — «Что понравилось» | По 2 минуты: каждый подсвечивает, что понравилось у других — не спорить, а связывать: где пересечение со своим будущим |
| 00:21–00:30 | Круг 3 — «Название общего видения» | Панель соглашается назвать общее видение — одно название для всех картин будущего |
| 00:30–00:43 | Вопросы из зала | Зал — четвёртый участник. Любой вопрос важен |
| 00:43–00:45 | Закрытие | Название общего видения + миссия 42, короткое резюме |
Минск · cil.by — точная дата и площадка будут в следующих постах, следи за анонсами в канале.
+ +Готовая вёрстка поста: копируй текст прямо из блока — эмодзи и разбивка сохранятся.
+ +45 минут · 3 участника · один результат — название общего видения будущего.
+Не классическая панель с вопросами модератора. Три круга:
+Панельная сессия «Общее видение» на ИИШНИЦЕ 🎤
+45 минут · 3 спикера · 3 круга: моё будущее → что понравилось → название общего видения
+Алекс Шкор · Влад Шемардинов · Юрий Бокач
+Миссия 42: все миссии одинаково важны.
+Минск · дата в следующих постах · cil.by
+Полный HTML-анонс сессии (для закрепа/сайта): iishnitsa-announcement-main-community.html. При появлении даты и площадки — обновлю обе версии и док.
+ + + +curl -fsSL https://raw.cil.by/simbiot/install.sh | bash
diff --git a/tools/tg_members.py b/tools/tg_members.py
new file mode 100644
index 0000000..97aede1
--- /dev/null
+++ b/tools/tg_members.py
@@ -0,0 +1,88 @@
+#!/usr/bin/env python3
+"""Список участников TG-чата(ов) харнеса (t-261010, просьба Alex).
+
+Использует Bot API: getChatMemberCount + перебор admins (getChatAdministrators)
+и известных членов (только для супергрупп при соответствующих правах бота).
+Честно сообщает ограничения: бот не видит полный список рядовых участников
+без прав админа/owner — это ограничение Telegram Bot API.
+"""
+import json
+import os
+import sys
+
+sys.path.insert(0, os.path.dirname(os.path.dirname(os.path.abspath(__file__))))
+from harness import tg_inbox as tgi # noqa: E402
+
+
+def chat_members(chat_id):
+ tgi._load_env()
+ if not tgi.TG_TOKEN:
+ print("error: нет SIMBIOT_TG_TOKEN")
+ return 1
+ count = tgi._api("getChatMemberCount", {"chat_id": chat_id})["result"]
+ print(f"Чат {chat_id}: участников — {count}")
+ try:
+ chat = tgi._api("getChat", {"chat_id": chat_id})["result"]
+ title = chat.get("title") or chat.get("username") or "личный чат"
+ print(f" Название: {title}")
+ except Exception:
+ pass
+ try:
+ admins = tgi._api("getChatAdministrators", {"chat_id": chat_id})["result"]
+ for a in admins:
+ u = a.get("user") or {}
+ name = " ".join(x for x in [u.get("first_name"), u.get("last_name")] if x) or u.get("username") or u.get("id")
+ print(f" [{'@' + u['username'] if u.get('username') else u.get('id')}] {name} — {a.get('status')}")
+ except Exception as e:
+ print(f" (админов не удалось получить: {e})")
+ print(" Полный список рядовых участников Bot API не отдаёт — только количество и админов.")
+ return 0
+
+
+def main():
+ # чаты: из inbox (все chat_id входящих) + ALLOWED
+ ids = []
+ try:
+ import sqlite3
+ from harness import paths
+ for db in [paths.db_path(), os.path.join(os.path.dirname(os.path.dirname(os.path.abspath(__file__))), "tg_inbox.db"), os.path.join(os.path.dirname(os.path.dirname(os.path.abspath(__file__))), "hg_tg_inbox.db")]:
+ if not os.path.exists(db):
+ continue
+ try:
+ con = sqlite3.connect(db)
+ for row in con.execute("SELECT DISTINCT payload FROM events").fetchall():
+ try:
+ p = json.loads(row[0])
+ cid = p.get("chat_id") or (p.get("message") or {}).get("chat", {}).get("id")
+ if cid:
+ ids.append(cid)
+ except Exception:
+ pass
+ con.close()
+ except Exception:
+ pass
+ except Exception:
+ pass
+ tgi._load_env()
+ ids += [n for n in (_num(x) for x in tgi.ALLOWED) if n]
+ seen, rc = set(), 0
+ for cid in ids:
+ if cid in seen:
+ continue
+ try:
+ seen.add(cid)
+ rc |= chat_members(cid)
+ except Exception as e:
+ print(f"Чат {cid}: ошибка {e}")
+ return rc
+
+
+def _num(x):
+ try:
+ return int(x)
+ except (TypeError, ValueError):
+ return None
+
+
+if __name__ == "__main__":
+ sys.exit(main() or 0)