WIP: кошелек запускается, но есть ошибки
This commit is contained in:
parent
b13efa92fd
commit
edc94d3700
1
.gitignore
vendored
1
.gitignore
vendored
@ -2,6 +2,7 @@
|
||||
data/
|
||||
logs/
|
||||
logs
|
||||
.understand-anything/
|
||||
|
||||
.gradle
|
||||
.gradle-home/
|
||||
|
||||
@ -103,8 +103,7 @@
|
||||
"serverLastGlobalNumber": 128,
|
||||
"serverLastGlobalHash": "4f...ab",
|
||||
"serverBlockchainSizeBytes": 45212,
|
||||
"serverBlockchainSizeLimitBytes": 100000,
|
||||
"serverBlocksCount": 129
|
||||
"serverBlockchainSizeLimitBytes": 100000
|
||||
}
|
||||
}
|
||||
```
|
||||
@ -115,7 +114,6 @@
|
||||
- `serverLastGlobalHash` — hash последнего блока (hex-строка 64 символа);
|
||||
- `serverBlockchainSizeBytes` — текущий размер пользовательского блокчейна на сервере в байтах;
|
||||
- `serverBlockchainSizeLimitBytes` — текущий лимит размера блокчейна на сервере в байтах;
|
||||
- `serverBlocksCount` — количество блоков в пользовательском блокчейне на сервере;
|
||||
|
||||
### Успешный ответ: пользователя нет
|
||||
|
||||
|
||||
@ -0,0 +1,24 @@
|
||||
# Эксперимент Understand Anything
|
||||
|
||||
## Краткое описание
|
||||
|
||||
Добавлена изолированная лаборатория для проверки `Lum1104/Understand-Anything` без подключения к сборке, деплою и рабочему коду SHiNE.
|
||||
|
||||
## Что проверять
|
||||
|
||||
- Установить Node.js 22+ и pnpm 10+.
|
||||
- Запустить `./tools/understand-anything-lab/install_codex_skills.sh`.
|
||||
- Перезапустить Codex-сессию.
|
||||
- Выполнить `/understand --language ru` в корне проекта.
|
||||
- После генерации выполнить `/understand-dashboard` и проверить, что граф открывается и помогает ориентироваться по серверным, UI, Solana и агентским папкам.
|
||||
|
||||
## Ожидаемый результат
|
||||
|
||||
- В проекте появляется локальная папка `.understand-anything/` с графом знаний.
|
||||
- Dashboard открывается и показывает интерактивный граф проекта.
|
||||
- Основные процессы сборки и деплоя SHiNE не меняются.
|
||||
|
||||
## Статус
|
||||
|
||||
`pending`
|
||||
|
||||
@ -1,2 +1,2 @@
|
||||
client.version=1.2.98
|
||||
server.version=1.2.92
|
||||
client.version=1.2.99
|
||||
server.version=1.2.93
|
||||
|
||||
@ -6,7 +6,7 @@
|
||||
<link rel="manifest" href="./manifest.webmanifest" />
|
||||
<title>Shine UI Demo</title>
|
||||
<script>
|
||||
window.__SHINE_BUILD_HASH__ = '20260528010500';
|
||||
window.__SHINE_BUILD_HASH__ = '20260530000600';
|
||||
window.__SHINE_CLIENT_VERSION__ = '1.2.8';
|
||||
</script>
|
||||
<script>
|
||||
|
||||
@ -47,7 +47,7 @@ import * as keyStorageView from './pages/key-storage-view.js';
|
||||
|
||||
import * as profileView from './pages/profile-view.js';
|
||||
import * as profileEditView from './pages/profile-edit-view.js';
|
||||
import * as walletView from './pages/wallet-view.js?v=2026052806';
|
||||
import * as walletView from './pages/wallet-view.js?v=202605300006';
|
||||
import * as settingsView from './pages/settings-view.js';
|
||||
import * as developerSettingsView from './pages/developer-settings-view.js';
|
||||
import * as serverSettingsView from './pages/server-settings-view.js';
|
||||
|
||||
@ -199,6 +199,7 @@ export function render({ navigate }) {
|
||||
const serverLastHashLabel = document.createElement('p');
|
||||
serverLastHashLabel.className = 'meta-muted';
|
||||
serverLastHashLabel.style.wordBreak = 'break-all';
|
||||
serverLastHashLabel.style.fontSize = '11px';
|
||||
serverLastHashLabel.textContent = 'Hash: —';
|
||||
|
||||
const solanaTitle = document.createElement('h3');
|
||||
@ -213,6 +214,7 @@ export function render({ navigate }) {
|
||||
const solanaLastHashLabel = document.createElement('p');
|
||||
solanaLastHashLabel.className = 'meta-muted';
|
||||
solanaLastHashLabel.style.wordBreak = 'break-all';
|
||||
solanaLastHashLabel.style.fontSize = '11px';
|
||||
solanaLastHashLabel.textContent = 'Hash: —';
|
||||
|
||||
card.append(
|
||||
@ -250,11 +252,12 @@ export function render({ navigate }) {
|
||||
const fetchServerState = async () => {
|
||||
const user = await authService.getUser(String(state.session.login || '').trim());
|
||||
if (!user?.exists) throw new Error('Пользователь не найден на сервере');
|
||||
const lastNumber = Number(user.serverLastGlobalNumber ?? -1);
|
||||
return {
|
||||
blocksCount: Number(user.serverBlocksCount || 0),
|
||||
sizeBytes: Number(user.serverBlockchainSizeBytes || 0),
|
||||
sizeLimitBytes: Number(user.serverBlockchainSizeLimitBytes || 0),
|
||||
lastNumber: Number(user.serverLastGlobalNumber ?? -1),
|
||||
lastNumber,
|
||||
blocksCount: lastNumber >= 0 ? (lastNumber + 1) : 0,
|
||||
lastHash: String(user.serverLastGlobalHash || ''),
|
||||
};
|
||||
};
|
||||
@ -410,7 +413,7 @@ export function render({ navigate }) {
|
||||
} finally {
|
||||
setButtonsDisabled(false);
|
||||
}
|
||||
};
|
||||
});
|
||||
|
||||
refreshBtn.addEventListener('click', () => {
|
||||
void refreshUsage();
|
||||
|
||||
@ -91,7 +91,6 @@ public class Net_GetUser_Handler implements JsonMessageHandler {
|
||||
resp.setServerLastGlobalHash(toHex32(lastHash));
|
||||
resp.setServerBlockchainSizeBytes(st.getFileSizeBytes());
|
||||
resp.setServerBlockchainSizeLimitBytes(st.getSizeLimit());
|
||||
resp.setServerBlocksCount(Math.max(0, lastNum + 1));
|
||||
|
||||
log.info("✅ GetUser: found login={}, blockchainName={}", u.getLogin(), u.getBlockchainName());
|
||||
return resp;
|
||||
|
||||
@ -43,7 +43,6 @@ public class Net_GetUser_Response extends Net_Response {
|
||||
private String serverLastGlobalHash;
|
||||
private Long serverBlockchainSizeBytes;
|
||||
private Long serverBlockchainSizeLimitBytes;
|
||||
private Integer serverBlocksCount;
|
||||
|
||||
public Boolean getExists() { return exists; }
|
||||
public void setExists(Boolean exists) { this.exists = exists; }
|
||||
@ -75,6 +74,4 @@ public class Net_GetUser_Response extends Net_Response {
|
||||
public Long getServerBlockchainSizeLimitBytes() { return serverBlockchainSizeLimitBytes; }
|
||||
public void setServerBlockchainSizeLimitBytes(Long serverBlockchainSizeLimitBytes) { this.serverBlockchainSizeLimitBytes = serverBlockchainSizeLimitBytes; }
|
||||
|
||||
public Integer getServerBlocksCount() { return serverBlocksCount; }
|
||||
public void setServerBlocksCount(Integer serverBlocksCount) { this.serverBlocksCount = serverBlocksCount; }
|
||||
}
|
||||
|
||||
5
tools/understand-anything-lab/.gitignore
vendored
Normal file
5
tools/understand-anything-lab/.gitignore
vendored
Normal file
@ -0,0 +1,5 @@
|
||||
upstream/
|
||||
work/
|
||||
.understand-anything/
|
||||
*.log
|
||||
|
||||
65
tools/understand-anything-lab/README.md
Normal file
65
tools/understand-anything-lab/README.md
Normal file
@ -0,0 +1,65 @@
|
||||
# Эксперимент Understand Anything
|
||||
|
||||
Эта папка нужна, чтобы безопасно проверить `Lum1104/Understand-Anything` в SHiNE без подключения к сборке, деплою и рабочему серверному коду.
|
||||
|
||||
## Что здесь лежит
|
||||
|
||||
- `upstream/` - локальный клон `https://github.com/Lum1104/Understand-Anything.git`; он игнорируется git, чтобы не тащить внешний репозиторий внутрь SHiNE.
|
||||
- `install_codex_skills.sh` - локальная установка skills для Codex из уже скачанного `upstream/`, без `curl | bash`.
|
||||
|
||||
Проверенный upstream:
|
||||
|
||||
- commit: `26edf61856fa476e466bda1814819a266a293c47`
|
||||
- дата commit: `2026-05-26T13:09:57+08:00`
|
||||
- сообщение: `Merge pull request #235 from ZebangCheng/feat/add-trae-platform`
|
||||
|
||||
## Безопасный сценарий проверки
|
||||
|
||||
1. Подготовить окружение:
|
||||
|
||||
```bash
|
||||
node --version
|
||||
pnpm --version
|
||||
```
|
||||
|
||||
Для полноценного запуска нужен Node.js 22 или новее и pnpm 10 или новее. На текущей машине при первичной проверке были обнаружены Node.js `v18.19.1` и отсутствие `pnpm`, поэтому полноценный `/understand` пока не запускался.
|
||||
|
||||
2. Установить skills для Codex из локального клона:
|
||||
|
||||
```bash
|
||||
./tools/understand-anything-lab/install_codex_skills.sh
|
||||
```
|
||||
|
||||
Скрипт использует локальный `tools/understand-anything-lab/upstream`, а не скачивает установщик из интернета.
|
||||
|
||||
3. Перезапустить Codex-сессию, чтобы появились команды/skills:
|
||||
|
||||
```text
|
||||
/understand --language ru
|
||||
/understand-dashboard
|
||||
```
|
||||
|
||||
4. После первого запуска проверить созданный файл:
|
||||
|
||||
```bash
|
||||
ls -la .understand-anything/
|
||||
```
|
||||
|
||||
## Что не делать без отдельного решения
|
||||
|
||||
- Не включать `Understand Anything` в Gradle-сборку.
|
||||
- Не добавлять его в `deployServer` или `deployUI`.
|
||||
- Не переносить серверные модули в новую папку одновременно с этим экспериментом.
|
||||
- Не включать auto-update hook через `/understand --auto-update`, пока не понятно, нужен ли граф в каждом commit.
|
||||
|
||||
## Что можно коммитить позже
|
||||
|
||||
Если эксперимент подтвердится, можно будет отдельно решить, нужно ли хранить `.understand-anything/knowledge-graph.json` в репозитории. По рекомендации upstream обычно коммитят содержимое `.understand-anything/`, кроме:
|
||||
|
||||
```gitignore
|
||||
.understand-anything/intermediate/
|
||||
.understand-anything/diff-overlay.json
|
||||
```
|
||||
|
||||
До такого решения артефакты графа лучше считать локальными.
|
||||
|
||||
29
tools/understand-anything-lab/install_codex_skills.sh
Executable file
29
tools/understand-anything-lab/install_codex_skills.sh
Executable file
@ -0,0 +1,29 @@
|
||||
#!/usr/bin/env bash
|
||||
set -euo pipefail
|
||||
|
||||
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd -P)"
|
||||
UPSTREAM_DIR="$SCRIPT_DIR/upstream"
|
||||
|
||||
if [[ ! -d "$UPSTREAM_DIR/.git" ]]; then
|
||||
echo "Не найден локальный upstream-клон: $UPSTREAM_DIR" >&2
|
||||
echo "Сначала выполните:" >&2
|
||||
echo " git clone --depth 1 https://github.com/Lum1104/Understand-Anything.git \"$UPSTREAM_DIR\"" >&2
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if ! command -v node >/dev/null 2>&1; then
|
||||
echo "Не найден Node.js. Для полноценного запуска Understand Anything нужен Node.js 22+." >&2
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if ! command -v pnpm >/dev/null 2>&1; then
|
||||
echo "Не найден pnpm. Для полноценного запуска Understand Anything нужен pnpm 10+." >&2
|
||||
echo "Skills можно установить, но команда /understand не соберёт core без pnpm." >&2
|
||||
fi
|
||||
|
||||
UA_DIR="$UPSTREAM_DIR" "$UPSTREAM_DIR/install.sh" codex
|
||||
|
||||
echo
|
||||
echo "Skills Understand Anything установлены для Codex из локального клона."
|
||||
echo "Перезапустите Codex-сессию перед использованием /understand."
|
||||
|
||||
Loading…
Reference in New Issue
Block a user