@operatingtag/dsh-unclesam 0.0.0-stage → 1.0.1
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/CHANGELOG.md +928 -0
- package/LICENSE +144 -0
- package/README.de.md +274 -0
- package/README.es.md +268 -0
- package/README.fr.md +272 -0
- package/README.hi.md +263 -0
- package/README.id.md +264 -0
- package/README.it.md +268 -0
- package/README.ja.md +263 -0
- package/README.ko.md +258 -0
- package/README.md +260 -2
- package/README.nl.md +266 -0
- package/README.pl.md +266 -0
- package/README.pt.md +265 -0
- package/README.ru.md +269 -0
- package/README.tr.md +265 -0
- package/README.uk.md +265 -0
- package/README.vi.md +263 -0
- package/README.zh.md +248 -0
- package/client.js +1099 -0
- package/cordis.patch.yml +48 -0
- package/icon.svg +17 -0
- package/index.js +1414 -0
- package/install.cmd +43 -0
- package/install.ps1 +311 -0
- package/lib/cdp.mjs +247 -0
- package/lib/engine.mjs +1412 -0
- package/lib/i18n.mjs +141 -0
- package/lib/prefs.mjs +101 -0
- package/lib/prompt.mjs +498 -0
- package/lib/savings.mjs +131 -0
- package/locale/ar.json +98 -0
- package/locale/az.json +98 -0
- package/locale/bg.json +98 -0
- package/locale/bn.json +98 -0
- package/locale/cs.json +98 -0
- package/locale/da.json +98 -0
- package/locale/de.json +98 -0
- package/locale/el.json +98 -0
- package/locale/en.json +98 -0
- package/locale/es.json +98 -0
- package/locale/fa.json +98 -0
- package/locale/fi.json +98 -0
- package/locale/fr.json +98 -0
- package/locale/he.json +98 -0
- package/locale/hi.json +98 -0
- package/locale/hr.json +98 -0
- package/locale/hu.json +98 -0
- package/locale/id.json +98 -0
- package/locale/it.json +98 -0
- package/locale/ja.json +98 -0
- package/locale/ka.json +98 -0
- package/locale/kk.json +98 -0
- package/locale/km.json +98 -0
- package/locale/ko.json +98 -0
- package/locale/lt.json +98 -0
- package/locale/mr.json +98 -0
- package/locale/ms.json +98 -0
- package/locale/my.json +98 -0
- package/locale/ne.json +98 -0
- package/locale/nl.json +98 -0
- package/locale/no.json +98 -0
- package/locale/pl.json +98 -0
- package/locale/pt.json +98 -0
- package/locale/ro.json +98 -0
- package/locale/ru.json +98 -0
- package/locale/si.json +98 -0
- package/locale/sk.json +98 -0
- package/locale/sl.json +98 -0
- package/locale/sr.json +98 -0
- package/locale/sv.json +98 -0
- package/locale/sw.json +98 -0
- package/locale/ta.json +98 -0
- package/locale/te.json +98 -0
- package/locale/th.json +98 -0
- package/locale/tl.json +98 -0
- package/locale/tr.json +98 -0
- package/locale/uk.json +98 -0
- package/locale/ur.json +98 -0
- package/locale/uz.json +98 -0
- package/locale/vi.json +98 -0
- package/locale/zh.json +98 -0
- package/package.json +89 -4
package/LICENSE
ADDED
|
@@ -0,0 +1,144 @@
|
|
|
1
|
+
═══════════════════════════════════════════════════════════════════════════════
|
|
2
|
+
FREE TO USE — NOT FREE TO CHANGE OR SHARE
|
|
3
|
+
|
|
4
|
+
Uncle Sam (dsh-unclesam)
|
|
5
|
+
Copyright (c) 2026 Darren T. Weldon — published under the Operating Tag name
|
|
6
|
+
Contact: @operatingtag
|
|
7
|
+
|
|
8
|
+
☕ Buy me a coffee: https://revolut.me/operatingtag
|
|
9
|
+
(a request, not a condition — see the note at the end)
|
|
10
|
+
|
|
11
|
+
Resumen en español: README.es.md English summary below
|
|
12
|
+
|
|
13
|
+
═══════════════════════════════════════════════════════════════════════════════
|
|
14
|
+
WHAT THIS MEANS, IN PLAIN ENGLISH
|
|
15
|
+
═══════════════════════════════════════════════════════════════════════════════
|
|
16
|
+
|
|
17
|
+
You may install it and use it. That is it, and that is free, forever, for anyone
|
|
18
|
+
acting personally rather than commercially.
|
|
19
|
+
|
|
20
|
+
You may not change it. You may not pass it on. You may not sell it. You may not
|
|
21
|
+
use it in a business. You may not publish a fork of it anywhere.
|
|
22
|
+
|
|
23
|
+
If you want any of those, ask. They are available, for a fee, from Operating Tag.
|
|
24
|
+
|
|
25
|
+
═══════════════════════════════════════════════════════════════════════════════
|
|
26
|
+
WHAT YOU MAY DO
|
|
27
|
+
═══════════════════════════════════════════════════════════════════════════════
|
|
28
|
+
|
|
29
|
+
· install it from its official source and run it
|
|
30
|
+
|
|
31
|
+
· use it for personal, non-commercial purposes, as often as you like
|
|
32
|
+
|
|
33
|
+
· keep it installed for as long as you like
|
|
34
|
+
|
|
35
|
+
· read the source to understand how it works
|
|
36
|
+
|
|
37
|
+
═══════════════════════════════════════════════════════════════════════════════
|
|
38
|
+
WHAT YOU MAY NOT DO
|
|
39
|
+
═══════════════════════════════════════════════════════════════════════════════
|
|
40
|
+
|
|
41
|
+
· modify it, adapt it, translate it, or create a derivative of it
|
|
42
|
+
|
|
43
|
+
· copy it, distribute it, publish it, mirror it, or make it available to
|
|
44
|
+
anybody else by any means, including over a network
|
|
45
|
+
|
|
46
|
+
· upload it to any code host, package registry, website, forum or chat
|
|
47
|
+
|
|
48
|
+
· sell it, resell it, rent it, charge for it, or charge for access to it
|
|
49
|
+
|
|
50
|
+
· bundle it into anything you supply to another person
|
|
51
|
+
|
|
52
|
+
· use it for any commercial purpose, or in the course of a business
|
|
53
|
+
|
|
54
|
+
· use the name "Uncle Sam" or "Operating Tag" to promote or endorse
|
|
55
|
+
anything, or to suggest a connection that does not exist
|
|
56
|
+
|
|
57
|
+
═══════════════════════════════════════════════════════════════════════════════
|
|
58
|
+
THE OFFICIAL SOURCES — ONE RULE THAT MATTERS
|
|
59
|
+
═══════════════════════════════════════════════════════════════════════════════
|
|
60
|
+
|
|
61
|
+
There are exactly two places where this software may legitimately be obtained:
|
|
62
|
+
|
|
63
|
+
1. the GitHub repository operated by Operating Tag
|
|
64
|
+
2. the npm package @operatingtag/dsh-unclesam
|
|
65
|
+
|
|
66
|
+
A copy obtained anywhere else is not licensed, whoever supplied it and however
|
|
67
|
+
it was described. If you see this software for sale, it is not being sold by its
|
|
68
|
+
author.
|
|
69
|
+
|
|
70
|
+
═══════════════════════════════════════════════════════════════════════════════
|
|
71
|
+
THE LEGAL LICENCE
|
|
72
|
+
═══════════════════════════════════════════════════════════════════════════════
|
|
73
|
+
|
|
74
|
+
This work is licensed under the Creative Commons
|
|
75
|
+
Attribution-NonCommercial-NoDerivatives 4.0 International Public License
|
|
76
|
+
("CC BY-NC-ND 4.0").
|
|
77
|
+
|
|
78
|
+
The summary above describes the intent. The licence text below is the binding
|
|
79
|
+
agreement, and where the two appear to differ the licence text governs.
|
|
80
|
+
|
|
81
|
+
Full licence, human-readable summary, and legal code:
|
|
82
|
+
https://creativecommons.org/licenses/by-nc-nd/4.0/
|
|
83
|
+
|
|
84
|
+
Attribution Notice, as required by Section 3(a)(1)(A):
|
|
85
|
+
|
|
86
|
+
Title: Uncle Sam (dsh-unclesam)
|
|
87
|
+
Creator: Darren T. Weldon, publishing as Operating Tag
|
|
88
|
+
Source: the GitHub repository operated by Operating Tag
|
|
89
|
+
Licence: CC BY-NC-ND 4.0
|
|
90
|
+
Changes: none permitted — this is unadapted material
|
|
91
|
+
|
|
92
|
+
═══════════════════════════════════════════════════════════════════════════════
|
|
93
|
+
A NOTE ON WHAT THIS LICENCE DOES AND DOES NOT ALLOW
|
|
94
|
+
═══════════════════════════════════════════════════════════════════════════════
|
|
95
|
+
|
|
96
|
+
Two points are worth stating plainly, because they are where people get this
|
|
97
|
+
wrong.
|
|
98
|
+
|
|
99
|
+
Non-commercial means non-commercial. Under the licence, "NonCommercial" means
|
|
100
|
+
not primarily intended for or directed towards commercial advantage or monetary
|
|
101
|
+
compensation. A company using this in its business is not a non-commercial use,
|
|
102
|
+
whatever it was told.
|
|
103
|
+
|
|
104
|
+
No derivative works means no derivative works. Reading the source is permitted.
|
|
105
|
+
Changing it is not, and neither is publishing a changed copy. The licence
|
|
106
|
+
expressly withholds permission to share adapted material.
|
|
107
|
+
|
|
108
|
+
If you need either of those rights — commercial use, or the right to modify and
|
|
109
|
+
distribute — they are available under a separate written licence from Operating
|
|
110
|
+
Tag. Ask, and you will get a straight answer and a clear price.
|
|
111
|
+
|
|
112
|
+
═══════════════════════════════════════════════════════════════════════════════
|
|
113
|
+
ONGOING DEVELOPMENT
|
|
114
|
+
═══════════════════════════════════════════════════════════════════════════════
|
|
115
|
+
|
|
116
|
+
This software is under active development and you should expect bugs. It drives
|
|
117
|
+
a third-party website that changes without notice, and it is not affiliated
|
|
118
|
+
with, endorsed by, or supported by that third party.
|
|
119
|
+
|
|
120
|
+
It is provided as-is and as-available. The disclaimer of warranties in Section 5
|
|
121
|
+
of the licence is not decoration — nothing here is promised to work, to keep
|
|
122
|
+
working, or to be free of defects.
|
|
123
|
+
|
|
124
|
+
═══════════════════════════════════════════════════════════════════════════════
|
|
125
|
+
THE ASK
|
|
126
|
+
═══════════════════════════════════════════════════════════════════════════════
|
|
127
|
+
|
|
128
|
+
This is written by one person, at night, funded by nothing. Fifty-one languages
|
|
129
|
+
were written out by hand and each was tested until it behaved.
|
|
130
|
+
|
|
131
|
+
If it saved you money or an afternoon:
|
|
132
|
+
|
|
133
|
+
https://revolut.me/operatingtag
|
|
134
|
+
|
|
135
|
+
That is a request. It carries no legal weight, it is not a condition of the
|
|
136
|
+
licence, and ignoring it changes nothing about your rights.
|
|
137
|
+
|
|
138
|
+
═══════════════════════════════════════════════════════════════════════════════
|
|
139
|
+
|
|
140
|
+
Creative Commons is not a party to this licence and provides no legal services.
|
|
141
|
+
The full text of CC BY-NC-ND 4.0 is published by Creative Commons at
|
|
142
|
+
https://creativecommons.org/licenses/by-nc-nd/4.0/legalcode
|
|
143
|
+
|
|
144
|
+
-- Operating Tag, October 2026
|
package/README.de.md
ADDED
|
@@ -0,0 +1,274 @@
|
|
|
1
|
+
[English](README.md) · [Español](README.es.md) · [Français](README.fr.md) · **Deutsch** · [Português](README.pt.md) · [Italiano](README.it.md) · [Türkçe](README.tr.md) · [한국어](README.ko.md) · [日本語](README.ja.md) · [简体中文](README.zh.md) · [Русский](README.ru.md) · [Polski](README.pl.md) · [हिन्दी](README.hi.md) · [Nederlands](README.nl.md) · [Українська](README.uk.md) · [Tiếng Việt](README.vi.md) · [Bahasa Indonesia](README.id.md)
|
|
2
|
+
|
|
3
|
+
# Uncle Sam
|
|
4
|
+
|
|
5
|
+
**Ein Anbieter für DeepSeek Harness, der über Ihren eigenen Browser antwortet — mit dem Web-Konto, das Sie schon haben, statt über die abgerechnete API.**
|
|
6
|
+
|
|
7
|
+
**☕ [Kauf mir einen Kaffee](https://revolut.me/operatingtag)** — geschrieben von einer Person, nachts, ohne Finanzierung. Es gibt kein anderes Geschäftsmodell. Ein Stern oder ein guter Fehlerbericht ist genauso viel wert.
|
|
8
|
+
|
|
9
|
+
> **Dieses Produkt wird aktiv weiterentwickelt. Rechnen Sie mit Fehlern.**
|
|
10
|
+
>
|
|
11
|
+
> Es funktioniert, es ist schnell, und es läuft seit Wochen täglich — aber es ändert sich ständig, und der
|
|
12
|
+
> Browser-Weg hängt von einer Website ab, die sich ohne Vorwarnung ändert. Wenn etwas kaputtgeht, sind ein
|
|
13
|
+
> Screenshot und die Versionsnummer mehr wert als eine Beschreibung. Legen Sie sich auf eine Version fest, wenn
|
|
14
|
+
> Sie davon abhängen.
|
|
15
|
+
|
|
16
|
+
```
|
|
17
|
+
Anbieter deepseek-web
|
|
18
|
+
Modelle deepseek-chat · deepseek-chat-search · deepseek-reasoner · deepseek-reasoner-search
|
|
19
|
+
Kosten nichts pro Token — es nutzt das Abonnement, das in Ihrem Browser bereits offen ist
|
|
20
|
+
Status in Entwicklung — mit Fehlern rechnen
|
|
21
|
+
gemessen erstes Token ~1,9 s · Overhead ~0,6 s · ein ganzer Zug in ~2,5 s
|
|
22
|
+
```
|
|
23
|
+
|
|
24
|
+
Antworten über den Web-Weg sind mit **🔴 Uncle Sam** signiert. Der Name ist ein Scherz, keine Behauptung: er
|
|
25
|
+
zeigt, welcher Weg geantwortet hat, und API-Antworten tragen überhaupt keine Signatur. Sie wissen immer, wer
|
|
26
|
+
Ihnen geantwortet hat.
|
|
27
|
+
|
|
28
|
+
---
|
|
29
|
+
|
|
30
|
+
## Was es Ihnen spart
|
|
31
|
+
|
|
32
|
+
Die API rechnet pro Token ab. Das Web-Produkt nicht. Dieses Plugin registriert `deepseek-web` als
|
|
33
|
+
Modellanbieter und beantwortet jeden Aufruf, indem es `chat.deepseek.com` in einem echten Browser steuert — die
|
|
34
|
+
Seite erledigt die Arbeit, der Browser hält die Sitzung, und nichts wird gemessen.
|
|
35
|
+
|
|
36
|
+
| | API-Weg | Web-Weg |
|
|
37
|
+
|---|---|---|
|
|
38
|
+
| Kosten | pro Token, dauerhaft | nichts über das Abonnement hinaus |
|
|
39
|
+
| Tempo | schnell | ~2,5 s pro Zug, gemessen |
|
|
40
|
+
| Werkzeugaufrufe | nativ und zuverlässig | emuliert, funktioniert, aber schwächer |
|
|
41
|
+
| Hängt ab von | der API | einer Website, die sich ohne Vorwarnung ändert |
|
|
42
|
+
|
|
43
|
+
**Beide Wege bleiben installiert.** Der Modellwähler ist der Schalter: Sie können den günstigen Weg als
|
|
44
|
+
Standard nutzen und zur API greifen, wenn eine Aufgabe zuverlässige Werkzeuge braucht.
|
|
45
|
+
|
|
46
|
+
---
|
|
47
|
+
|
|
48
|
+
## Installation
|
|
49
|
+
|
|
50
|
+
Uncle Sam ist ein **DeepSeek-Harness-Plugin**. Außerhalb des Harness tut es nichts, weil es einen
|
|
51
|
+
Modellanbieter, eine Host-Route und zwei Oberflächenplätze registriert.
|
|
52
|
+
|
|
53
|
+
**Voraussetzungen**
|
|
54
|
+
|
|
55
|
+
| | |
|
|
56
|
+
|---|---|
|
|
57
|
+
| DeepSeek Harness | jede neuere Version mit Plugin-Manager |
|
|
58
|
+
| Browser | Brave empfohlen, Edge wird automatisch genutzt, wenn Brave fehlt |
|
|
59
|
+
| Node | 22 oder neuer |
|
|
60
|
+
|
|
61
|
+
**Von npm**
|
|
62
|
+
|
|
63
|
+
```bash
|
|
64
|
+
pnpm add @operatingtag/dsh-unclesam
|
|
65
|
+
```
|
|
66
|
+
|
|
67
|
+
**Aus diesem Repository**
|
|
68
|
+
|
|
69
|
+
```bash
|
|
70
|
+
git clone https://github.com/operatingtag/dsh-unclesam
|
|
71
|
+
cd dsh-unclesam
|
|
72
|
+
pnpm install
|
|
73
|
+
```
|
|
74
|
+
|
|
75
|
+
Dann fügen Sie die Paketzeile zu Ihrem Profil hinzu, damit das Harness es lädt:
|
|
76
|
+
|
|
77
|
+
```yaml
|
|
78
|
+
# cordis.patch.yml
|
|
79
|
+
- insert:
|
|
80
|
+
- id: dsh-unclesam
|
|
81
|
+
name: '@operatingtag/dsh-unclesam'
|
|
82
|
+
config:
|
|
83
|
+
port: 9222
|
|
84
|
+
defaultModel: deepseek-chat-search
|
|
85
|
+
autoMinimise: true
|
|
86
|
+
```
|
|
87
|
+
|
|
88
|
+
**Oder aus einem Ordner:** Einstellungen → Plugins → aus einem lokalen Pfad installieren, auf den Ordner mit
|
|
89
|
+
der `package.json` zeigen.
|
|
90
|
+
|
|
91
|
+
### Erster Start
|
|
92
|
+
|
|
93
|
+
Klicken Sie auf **Anmelden / Chat öffnen**. Der Browser öffnet sich und **bleibt sichtbar**, bis Sie sich bei
|
|
94
|
+
chat.deepseek.com angemeldet haben. Danach minimiert er sich selbst und Sie sehen ihn nicht wieder. Die Sitzung
|
|
95
|
+
liegt in Ihrem Browser-Profil — **das Plugin speichert kein Passwort**, es gibt also nichts, was geleakt werden
|
|
96
|
+
könnte.
|
|
97
|
+
|
|
98
|
+
Danach sollten Sie sehen:
|
|
99
|
+
|
|
100
|
+
1. **Einstellungen → Uncle Sam** — eine Seite mit Statuszeilen und einer Anmeldeschaltfläche.
|
|
101
|
+
2. **Unter dem Eingabefeld** — `● DeepSeek Harness` oder `● Uncle Sam`, klicken zum Umschalten.
|
|
102
|
+
3. **Die Modellliste** — vier `(web)`-Modelle neben denen der API.
|
|
103
|
+
|
|
104
|
+
### Entfernen
|
|
105
|
+
|
|
106
|
+
Einstellungen → Plugins → Uncle Sam → Deinstallieren. Außerhalb des Browser-Profils, mit dem Sie sich angemeldet
|
|
107
|
+
haben, wird nichts geschrieben.
|
|
108
|
+
|
|
109
|
+
---
|
|
110
|
+
|
|
111
|
+
## Der Schalter API / Web
|
|
112
|
+
|
|
113
|
+
**Der Modellwähler ist der Schalter.** Es gibt kein zweites Bedienelement, denn ein zweites Bedienelement, das
|
|
114
|
+
auch das Modell wählt, wären zwei Wahrheiten für eine Entscheidung.
|
|
115
|
+
|
|
116
|
+
| Wählen Sie dieses Modell | Weg | DeepThink | Suche |
|
|
117
|
+
|---|---|---|---|
|
|
118
|
+
| `DeepSeek Chat (web)` | Browser | aus | aus |
|
|
119
|
+
| `DeepSeek Chat + Search (web)` | Browser | aus | **an** |
|
|
120
|
+
| `DeepSeek Reasoner (web)` | Browser | **an** | aus |
|
|
121
|
+
| `DeepSeek Reasoner + Search (web)` | Browser | **an** | **an** |
|
|
122
|
+
| jedes Modell ohne `(web)` | API | — | — |
|
|
123
|
+
|
|
124
|
+
Neben der Modellbezeichnung erscheint ein Abzeichen **WEB** oder **API**, damit der aktive Weg auf einen Blick
|
|
125
|
+
sichtbar ist. Wird die Bezeichnung nicht erkannt, zeigt das Abzeichen nichts, statt zu raten — ein falsches
|
|
126
|
+
Abzeichen wäre schlimmer als keins.
|
|
127
|
+
|
|
128
|
+
Ihre Wahl bleibt über Neustarts erhalten. **DeepThink** ist der Denk-Durchlauf; **Suche** lässt es das live Netz
|
|
129
|
+
lesen.
|
|
130
|
+
|
|
131
|
+
### Die Suche ist im Verlauf sichtbar
|
|
132
|
+
|
|
133
|
+
Mit einem Suchmodell erzeugt ein Zug **zwei Blöcke** — die Suchanfrage, die gefundenen Quellen und dann die
|
|
134
|
+
Antwort, die sie nutzt:
|
|
135
|
+
|
|
136
|
+
```
|
|
137
|
+
Websuche — „Welche Technik-Schlagzeile gibt es heute?“
|
|
138
|
+
Quellen (4): yna.co.kr · fnnews.com · rthk.hk · sina.com.cn
|
|
139
|
+
Links: https://k.sina.com.cn/article_... http://www.21jingji.com/article_...
|
|
140
|
+
```
|
|
141
|
+
|
|
142
|
+
Die Seite gibt die intern eingegebene Suchanfrage nicht preis; die zitierte Anfrage ist also die Nachricht, die
|
|
143
|
+
die Suche ausgelöst hat. Quellen und Links werden von der Seite gelesen, sobald die Antwort steht. Weil Quellen
|
|
144
|
+
erst am Ende existieren, **puffern Suchzüge, statt zu streamen**; gewöhnliche Züge streamen weiterhin Token für
|
|
145
|
+
Token.
|
|
146
|
+
|
|
147
|
+
---
|
|
148
|
+
|
|
149
|
+
## Warum ein Browser und nicht ihre HTTP-API
|
|
150
|
+
|
|
151
|
+
Der naheliegende Weg — die eigene API von `chat.deepseek.com` aufrufen — wurde versucht und verworfen. Die
|
|
152
|
+
Website lässt jede Nachricht durch zwei Tore:
|
|
153
|
+
|
|
154
|
+
| Tor | Was es bedeutet |
|
|
155
|
+
|---|---|
|
|
156
|
+
| `/api/v0/chat/create_pow_challenge` | eine **Proof-of-Work**-Aufgabe pro Nachricht |
|
|
157
|
+
| `challenges.cloudflare.com/turnstile` | eine Bot-Sperre am Ursprung |
|
|
158
|
+
|
|
159
|
+
Beides nachzubauen ist ein verlorenes Spiel: es ist verschleiert, es ändert sich, und wenn es sich ändert, sieht
|
|
160
|
+
der Fehler genau wie ein Netzwerkfehler aus. **Die Seite löst beides bereits für ihre eigenen Anfragen.**
|
|
161
|
+
|
|
162
|
+
Der Adapter spricht also nie HTTP mit der Website. Er steuert die Seite, und die Seite macht den Rest.
|
|
163
|
+
Anmeldung, Proof-of-Work und Turnstile sind nicht mehr unser Problem und können nicht unabhängig von der
|
|
164
|
+
Website kaputtgehen.
|
|
165
|
+
|
|
166
|
+
**Geprüft:** ein einfaches `HEAD` an die Website liefert `403`; der Browser-Weg liefert Antworten.
|
|
167
|
+
|
|
168
|
+
---
|
|
169
|
+
|
|
170
|
+
## Grenzen, ehrlich benannt
|
|
171
|
+
|
|
172
|
+
**Werkzeugaufrufe sind emuliert.** Ein Web-Chat hat keinen strukturierten Werkzeugkanal: Werkzeuge werden im
|
|
173
|
+
Prompt beschrieben, und ein Aufruf wird aus der Antwort als JSON-Objekt herausgelesen. Das funktioniert —
|
|
174
|
+
geprüft —, ist aber schwächer als native Werkzeugaufrufe: ein Modell, das die Anweisung ignoriert, antwortet in
|
|
175
|
+
Prosa, und das Harness sieht in diesem Zug keinen Werkzeugeinsatz. **Für schwere agentische Arbeit ist der
|
|
176
|
+
API-Weg zuverlässiger.** Der Web-Weg eignet sich am besten für Unterhaltung, lange Antworten, Subagenten,
|
|
177
|
+
Kompaktierung und jeden Zug, in dem das Modell das Web-Modell sein muss.
|
|
178
|
+
|
|
179
|
+
**Es hängt von einer Website ab, die Sie nicht kontrollieren.** Ändert die Seite ihre Form, muss das Plugin
|
|
180
|
+
mitgehen. Das ist die Warnung zur aktiven Entwicklung oben auf dieser Seite, keine Formalität.
|
|
181
|
+
|
|
182
|
+
**Es ist nicht mit DeepSeek verbunden.** Es wird von ihnen weder unterstützt noch gefördert, und es gibt Ihnen
|
|
183
|
+
keine Rechte an ihrem Dienst. Ihre Nutzung dieses Dienstes richtet sich nach deren Bedingungen.
|
|
184
|
+
|
|
185
|
+
---
|
|
186
|
+
|
|
187
|
+
## Konfiguration
|
|
188
|
+
|
|
189
|
+
`cordis.patch.yml` setzt:
|
|
190
|
+
|
|
191
|
+
| Schlüssel | Standard | Bedeutung |
|
|
192
|
+
|---|---|---|
|
|
193
|
+
| `port` | `9222` | der Debug-Port des Browsers |
|
|
194
|
+
| `defaultModel` | `deepseek-chat-search` | wird benutzt, wenn ein Aufruf kein Modell nennt |
|
|
195
|
+
| `showBrowser` | `true` | ob das Fenster während der Arbeit sichtbar ist |
|
|
196
|
+
|
|
197
|
+
Der Browser muss eine angemeldete Sitzung bei `chat.deepseek.com` haben. Der erste Aufruf startet Brave mit dem
|
|
198
|
+
Profil **Default**, wenn der Port noch nicht offen ist. Läuft Brave bereits *ohne* Debug-Port, kann der Adapter
|
|
199
|
+
sich nicht verbinden und sagt das klar, statt still zu scheitern.
|
|
200
|
+
|
|
201
|
+
---
|
|
202
|
+
|
|
203
|
+
## Aufbau
|
|
204
|
+
|
|
205
|
+
```
|
|
206
|
+
index.js der Adapter: Harness-StreamChunk ←→ Engine
|
|
207
|
+
lib/engine.mjs Browser + Seite: tippen, senden, streamen, zur Ruhe kommen
|
|
208
|
+
lib/cdp.mjs Chrome-DevTools-Protocol-Client, ohne Abhängigkeiten
|
|
209
|
+
lib/prompt.mjs fasst Nachrichten + Werkzeuge zu einer Nachricht zusammen; holt Aufrufe aus der Antwort
|
|
210
|
+
lib/savings.mjs was Ihnen der Web-Weg gespart hat, gegen die API gerechnet
|
|
211
|
+
lib/i18n.mjs 51 Sprachen für das Panel
|
|
212
|
+
```
|
|
213
|
+
|
|
214
|
+
**Keine Abhängigkeiten.** Node 24 bringt `WebSocket` und `fetch` global mit, mehr braucht CDP nicht: der
|
|
215
|
+
Token-Stream verlässt also nie den Host-Prozess und es gibt keinen IPC-Sprung pro Delta.
|
|
216
|
+
|
|
217
|
+
---
|
|
218
|
+
|
|
219
|
+
## Unterstützung
|
|
220
|
+
|
|
221
|
+
Uncle Sam gibt es, damit Sie aufhören, pro Token zu zahlen. Wenn es Ihnen Geld gespart hat und Sie den nächsten
|
|
222
|
+
auf Hardware sehen möchten, die nicht auf halbem Weg der Speicher ausgeht:
|
|
223
|
+
|
|
224
|
+
**[☕ revolut.me/operatingtag](https://revolut.me/operatingtag)**
|
|
225
|
+
|
|
226
|
+
Ein Stern auf dem Repository oder ein brauchbarer Fehlerbericht ist genauso viel wert.
|
|
227
|
+
|
|
228
|
+
---
|
|
229
|
+
|
|
230
|
+
## Lizenz
|
|
231
|
+
|
|
232
|
+
**CC BY-NC-ND 4.0** — Creative Commons Namensnennung — Nicht kommerziell — Keine Bearbeitungen 4.0
|
|
233
|
+
International. Copyright (c) 2026 Darren T. Weldon, veröffentlicht unter dem Namen Operating Tag.
|
|
234
|
+
|
|
235
|
+
**Der ganze Deal in einer Zeile: installieren und persönlich kostenlos nutzen. Nicht ändern, nicht
|
|
236
|
+
weitergeben, nicht verkaufen und nicht in einem Unternehmen einsetzen.**
|
|
237
|
+
|
|
238
|
+
Das ist kein Open Source, und es behauptet es auch nicht.
|
|
239
|
+
|
|
240
|
+
```
|
|
241
|
+
Sie dürfen es installieren und ausführen · es persönlich und nicht kommerziell nutzen
|
|
242
|
+
den Quellcode lesen, um ihn zu verstehen
|
|
243
|
+
|
|
244
|
+
Sie dürfen es nicht ändern, anpassen oder ein abgeleitetes Werk daraus machen
|
|
245
|
+
nicht es nicht kopieren, verbreiten, veröffentlichen, spiegeln oder
|
|
246
|
+
irgendwem zugänglich machen
|
|
247
|
+
es nicht auf eine Code-Plattform, ein Register, eine Website,
|
|
248
|
+
ein Forum oder einen Chat hochladen
|
|
249
|
+
es nicht verkaufen, weiterverkaufen, vermieten oder dafür oder
|
|
250
|
+
für den Zugang dazu Geld verlangen
|
|
251
|
+
es nicht in etwas einbinden, das Sie anderen liefern
|
|
252
|
+
es nicht kommerziell oder im Rahmen einer Geschäftstätigkeit nutzen
|
|
253
|
+
```
|
|
254
|
+
|
|
255
|
+
**Die beiden einzigen legitimen Quellen sind dieses Repository und das npm-Paket
|
|
256
|
+
[`@operatingtag/dsh-unclesam`](https://www.npmjs.com/package/@operatingtag/dsh-unclesam).** Eine Kopie von
|
|
257
|
+
anderswo ist nicht lizenziert, egal wer sie bereitgestellt hat. Wenn Sie diese Software zum Verkauf sehen,
|
|
258
|
+
verkauft sie nicht ihr Autor.
|
|
259
|
+
|
|
260
|
+
**Kommerzielle Nutzung sowie das Recht zu ändern und zu verbreiten gibt es unter einer separaten schriftlichen
|
|
261
|
+
Lizenz.** Fragen Sie Operating Tag — Sie bekommen eine klare Antwort und einen klaren Preis.
|
|
262
|
+
|
|
263
|
+
Die Datei [LICENSE](LICENSE) ist maßgeblich, und sie beginnt mit derselben Zusammenfassung in einfachem
|
|
264
|
+
Englisch.
|
|
265
|
+
|
|
266
|
+
---
|
|
267
|
+
|
|
268
|
+
Uncle Sam ist ein unabhängiges Plugin. Nicht mit DeepSeek verbunden, von ihnen weder unterstützt noch gefördert.
|
|
269
|
+
|
|
270
|
+
```
|
|
271
|
+
@operatingtag/dsh-unclesam v1.0.1
|
|
272
|
+
Autor Operating Tag
|
|
273
|
+
Lizenz CC BY-NC-ND 4.0 — frei zur Nutzung, nicht zum Ändern, Weitergabe oder Verkauf
|
|
274
|
+
```
|
package/README.es.md
ADDED
|
@@ -0,0 +1,268 @@
|
|
|
1
|
+
[English](README.md) · **Español** · [Français](README.fr.md) · [Deutsch](README.de.md) · [Português](README.pt.md) · [Italiano](README.it.md) · [Türkçe](README.tr.md) · [한국어](README.ko.md) · [日本語](README.ja.md) · [简体中文](README.zh.md) · [Русский](README.ru.md) · [Polski](README.pl.md) · [हिन्दी](README.hi.md) · [Nederlands](README.nl.md) · [Українська](README.uk.md) · [Tiếng Việt](README.vi.md) · [Bahasa Indonesia](README.id.md)
|
|
2
|
+
|
|
3
|
+
# Uncle Sam
|
|
4
|
+
|
|
5
|
+
**Un proveedor para DeepSeek Harness que responde a través de tu propio navegador, con la cuenta web que ya tienes, en lugar de la API de pago.**
|
|
6
|
+
|
|
7
|
+
**☕ [Invítame a un café](https://revolut.me/operatingtag)** — lo escribe una persona, de noche, sin financiación. No hay otro modelo de ingresos. Una estrella o un informe de fallo vale lo mismo.
|
|
8
|
+
|
|
9
|
+
> **Este producto está en desarrollo activo. Espera fallos.**
|
|
10
|
+
>
|
|
11
|
+
> Funciona, es rápido y se ha usado a diario durante semanas, pero cambia con frecuencia y la ruta del
|
|
12
|
+
> navegador depende de un sitio web que cambia sin avisar. Si algo se rompe, una captura de pantalla y el
|
|
13
|
+
> número de versión valen más que una descripción. Fija una versión si dependes de él.
|
|
14
|
+
|
|
15
|
+
```
|
|
16
|
+
proveedor deepseek-web
|
|
17
|
+
modelos deepseek-chat · deepseek-chat-search · deepseek-reasoner · deepseek-reasoner-search
|
|
18
|
+
coste nada por token: usa la suscripción que ya tienes abierta en el navegador
|
|
19
|
+
estado en desarrollo — espera fallos
|
|
20
|
+
medido primer token ~1,9 s · sobrecoste ~0,6 s · un turno completo en ~2,5 s
|
|
21
|
+
```
|
|
22
|
+
|
|
23
|
+
Las respuestas de la ruta web van firmadas con **🔴 Uncle Sam**. El nombre es una broma, no una afirmación:
|
|
24
|
+
marca qué ruta ha respondido, y las respuestas de la API no llevan firma. Siempre sabes cuál de las dos te ha
|
|
25
|
+
contestado.
|
|
26
|
+
|
|
27
|
+
---
|
|
28
|
+
|
|
29
|
+
## Qué te ahorra
|
|
30
|
+
|
|
31
|
+
La API cobra por token. El producto web no. Este plugin registra `deepseek-web` como proveedor de modelos y
|
|
32
|
+
responde cada llamada conduciendo `chat.deepseek.com` en un navegador real: la página hace el trabajo, el
|
|
33
|
+
navegador mantiene la sesión y no se factura nada.
|
|
34
|
+
|
|
35
|
+
| | Ruta API | Ruta web |
|
|
36
|
+
|---|---|---|
|
|
37
|
+
| Coste | por token, siempre | nada más allá de la suscripción |
|
|
38
|
+
| Velocidad | rápida | ~2,5 s por turno, medido |
|
|
39
|
+
| Llamadas a herramientas | nativas y fiables | emuladas, funciona pero es más débil |
|
|
40
|
+
| Depende de | la API | un sitio web que cambia sin avisar |
|
|
41
|
+
|
|
42
|
+
**Las dos rutas quedan instaladas.** El selector de modelo es el interruptor, así que puedes usar la barata por
|
|
43
|
+
defecto y recurrir a la API cuando una tarea necesite herramientas fiables.
|
|
44
|
+
|
|
45
|
+
---
|
|
46
|
+
|
|
47
|
+
## Instalación
|
|
48
|
+
|
|
49
|
+
Uncle Sam es un **plugin de DeepSeek Harness**. No hace nada fuera del harness, porque registra un proveedor de
|
|
50
|
+
modelos, una ruta del host y dos espacios de interfaz.
|
|
51
|
+
|
|
52
|
+
**Requisitos**
|
|
53
|
+
|
|
54
|
+
| | |
|
|
55
|
+
|---|---|
|
|
56
|
+
| DeepSeek Harness | cualquier versión reciente con gestor de plugins |
|
|
57
|
+
| Navegador | Brave recomendado; Edge se usa automáticamente si falta Brave |
|
|
58
|
+
| Node | 22 o superior |
|
|
59
|
+
|
|
60
|
+
**Desde npm**
|
|
61
|
+
|
|
62
|
+
```bash
|
|
63
|
+
pnpm add @operatingtag/dsh-unclesam
|
|
64
|
+
```
|
|
65
|
+
|
|
66
|
+
**Desde este repositorio**
|
|
67
|
+
|
|
68
|
+
```bash
|
|
69
|
+
git clone https://github.com/operatingtag/dsh-unclesam
|
|
70
|
+
cd dsh-unclesam
|
|
71
|
+
pnpm install
|
|
72
|
+
```
|
|
73
|
+
|
|
74
|
+
Después añade la fila del paquete a tu perfil para que el harness lo cargue:
|
|
75
|
+
|
|
76
|
+
```yaml
|
|
77
|
+
# cordis.patch.yml
|
|
78
|
+
- insert:
|
|
79
|
+
- id: dsh-unclesam
|
|
80
|
+
name: '@operatingtag/dsh-unclesam'
|
|
81
|
+
config:
|
|
82
|
+
port: 9222
|
|
83
|
+
defaultModel: deepseek-chat-search
|
|
84
|
+
autoMinimise: true
|
|
85
|
+
```
|
|
86
|
+
|
|
87
|
+
**O desde una carpeta:** Ajustes → Plugins → instalar desde una ruta local, apuntando a la carpeta que contiene
|
|
88
|
+
`package.json`.
|
|
89
|
+
|
|
90
|
+
### Primera ejecución
|
|
91
|
+
|
|
92
|
+
Pulsa **Iniciar sesión / abrir el chat**. El navegador se abre y **permanece visible** hasta que hayas iniciado
|
|
93
|
+
sesión en chat.deepseek.com. Después se minimiza solo y no lo volverás a ver. La sesión vive en tu perfil del
|
|
94
|
+
navegador, así que **el plugin no guarda ninguna contraseña**: no hay nada que filtrar.
|
|
95
|
+
|
|
96
|
+
Deberías ver entonces:
|
|
97
|
+
|
|
98
|
+
1. **Ajustes → Uncle Sam** — una página con filas de estado y un botón de inicio de sesión.
|
|
99
|
+
2. **Bajo la caja de chat** — `● DeepSeek Harness` o `● Uncle Sam`, pulsa para cambiar.
|
|
100
|
+
3. **La lista de modelos** — cuatro modelos `(web)` junto a los de la API.
|
|
101
|
+
|
|
102
|
+
### Desinstalarlo
|
|
103
|
+
|
|
104
|
+
Ajustes → Plugins → Uncle Sam → Desinstalar. No se escribe nada fuera del perfil del navegador con el que
|
|
105
|
+
iniciaste sesión.
|
|
106
|
+
|
|
107
|
+
---
|
|
108
|
+
|
|
109
|
+
## El interruptor API / web
|
|
110
|
+
|
|
111
|
+
**El selector de modelo es el interruptor.** No hay un segundo control, porque un segundo control que además
|
|
112
|
+
eligiera el modelo serían dos fuentes de verdad para una sola decisión.
|
|
113
|
+
|
|
114
|
+
| Elige este modelo | Ruta | DeepThink | Búsqueda |
|
|
115
|
+
|---|---|---|---|
|
|
116
|
+
| `DeepSeek Chat (web)` | navegador | no | no |
|
|
117
|
+
| `DeepSeek Chat + Search (web)` | navegador | no | **sí** |
|
|
118
|
+
| `DeepSeek Reasoner (web)` | navegador | **sí** | no |
|
|
119
|
+
| `DeepSeek Reasoner + Search (web)` | navegador | **sí** | **sí** |
|
|
120
|
+
| cualquier modelo sin `(web)` | la API | — | — |
|
|
121
|
+
|
|
122
|
+
Una insignia **WEB** o **API** aparece junto a la etiqueta del modelo para que la ruta activa se vea de un
|
|
123
|
+
vistazo. Cuando la etiqueta no se reconoce, la insignia no muestra nada en lugar de adivinar: una insignia
|
|
124
|
+
equivocada sería peor que ninguna.
|
|
125
|
+
|
|
126
|
+
Tu elección se mantiene entre reinicios. **DeepThink** es la pasada de razonamiento; **Búsqueda** le permite
|
|
127
|
+
leer la web en vivo.
|
|
128
|
+
|
|
129
|
+
### La búsqueda se ve en la conversación
|
|
130
|
+
|
|
131
|
+
Con un modelo de búsqueda, un turno produce **dos bloques**: la consulta con la que buscó, las fuentes que
|
|
132
|
+
encontró y después la respuesta que las usó.
|
|
133
|
+
|
|
134
|
+
```
|
|
135
|
+
Búsqueda web — "¿Cuál es un titular tecnológico de hoy?"
|
|
136
|
+
Fuentes (4): yna.co.kr · fnnews.com · rthk.hk · sina.com.cn
|
|
137
|
+
Enlaces: https://k.sina.com.cn/article_... http://www.21jingji.com/article_...
|
|
138
|
+
```
|
|
139
|
+
|
|
140
|
+
La página no expone la consulta que escribió internamente, así que la consulta citada es el mensaje que
|
|
141
|
+
provocó la búsqueda. Las fuentes y los enlaces se leen de la página cuando la respuesta se asienta. Como las
|
|
142
|
+
fuentes solo existen al final, **los turnos con búsqueda se acumulan en lugar de emitirse en streaming**; los
|
|
143
|
+
turnos normales siguen emitiéndose token a token.
|
|
144
|
+
|
|
145
|
+
---
|
|
146
|
+
|
|
147
|
+
## Por qué un navegador y no su API HTTP
|
|
148
|
+
|
|
149
|
+
La ruta obvia —llamar a la API propia de `chat.deepseek.com`— se intentó y se abandonó. El sitio hace que cada
|
|
150
|
+
mensaje pase dos puertas:
|
|
151
|
+
|
|
152
|
+
| Puerta | Qué significa |
|
|
153
|
+
|---|---|
|
|
154
|
+
| `/api/v0/chat/create_pow_challenge` | un desafío de **prueba de trabajo** por mensaje |
|
|
155
|
+
| `challenges.cloudflare.com/turnstile` | una barrera anti-bots en el origen |
|
|
156
|
+
|
|
157
|
+
Reimplementar cualquiera de las dos es perder el tiempo: están ofuscadas, cambian, y cuando cambian el fallo
|
|
158
|
+
parece exactamente un fallo de red. **La página ya resuelve ambas para sus propias peticiones.**
|
|
159
|
+
|
|
160
|
+
Así que el adaptador nunca habla HTTP con el sitio. Conduce la página, y la página hace el resto. La
|
|
161
|
+
autenticación, la prueba de trabajo y Turnstile dejan de ser nuestro problema y no pueden romperse de forma
|
|
162
|
+
independiente al propio sitio.
|
|
163
|
+
|
|
164
|
+
**Verificado:** un `HEAD` simple al sitio devuelve `403`; la ruta del navegador devuelve respuestas.
|
|
165
|
+
|
|
166
|
+
---
|
|
167
|
+
|
|
168
|
+
## Límites, dichos con honestidad
|
|
169
|
+
|
|
170
|
+
**El uso de herramientas está emulado.** Un chat web no tiene canal estructurado de herramientas, así que las
|
|
171
|
+
herramientas se describen en el mensaje y una llamada se recupera analizando un objeto JSON de la respuesta.
|
|
172
|
+
Funciona —verificado— pero es más débil que las llamadas nativas: un modelo que ignora la instrucción responde
|
|
173
|
+
en prosa y el harness no ve ninguna herramienta ese turno. **Para trabajo agéntico pesado, la ruta API es más
|
|
174
|
+
fiable.** La ruta web es mejor para conversación, respuestas largas, subagentes, compactación y cualquier turno
|
|
175
|
+
en el que el modelo deba ser el modelo web.
|
|
176
|
+
|
|
177
|
+
**Depende de un sitio web que no controlas.** Cuando la página cambia de forma, el plugin tiene que cambiar con
|
|
178
|
+
ella. Eso es la advertencia de desarrollo activo de arriba, no una formalidad.
|
|
179
|
+
|
|
180
|
+
**No está afiliado a DeepSeek.** No está respaldado por ellos y no te da ningún derecho sobre su servicio. Tu
|
|
181
|
+
uso de ese servicio se rige por sus términos.
|
|
182
|
+
|
|
183
|
+
---
|
|
184
|
+
|
|
185
|
+
## Configuración
|
|
186
|
+
|
|
187
|
+
`cordis.patch.yml` define:
|
|
188
|
+
|
|
189
|
+
| clave | por defecto | significado |
|
|
190
|
+
|---|---|---|
|
|
191
|
+
| `port` | `9222` | el puerto de depuración del navegador |
|
|
192
|
+
| `defaultModel` | `deepseek-chat-search` | se usa cuando una llamada no indica modelo |
|
|
193
|
+
| `showBrowser` | `true` | si la ventana es visible mientras trabaja |
|
|
194
|
+
|
|
195
|
+
El navegador debe tener una sesión iniciada en `chat.deepseek.com`. La primera llamada abre Brave con el perfil
|
|
196
|
+
**Default** si el puerto no está ya abierto. Si Brave ya se está ejecutando *sin* puerto de depuración, el
|
|
197
|
+
adaptador no puede conectarse y lo dice claramente en lugar de fallar en silencio.
|
|
198
|
+
|
|
199
|
+
---
|
|
200
|
+
|
|
201
|
+
## Arquitectura
|
|
202
|
+
|
|
203
|
+
```
|
|
204
|
+
index.js el adaptador: StreamChunk del harness ←→ motor
|
|
205
|
+
lib/engine.mjs navegador + página: escribir, enviar, transmitir, asentar
|
|
206
|
+
lib/cdp.mjs cliente del Chrome DevTools Protocol, sin dependencias
|
|
207
|
+
lib/prompt.mjs aplana mensajes + herramientas en un mensaje; recupera llamadas de la respuesta
|
|
208
|
+
lib/savings.mjs lo que te ahorró la ruta web, valorado contra la API
|
|
209
|
+
lib/i18n.mjs 51 idiomas para el panel
|
|
210
|
+
```
|
|
211
|
+
|
|
212
|
+
**Sin dependencias.** Node 24 incluye `WebSocket` y `fetch` globales, que es todo lo que CDP necesita, así que
|
|
213
|
+
el flujo de tokens nunca sale del proceso host y no hay salto IPC por delta.
|
|
214
|
+
|
|
215
|
+
---
|
|
216
|
+
|
|
217
|
+
## Apoyo
|
|
218
|
+
|
|
219
|
+
Uncle Sam existe para que dejes de pagar por token. Si te ha ahorrado dinero y te gustaría ver el siguiente
|
|
220
|
+
construido sobre hardware que no se queda sin memoria a mitad de camino:
|
|
221
|
+
|
|
222
|
+
**[☕ revolut.me/operatingtag](https://revolut.me/operatingtag)**
|
|
223
|
+
|
|
224
|
+
Una estrella en el repositorio o un informe de fallo útil vale lo mismo.
|
|
225
|
+
|
|
226
|
+
---
|
|
227
|
+
|
|
228
|
+
## Licencia
|
|
229
|
+
|
|
230
|
+
**CC BY-NC-ND 4.0** — Creative Commons Atribución-NoComercial-SinDerivadas 4.0 Internacional.
|
|
231
|
+
Copyright (c) 2026 Darren T. Weldon, publicado bajo el nombre Operating Tag.
|
|
232
|
+
|
|
233
|
+
**Todo el acuerdo, en una línea: instálalo y úsalo, personalmente, gratis. No lo cambies, no lo compartas, no
|
|
234
|
+
lo vendas y no lo uses en una empresa.**
|
|
235
|
+
|
|
236
|
+
Eso no es código abierto, y no pretende serlo.
|
|
237
|
+
|
|
238
|
+
```
|
|
239
|
+
puedes instalarlo y ejecutarlo · usarlo personalmente, sin fines comerciales
|
|
240
|
+
leer el código para entenderlo
|
|
241
|
+
|
|
242
|
+
no puedes modificarlo, adaptarlo ni crear una obra derivada
|
|
243
|
+
copiarlo, distribuirlo, publicarlo, replicarlo ni ponerlo a disposición de nadie
|
|
244
|
+
subirlo a ningún alojamiento de código, registro, web, foro o chat
|
|
245
|
+
venderlo, revenderlo, alquilarlo ni cobrar por él o por acceder a él
|
|
246
|
+
incluirlo en cualquier cosa que entregues a otra persona
|
|
247
|
+
usarlo con cualquier fin comercial ni en el ejercicio de una actividad empresarial
|
|
248
|
+
```
|
|
249
|
+
|
|
250
|
+
**Las dos únicas fuentes legítimas son este repositorio y el paquete npm
|
|
251
|
+
[`@operatingtag/dsh-unclesam`](https://www.npmjs.com/package/@operatingtag/dsh-unclesam).** Una copia que
|
|
252
|
+
venga de cualquier otro sitio no está licenciada, sea quien sea que la haya facilitado. Si ves este software a
|
|
253
|
+
la venta, no lo está vendiendo su autor.
|
|
254
|
+
|
|
255
|
+
**El uso comercial, y el derecho a modificar y distribuir, están disponibles bajo una licencia escrita
|
|
256
|
+
separada.** Pregunta a Operating Tag y recibirás una respuesta clara y un precio claro.
|
|
257
|
+
|
|
258
|
+
El archivo [LICENSE](LICENSE) es el que rige, y abre con el mismo resumen en inglés sencillo.
|
|
259
|
+
|
|
260
|
+
---
|
|
261
|
+
|
|
262
|
+
Uncle Sam es un plugin independiente. No está afiliado, respaldado ni soportado por DeepSeek.
|
|
263
|
+
|
|
264
|
+
```
|
|
265
|
+
@operatingtag/dsh-unclesam v1.0.1
|
|
266
|
+
Autor Operating Tag
|
|
267
|
+
Licencia CC BY-NC-ND 4.0 — gratis para usar, no para cambiar, compartir o vender
|
|
268
|
+
```
|