Skip to content

Commit 837f1f2

Browse files
committed
doc: Updated v2.1.0 documentation
1 parent e26582e commit 837f1f2

4 files changed

Lines changed: 128 additions & 0 deletions

File tree

Lines changed: 49 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,49 @@
1+
name: Sync upstream
2+
3+
on:
4+
workflow_dispatch:
5+
schedule:
6+
- cron: "17 3 * * *"
7+
8+
permissions:
9+
contents: write
10+
11+
concurrency:
12+
group: sync-upstream-${{ github.repository }}
13+
cancel-in-progress: false
14+
15+
jobs:
16+
sync:
17+
if: ${{ github.event.repository.fork == true }}
18+
runs-on: ubuntu-latest
19+
env:
20+
UPSTREAM_REPOSITORY: ${{ vars.UPSTREAM_REPOSITORY || 'u14app/neo-chat' }}
21+
UPSTREAM_BRANCH: ${{ vars.UPSTREAM_BRANCH || 'main' }}
22+
TARGET_BRANCH: ${{ vars.TARGET_BRANCH || github.event.repository.default_branch }}
23+
24+
steps:
25+
- name: Checkout target branch
26+
uses: actions/checkout@v7
27+
with:
28+
ref: ${{ env.TARGET_BRANCH }}
29+
fetch-depth: 0
30+
persist-credentials: true
31+
32+
- name: Sync from upstream
33+
run: |
34+
set -euo pipefail
35+
36+
if [[ "$UPSTREAM_REPOSITORY" != */* ]]; then
37+
echo "UPSTREAM_REPOSITORY must use the owner/repo format." >&2
38+
exit 1
39+
fi
40+
41+
if [[ -z "$UPSTREAM_BRANCH" || -z "$TARGET_BRANCH" ]]; then
42+
echo "UPSTREAM_BRANCH and TARGET_BRANCH must not be empty." >&2
43+
exit 1
44+
fi
45+
46+
git remote add upstream "https://github.com/${UPSTREAM_REPOSITORY}.git"
47+
git fetch --no-tags upstream "$UPSTREAM_BRANCH"
48+
git merge --ff-only FETCH_HEAD
49+
git push origin "HEAD:${TARGET_BRANCH}"

CHANGELOG.md

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,29 @@ group changes under a level-2 heading that matches the release tag, such as
77
`## v2.0.0`; the release workflow uses that section as the GitHub release notes
88
when the matching tag is pushed.
99

10+
## v2.1.0
11+
12+
- Rebuilt System Settings with clearer grouped controls, an About panel,
13+
deployment health visibility, local data export/reset actions, and refreshed
14+
localized settings copy.
15+
- Added native image generation and image editing for models with image
16+
input/output metadata, including ordered mixed text/image output blocks,
17+
image edit attachments, and OPFS-backed display caching.
18+
- Added thinking intensity controls and provider-specific reasoning mapping for
19+
Gemini and OpenAI-compatible model requests.
20+
- Added Japanese localization across the app, SEO metadata, LobeHub assistant
21+
locale routing, voice language handling, and the public Skills catalog.
22+
- Hardened hosted deployments with API request proof, stronger shared-store and
23+
rate-limit checks, service health coverage, safer URL/secret handling, and
24+
expanded test coverage.
25+
- Fixed Cloudflare Workers preview/deploy commands and kept Worker deploys from
26+
dropping dashboard-managed variables.
27+
- Refined code block rendering, syntax highlighting, sandboxed HTML preview,
28+
Mermaid/mind map/SVG rendering behavior, and release automation based on
29+
matching `CHANGELOG.md` sections.
30+
- Added a fork-only upstream sync workflow and README guidance for keeping fork
31+
repositories current with `u14app/neo-chat`.
32+
1033
## v2.0.0
1134

1235
- Added open-source governance files, issue templates, pull request template,

README.md

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,15 @@ Neo Chat is a self-hostable, local-first AI chat application built with Next.js,
2424

2525
It is designed for people who want the power of modern AI workspaces without giving up local data ownership. Chat history, workspace metadata, skills, plugin configuration, memories, and files stay in the browser by default; server routes act as controlled proxies for model providers, search, RAG, document parsing, voice, plugin execution, and deployment health.
2626

27+
## v2.1.0 Highlights
28+
29+
- Rebuilt System Settings with clearer grouped controls, an About panel, deployment health visibility, and local data export/reset actions.
30+
- Added native model image generation/editing with ordered mixed text/image output blocks and OPFS-backed image display caching.
31+
- Added thinking intensity controls for reasoning-capable Gemini and OpenAI-compatible models.
32+
- Added Japanese localization for the app shell, SEO metadata, assistant locale routing, voice language handling, and the public Skills catalog.
33+
- Hardened hosted deployments with API request proof, shared-store checks, service health coverage, safer URL/secret handling, and Cloudflare Worker command fixes.
34+
- Added changelog-driven GitHub Release automation and a fork-only upstream sync workflow.
35+
2736
## Features
2837

2938
- Multi-provider chat with Gemini, OpenAI, and OpenAI-compatible endpoints.
@@ -409,6 +418,25 @@ Project documentation:
409418
- [Roadmap](ROADMAP.md)
410419
- [Changelog](CHANGELOG.md)
411420

421+
### Fork Synchronization
422+
423+
Fork maintainers can enable the `Sync upstream` workflow to fast-forward their fork from the upstream `u14app/neo-chat` `main` branch.
424+
425+
1. In the fork, open **Settings > Actions > General** and allow GitHub Actions to run.
426+
2. In **Workflow permissions**, select **Read and write permissions** so `GITHUB_TOKEN` can push to the fork.
427+
3. Open **Actions > Sync upstream > Run workflow** to trigger the first sync manually.
428+
4. Keep the scheduled workflow enabled if you want the fork to sync daily.
429+
430+
The workflow is skipped in the upstream repository and only runs when GitHub marks the repository as a fork. It uses fast-forward-only merging, so it fails safely when the fork branch has diverged from upstream or a branch protection rule blocks the push.
431+
432+
Optional repository variables can override the defaults:
433+
434+
```text
435+
UPSTREAM_REPOSITORY=u14app/neo-chat
436+
UPSTREAM_BRANCH=main
437+
TARGET_BRANCH=<fork default branch>
438+
```
439+
412440
## FAQ
413441

414442
### Does Neo Chat store my data on a server?

README.zh-CN.md

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,15 @@ Neo Chat 是一个可自托管、本地优先的 AI 对话应用,基于 Next.j
2424

2525
它适合想使用现代 AI 工作台、同时保持本地数据所有权的用户。默认情况下,对话历史、工作区元数据、技能、插件配置、记忆和文件都保存在浏览器内;服务端路由作为受控代理,连接模型供应商、搜索、RAG、文档解析、语音、插件执行和部署健康检查。
2626

27+
## v2.1.0 亮点
28+
29+
- 重构 System Settings,提供更清晰的分组控制、About 面板、部署健康可见性,以及本地数据导出/重置入口。
30+
- 新增模型原生图片生成/编辑,支持按顺序渲染图文混合输出块,并使用 OPFS 做图片显示缓存。
31+
- 为支持 reasoning 的 Gemini 和 OpenAI-compatible 模型新增 thinking intensity 控制。
32+
- 新增日文支持,覆盖应用界面、SEO metadata、助理语言路由、语音语言处理和公共 Skills 目录。
33+
- 加强 hosted 部署安全,加入 API request proof、共享存储检查、服务健康覆盖、更安全的 URL/密钥处理,以及 Cloudflare Worker 命令修复。
34+
- 新增基于 `CHANGELOG.md` 的 GitHub Release 自动化,以及仅在 fork 仓库运行的 upstream 同步 workflow。
35+
2736
## 功能特性
2837

2938
- 支持 Gemini、OpenAI 和 OpenAI-compatible endpoint 的多供应商对话。
@@ -402,6 +411,25 @@ docs/ 部署和可靠性说明
402411
- [路线图](ROADMAP.md)
403412
- [变更日志](CHANGELOG.md)
404413

414+
### Fork 同步
415+
416+
fork 维护者可以启用 `Sync upstream` workflow,把自己的 fork 从上游 `u14app/neo-chat``main` 分支快进同步。
417+
418+
1. 在 fork 仓库打开 **Settings > Actions > General**,允许 GitHub Actions 运行。
419+
2.**Workflow permissions** 中选择 **Read and write permissions**,让 `GITHUB_TOKEN` 可以推送到 fork。
420+
3. 打开 **Actions > Sync upstream > Run workflow**,手动触发第一次同步。
421+
4. 如果希望每天自动同步,请保持 scheduled workflow 启用。
422+
423+
该 workflow 会在上游仓库中跳过,只会在 GitHub 标记为 fork 的仓库里运行。它使用 fast-forward-only merge;当 fork 分支已经和上游分叉,或分支保护规则阻止推送时,会安全失败,不会自动合并冲突或强推。
424+
425+
可选 repository variables 可以覆盖默认值:
426+
427+
```text
428+
UPSTREAM_REPOSITORY=u14app/neo-chat
429+
UPSTREAM_BRANCH=main
430+
TARGET_BRANCH=<fork default branch>
431+
```
432+
405433
## FAQ
406434

407435
### Neo Chat 会把我的数据存在服务器上吗?

0 commit comments

Comments
 (0)