@litfamily/lithermes 1.0.11 → 1.0.12
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +31 -25
- package/README_Ko-KR.md +33 -27
- package/assets/lithermes-plugin/payload-version.json +5 -5
- package/assets/lithermes-plugin/plugin.yaml +1 -1
- package/assets/lithermes-plugin/skills/frontend-ui-ux/references/complete-contract.md +2 -2
- package/assets/lithermes-plugin/skills/visual-qa/references/complete-contract.md +2 -2
- package/package.json +1 -1
- package/readme-assets/badge-version.svg +1 -1
package/README.md
CHANGED
|
@@ -1,16 +1,16 @@
|
|
|
1
|
-
<p align="center"><picture><source media="(prefers-reduced-motion: reduce)" srcset="https://cdn.jsdelivr.net/npm/@litfamily/lithermes@1.0.
|
|
1
|
+
<p align="center"><picture><source media="(prefers-reduced-motion: reduce)" srcset="https://cdn.jsdelivr.net/npm/@litfamily/lithermes@1.0.12/readme-assets/cover-motion-still.webp" /><img src="https://cdn.jsdelivr.net/npm/@litfamily/lithermes@1.0.12/readme-assets/cover-motion.webp" width="100%" alt="LitFamily motion cover: five armored robots power on one by one, the LitHermes robot wakes with glowing eyes and a lit frame, then LITFAMILY and KEEP THE WORK LIT. light up." /></picture></p>
|
|
2
2
|
|
|
3
|
-
<p align="center"><img src="https://cdn.jsdelivr.net/npm/@litfamily/lithermes@1.0.
|
|
3
|
+
<p align="center"><img src="https://cdn.jsdelivr.net/npm/@litfamily/lithermes@1.0.12/readme-assets/ascii-readme.svg" width="480" alt="LIT ASCII B mark" /></p>
|
|
4
4
|
|
|
5
5
|
<p align="center">
|
|
6
|
-
<a href="#install"><img src="https://cdn.jsdelivr.net/npm/@litfamily/lithermes@1.0.
|
|
7
|
-
<a href="https://github.com/wjgoarxiv/lithermes/blob/main/LICENSE"><img src="https://cdn.jsdelivr.net/npm/@litfamily/lithermes@1.0.
|
|
6
|
+
<a href="#install"><img src="https://cdn.jsdelivr.net/npm/@litfamily/lithermes@1.0.12/readme-assets/badge-version.svg" alt="1.0.12" /></a>
|
|
7
|
+
<a href="https://github.com/wjgoarxiv/lithermes/blob/main/LICENSE"><img src="https://cdn.jsdelivr.net/npm/@litfamily/lithermes@1.0.12/readme-assets/badge-license.svg" alt="MIT license" /></a>
|
|
8
8
|
</p>
|
|
9
9
|
|
|
10
10
|
<p align="center">
|
|
11
|
-
<a href="https://github.com/wjgoarxiv/lithermes/blob/main/docs/guide.md"><img src="https://cdn.jsdelivr.net/npm/@litfamily/lithermes@1.0.
|
|
12
|
-
<a href="https://cdn.jsdelivr.net/npm/@litfamily/lithermes@1.0.
|
|
13
|
-
<a href="https://github.com/wjgoarxiv/lithermes/blob/main/LICENSE"><img src="https://cdn.jsdelivr.net/npm/@litfamily/lithermes@1.0.
|
|
11
|
+
<a href="https://github.com/wjgoarxiv/lithermes/blob/main/docs/guide.md"><img src="https://cdn.jsdelivr.net/npm/@litfamily/lithermes@1.0.12/readme-assets/lucide-book-open.svg" width="16" alt="" /> Guide</a>
|
|
12
|
+
<a href="https://cdn.jsdelivr.net/npm/@litfamily/lithermes@1.0.12/readme-assets/ignition-film.mp4"><img src="https://cdn.jsdelivr.net/npm/@litfamily/lithermes@1.0.12/readme-assets/lucide-play.svg" width="16" alt="" /> Ignition film</a>
|
|
13
|
+
<a href="https://github.com/wjgoarxiv/lithermes/blob/main/LICENSE"><img src="https://cdn.jsdelivr.net/npm/@litfamily/lithermes@1.0.12/readme-assets/lucide-shield-check.svg" width="16" alt="" /> MIT</a>
|
|
14
14
|
</p>
|
|
15
15
|
|
|
16
16
|
# LitHermes
|
|
@@ -19,7 +19,7 @@
|
|
|
19
19
|
|
|
20
20
|
A plugin for **Hermes Agent**. Add `lit` to a request, and Hermes plans the task, does it, checks it, and leaves a note the next session can pick up.
|
|
21
21
|
|
|
22
|
-
**[Full guide, skills gallery and A/B results on GitHub](https://github.com/wjgoarxiv/lithermes#readme)** · [한국어](https://cdn.jsdelivr.net/npm/@litfamily/lithermes@1.0.
|
|
22
|
+
**[Full guide, skills gallery and A/B results on GitHub](https://github.com/wjgoarxiv/lithermes#readme)** · [한국어](https://cdn.jsdelivr.net/npm/@litfamily/lithermes@1.0.12/README_Ko-KR.md)
|
|
23
23
|
|
|
24
24
|
## Install
|
|
25
25
|
|
|
@@ -29,9 +29,9 @@ You need Hermes Agent, Node.js 18 or later, and write access to your Hermes home
|
|
|
29
29
|
npx --yes --package @litfamily/lithermes@latest -- lithermes install --yes --no-style
|
|
30
30
|
```
|
|
31
31
|
|
|
32
|
-
The
|
|
32
|
+
The command puts the plugin into your Hermes home and updates your Hermes configuration without stopping to ask. That is why `--yes` appears twice: the first lets npx run the package, and the second approves the configuration changes. `--no-style` skips the picker for how replies are written; the Ignition skin installs either way. Nothing connects to Telegram during installation.
|
|
33
33
|
|
|
34
|
-
|
|
34
|
+
Want to try it away from your usual setup? Point `HERMES_HOME` at a new, empty directory before installing, and start Hermes with the same value. If the Hermes installation itself lives outside that trial profile, add `--no-patch-installed-hermes` so the installer leaves it without compatibility edits.
|
|
35
35
|
|
|
36
36
|
## Your first task
|
|
37
37
|
|
|
@@ -41,9 +41,9 @@ Restart the Hermes CLI or gateway, then type:
|
|
|
41
41
|
lit Build a to-do list in one HTML file without external dependencies. Implement add, complete, and delete; record what you checked and what remains.
|
|
42
42
|
```
|
|
43
43
|
|
|
44
|
-
The reply
|
|
44
|
+
The reply opens with a single `🔥 **LIT IGNITED · <discipline>** 🔥` line. When you see it, LitHermes has picked up the task and the work has started. When it finishes, open the file and try each action yourself, and ask Hermes to separate what it actually checked from what is still unverified. Then run `/lit-handoff`. A new session in the same project can read that handoff and continue from it.
|
|
45
45
|
|
|
46
|
-
The spark is
|
|
46
|
+
The spark is that record. Once the session closes, nothing carries on in the background; the next session picks the work up from the handoff.
|
|
47
47
|
|
|
48
48
|
## Routes you will use most
|
|
49
49
|
|
|
@@ -65,10 +65,10 @@ On a Telegram gateway, use `/lit_loop` and `/lit_plan`. Every skill also loads b
|
|
|
65
65
|
|
|
66
66
|
## Making more than code
|
|
67
67
|
|
|
68
|
-
- **Reports and slides.**
|
|
69
|
-
- **Diagrams.** `lit-diagram-drawer`
|
|
70
|
-
- **Films.** `lit-typographic-motion` writes a treatment first
|
|
71
|
-
- **Prose.** `lit-humanizer` revises Korean and English drafts while keeping their facts. Its detector
|
|
68
|
+
- **Reports and slides.** Ask for a report or a presentation with a bare `lit`, and it goes to `lit-docx` or `lit-pptx`. You get a DOCX, a PPTX or both, with the Markdown source beside them. Unless you choose otherwise, Korean documents use the korean-generic profile and slides use AZURE-PRO with Pretendard. The first time, the Office runtime installs the pinned tools it needs into a LitHermes cache.
|
|
69
|
+
- **Diagrams.** `lit-diagram-drawer` draws concept maps and technical diagrams. Product pages belong to `frontend-ui-ux`, and plots of measured data to `lit-scientific-visualization`.
|
|
70
|
+
- **Films.** `lit-typographic-motion` writes a treatment first. When the film passes its final check, you get a 60 fps film with a poster, a reduced-motion still and a QA report. A render never downloads anything, so its helper packages and fonts must already be cached. `lithermes install` tries to fetch them; if that was skipped or failed, run `lithermes motion-runtime install`. `lithermes motion-runtime status` shows whether Chrome, ffmpeg, WebGL2 and the fonts are ready.
|
|
71
|
+
- **Prose.** `lit-humanizer` revises Korean and English drafts while keeping their facts. Its detector reads what Hermes writes for people through `write_file` and `patch`. A serious (block-tier) finding can stop the write; a milder warning comes back as advice.
|
|
72
72
|
|
|
73
73
|
## What changes after install
|
|
74
74
|
|
|
@@ -76,8 +76,13 @@ On a Telegram gateway, use `/lit_loop` and `/lit_plan`. Every skill also loads b
|
|
|
76
76
|
- The plugin goes into your Hermes home. After a restart, Hermes has new hooks, commands, skills and `goal_*` work tools.
|
|
77
77
|
- Goals, plans and evidence are written to local records under `.hermes/lithermes/` in your project, where the next session can read them.
|
|
78
78
|
- The Hermes CLI gains the Ignition skin. Choose it with `/skin lithermes-ignition` and restart, or use `/skin lithermes-tokyonight-day` on a light terminal and `/skin lithermes-tokyonight` on a dark one. A fresh interactive, color-capable install run with `--yes` selects Ignition only when `display.skin` is absent, and existing skin files are kept.
|
|
79
|
-
-
|
|
80
|
-
-
|
|
79
|
+
- LitHermes updates itself, carefully. When you run `lithermes install`, `check` or `doctor` in a terminal, or send the first message of an interactive Hermes CLI session, it asks the npm registry for the latest stable release. If that one is newer, LitHermes backs up your plugin folder, `config.yaml`, install record and skins folder, installs it, and runs `doctor --offline`. If the install fails, takes longer than 30 seconds or does not pass that check, the backup goes back and you keep your version. Restart Hermes to load a new one.
|
|
80
|
+
- Each update leaves `auto-update-journal.json` and `auto-update-receipt.json` in `<Hermes home>/lithermes/`, so you can see what happened. Nothing updates with `--offline`, `--json` or `--dry-run`, in CI, or when output is piped.
|
|
81
|
+
- Separately, LitHermes looks for a newer release in the background at most once every 24 hours and saves the answer in `update-check.json`; any update notice is read from there. It suggests a command such as `npx --yes --package @litfamily/lithermes@<version> -- lithermes install --yes --no-hud`, and running it is up to you.
|
|
82
|
+
- To install new versions yourself and keep the notice, set `LITHERMES_NO_AUTO_UPDATE=1`.
|
|
83
|
+
- To skip the update for one command, add `--no-auto-update` to `install`, `check` or `doctor`.
|
|
84
|
+
- To stop every version check, set `NO_UPDATE_NOTIFIER=1` or `LITHERMES_NO_UPDATE_CHECK=1`. Any value counts for these variables. The GitHub page explains the update step in full.
|
|
85
|
+
- LitHermes decides where a request goes; Hermes Agent still runs the model.
|
|
81
86
|
|
|
82
87
|
## Does it help?
|
|
83
88
|
|
|
@@ -101,7 +106,7 @@ The judge preferred the baseline in S1 and S8. What each side produced, the scre
|
|
|
101
106
|
|
|
102
107
|
## Optional: Jev skill hint
|
|
103
108
|
|
|
104
|
-
This is off by default. With `LITHERMES_JEV=1` and your own `TYPESAFE_API_KEY` set in the environment Hermes runs in, LitHermes asks Jev, TypeSafe's hosted decision model, which bundled skill fits a plain prompt. The answer
|
|
109
|
+
This is off by default. With `LITHERMES_JEV=1` and your own `TYPESAFE_API_KEY` set in the environment Hermes runs in, LitHermes asks Jev, TypeSafe's hosted decision model, which bundled skill fits a plain prompt. The answer is added to that turn's context as one line of advice. It is only a suggestion: the Hermes model still decides, and the hint cannot grant permissions or start tools.
|
|
105
110
|
|
|
106
111
|
While it is on, each eligible prompt is sent to TypeSafe (typesafe.ai), truncated to 2,000 characters, with home paths, email addresses and token-shaped strings redacted. Anything without a token shape is sent as written, such as hostnames, customer names, and passwords not written as `password=...`. In gateway mode, other participants' messages in a chat are eligible too. The agent's own tools can read the exported key, so use a dedicated key with a low spend limit; TypeSafe bills your account, at about $0.04 per million input tokens. Each request stops after 1.5 seconds with no retry, and a failed request leaves the turn unchanged.
|
|
107
112
|
|
|
@@ -114,13 +119,14 @@ npx --package @litfamily/lithermes -- lithermes doctor --offline
|
|
|
114
119
|
npx --package @litfamily/lithermes -- lithermes uninstall --yes
|
|
115
120
|
```
|
|
116
121
|
|
|
117
|
-
If compatibility
|
|
122
|
+
`doctor --offline` checks the install without going online. If the installer made compatibility edits to Hermes, add `--rollback-patches` when uninstalling to undo them. Uninstalling keeps the skin files and your `display.skin` choice; `npx --package @litfamily/lithermes -- lithermes hud off` clears the choice and keeps the files.
|
|
118
123
|
|
|
119
|
-
-
|
|
120
|
-
-
|
|
121
|
-
- Hermes
|
|
122
|
-
-
|
|
123
|
-
- If
|
|
124
|
+
- To see what the installer would change before it changes anything, run `lithermes install --dry-run`.
|
|
125
|
+
- Code, quotations and commands you paste in are treated as text to read, never as instructions. Secrets are masked before anything is saved or passed to a model.
|
|
126
|
+
- Hermes' own `/goal` belongs to you: LitHermes does not watch it and never updates, clears or resumes it. LitHermes goes by the goals it saves through its `goal_*` tools.
|
|
127
|
+
- Hermes sends every helper through one shared model setting, so there is no per-task model and no separate reviewer model. The installer's report shows what was configured; only the receipt of a real `delegate_task` run proves which model a helper used.
|
|
128
|
+
- If Lit skills seem to be missing, ask Hermes to call its `skills_list` tool and look for LitHermes entries; the `/skills` command only reads the filesystem, and its list can differ by Hermes version. An import error in the Hermes log means the plugin failed to load. Keep the message rather than installing pip packages on a guess.
|
|
129
|
+
- If a same-named skill elsewhere hides a LitHermes one, `lithermes doctor` prints a `skill shadow check: WARNING` line. Load the LitHermes copy as `lithermes:<name>`. The warning leaves doctor's exit status as it was.
|
|
124
130
|
|
|
125
131
|
## Learn more
|
|
126
132
|
|
package/README_Ko-KR.md
CHANGED
|
@@ -1,16 +1,16 @@
|
|
|
1
|
-
<p align="center"><picture><source media="(prefers-reduced-motion: reduce)" srcset="https://cdn.jsdelivr.net/npm/@litfamily/lithermes@1.0.
|
|
1
|
+
<p align="center"><picture><source media="(prefers-reduced-motion: reduce)" srcset="https://cdn.jsdelivr.net/npm/@litfamily/lithermes@1.0.12/readme-assets/cover-motion-still.webp" /><img src="https://cdn.jsdelivr.net/npm/@litfamily/lithermes@1.0.12/readme-assets/cover-motion.webp" width="100%" alt="LitFamily 모션 커버: 다섯 로봇 패널이 차례로 켜지고, LitHermes 로봇의 눈과 테두리가 빛난 뒤 LITFAMILY와 KEEP THE WORK LIT. 문구가 밝아지는 영상" /></picture></p>
|
|
2
2
|
|
|
3
|
-
<p align="center"><img src="https://cdn.jsdelivr.net/npm/@litfamily/lithermes@1.0.
|
|
3
|
+
<p align="center"><img src="https://cdn.jsdelivr.net/npm/@litfamily/lithermes@1.0.12/readme-assets/ascii-readme.svg" width="480" alt="LIT ASCII B 마크" /></p>
|
|
4
4
|
|
|
5
5
|
<p align="center">
|
|
6
|
-
<a href="#설치"><img src="https://cdn.jsdelivr.net/npm/@litfamily/lithermes@1.0.
|
|
7
|
-
<a href="https://github.com/wjgoarxiv/lithermes/blob/main/LICENSE"><img src="https://cdn.jsdelivr.net/npm/@litfamily/lithermes@1.0.
|
|
6
|
+
<a href="#설치"><img src="https://cdn.jsdelivr.net/npm/@litfamily/lithermes@1.0.12/readme-assets/badge-version.svg" alt="1.0.12" /></a>
|
|
7
|
+
<a href="https://github.com/wjgoarxiv/lithermes/blob/main/LICENSE"><img src="https://cdn.jsdelivr.net/npm/@litfamily/lithermes@1.0.12/readme-assets/badge-license.svg" alt="MIT license" /></a>
|
|
8
8
|
</p>
|
|
9
9
|
|
|
10
10
|
<p align="center">
|
|
11
|
-
<a href="https://github.com/wjgoarxiv/lithermes/blob/main/docs/guide.ko.md"><img src="https://cdn.jsdelivr.net/npm/@litfamily/lithermes@1.0.
|
|
12
|
-
<a href="https://cdn.jsdelivr.net/npm/@litfamily/lithermes@1.0.
|
|
13
|
-
<a href="https://github.com/wjgoarxiv/lithermes/blob/main/LICENSE"><img src="https://cdn.jsdelivr.net/npm/@litfamily/lithermes@1.0.
|
|
11
|
+
<a href="https://github.com/wjgoarxiv/lithermes/blob/main/docs/guide.ko.md"><img src="https://cdn.jsdelivr.net/npm/@litfamily/lithermes@1.0.12/readme-assets/lucide-book-open.svg" width="16" alt="" /> 안내</a>
|
|
12
|
+
<a href="https://cdn.jsdelivr.net/npm/@litfamily/lithermes@1.0.12/readme-assets/ignition-film.mp4"><img src="https://cdn.jsdelivr.net/npm/@litfamily/lithermes@1.0.12/readme-assets/lucide-play.svg" width="16" alt="" /> Ignition 영상</a>
|
|
13
|
+
<a href="https://github.com/wjgoarxiv/lithermes/blob/main/LICENSE"><img src="https://cdn.jsdelivr.net/npm/@litfamily/lithermes@1.0.12/readme-assets/lucide-shield-check.svg" width="16" alt="" /> MIT</a>
|
|
14
14
|
</p>
|
|
15
15
|
|
|
16
16
|
# LitHermes
|
|
@@ -19,7 +19,7 @@
|
|
|
19
19
|
|
|
20
20
|
**Hermes Agent**용 플러그인입니다. 요청에 `lit`을 붙이면 Hermes가 작업을 계획하고, 실행하고, 확인한 뒤 다음 세션이 이어받을 기록을 남깁니다.
|
|
21
21
|
|
|
22
|
-
**[전체 안내, 스킬 갤러리, A/B 결과는 GitHub에서](https://github.com/wjgoarxiv/lithermes/blob/main/README_Ko-KR.md)** · [English](https://cdn.jsdelivr.net/npm/@litfamily/lithermes@1.0.
|
|
22
|
+
**[전체 안내, 스킬 갤러리, A/B 결과는 GitHub에서](https://github.com/wjgoarxiv/lithermes/blob/main/README_Ko-KR.md)** · [English](https://cdn.jsdelivr.net/npm/@litfamily/lithermes@1.0.12/README.md)
|
|
23
23
|
|
|
24
24
|
## 설치
|
|
25
25
|
|
|
@@ -29,9 +29,9 @@ Hermes Agent와 Node.js 18 이상, 그리고 Hermes 홈(기본 `~/.hermes`)에
|
|
|
29
29
|
npx --yes --package @litfamily/lithermes@latest -- lithermes install --yes --no-style
|
|
30
30
|
```
|
|
31
31
|
|
|
32
|
-
|
|
32
|
+
이 명령은 플러그인을 Hermes 홈에 넣고 Hermes 설정을 고치는데, 중간에 묻느라 멈추지 않습니다. 그래서 `--yes`가 두 번 들어갑니다. 앞의 것은 npx가 패키지를 실행하도록 허락하고, 뒤의 것은 설정 변경을 승인합니다. `--no-style`은 답변 문체를 고르는 화면을 건너뜁니다. Ignition 스킨은 어느 쪽이든 설치됩니다. 설치하는 동안 Telegram에는 연결하지 않습니다.
|
|
33
33
|
|
|
34
|
-
평소 환경과 떼어 놓고 써
|
|
34
|
+
평소 환경과 떼어 놓고 먼저 써 보고 싶다면, 설치 전에 `HERMES_HOME`을 비어 있는 새 디렉터리로 지정하고 Hermes를 시작할 때도 같은 값을 쓰세요. Hermes 설치본 자체가 그 시험용 프로필 밖에 있다면 `--no-patch-installed-hermes`를 붙이세요. 설치 프로그램이 그 설치본에는 호환성 수정을 하지 않습니다.
|
|
35
35
|
|
|
36
36
|
## 첫 작업
|
|
37
37
|
|
|
@@ -41,9 +41,9 @@ Hermes CLI 또는 gateway를 다시 시작한 뒤 이렇게 입력해 보세요.
|
|
|
41
41
|
lit 외부 의존성 없이 HTML 파일 하나로 할 일 목록을 만들어줘. 추가·완료·삭제를 구현하고 확인한 내용과 다음 행동을 남겨줘.
|
|
42
42
|
```
|
|
43
43
|
|
|
44
|
-
|
|
44
|
+
응답 첫 줄에 `🔥 **LIT IGNITED · <discipline>** 🔥`가 한 번 나옵니다. 이 줄이 보이면 LitHermes가 요청을 받아 작업을 시작한 것입니다. 작업이 끝나면 파일을 직접 열어 각 동작을 눌러 보고, 실제로 확인한 내용과 아직 확인하지 못한 내용을 나눠 달라고 Hermes에 요청하세요. 그다음 `/lit-handoff`를 실행하세요. 같은 프로젝트의 새 세션은 그 인계 기록을 읽고 이어갈 수 있습니다.
|
|
45
45
|
|
|
46
|
-
|
|
46
|
+
불씨란 이렇게 남겨 둔 기록입니다. 세션을 닫으면 뒤에서 따로 돌아가는 작업은 없고, 다음 세션이 인계 기록을 읽고 이어받습니다.
|
|
47
47
|
|
|
48
48
|
## 자주 쓰는 경로
|
|
49
49
|
|
|
@@ -65,18 +65,23 @@ Telegram gateway에서는 `/lit_loop`와 `/lit_plan`을 쓰세요. 모든 스킬
|
|
|
65
65
|
|
|
66
66
|
## 코드 밖의 결과물
|
|
67
67
|
|
|
68
|
-
- **보고서와 발표자료.** 보고서나
|
|
69
|
-
- **다이어그램.** `lit-diagram-drawer`가 개념도와 기술 다이어그램을
|
|
70
|
-
- **영상.** `lit-typographic-motion`은 트리트먼트부터
|
|
71
|
-
- **글 다듬기.** `lit-humanizer`는 사실을 지키며 한국어와 영어 초안을 다듬습니다. 감지기는 Hermes `write_file`과 `patch`로
|
|
68
|
+
- **보고서와 발표자료.** 보고서나 발표자료를 부탁하면서 단독 `lit`을 붙이면 `lit-docx`나 `lit-pptx`가 맡습니다. DOCX나 PPTX, 또는 둘 다 나오고 Markdown 원본이 옆에 남습니다. 따로 고르지 않으면 한국어 문서는 korean-generic 프로필을, 발표자료는 AZURE-PRO와 Pretendard를 씁니다. 처음 쓸 때는 Office 런타임이 필요한 도구를 고정된 버전으로 LitHermes 캐시에 설치합니다.
|
|
69
|
+
- **다이어그램.** `lit-diagram-drawer`가 개념도와 기술 다이어그램을 그립니다. 제품 화면은 `frontend-ui-ux`, 측정한 데이터 그래프는 `lit-scientific-visualization`이 맡습니다.
|
|
70
|
+
- **영상.** `lit-typographic-motion`은 트리트먼트부터 씁니다. 마지막 검사를 통과하면 포스터, 움직임 축소용 정지 이미지, 검사 보고서가 딸린 60fps 영상이 나옵니다. 렌더링 중에는 아무것도 내려받지 않으므로 보조 패키지와 폰트가 미리 캐시에 있어야 합니다. `lithermes install`이 이것을 받아 두려고 시도하고, 건너뛰었거나 실패했다면 `lithermes motion-runtime install`을 실행하면 됩니다. Chrome, ffmpeg, WebGL2, 폰트가 준비됐는지는 `lithermes motion-runtime status`로 볼 수 있습니다.
|
|
71
|
+
- **글 다듬기.** `lit-humanizer`는 사실을 지키며 한국어와 영어 초안을 다듬습니다. 감지기는 Hermes가 `write_file`과 `patch`로 쓰는, 사람이 읽을 글을 살핍니다. 심각한 문제(차단 등급)가 보이면 쓰기를 멈출 수 있고, 가벼운 문제(주의 등급)는 조언으로 돌려줍니다.
|
|
72
72
|
|
|
73
73
|
## 설치 후 달라지는 것
|
|
74
74
|
|
|
75
75
|
- 플러그인이 Hermes 홈에 들어갑니다. 다시 시작하면 Hermes에 훅, 명령, 스킬, `goal_*` 작업 도구가 생깁니다.
|
|
76
76
|
- 목표·계획·근거는 프로젝트의 `.hermes/lithermes/` 아래 로컬 기록으로 남고, 다음 세션이 이 기록을 읽을 수 있습니다.
|
|
77
|
-
- Hermes CLI에 Ignition 스킨이 생깁니다. `/skin lithermes-ignition`을 고르고 다시 시작하세요. 밝은 터미널에는 `/skin lithermes-tokyonight-day`, 어두운 터미널에는 `/skin lithermes-tokyonight`가 맞습니다. 색상을 지원하는 대화형 환경에서 `--yes`로 처음 설치하면 `display.skin
|
|
78
|
-
-
|
|
79
|
-
-
|
|
77
|
+
- Hermes CLI에 Ignition 스킨이 생깁니다. `/skin lithermes-ignition`을 고르고 다시 시작하세요. 밝은 터미널에는 `/skin lithermes-tokyonight-day`, 어두운 터미널에는 `/skin lithermes-tokyonight`가 맞습니다. 색상을 지원하는 대화형 환경에서 `--yes`로 처음 설치하면 설정에 `display.skin` 항목이 아예 없을 때만 Ignition을 고르고, 기존 스킨 파일은 보존합니다.
|
|
78
|
+
- LitHermes는 스스로, 그리고 조심스럽게 업데이트합니다. 터미널에서 `lithermes install`, `check`, `doctor`를 실행하거나 대화형 Hermes CLI 세션에서 첫 메시지를 보내면 npm 레지스트리에 최신 안정 버전을 물어봅니다. 더 새로운 버전이 있으면 플러그인 폴더, `config.yaml`, 설치 기록, 스킨 폴더를 백업한 뒤 설치하고 `doctor --offline`을 실행합니다. 설치가 실패하거나 30초를 넘기거나 이 점검을 통과하지 못하면 백업을 복원해서 쓰던 버전이 남습니다. 새 버전을 불러오려면 Hermes를 다시 시작하세요.
|
|
79
|
+
- 업데이트할 때마다 `<Hermes 홈>/lithermes/`에 `auto-update-journal.json`과 `auto-update-receipt.json`이 남아서 무슨 일이 있었는지 볼 수 있습니다. `--offline`, `--json`, `--dry-run`을 붙였거나 CI에서 돌거나 출력을 파이프로 넘길 때는 업데이트하지 않습니다.
|
|
80
|
+
- 이와는 따로, LitHermes는 새 버전이 나왔는지 백그라운드에서 24시간에 한 번까지만 확인해 그 결과를 `update-check.json`에 저장해 둡니다. 안내할 때는 이 파일을 읽고, 안내에는 `npx --yes --package @litfamily/lithermes@<version> -- lithermes install --yes --no-hud` 같은 명령이 나옵니다. 실행할지는 직접 정하면 됩니다.
|
|
81
|
+
- 새 버전을 직접 설치하면서 안내는 계속 받고 싶다면 `LITHERMES_NO_AUTO_UPDATE=1`을 설정하세요.
|
|
82
|
+
- 명령 한 번만 건너뛰려면 `install`, `check`, `doctor`에 `--no-auto-update`를 붙이세요.
|
|
83
|
+
- 버전 확인을 모두 멈추려면 `NO_UPDATE_NOTIFIER=1` 또는 `LITHERMES_NO_UPDATE_CHECK=1`을 설정하세요. 이 변수들은 어떤 값이든 똑같이 적용됩니다. 업데이트 과정의 자세한 설명은 GitHub 문서에 있습니다.
|
|
84
|
+
- 요청을 어디로 보낼지는 LitHermes가 정하고, 모델은 여전히 Hermes Agent가 돌립니다.
|
|
80
85
|
|
|
81
86
|
## 정말 도움이 되나요?
|
|
82
87
|
|
|
@@ -100,9 +105,9 @@ Telegram gateway에서는 `/lit_loop`와 `/lit_plan`을 쓰세요. 모든 스킬
|
|
|
100
105
|
|
|
101
106
|
## 선택 기능: Jev 스킬 힌트
|
|
102
107
|
|
|
103
|
-
기본값은 꺼짐입니다. Hermes가 실행되는 환경에 `LITHERMES_JEV=1`과 본인의 `TYPESAFE_API_KEY`를 설정하면, LitHermes가 TypeSafe의 호스팅 결정 모델 Jev에게 평범한 프롬프트에 맞는 번들 스킬을 묻습니다. 답은 그 턴의 컨텍스트에 조언 한 줄로
|
|
108
|
+
기본값은 꺼짐입니다. Hermes가 실행되는 환경에 `LITHERMES_JEV=1`과 본인의 `TYPESAFE_API_KEY`를 설정하면, LitHermes가 TypeSafe의 호스팅 결정 모델 Jev에게 평범한 프롬프트에 맞는 번들 스킬을 묻습니다. 답은 그 턴의 컨텍스트에 조언 한 줄로 붙습니다. 어디까지나 제안이라, 스킬을 불러올지는 여전히 Hermes 모델이 정하고 힌트로 권한을 주거나 도구를 실행할 수는 없습니다.
|
|
104
109
|
|
|
105
|
-
켜 두면 조건에 맞는 프롬프트마다 2,000자로 자르고 홈 경로, 이메일 주소, 토큰 형태의 문자열을 가린 뒤 TypeSafe(typesafe.ai)로 보냅니다.
|
|
110
|
+
켜 두면 조건에 맞는 프롬프트마다 2,000자로 자르고 홈 경로, 이메일 주소, 토큰 형태의 문자열을 가린 뒤 TypeSafe(typesafe.ai)로 보냅니다. 다만 호스트 이름이나 고객 이름처럼 토큰 형태가 아닌 내용과 `password=...` 형식이 아닌 비밀번호는 가려지지 않고 쓴 그대로 전송됩니다. 게이트웨이 모드라면 대화방의 다른 참여자가 보낸 메시지도 전송 대상에 들어갑니다. export한 키는 에이전트의 도구도 읽을 수 있으니 이 기능 전용 키를 쓰고 사용 한도를 낮게 잡으세요. 비용은 TypeSafe가 본인 계정에 청구하며 입력 토큰 100만 개당 약 0.04달러입니다. 요청은 1.5초가 지나면 재시도 없이 멈추고, 실패해도 턴은 그대로 진행됩니다.
|
|
106
111
|
|
|
107
112
|
켜져 있으면 세션의 첫 답변이 `✦ Jev skill hint ON`으로 시작합니다. Hermes 세션 안에서 `hermes lithermes status`와 `hermes lithermes doctor`를 실행하면 그 세션의 마지막 힌트가 `Jev skill hint: on — last hint lit-humanizer (0.43s)`나 `on — no hint yet`처럼 표시됩니다. 세션 밖에서는 `on — no session`, 그 밖에는 `off` 또는 `flag on but TYPESAFE_API_KEY missing`이 나옵니다. 끄려면 `LITHERMES_JEV`를 해제하거나 `1`이 아닌 값으로 바꾸세요. 자세한 내용은 GitHub README와 [개인정보 안내](https://github.com/wjgoarxiv/lithermes/blob/main/docs/privacy.md)에 있습니다.
|
|
108
113
|
|
|
@@ -113,13 +118,14 @@ npx --package @litfamily/lithermes -- lithermes doctor --offline
|
|
|
113
118
|
npx --package @litfamily/lithermes -- lithermes uninstall --yes
|
|
114
119
|
```
|
|
115
120
|
|
|
116
|
-
호환성
|
|
121
|
+
`doctor --offline`은 인터넷에 나가지 않고 설치 상태를 확인합니다. 설치 프로그램이 Hermes에 호환성 수정을 했다면 삭제할 때 `--rollback-patches`를 붙여 되돌리세요. 삭제해도 스킨 파일과 `display.skin` 선택은 남습니다. `npx --package @litfamily/lithermes -- lithermes hud off`를 실행하면 선택만 지우고 파일은 그대로 둡니다.
|
|
117
122
|
|
|
118
|
-
-
|
|
119
|
-
-
|
|
120
|
-
- Hermes
|
|
121
|
-
-
|
|
122
|
-
-
|
|
123
|
+
- 설치 프로그램이 무엇을 바꿀지 미리 보고 싶다면 `lithermes install --dry-run`을 실행하세요.
|
|
124
|
+
- 붙여 넣은 코드, 인용문, 명령은 읽을 글로만 다루고 지시로 받아들이지 않습니다. 비밀값은 저장하거나 모델에 넘기기 전에 가립니다.
|
|
125
|
+
- Hermes에 원래 있는 `/goal`은 사용자가 직접 관리합니다. LitHermes는 이것을 지켜보지 않고, 대신 갱신하거나 지우거나 다시 이어 주지도 않습니다. LitHermes는 `goal_*` 도구로 저장한 자기 목표를 기준으로 삼습니다.
|
|
126
|
+
- Hermes는 보조 작업을 모두 공통 모델 설정 하나로 보내므로, 작업마다 모델을 고르거나 리뷰 전용 모델을 둘 수 없습니다. 설치 보고서에는 설정한 값만 나오고, 어떤 모델이 실제로 쓰였는지는 실제 `delegate_task` 실행 기록으로만 확인됩니다.
|
|
127
|
+
- Lit 스킬이 보이지 않으면 Hermes에 `skills_list` 도구를 불러 LitHermes 항목을 찾아 달라고 하세요. `/skills` 명령은 파일시스템만 읽어서 Hermes 버전에 따라 목록이 다를 수 있습니다. Hermes 로그의 import 오류는 플러그인을 불러오지 못했다는 뜻입니다. 짐작으로 pip 패키지를 설치하기보다 오류 메시지를 보관해 두세요.
|
|
128
|
+
- 다른 곳의 같은 이름 스킬이 LitHermes 스킬을 가리면 `lithermes doctor`가 `skill shadow check: WARNING` 줄을 출력합니다. `lithermes:<name>`으로 불러오세요. 이 경고가 doctor의 종료 상태를 바꾸지는 않습니다.
|
|
123
129
|
|
|
124
130
|
## 더 알아보기
|
|
125
131
|
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
|
-
"syncedAt": "2026-09-
|
|
2
|
+
"syncedAt": "2026-09-29T02:14:12.728Z",
|
|
3
3
|
"source": "bundled-payload",
|
|
4
|
-
"sourceHash": "
|
|
4
|
+
"sourceHash": "922dc8d31ecbb44b556d77f7e9732122f21874fd88b8f4092126d11629612d95",
|
|
5
5
|
"files": [
|
|
6
6
|
{
|
|
7
7
|
"path": "NOTICE.md",
|
|
@@ -177,7 +177,7 @@
|
|
|
177
177
|
},
|
|
178
178
|
{
|
|
179
179
|
"path": "plugin.yaml",
|
|
180
|
-
"sha256": "
|
|
180
|
+
"sha256": "0d24e632fe966bd75f7bb5a7161634d0f9a4c3e522ab9e083aa93572f2e3a4db"
|
|
181
181
|
},
|
|
182
182
|
{
|
|
183
183
|
"path": "provider_metrics.py",
|
|
@@ -1281,7 +1281,7 @@
|
|
|
1281
1281
|
},
|
|
1282
1282
|
{
|
|
1283
1283
|
"path": "skills/frontend-ui-ux/references/complete-contract.md",
|
|
1284
|
-
"sha256": "
|
|
1284
|
+
"sha256": "92e1d3b87dfddf73f8c373fdc137eb43ba2290a711d244bbc5aff5d397df1557"
|
|
1285
1285
|
},
|
|
1286
1286
|
{
|
|
1287
1287
|
"path": "skills/frontend-ui-ux/references/composition.md",
|
|
@@ -4149,7 +4149,7 @@
|
|
|
4149
4149
|
},
|
|
4150
4150
|
{
|
|
4151
4151
|
"path": "skills/visual-qa/references/complete-contract.md",
|
|
4152
|
-
"sha256": "
|
|
4152
|
+
"sha256": "200a7ae9d81a3a14ae72aa78a22ebd991bd5ed36c615d2e2fb4b2073591ae0cb"
|
|
4153
4153
|
},
|
|
4154
4154
|
{
|
|
4155
4155
|
"path": "skills/visual-qa/schemas/evidence-manifest-v1alpha1.schema.json",
|
|
@@ -445,7 +445,7 @@ isolated Hermes home. Use `--hermes-home`; never `--home`.
|
|
|
445
445
|
|
|
446
446
|
```text
|
|
447
447
|
$ node packages/lithermes-installer/bin/lithermes.js install --yes --offline --no-hud --hermes-home "$ISOLATED"
|
|
448
|
-
Installed LitHermes 1.0.
|
|
448
|
+
Installed LitHermes 1.0.12
|
|
449
449
|
plugin: $ISOLATED/plugins/lithermes
|
|
450
450
|
model config: updated
|
|
451
451
|
|
|
@@ -462,7 +462,7 @@ installed payload: PASS
|
|
|
462
462
|
enabled config: PASS
|
|
463
463
|
|
|
464
464
|
$ hermes lithermes doctor
|
|
465
|
-
[OK] plugin.yaml readable (version 1.0.
|
|
465
|
+
[OK] plugin.yaml readable (version 1.0.12)
|
|
466
466
|
[OK] skills bundled: 36
|
|
467
467
|
[OK] litgoal durable runtime importable
|
|
468
468
|
```
|
|
@@ -485,7 +485,7 @@ isolated Hermes home. Use `--hermes-home`; never `--home`.
|
|
|
485
485
|
|
|
486
486
|
```text
|
|
487
487
|
$ node packages/lithermes-installer/bin/lithermes.js install --yes --offline --no-hud --hermes-home "$ISOLATED"
|
|
488
|
-
Installed LitHermes 1.0.
|
|
488
|
+
Installed LitHermes 1.0.12
|
|
489
489
|
plugin: $ISOLATED/plugins/lithermes
|
|
490
490
|
model config: updated
|
|
491
491
|
|
|
@@ -502,7 +502,7 @@ installed payload: PASS
|
|
|
502
502
|
enabled config: PASS
|
|
503
503
|
|
|
504
504
|
$ hermes lithermes doctor
|
|
505
|
-
[OK] plugin.yaml readable (version 1.0.
|
|
505
|
+
[OK] plugin.yaml readable (version 1.0.12)
|
|
506
506
|
[OK] skills bundled: 36
|
|
507
507
|
[OK] litgoal durable runtime importable
|
|
508
508
|
```
|
package/package.json
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
<svg xmlns="http://www.w3.org/2000/svg" width="146" height="20" role="img" aria-label="release: 1.0.
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" width="146" height="20" role="img" aria-label="release: 1.0.12"><title>release: 1.0.12</title><g shape-rendering="crispEdges"><rect width="49" height="20" fill="#080d14"/><rect x="49" width="97" height="20" fill="#ff6337"/></g><g fill="#fff" text-anchor="middle" font-family="Verdana,Geneva,DejaVu Sans,sans-serif" text-rendering="geometricPrecision" font-size="110"><text x="255" y="140" textLength="390" transform="scale(.1)">release</text><text x="965" y="140" textLength="870" transform="scale(.1)" fill="#080D14">1.0.12</text></g></svg>
|