agent-sin 0.1.0 → 0.1.2
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 +42 -19
- package/README.md +21 -15
- package/dist/core/config.js +3 -21
- package/dist/core/i18n.d.ts +2 -3
- package/dist/core/i18n.js +13 -10
- package/install.ps1 +6 -7
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,17 +1,39 @@
|
|
|
1
|
-
##
|
|
1
|
+
## Changelog
|
|
2
2
|
|
|
3
|
-
agent-sin
|
|
3
|
+
Release history of `agent-sin`. The format follows [Keep a Changelog](https://keepachangelog.com/en/1.1.0/) and the project uses [Semantic Versioning](https://semver.org/).
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
Entry types:
|
|
6
6
|
|
|
7
|
-
- **Added** —
|
|
8
|
-
- **Changed** —
|
|
9
|
-
- **Deprecated** —
|
|
10
|
-
- **Removed** —
|
|
11
|
-
- **Fixed** —
|
|
12
|
-
- **Security** —
|
|
7
|
+
- **Added** — new features
|
|
8
|
+
- **Changed** — changes to existing behavior (backwards-compatible)
|
|
9
|
+
- **Deprecated** — features to be removed in the next major release
|
|
10
|
+
- **Removed** — breaking changes
|
|
11
|
+
- **Fixed** — bug fixes
|
|
12
|
+
- **Security** — security fixes
|
|
13
13
|
|
|
14
|
-
|
|
14
|
+
See the [compatibility policy](https://agent.shingoirie.com/versioning) for details.
|
|
15
|
+
|
|
16
|
+
---
|
|
17
|
+
|
|
18
|
+
## [0.1.2] — 2026-05-14
|
|
19
|
+
|
|
20
|
+
### Fixed
|
|
21
|
+
|
|
22
|
+
- `agent-sin setup` no longer writes `defaults.locale` into `config.toml`. The locale is now resolved fresh on every run from `AGENT_SIN_LOCALE` or the OS-level Intl locale. This prevents a stale `locale = "ja"` from being pinned at first setup (for example via `curl ... install.sh | bash` on a Mac whose shell still inherits `LANG=ja_JP.UTF-8`) and surviving subsequent re-installs.
|
|
23
|
+
- Existing workspaces with the wrong locale: remove the `locale` line from `~/.agent-sin/config.toml`, or run with `AGENT_SIN_LOCALE=en`. `sed -i '' '/^locale = /d' ~/.agent-sin/config.toml` works on macOS.
|
|
24
|
+
|
|
25
|
+
---
|
|
26
|
+
|
|
27
|
+
## [0.1.1] — 2026-05-14
|
|
28
|
+
|
|
29
|
+
### Fixed
|
|
30
|
+
|
|
31
|
+
- Locale auto-detection now prefers the OS-level system locale (Intl) over the shell's `LANG`/`LC_ALL`. A Mac switched to English in System Settings could still inherit `LANG=ja_JP.UTF-8` from a stale shell environment, which persisted `locale = "ja"` into `config.toml` on first setup and pinned the UI to Japanese.
|
|
32
|
+
- If you already have a workspace with the wrong locale, remove the `locale` line from `~/.agent-sin/config.toml` and rerun, or start with `AGENT_SIN_LOCALE=en agent-sin ...`.
|
|
33
|
+
|
|
34
|
+
### Changed
|
|
35
|
+
|
|
36
|
+
- Windows installer one-liner now runs through `powershell -NoProfile -ExecutionPolicy Bypass -Command "irm … | iex"` so the default execution policy does not block the install.
|
|
15
37
|
|
|
16
38
|
---
|
|
17
39
|
|
|
@@ -19,15 +41,16 @@ agent-sin のリリース履歴。形式は [Keep a Changelog](https://keepachan
|
|
|
19
41
|
|
|
20
42
|
### Added
|
|
21
43
|
|
|
22
|
-
-
|
|
23
|
-
- Telegram bot
|
|
24
|
-
- Discord
|
|
25
|
-
-
|
|
26
|
-
- `profile-save`
|
|
27
|
-
- `install.sh`
|
|
28
|
-
-
|
|
44
|
+
- Initial public release. `agent-sin` CLI, skill runtimes (Python / TypeScript), Discord bot, Builder mode, built-in skills, Codex / OpenAI / Gemini / Claude Code provider integrations, and the local memory / index / scheduler foundation.
|
|
45
|
+
- Telegram bot integration (`src/telegram/`). The same chat / build / intent routing used by Discord is now available on Telegram.
|
|
46
|
+
- Discord attachment ingestion (text / images) and a detail mode for build progress.
|
|
47
|
+
- Profile memory (`soul.md` / `user.md` / `memory.md`) with automatic promotion of daily notes (`daily-memory-promotion`).
|
|
48
|
+
- `profile-save` built-in skill.
|
|
49
|
+
- `install.sh` for one-shot setup.
|
|
50
|
+
- Windows install guidance uses a one-run PowerShell execution-policy bypass, so default script policy does not block first install.
|
|
51
|
+
- Compatibility policy ([versioning](https://agent.shingoirie.com/versioning)) and this changelog.
|
|
29
52
|
|
|
30
53
|
### Changed
|
|
31
54
|
|
|
32
|
-
-
|
|
33
|
-
- Discord/Telegram
|
|
55
|
+
- Removed the fixed "started working" announcement when entering build mode. Outside detail mode, no progress message is sent — the agent stays quiet.
|
|
56
|
+
- Build progress on Discord / Telegram is shown in detail only when `AGENT_SIN_DISCORD_PROGRESS_DETAIL=1` / `AGENT_SIN_TELEGRAM_PROGRESS_DETAIL=1` is set, or `progress_detail=true` is configured in the runtime settings.
|
package/README.md
CHANGED
|
@@ -10,9 +10,9 @@
|
|
|
10
10
|
</p>
|
|
11
11
|
|
|
12
12
|
<p align="center">
|
|
13
|
-
<a href="https://agent.shingoirie.com">Website</a> ·
|
|
14
|
-
<a href="https://agent.shingoirie.com/overview">Docs</a> ·
|
|
15
|
-
<a href="https://agent.shingoirie.com/getting-started">Quick Start</a>
|
|
13
|
+
<a href="https://agent.shingoirie.com?lang=en">Website</a> ·
|
|
14
|
+
<a href="https://agent.shingoirie.com/overview?lang=en">Docs</a> ·
|
|
15
|
+
<a href="https://agent.shingoirie.com/getting-started?lang=en">Quick Start</a>
|
|
16
16
|
</p>
|
|
17
17
|
|
|
18
18
|
---
|
|
@@ -55,27 +55,33 @@ curl -fsSL https://agent.shingoirie.com/install.sh | bash
|
|
|
55
55
|
**Windows (PowerShell)**
|
|
56
56
|
|
|
57
57
|
```powershell
|
|
58
|
-
irm https://agent.shingoirie.com/install.ps1 | iex
|
|
58
|
+
powershell -NoProfile -ExecutionPolicy Bypass -Command "irm https://agent.shingoirie.com/install.ps1 | iex"
|
|
59
59
|
```
|
|
60
60
|
|
|
61
|
+
If you downloaded `install.ps1` first, run it with `powershell -NoProfile -ExecutionPolicy Bypass -File .\install.ps1` to avoid Windows' default script policy for that one run.
|
|
62
|
+
|
|
61
63
|
The installer sets up `agent-sin`, runs initial setup, and registers a login service. Workspace data lives in `~/.agent-sin/`.
|
|
62
64
|
|
|
63
|
-
Full walkthrough: [Getting Started](https://agent.shingoirie.com/getting-started).
|
|
65
|
+
Full walkthrough: [Getting Started](https://agent.shingoirie.com/getting-started?lang=en).
|
|
64
66
|
|
|
65
67
|
## Documentation
|
|
66
68
|
|
|
67
|
-
- [Overview](https://agent.shingoirie.com/overview) — the big picture
|
|
68
|
-
- [Getting Started](https://agent.shingoirie.com/getting-started) — install to first conversation
|
|
69
|
-
- [Concepts](https://agent.shingoirie.com/concepts) — design and Runtime
|
|
70
|
-
- [Skill Authoring](https://agent.shingoirie.com/skill-authoring) — write your own skill
|
|
71
|
-
- [Built-in Skills](https://agent.shingoirie.com/built-in-skills) — bundled skills
|
|
72
|
-
- [CLI Reference](https://agent.shingoirie.com/cli) — every command
|
|
73
|
-
- [Configuration](https://agent.shingoirie.com/configuration) — settings and API keys
|
|
74
|
-
- [Gateway & Ops](https://agent.shingoirie.com/operations) — always-on, schedules, notifications, backup
|
|
75
|
-
- [Discord](https://agent.shingoirie.com/discord) · [Telegram](https://agent.shingoirie.com/telegram) — channel integrations
|
|
76
|
-
- [Versioning](https://agent.shingoirie.com/versioning) — compatibility and release policy
|
|
69
|
+
- [Overview](https://agent.shingoirie.com/overview?lang=en) — the big picture
|
|
70
|
+
- [Getting Started](https://agent.shingoirie.com/getting-started?lang=en) — install to first conversation
|
|
71
|
+
- [Concepts](https://agent.shingoirie.com/concepts?lang=en) — design and Runtime
|
|
72
|
+
- [Skill Authoring](https://agent.shingoirie.com/skill-authoring?lang=en) — write your own skill
|
|
73
|
+
- [Built-in Skills](https://agent.shingoirie.com/built-in-skills?lang=en) — bundled skills
|
|
74
|
+
- [CLI Reference](https://agent.shingoirie.com/cli?lang=en) — every command
|
|
75
|
+
- [Configuration](https://agent.shingoirie.com/configuration?lang=en) — settings and API keys
|
|
76
|
+
- [Gateway & Ops](https://agent.shingoirie.com/operations?lang=en) — always-on, schedules, notifications, backup
|
|
77
|
+
- [Discord](https://agent.shingoirie.com/discord?lang=en) · [Telegram](https://agent.shingoirie.com/telegram?lang=en) — channel integrations
|
|
78
|
+
- [Versioning](https://agent.shingoirie.com/versioning?lang=en) — compatibility and release policy
|
|
77
79
|
- [Changelog](CHANGELOG.md) — release history
|
|
78
80
|
|
|
81
|
+
## Also by the author
|
|
82
|
+
|
|
83
|
+
[**KingCoding**](https://kingcode.shingoirie.com/en) — Claude Code and Codex, in one simple UI. A Mac app that unifies the two coding agents, runs tasks hands-free in King Mode, and lets you check progress from your phone.
|
|
84
|
+
|
|
79
85
|
## License
|
|
80
86
|
|
|
81
87
|
MIT
|
package/dist/core/config.js
CHANGED
|
@@ -131,32 +131,14 @@ export function defaultConfig(workspace = defaultWorkspace()) {
|
|
|
131
131
|
event_log_retention_days: 90,
|
|
132
132
|
defaults: {
|
|
133
133
|
note_format: "daily_markdown",
|
|
134
|
-
locale:
|
|
134
|
+
// locale is intentionally not persisted: every run detects it fresh from
|
|
135
|
+
// AGENT_SIN_LOCALE / Intl, so users who switch their OS language never
|
|
136
|
+
// get stuck with a stale ja/en pinned at first setup.
|
|
135
137
|
},
|
|
136
138
|
chat_model_id: "codex-low",
|
|
137
139
|
builder_model_id: "codex-xhigh",
|
|
138
140
|
};
|
|
139
141
|
}
|
|
140
|
-
function detectInstallLocale() {
|
|
141
|
-
const explicit = (process.env.AGENT_SIN_LOCALE || "").trim().toLowerCase();
|
|
142
|
-
if (explicit === "ja" || explicit === "en")
|
|
143
|
-
return explicit;
|
|
144
|
-
const lang = (process.env.LC_ALL || process.env.LANG || "").trim();
|
|
145
|
-
if (lang) {
|
|
146
|
-
return /^ja(_|$|-)/i.test(lang) ? "ja" : "en";
|
|
147
|
-
}
|
|
148
|
-
try {
|
|
149
|
-
const intlLocale = (Intl.DateTimeFormat().resolvedOptions().locale || "").toLowerCase();
|
|
150
|
-
if (/^ja(-|$)/.test(intlLocale))
|
|
151
|
-
return "ja";
|
|
152
|
-
if (/^en(-|$)/.test(intlLocale))
|
|
153
|
-
return "en";
|
|
154
|
-
}
|
|
155
|
-
catch {
|
|
156
|
-
// ignored
|
|
157
|
-
}
|
|
158
|
-
return undefined;
|
|
159
|
-
}
|
|
160
142
|
export function defaultModels() {
|
|
161
143
|
return {
|
|
162
144
|
roles: {
|
package/dist/core/i18n.d.ts
CHANGED
|
@@ -7,9 +7,8 @@
|
|
|
7
7
|
* 1. AGENT_SIN_LOCALE env var (explicit override)
|
|
8
8
|
* 2. Per-turn locale inferred from the current user message
|
|
9
9
|
* 3. Configured locale via setLocale()
|
|
10
|
-
* 4.
|
|
11
|
-
* 5.
|
|
12
|
-
* → `ja` (cross-platform OS locale, including Windows where step 2 is empty)
|
|
10
|
+
* 4. Intl.DateTimeFormat().resolvedOptions().locale (OS-level system locale)
|
|
11
|
+
* 5. LC_ALL or LANG (Unix shell locale, only consulted when Intl is unset)
|
|
13
12
|
* 6. Default: `en`
|
|
14
13
|
*/
|
|
15
14
|
export type Locale = "en" | "ja";
|
package/dist/core/i18n.js
CHANGED
|
@@ -59,24 +59,27 @@ export function detectLocale() {
|
|
|
59
59
|
if (active) {
|
|
60
60
|
return active;
|
|
61
61
|
}
|
|
62
|
-
//
|
|
63
|
-
//
|
|
64
|
-
|
|
65
|
-
if (lang) {
|
|
66
|
-
active = /^ja(_|$|-)/i.test(lang) ? "ja" : "en";
|
|
67
|
-
return active;
|
|
68
|
-
}
|
|
69
|
-
// No shell-level locale set (typical on Windows or stripped-down envs):
|
|
70
|
-
// fall back to the OS-reported locale via the Intl API.
|
|
62
|
+
// Prefer the OS-reported locale via the Intl API. The shell's LANG often
|
|
63
|
+
// carries stale values when users switch their macOS system language, which
|
|
64
|
+
// would otherwise force ja when the user has already moved to English.
|
|
71
65
|
try {
|
|
72
66
|
const intlLocale = (Intl.DateTimeFormat().resolvedOptions().locale || "").toLowerCase();
|
|
73
67
|
if (/^ja(-|$)/.test(intlLocale)) {
|
|
74
68
|
active = "ja";
|
|
75
69
|
return active;
|
|
76
70
|
}
|
|
71
|
+
if (/^en(-|$)/.test(intlLocale)) {
|
|
72
|
+
active = "en";
|
|
73
|
+
return active;
|
|
74
|
+
}
|
|
77
75
|
}
|
|
78
76
|
catch {
|
|
79
|
-
// Intl API can fail in stripped-down builds; fall through to
|
|
77
|
+
// Intl API can fail in stripped-down builds; fall through to LANG.
|
|
78
|
+
}
|
|
79
|
+
const lang = (process.env.LC_ALL || process.env.LANG || "").trim();
|
|
80
|
+
if (lang) {
|
|
81
|
+
active = /^ja(_|$|-)/i.test(lang) ? "ja" : "en";
|
|
82
|
+
return active;
|
|
80
83
|
}
|
|
81
84
|
active = "en";
|
|
82
85
|
return active;
|
package/install.ps1
CHANGED
|
@@ -1,11 +1,10 @@
|
|
|
1
1
|
# Agent-Sin installer for Windows.
|
|
2
2
|
#
|
|
3
3
|
# Usage:
|
|
4
|
-
# irm https://<install-host>/install.ps1 | iex
|
|
5
|
-
# $args = @('--yes'); irm https://<install-host>/install.ps1 | iex
|
|
4
|
+
# powershell -NoProfile -ExecutionPolicy Bypass -Command "irm https://<install-host>/install.ps1 | iex"
|
|
6
5
|
#
|
|
7
6
|
# Or after downloading:
|
|
8
|
-
# powershell -ExecutionPolicy Bypass -File .\install.ps1 -Yes
|
|
7
|
+
# powershell -NoProfile -ExecutionPolicy Bypass -File .\install.ps1 -Yes
|
|
9
8
|
#
|
|
10
9
|
# Equivalent of install.sh: installs the agent-sin command globally,
|
|
11
10
|
# runs `agent-sin setup`, and registers the Task Scheduler logon task.
|
|
@@ -41,8 +40,8 @@ if (Use-Japanese) {
|
|
|
41
40
|
Agent-Sin installer (Windows)
|
|
42
41
|
|
|
43
42
|
使い方:
|
|
44
|
-
irm https://<install-host>/install.ps1 | iex
|
|
45
|
-
powershell -ExecutionPolicy Bypass -File .\install.ps1 [-Yes] [-Model <id>] [-Builder <id>]
|
|
43
|
+
powershell -NoProfile -ExecutionPolicy Bypass -Command "irm https://<install-host>/install.ps1 | iex"
|
|
44
|
+
powershell -NoProfile -ExecutionPolicy Bypass -File .\install.ps1 [-Yes] [-Model <id>] [-Builder <id>]
|
|
46
45
|
|
|
47
46
|
オプション:
|
|
48
47
|
-Yes setup をプロンプトなしで実行
|
|
@@ -58,8 +57,8 @@ Agent-Sin installer (Windows)
|
|
|
58
57
|
Agent-Sin installer (Windows)
|
|
59
58
|
|
|
60
59
|
Usage:
|
|
61
|
-
irm https://<install-host>/install.ps1 | iex
|
|
62
|
-
powershell -ExecutionPolicy Bypass -File .\install.ps1 [-Yes] [-Model <id>] [-Builder <id>]
|
|
60
|
+
powershell -NoProfile -ExecutionPolicy Bypass -Command "irm https://<install-host>/install.ps1 | iex"
|
|
61
|
+
powershell -NoProfile -ExecutionPolicy Bypass -File .\install.ps1 [-Yes] [-Model <id>] [-Builder <id>]
|
|
63
62
|
|
|
64
63
|
Options:
|
|
65
64
|
-Yes Run setup without prompts
|