tonedial 0.0.0-stage → 0.1.0
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/LICENSE +21 -0
- package/README.es.md +83 -0
- package/README.ja.md +83 -0
- package/README.ko.md +83 -0
- package/README.md +82 -2
- package/README.zh.md +83 -0
- package/THIRD_PARTY_NOTICES.md +113 -0
- package/dist/bin.js +5 -0
- package/dist/cli.js +507 -0
- package/dist/commands/compile.js +122 -0
- package/dist/commands/create.js +110 -0
- package/dist/commands/doctor.js +1098 -0
- package/dist/commands/edit.js +301 -0
- package/dist/commands/eject.js +18 -0
- package/dist/commands/init.js +448 -0
- package/dist/commands/list.js +76 -0
- package/dist/commands/rebuild.js +544 -0
- package/dist/commands/save.js +99 -0
- package/dist/commands/set.js +406 -0
- package/dist/commands/show.js +217 -0
- package/dist/commands/test.js +168 -0
- package/dist/commands/transfer.js +146 -0
- package/dist/commands/update.js +173 -0
- package/dist/commands/use.js +101 -0
- package/dist/commands/wire.js +463 -0
- package/dist/core/anchors.js +187 -0
- package/dist/core/combos.js +76 -0
- package/dist/core/compile.js +89 -0
- package/dist/core/config.js +893 -0
- package/dist/core/i18n.js +1411 -0
- package/dist/core/legacy-tone.js +349 -0
- package/dist/core/locales/es.js +645 -0
- package/dist/core/locales/ja.js +645 -0
- package/dist/core/locales/zh.js +645 -0
- package/dist/core/net.js +74 -0
- package/dist/core/operations.js +905 -0
- package/dist/core/paths.js +408 -0
- package/dist/core/presets.js +417 -0
- package/dist/core/reader.js +431 -0
- package/dist/core/resolve.js +13 -0
- package/dist/core/seeds.js +549 -0
- package/dist/core/selfupdate.js +259 -0
- package/dist/core/skill.js +438 -0
- package/dist/install.js +1288 -0
- package/dist/ui/dial.js +234 -0
- package/dist/ui/format.js +73 -0
- package/dist/ui/gauge.js +119 -0
- package/dist/ui/prompt.js +138 -0
- package/dist/ui/style.js +37 -0
- package/dist/ui/width.js +206 -0
- package/dist/wiring/apply.js +2462 -0
- package/dist/wiring/codex-trust.js +45 -0
- package/dist/wiring/hooks.js +282 -0
- package/dist/wiring/ownership.js +265 -0
- package/dist/wiring/region.js +86 -0
- package/dist/wiring/shell.js +39 -0
- package/dist/wiring/skill.js +921 -0
- package/dist/wiring/targets.js +565 -0
- package/package.json +45 -4
package/LICENSE
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2026 Deokgyu Yang
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
package/README.es.md
ADDED
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
# ToneDial
|
|
2
|
+
|
|
3
|
+
**Dale un personaje a tu agente de programación.**
|
|
4
|
+
|
|
5
|
+
Elige un personaje, ajusta doce diales y guarda una voz para usarla en distintos proyectos.
|
|
6
|
+
|
|
7
|
+
**7 personajes · 12 ejes de tono · 5 idiomas del CLI · Cero dependencias en ejecución**
|
|
8
|
+
|
|
9
|
+
[English](https://github.com/awesometic/tonedial/blob/main/README.md) | [한국어](https://github.com/awesometic/tonedial/blob/main/README.ko.md) | [日本語](https://github.com/awesometic/tonedial/blob/main/README.ja.md) | [简体中文](https://github.com/awesometic/tonedial/blob/main/README.zh.md) | **Español**
|
|
10
|
+
|
|
11
|
+
## Mira cómo responde
|
|
12
|
+
|
|
13
|
+
<img src="https://raw.githubusercontent.com/awesometic/tonedial/main/docs/media/readme/es/voice-examples.svg" alt="Royal Advisor y Ego Sword responden a la misma pregunta sobre renombrar una función en conversaciones reales de Codex" width="760">
|
|
14
|
+
|
|
15
|
+
<sub>Respuestas reales de Codex, presentadas como diálogos de terminal. <a href="https://github.com/awesometic/tonedial/blob/main/docs/media/readme/es/voice-examples.json">Entradas y procedencia</a>.</sub>
|
|
16
|
+
|
|
17
|
+
**[Ver los 7 personajes →](https://github.com/awesometic/tonedial/blob/main/docs/EXAMPLES.es.md)**
|
|
18
|
+
|
|
19
|
+
## Pruébalo
|
|
20
|
+
|
|
21
|
+
Requiere **Node 24 o posterior** y npm.
|
|
22
|
+
|
|
23
|
+
```bash
|
|
24
|
+
npm install --global tonedial
|
|
25
|
+
tonedial init --tools none --global --lang es
|
|
26
|
+
tonedial set
|
|
27
|
+
```
|
|
28
|
+
|
|
29
|
+
La configuración muestra los cambios de archivos y pide aprobación. Puedes abrir el dial sin conectar un agente.
|
|
30
|
+
|
|
31
|
+
[Conecta tu agente](https://github.com/awesometic/tonedial/blob/main/docs/USAGE.md#connecting-an-agent) · [Prueba con ajustes temporales](https://github.com/awesometic/tonedial/blob/main/docs/TESTING.md#isolated-candidate)
|
|
32
|
+
|
|
33
|
+
## Elige tu personaje
|
|
34
|
+
|
|
35
|
+
| Preajuste | Tú → agente |
|
|
36
|
+
| --- | --- |
|
|
37
|
+
| Caring Brother | Hermano pequeño → hermano mayor |
|
|
38
|
+
| Bratty Kid | Interlocutor → niño descarado |
|
|
39
|
+
| Eager Sycophant | Creador → fan entusiasta |
|
|
40
|
+
| Royal Advisor | Monarca → súbdito leal |
|
|
41
|
+
| Ego Sword | Novato → espada consciente |
|
|
42
|
+
| Heavenly Demon | Discípulo → maestro marcial severo |
|
|
43
|
+
| Right Hand | Jefe → consigliere de confianza |
|
|
44
|
+
|
|
45
|
+
```bash
|
|
46
|
+
tonedial use ego-sword
|
|
47
|
+
tonedial set verbosity=1 warmth=3
|
|
48
|
+
tonedial save "My Sword"
|
|
49
|
+
```
|
|
50
|
+
|
|
51
|
+
Crea el tuyo con `tonedial create`. Cada perfil guarda tono, roles, formas de trato, registro y palabra clave.
|
|
52
|
+
|
|
53
|
+
## Ajusta los diales
|
|
54
|
+
|
|
55
|
+
**Doce ejes, cinco niveles cada uno.** Decide cuánta formalidad, brevedad, calidez, crítica o teatralidad quieres.
|
|
56
|
+
|
|
57
|
+
<img src="https://raw.githubusercontent.com/awesometic/tonedial/main/docs/media/readme/es/dial.svg" alt="Dial de doce ejes de ToneDial con niveles actuales, explicación de warmth y teclas de control" width="760">
|
|
58
|
+
|
|
59
|
+
<sub>Vista previa sintética de 80 columnas generada con el renderizador actual del CLI. <a href="https://github.com/awesometic/tonedial/blob/main/docs/media/readme/es/dial-example.json">Procedencia del fotograma</a> · <a href="https://github.com/awesometic/tonedial/blob/main/docs/USAGE.md#current-dial-example">Receta</a>.</sub>
|
|
60
|
+
|
|
61
|
+
**↑↓** elegir eje · **←→ / 1–5** fijar nivel · **Enter** aplicar · **Esc** descartar
|
|
62
|
+
|
|
63
|
+
ToneDial compila los ajustes en `TONE.md` de forma local y determinista. Tu agente aporta el modelo.
|
|
64
|
+
|
|
65
|
+
## Conecta tu agente
|
|
66
|
+
|
|
67
|
+
**Claude Code · Codex · Antigravity IDE/Desktop** — [guía de conexión](https://github.com/awesometic/tonedial/blob/main/docs/USAGE.md#connecting-an-agent)
|
|
68
|
+
|
|
69
|
+
Prueba una conversación nueva con un cliente Codex o Claude Code instalado:
|
|
70
|
+
|
|
71
|
+
```bash
|
|
72
|
+
tonedial test codex --preset my-sword
|
|
73
|
+
```
|
|
74
|
+
|
|
75
|
+
- Las vistas previas usan tu cuenta del proveedor; se aplican el consumo, los cargos y el historial habituales.
|
|
76
|
+
- El tono cambia el estilo. Los permisos y las aprobaciones del cliente siguen vigentes.
|
|
77
|
+
- El comportamiento varía según el modelo. Es para divertirse; no se recomienda en producción.
|
|
78
|
+
|
|
79
|
+
## Más información
|
|
80
|
+
|
|
81
|
+
[Uso y referencia](https://github.com/awesometic/tonedial/blob/main/docs/USAGE.md) · [Aporta un preajuste o una corrección](https://github.com/awesometic/tonedial/blob/main/CONTRIBUTING.md) · [Pruebas](https://github.com/awesometic/tonedial/blob/main/docs/TESTING.md) · [Seguridad](https://github.com/awesometic/tonedial/blob/main/SECURITY.md)
|
|
82
|
+
|
|
83
|
+
[Guía para agentes](https://github.com/awesometic/tonedial/blob/main/AGENTS.md) · [Licencia MIT](https://github.com/awesometic/tonedial/blob/main/LICENSE) · [Avisos de terceros](https://github.com/awesometic/tonedial/blob/main/THIRD_PARTY_NOTICES.md)
|
package/README.ja.md
ADDED
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
# ToneDial
|
|
2
|
+
|
|
3
|
+
**コーディングエージェントにキャラクターを。**
|
|
4
|
+
|
|
5
|
+
キャラクターを選び、12個のダイヤルで口調を調整。保存した声をプロジェクトをまたいで使えます。
|
|
6
|
+
|
|
7
|
+
**7キャラクター · 12の口調軸 · CLIは5言語 · 実行時の依存パッケージなし**
|
|
8
|
+
|
|
9
|
+
[English](https://github.com/awesometic/tonedial/blob/main/README.md) | [한국어](https://github.com/awesometic/tonedial/blob/main/README.ko.md) | **日本語** | [简体中文](https://github.com/awesometic/tonedial/blob/main/README.zh.md) | [Español](https://github.com/awesometic/tonedial/blob/main/README.es.md)
|
|
10
|
+
|
|
11
|
+
## まずは応答から
|
|
12
|
+
|
|
13
|
+
<img src="https://raw.githubusercontent.com/awesometic/tonedial/main/docs/media/readme/ja/voice-examples.svg" alt="同じ関数名変更の質問に答えるRoyal AdvisorとEgo Swordの実際のCodex対話記録" width="760">
|
|
14
|
+
|
|
15
|
+
<sub>実際のCodex応答をターミナル風の対話として表示しています。 <a href="https://github.com/awesometic/tonedial/blob/main/docs/media/readme/ja/voice-examples.json">入力と生成記録</a>.</sub>
|
|
16
|
+
|
|
17
|
+
**[7キャラクターすべてを見る →](https://github.com/awesometic/tonedial/blob/main/docs/EXAMPLES.ja.md)**
|
|
18
|
+
|
|
19
|
+
## 試してみる
|
|
20
|
+
|
|
21
|
+
**Node 24以降**とnpmが必要です。
|
|
22
|
+
|
|
23
|
+
```bash
|
|
24
|
+
npm install --global tonedial
|
|
25
|
+
tonedial init --tools none --global --lang ja
|
|
26
|
+
tonedial set
|
|
27
|
+
```
|
|
28
|
+
|
|
29
|
+
設定時にファイル変更を表示し、承認を求めます。エージェントに接続せず、まずダイヤルを試せます。
|
|
30
|
+
|
|
31
|
+
[エージェントを接続する](https://github.com/awesometic/tonedial/blob/main/docs/USAGE.md#connecting-an-agent) · [一時設定で試す](https://github.com/awesometic/tonedial/blob/main/docs/TESTING.md#isolated-candidate)
|
|
32
|
+
|
|
33
|
+
## キャラクターを選ぶ
|
|
34
|
+
|
|
35
|
+
| プリセット | あなた → エージェント |
|
|
36
|
+
| --- | --- |
|
|
37
|
+
| Caring Brother | 弟や妹 → 頼れる兄 |
|
|
38
|
+
| Bratty Kid | 話し相手 → 生意気な子供 |
|
|
39
|
+
| Eager Sycophant | 創作者 → 熱狂的ファン |
|
|
40
|
+
| Royal Advisor | 君主 → 忠実な臣下 |
|
|
41
|
+
| Ego Sword | 駆け出しの冒険者 → 自我を持つ剣 |
|
|
42
|
+
| Heavenly Demon | 弟子 → 厳格な天魔 |
|
|
43
|
+
| Right Hand | 親分 → 信頼できる右腕 |
|
|
44
|
+
|
|
45
|
+
```bash
|
|
46
|
+
tonedial use ego-sword
|
|
47
|
+
tonedial set verbosity=1 warmth=3
|
|
48
|
+
tonedial save "My Sword"
|
|
49
|
+
```
|
|
50
|
+
|
|
51
|
+
`tonedial create` で自分のキャラクターも作れます。口調、役割、呼称、敬語区分、合言葉を1つのプロファイルに保存します。
|
|
52
|
+
|
|
53
|
+
## ダイヤルを回す
|
|
54
|
+
|
|
55
|
+
**12の軸を、それぞれ5段階で。** 格式、簡潔さ、温かさ、批判、役柄の強さを調整します。
|
|
56
|
+
|
|
57
|
+
<img src="https://raw.githubusercontent.com/awesometic/tonedial/main/docs/media/readme/ja/dial.svg" alt="現在値、選択したwarmthの説明、キー操作を示すToneDialの12軸ダイヤル" width="760">
|
|
58
|
+
|
|
59
|
+
<sub>現在のCLIレンダラーで生成した80列の合成プレビューです。 <a href="https://github.com/awesometic/tonedial/blob/main/docs/media/readme/ja/dial-example.json">フレームの生成記録</a> · <a href="https://github.com/awesometic/tonedial/blob/main/docs/USAGE.md#current-dial-example">生成手順</a>.</sub>
|
|
60
|
+
|
|
61
|
+
**↑↓** 軸を選択 · **←→ / 1–5** 値を変更 · **Enter** 適用 · **Esc** 破棄
|
|
62
|
+
|
|
63
|
+
ToneDialは設定をローカルで `TONE.md` にコンパイルします。同じ設定からは同じ結果を生成し、モデルは利用中のエージェントが提供します。
|
|
64
|
+
|
|
65
|
+
## エージェントと使う
|
|
66
|
+
|
|
67
|
+
**Claude Code · Codex · Antigravity IDE/Desktop** — [接続ガイド](https://github.com/awesometic/tonedial/blob/main/docs/USAGE.md#connecting-an-agent)
|
|
68
|
+
|
|
69
|
+
インストール済みのCodexかClaude Codeで、新しい会話を試せます。
|
|
70
|
+
|
|
71
|
+
```bash
|
|
72
|
+
tonedial test codex --preset my-sword
|
|
73
|
+
```
|
|
74
|
+
|
|
75
|
+
- プレビューは利用者のプロバイダーアカウントを使い、通常の使用量・料金・履歴の扱いが適用されます。
|
|
76
|
+
- 変わるのは話し方です。ホストの権限と承認要件はそのままです。
|
|
77
|
+
- 反応はモデルによって異なります。娯楽用で、実務利用は推奨しません。
|
|
78
|
+
|
|
79
|
+
## さらに詳しく
|
|
80
|
+
|
|
81
|
+
[使い方とリファレンス](https://github.com/awesometic/tonedial/blob/main/docs/USAGE.md) · [プリセットや修正を提案](https://github.com/awesometic/tonedial/blob/main/CONTRIBUTING.md) · [テスト](https://github.com/awesometic/tonedial/blob/main/docs/TESTING.md) · [セキュリティ](https://github.com/awesometic/tonedial/blob/main/SECURITY.md)
|
|
82
|
+
|
|
83
|
+
[エージェント作業ガイド](https://github.com/awesometic/tonedial/blob/main/AGENTS.md) · [MITライセンス](https://github.com/awesometic/tonedial/blob/main/LICENSE) · [第三者の権利表示](https://github.com/awesometic/tonedial/blob/main/THIRD_PARTY_NOTICES.md)
|
package/README.ko.md
ADDED
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
# ToneDial
|
|
2
|
+
|
|
3
|
+
**코딩 에이전트에 캐릭터를 더하세요.**
|
|
4
|
+
|
|
5
|
+
캐릭터를 고르고 열두 축으로 말투를 맞춰 보세요. 저장한 말투는 여러 프로젝트에서 쓸 수 있습니다.
|
|
6
|
+
|
|
7
|
+
**캐릭터 7개 · 말투 축 12개 · CLI 언어 5개 · 런타임 의존성 없음**
|
|
8
|
+
|
|
9
|
+
[English](https://github.com/awesometic/tonedial/blob/main/README.md) | **한국어** | [日本語](https://github.com/awesometic/tonedial/blob/main/README.ja.md) | [简体中文](https://github.com/awesometic/tonedial/blob/main/README.zh.md) | [Español](https://github.com/awesometic/tonedial/blob/main/README.es.md)
|
|
10
|
+
|
|
11
|
+
## 답변부터 보세요
|
|
12
|
+
|
|
13
|
+
<img src="https://raw.githubusercontent.com/awesometic/tonedial/main/docs/media/readme/ko/voice-examples.svg" alt="같은 함수명 변경 질문에 답하는 Royal Advisor와 Ego Sword의 실제 Codex 대화 기록" width="760">
|
|
14
|
+
|
|
15
|
+
<sub>실제 Codex 응답을 터미널 대화 형식으로 정리한 이미지입니다. <a href="https://github.com/awesometic/tonedial/blob/main/docs/media/readme/ko/voice-examples.json">입력과 생성 기록</a>.</sub>
|
|
16
|
+
|
|
17
|
+
**[캐릭터 7개 모두 보기 →](https://github.com/awesometic/tonedial/blob/main/docs/EXAMPLES.ko.md)**
|
|
18
|
+
|
|
19
|
+
## 바로 시작하기
|
|
20
|
+
|
|
21
|
+
**Node 24 이상**과 npm이 필요합니다.
|
|
22
|
+
|
|
23
|
+
```bash
|
|
24
|
+
npm install --global tonedial
|
|
25
|
+
tonedial init --tools none --global --lang ko
|
|
26
|
+
tonedial set
|
|
27
|
+
```
|
|
28
|
+
|
|
29
|
+
설정 과정에서 파일 변경 내용을 보여주고 승인을 받습니다. 에이전트 연결 없이 다이얼부터 열어 봅니다.
|
|
30
|
+
|
|
31
|
+
[에이전트 연결하기](https://github.com/awesometic/tonedial/blob/main/docs/USAGE.md#connecting-an-agent) · [임시 설정으로 시험하기](https://github.com/awesometic/tonedial/blob/main/docs/TESTING.md#isolated-candidate)
|
|
32
|
+
|
|
33
|
+
## 캐릭터 고르기
|
|
34
|
+
|
|
35
|
+
| 프리셋 | 사용자 → 에이전트 |
|
|
36
|
+
| --- | --- |
|
|
37
|
+
| Caring Brother | 동생 → 든든한 형 |
|
|
38
|
+
| Bratty Kid | 대화 상대 → 말썽꾸러기 꼬마 |
|
|
39
|
+
| Eager Sycophant | 창작자 → 과몰입한 팬 |
|
|
40
|
+
| Royal Advisor | 왕 → 충직한 신하 |
|
|
41
|
+
| Ego Sword | 초보 모험가 → 자아를 가진 검 |
|
|
42
|
+
| Heavenly Demon | 제자 → 엄격한 천마 |
|
|
43
|
+
| Right Hand | 보스 → 믿음직한 오른팔 |
|
|
44
|
+
|
|
45
|
+
```bash
|
|
46
|
+
tonedial use ego-sword
|
|
47
|
+
tonedial set verbosity=1 warmth=3
|
|
48
|
+
tonedial save "My Sword"
|
|
49
|
+
```
|
|
50
|
+
|
|
51
|
+
`tonedial create`로 직접 만들 수도 있습니다. 말투, 역할, 호칭, 말씨, 세이프워드를 프로필 하나에 저장합니다.
|
|
52
|
+
|
|
53
|
+
## 말투 조절하기
|
|
54
|
+
|
|
55
|
+
**열두 축을 각각 1–5로 조절합니다.** 격식, 답변 길이, 다정함, 비판, 역할극의 강도를 정해 보세요.
|
|
56
|
+
|
|
57
|
+
<img src="https://raw.githubusercontent.com/awesometic/tonedial/main/docs/media/readme/ko/dial.svg" alt="현재 값, 선택한 warmth 설명, 키보드 조작을 보여주는 ToneDial의 열두 축 다이얼" width="760">
|
|
58
|
+
|
|
59
|
+
<sub>현재 CLI 렌더러로 만든 80열 합성 미리보기입니다. <a href="https://github.com/awesometic/tonedial/blob/main/docs/media/readme/ko/dial-example.json">프레임 생성 기록</a> · <a href="https://github.com/awesometic/tonedial/blob/main/docs/USAGE.md#current-dial-example">만드는 방법</a>.</sub>
|
|
60
|
+
|
|
61
|
+
**↑↓** 축 선택 · **←→ / 1–5** 값 조절 · **Enter** 적용 · **Esc** 취소
|
|
62
|
+
|
|
63
|
+
ToneDial은 설정을 로컬에서 `TONE.md`로 컴파일합니다. 같은 설정이면 같은 결과를 만들며, 모델은 사용 중인 에이전트가 제공합니다.
|
|
64
|
+
|
|
65
|
+
## 에이전트 연결하기
|
|
66
|
+
|
|
67
|
+
**Claude Code · Codex · Antigravity IDE/Desktop** — [연결 가이드](https://github.com/awesometic/tonedial/blob/main/docs/USAGE.md#connecting-an-agent)
|
|
68
|
+
|
|
69
|
+
설치된 Codex나 Claude Code 클라이언트에서 새 대화를 열어 시험해 보세요.
|
|
70
|
+
|
|
71
|
+
```bash
|
|
72
|
+
tonedial test codex --preset my-sword
|
|
73
|
+
```
|
|
74
|
+
|
|
75
|
+
- 미리보기는 사용 중인 프로바이더 계정을 쓰며, 평소와 같은 사용량·요금·기록 정책이 적용됩니다.
|
|
76
|
+
- 말투만 바꿉니다. 호스트의 권한과 승인 요건은 그대로입니다.
|
|
77
|
+
- 모델마다 반응이 다릅니다. 재미를 위한 도구로, 실무 사용은 권장하지 않습니다.
|
|
78
|
+
|
|
79
|
+
## 더 알아보기
|
|
80
|
+
|
|
81
|
+
[사용법과 전체 명령어](https://github.com/awesometic/tonedial/blob/main/docs/USAGE.md) · [프리셋·수정 기여하기](https://github.com/awesometic/tonedial/blob/main/CONTRIBUTING.md) · [테스트](https://github.com/awesometic/tonedial/blob/main/docs/TESTING.md) · [보안](https://github.com/awesometic/tonedial/blob/main/SECURITY.md)
|
|
82
|
+
|
|
83
|
+
[에이전트 작업 가이드](https://github.com/awesometic/tonedial/blob/main/AGENTS.md) · [MIT 라이선스](https://github.com/awesometic/tonedial/blob/main/LICENSE) · [서드파티 고지](https://github.com/awesometic/tonedial/blob/main/THIRD_PARTY_NOTICES.md)
|
package/README.md
CHANGED
|
@@ -1,3 +1,83 @@
|
|
|
1
|
-
#
|
|
1
|
+
# ToneDial
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
**Give your coding agent a character.**
|
|
4
|
+
|
|
5
|
+
Pick a character, tune twelve dials, and save a voice to use across projects.
|
|
6
|
+
|
|
7
|
+
**7 characters · 12 tone axes · 5 CLI languages · Zero runtime dependencies**
|
|
8
|
+
|
|
9
|
+
**English** | [한국어](https://github.com/awesometic/tonedial/blob/main/README.ko.md) | [日本語](https://github.com/awesometic/tonedial/blob/main/README.ja.md) | [简体中文](https://github.com/awesometic/tonedial/blob/main/README.zh.md) | [Español](https://github.com/awesometic/tonedial/blob/main/README.es.md)
|
|
10
|
+
|
|
11
|
+
## Hear it first
|
|
12
|
+
|
|
13
|
+
<img src="https://raw.githubusercontent.com/awesometic/tonedial/main/docs/media/readme/en/voice-examples.svg" alt="Royal Advisor and Ego Sword answer the same function-renaming question in recorded Codex conversations" width="760">
|
|
14
|
+
|
|
15
|
+
<sub>Recorded Codex replies, formatted as terminal dialogue. <a href="https://github.com/awesometic/tonedial/blob/main/docs/media/readme/en/voice-examples.json">Inputs & provenance</a>.</sub>
|
|
16
|
+
|
|
17
|
+
**[See all 7 characters →](https://github.com/awesometic/tonedial/blob/main/docs/EXAMPLES.md)**
|
|
18
|
+
|
|
19
|
+
## Try it
|
|
20
|
+
|
|
21
|
+
Requires **Node 24+** and npm.
|
|
22
|
+
|
|
23
|
+
```bash
|
|
24
|
+
npm install --global tonedial
|
|
25
|
+
tonedial init --tools none --global --lang en
|
|
26
|
+
tonedial set
|
|
27
|
+
```
|
|
28
|
+
|
|
29
|
+
Setup previews file changes for approval. This opens the dial without connecting an agent.
|
|
30
|
+
|
|
31
|
+
[Connect your agent](https://github.com/awesometic/tonedial/blob/main/docs/USAGE.md#connecting-an-agent) · [Try with disposable settings](https://github.com/awesometic/tonedial/blob/main/docs/TESTING.md#isolated-candidate)
|
|
32
|
+
|
|
33
|
+
## Pick your character
|
|
34
|
+
|
|
35
|
+
| Preset | You → agent |
|
|
36
|
+
| --- | --- |
|
|
37
|
+
| Caring Brother | Little sibling → big brother |
|
|
38
|
+
| Bratty Kid | Conversation partner → cheeky kid |
|
|
39
|
+
| Eager Sycophant | Creator → overexcited fan |
|
|
40
|
+
| Royal Advisor | Monarch → loyal subject |
|
|
41
|
+
| Ego Sword | Rookie → sentient sword |
|
|
42
|
+
| Heavenly Demon | Apprentice → stern martial master |
|
|
43
|
+
| Right Hand | Boss → trusted consigliere |
|
|
44
|
+
|
|
45
|
+
```bash
|
|
46
|
+
tonedial use ego-sword
|
|
47
|
+
tonedial set verbosity=1 warmth=3
|
|
48
|
+
tonedial save "My Sword"
|
|
49
|
+
```
|
|
50
|
+
|
|
51
|
+
Use `tonedial create` to build your own. Profiles keep tone, roles, address forms, register and safeword together.
|
|
52
|
+
|
|
53
|
+
## Turn the dials
|
|
54
|
+
|
|
55
|
+
**Twelve axes, five levels each.** Choose how formal, brief, warm, critical or theatrical your agent sounds.
|
|
56
|
+
|
|
57
|
+
<img src="https://raw.githubusercontent.com/awesometic/tonedial/main/docs/media/readme/en/dial.png" alt="ToneDial's twelve-axis inline dial with current levels, selected warmth hints and keyboard controls" width="760">
|
|
58
|
+
|
|
59
|
+
<sub>80-column synthetic preview from the current CLI renderer. <a href="https://github.com/awesometic/tonedial/blob/main/docs/media/readme/en/dial-example.json">Frame provenance</a> · <a href="https://github.com/awesometic/tonedial/blob/main/docs/USAGE.md#current-dial-example">Recipe</a>.</sub>
|
|
60
|
+
|
|
61
|
+
**↑↓** choose an axis · **←→ / 1–5** set its level · **Enter** apply · **Esc** discard
|
|
62
|
+
|
|
63
|
+
ToneDial compiles your settings into `TONE.md` locally and deterministically. Your agent supplies the model.
|
|
64
|
+
|
|
65
|
+
## Bring your agent
|
|
66
|
+
|
|
67
|
+
**Claude Code · Codex · Antigravity IDE/Desktop** — [connection guide](https://github.com/awesometic/tonedial/blob/main/docs/USAGE.md#connecting-an-agent)
|
|
68
|
+
|
|
69
|
+
Try a fresh conversation through an installed Codex or Claude Code client:
|
|
70
|
+
|
|
71
|
+
```bash
|
|
72
|
+
tonedial test codex --preset my-sword
|
|
73
|
+
```
|
|
74
|
+
|
|
75
|
+
- Previews use your provider account; normal usage, charges and history apply.
|
|
76
|
+
- Tone changes style. Host permissions and approval requirements stay in place.
|
|
77
|
+
- Model behavior varies. This is for fun, not recommended for production use.
|
|
78
|
+
|
|
79
|
+
## Go further
|
|
80
|
+
|
|
81
|
+
[Usage & reference](https://github.com/awesometic/tonedial/blob/main/docs/USAGE.md) · [Contribute a preset or fix](https://github.com/awesometic/tonedial/blob/main/CONTRIBUTING.md) · [Testing](https://github.com/awesometic/tonedial/blob/main/docs/TESTING.md) · [Security](https://github.com/awesometic/tonedial/blob/main/SECURITY.md)
|
|
82
|
+
|
|
83
|
+
[Agent guide](https://github.com/awesometic/tonedial/blob/main/AGENTS.md) · [MIT license](https://github.com/awesometic/tonedial/blob/main/LICENSE) · [Third-party notices](https://github.com/awesometic/tonedial/blob/main/THIRD_PARTY_NOTICES.md)
|
package/README.zh.md
ADDED
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
# ToneDial
|
|
2
|
+
|
|
3
|
+
**给编程代理一个角色。**
|
|
4
|
+
|
|
5
|
+
选择角色,调整十二个语气轴,保存一套能在不同项目中复用的语气。
|
|
6
|
+
|
|
7
|
+
**7 个角色 · 12 个语气轴 · 5 种 CLI 语言 · 零运行时依赖**
|
|
8
|
+
|
|
9
|
+
[English](https://github.com/awesometic/tonedial/blob/main/README.md) | [한국어](https://github.com/awesometic/tonedial/blob/main/README.ko.md) | [日本語](https://github.com/awesometic/tonedial/blob/main/README.ja.md) | **简体中文** | [Español](https://github.com/awesometic/tonedial/blob/main/README.es.md)
|
|
10
|
+
|
|
11
|
+
## 先看实际回复
|
|
12
|
+
|
|
13
|
+
<img src="https://raw.githubusercontent.com/awesometic/tonedial/main/docs/media/readme/zh/voice-examples.svg" alt="Royal Advisor 和 Ego Sword 回答同一函数改名问题的实际 Codex 对话记录" width="760">
|
|
14
|
+
|
|
15
|
+
<sub>实际 Codex 回复,按终端对话形式排版。 <a href="https://github.com/awesometic/tonedial/blob/main/docs/media/readme/zh/voice-examples.json">输入与生成记录</a>.</sub>
|
|
16
|
+
|
|
17
|
+
**[查看全部 7 个角色 →](https://github.com/awesometic/tonedial/blob/main/docs/EXAMPLES.zh.md)**
|
|
18
|
+
|
|
19
|
+
## 开始试用
|
|
20
|
+
|
|
21
|
+
需要 **Node 24 或更高版本**和 npm。
|
|
22
|
+
|
|
23
|
+
```bash
|
|
24
|
+
npm install --global tonedial
|
|
25
|
+
tonedial init --tools none --global --lang zh
|
|
26
|
+
tonedial set
|
|
27
|
+
```
|
|
28
|
+
|
|
29
|
+
设置时会先展示文件变更并请求批准。无需连接代理即可先打开面板试用。
|
|
30
|
+
|
|
31
|
+
[连接代理](https://github.com/awesometic/tonedial/blob/main/docs/USAGE.md#connecting-an-agent) · [使用临时设置试用](https://github.com/awesometic/tonedial/blob/main/docs/TESTING.md#isolated-candidate)
|
|
32
|
+
|
|
33
|
+
## 选择你的角色
|
|
34
|
+
|
|
35
|
+
| 预设 | 你 → 代理 |
|
|
36
|
+
| --- | --- |
|
|
37
|
+
| Caring Brother | 弟弟 → 可靠的哥哥 |
|
|
38
|
+
| Bratty Kid | 聊天对象 → 淘气小孩 |
|
|
39
|
+
| Eager Sycophant | 创作者 → 狂热粉丝 |
|
|
40
|
+
| Royal Advisor | 君王 → 忠臣 |
|
|
41
|
+
| Ego Sword | 新手冒险者 → 自我之剑 |
|
|
42
|
+
| Heavenly Demon | 徒弟 → 严厉的天魔 |
|
|
43
|
+
| Right Hand | 老大 → 可靠的左右手 |
|
|
44
|
+
|
|
45
|
+
```bash
|
|
46
|
+
tonedial use ego-sword
|
|
47
|
+
tonedial set verbosity=1 warmth=3
|
|
48
|
+
tonedial save "My Sword"
|
|
49
|
+
```
|
|
50
|
+
|
|
51
|
+
也可用 `tonedial create` 创建自己的角色。语气、角色、称呼、敬语形式和安全词一起保存在配置中。
|
|
52
|
+
|
|
53
|
+
## 调节语气
|
|
54
|
+
|
|
55
|
+
**十二个语气轴,各有五个级别。** 调整正式程度、简洁度、温暖、批评及角色表现强度。
|
|
56
|
+
|
|
57
|
+
<img src="https://raw.githubusercontent.com/awesometic/tonedial/main/docs/media/readme/zh/dial.svg" alt="显示当前值、所选 warmth 说明和键盘操作的 ToneDial 十二轴面板" width="760">
|
|
58
|
+
|
|
59
|
+
<sub>使用当前 CLI 渲染器生成的 80 列合成预览。 <a href="https://github.com/awesometic/tonedial/blob/main/docs/media/readme/zh/dial-example.json">帧生成记录</a> · <a href="https://github.com/awesometic/tonedial/blob/main/docs/USAGE.md#current-dial-example">生成方法</a>.</sub>
|
|
60
|
+
|
|
61
|
+
**↑↓** 选择语气轴 · **←→ / 1–5** 调整级别 · **Enter** 应用 · **Esc** 放弃
|
|
62
|
+
|
|
63
|
+
ToneDial 在本地将设置编译为 `TONE.md`,相同设置生成相同结果。模型由你使用的代理提供。
|
|
64
|
+
|
|
65
|
+
## 接入你的代理
|
|
66
|
+
|
|
67
|
+
**Claude Code · Codex · Antigravity IDE/Desktop** — [连接指南](https://github.com/awesometic/tonedial/blob/main/docs/USAGE.md#connecting-an-agent)
|
|
68
|
+
|
|
69
|
+
通过已安装的 Codex 或 Claude Code 客户端试用一次新对话:
|
|
70
|
+
|
|
71
|
+
```bash
|
|
72
|
+
tonedial test codex --preset my-sword
|
|
73
|
+
```
|
|
74
|
+
|
|
75
|
+
- 预览使用你的服务商账号,按正常规则处理用量、费用和历史记录。
|
|
76
|
+
- 只改变表达风格,主机权限和批准要求保持不变。
|
|
77
|
+
- 模型反应各异。本工具用于娱乐,不建议用于生产工作。
|
|
78
|
+
|
|
79
|
+
## 进一步了解
|
|
80
|
+
|
|
81
|
+
[使用方法与参考](https://github.com/awesometic/tonedial/blob/main/docs/USAGE.md) · [贡献预设或修复](https://github.com/awesometic/tonedial/blob/main/CONTRIBUTING.md) · [测试](https://github.com/awesometic/tonedial/blob/main/docs/TESTING.md) · [安全](https://github.com/awesometic/tonedial/blob/main/SECURITY.md)
|
|
82
|
+
|
|
83
|
+
[代理工作指南](https://github.com/awesometic/tonedial/blob/main/AGENTS.md) · [MIT 许可证](https://github.com/awesometic/tonedial/blob/main/LICENSE) · [第三方声明](https://github.com/awesometic/tonedial/blob/main/THIRD_PARTY_NOTICES.md)
|
|
@@ -0,0 +1,113 @@
|
|
|
1
|
+
# Third-Party Notices
|
|
2
|
+
|
|
3
|
+
Runtime Unicode data and adapted authoring principles used by ToneDial are covered by the notices below.
|
|
4
|
+
Authoring guidance stays in the repository; the East Asian Width tables compiled into `dist/ui/width.js` ship with the package.
|
|
5
|
+
|
|
6
|
+
## Unicode Character Database
|
|
7
|
+
|
|
8
|
+
`src/ui/width.ts` is generated by `scripts/generate-width-table.py` from Python 3.14's `unicodedata`, which exposes the East Asian Width property of the Unicode Character Database (Unicode 16.0.0).
|
|
9
|
+
The generated ranges are what keep a gauge column aligned in Korean, Japanese and Chinese, and they are compiled into `dist/ui/width.js`, so they travel inside the npm package.
|
|
10
|
+
|
|
11
|
+
The complete [Unicode License v3](https://www.unicode.org/license.txt) notice follows.
|
|
12
|
+
|
|
13
|
+
```text
|
|
14
|
+
UNICODE LICENSE V3
|
|
15
|
+
|
|
16
|
+
COPYRIGHT AND PERMISSION NOTICE
|
|
17
|
+
|
|
18
|
+
Copyright © 1991-2026 Unicode, Inc.
|
|
19
|
+
|
|
20
|
+
NOTICE TO USER: Carefully read the following legal agreement. BY
|
|
21
|
+
DOWNLOADING, INSTALLING, COPYING OR OTHERWISE USING DATA FILES, AND/OR
|
|
22
|
+
SOFTWARE, YOU UNEQUIVOCALLY ACCEPT, AND AGREE TO BE BOUND BY, ALL OF THE
|
|
23
|
+
TERMS AND CONDITIONS OF THIS AGREEMENT. IF YOU DO NOT AGREE, DO NOT
|
|
24
|
+
DOWNLOAD, INSTALL, COPY, DISTRIBUTE OR USE THE DATA FILES OR SOFTWARE.
|
|
25
|
+
|
|
26
|
+
Permission is hereby granted, free of charge, to any person obtaining a
|
|
27
|
+
copy of data files and any associated documentation (the "Data Files") or
|
|
28
|
+
software and any associated documentation (the "Software") to deal in the
|
|
29
|
+
Data Files or Software without restriction, including without limitation
|
|
30
|
+
the rights to use, copy, modify, merge, publish, distribute, and/or sell
|
|
31
|
+
copies of the Data Files or Software, and to permit persons to whom the
|
|
32
|
+
Data Files or Software are furnished to do so, provided that either (a)
|
|
33
|
+
this copyright and permission notice appear with all copies of the Data
|
|
34
|
+
Files or Software, or (b) this copyright and permission notice appear in
|
|
35
|
+
associated Documentation.
|
|
36
|
+
|
|
37
|
+
THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY
|
|
38
|
+
KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
|
39
|
+
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF
|
|
40
|
+
THIRD PARTY RIGHTS.
|
|
41
|
+
|
|
42
|
+
IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE
|
|
43
|
+
BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES,
|
|
44
|
+
OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
|
|
45
|
+
WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
|
|
46
|
+
ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA
|
|
47
|
+
FILES OR SOFTWARE.
|
|
48
|
+
|
|
49
|
+
Except as contained in this notice, the name of a copyright holder shall
|
|
50
|
+
not be used in advertising or otherwise to promote the sale, use or other
|
|
51
|
+
dealings in these Data Files or Software without prior written
|
|
52
|
+
authorization of the copyright holder.
|
|
53
|
+
```
|
|
54
|
+
|
|
55
|
+
Unicode and the Unicode Logo are registered trademarks of Unicode, Inc. in the U.S. and other countries.
|
|
56
|
+
|
|
57
|
+
## epoko77-ai/im-not-ai
|
|
58
|
+
|
|
59
|
+
The Korean writing guidance in [agent guidance](https://github.com/awesometic/tonedial/blob/main/AGENTS.md)
|
|
60
|
+
and [contributing](https://github.com/awesometic/tonedial/blob/main/CONTRIBUTING.md) is adapted from
|
|
61
|
+
[epoko77-ai/im-not-ai](https://github.com/epoko77-ai/im-not-ai). Its notice applies to that guidance.
|
|
62
|
+
|
|
63
|
+
```text
|
|
64
|
+
MIT License
|
|
65
|
+
|
|
66
|
+
Copyright (c) 2026 epoko77-ai
|
|
67
|
+
|
|
68
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
69
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
70
|
+
in the Software without restriction, including without limitation the rights
|
|
71
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
72
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
73
|
+
furnished to do so, subject to the following conditions:
|
|
74
|
+
|
|
75
|
+
The above copyright notice and this permission notice shall be included in all
|
|
76
|
+
copies or substantial portions of the Software.
|
|
77
|
+
|
|
78
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
79
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
80
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
81
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
82
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
83
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
84
|
+
SOFTWARE.
|
|
85
|
+
```
|
|
86
|
+
|
|
87
|
+
## DietrichGebert/ponytail
|
|
88
|
+
|
|
89
|
+
The concise reuse/standard-library/minimum-needed ladder in [AGENTS.md](https://github.com/awesometic/tonedial/blob/main/AGENTS.md) is adapted from [DietrichGebert/ponytail](https://github.com/DietrichGebert/ponytail).
|
|
90
|
+
|
|
91
|
+
```text
|
|
92
|
+
MIT License
|
|
93
|
+
|
|
94
|
+
Copyright (c) 2026 DietrichGebert
|
|
95
|
+
|
|
96
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
97
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
98
|
+
in the Software without restriction, including without limitation the rights
|
|
99
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
100
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
101
|
+
furnished to do so, subject to the following conditions:
|
|
102
|
+
|
|
103
|
+
The above copyright notice and this permission notice shall be included in all
|
|
104
|
+
copies or substantial portions of the Software.
|
|
105
|
+
|
|
106
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
107
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
108
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
109
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
110
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
111
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
112
|
+
SOFTWARE.
|
|
113
|
+
```
|
package/dist/bin.js
ADDED
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
// The executable entry point. Everything it can do lives in cli.ts, so the tests drive the
|
|
3
|
+
// same path a user does rather than a parallel one built for them.
|
|
4
|
+
import { run } from "./cli.js";
|
|
5
|
+
process.exitCode = await run(process.argv.slice(2));
|