Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
16 changes: 16 additions & 0 deletions .env.example
Original file line number Diff line number Diff line change
Expand Up @@ -91,6 +91,12 @@ OPENHUMAN_MODEL=
# [optional] Workspace directory (default: ~/.openhuman or ~/.openhuman-staging when OPENHUMAN_APP_ENV=staging)
# Leave commented out to use the default. Setting to empty string is treated as unset.
# OPENHUMAN_WORKSPACE=
# [optional] Master key for the `encrypted_file` keyring used in staging/production,
# as 64 hex characters (`openssl rand -hex 32`). Headless/container deploys have no
# OS keychain to hold it; set exactly one of these two, injected from your secret
# manager. Losing the key orphans every secret encrypted under it.
# OPENHUMAN_KEYRING_MASTER_KEY=
# OPENHUMAN_KEYRING_MASTER_KEY_FILE=/run/secrets/openhuman_master_key
# [optional] Default: 0.7
OPENHUMAN_TEMPERATURE=0.7
# [optional] Language for background LLM artifacts such as memory-tree summaries,
Expand Down Expand Up @@ -140,6 +146,16 @@ OPENHUMAN_TEMPERATURE=0.7
# ---------------------------------------------------------------------------
# [optional] Default: 0
OPENHUMAN_BROWSER_ALLOW_ALL=0
# [optional] Trace TinyComputer runs, as `[computer] trace = true` does: every
# browser task records its decisions and keeps its full report, and desktop
# commands are traced, under <workspace>/state/computer/. Reports hold page
# text. Default: 0
OPENHUMAN_COMPUTER_TRACE=0
# [optional] TinyComputer's own debug journal, read by the module inside this
# process: every Jev call with its latency, and the wall time of each decision,
# action and step, written under this directory (1 = ./.jev-journal). Read it
# with tinycomputer's `jev_journal` example. Off when unset.
# TINYCOMPUTER_JEV_JOURNAL=
# [optional] Default: 0
OPENHUMAN_LOG_PROMPTS=0
# [optional] Enable reasoning mode
Expand Down
47 changes: 47 additions & 0 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -339,4 +339,51 @@ If you are contributing through a coding agent or remote environment, include th
- Keep logs grep-friendly and avoid logging secrets, tokens, or full PII.
- Follow ESLint, Prettier, and Rust formatting output as authoritative.

### UI translations

All locales use the same workflow. Use `useT()` for UI text and treat
`app/src/lib/i18n/en.ts` as the key source. Preserve existing good translations,
translate new or changed English meanings, and remove keys retired from English.
`scripts/apply-i18n-translations.ts` applies translation JSON files, retains
existing values, removes obsolete keys, and writes keys in English order. Supply
real translations for new strings; its English fallback is not a finished translation.
Run `pnpm i18n:check`, `pnpm i18n:english:check`, the i18n coverage test, and Prettier.
Preserve interpolation placeholders exactly, including repeated placeholders and
double braces. Keep product names, paths, commands, and technical identifiers intact.

#### Japanese UI copy

Review text where it appears: a button, setting label, status, empty state, or
confirmation dialog. Prefer short action labels and plain, polite sentences.
Remove roundabout wording, not information: keep conditions, units, upload
destinations, consent requirements, and deletion scope. Errors should describe
what happened without guessing a cause. For example, keep "no answer" distinct
from "no data" or a connection failure.

| Context | Prefer | Avoid |
| --- | --- | --- |
| Save button | 保存 | 変更内容の保存を実行 |
| Saved status | 保存しました | 正常に保存されました |
| Available action | 変更できます | 変更することができます |
| Delete a stored memory item | メモリーから削除 | 忘れる |

Use these terms consistently on the Memory screens. Translate by meaning rather
than substituting words mechanically; source connections and answer citations are
different concepts.

| Concept | Japanese |
| --- | --- |
| Memory / memory engine | メモリー / メモリーエンジン |
| Learning / preference | 学習内容 / 好み |
| Brain / belief / memory pack | ブレイン / 信念 / メモリーパック |
| Source to sync / answer citation | ソース / 出典 |
| Context brief | コンテキスト要約; 要約 when the context is clear |
| Sync / import | 同期 / インポート |
| Endpoint URL / API key | 接続先URL / APIキー |
| Conversation / thread / turn | 会話 / スレッド / ターン |

Keep backend count units such as ターン; do not reinterpret them as messages or
conversations. This is contributor writing guidance, not a separate Japanese key
matcher, fallback, or validation rule.

Thank you for contributing to OpenHuman.
Loading
Loading