从源码构建
⚠️ 警告:v1.2.2 版本尚未经过完整人工测试,建议自行编译验证后再使用。正式发布版请等待下一次 release。
bash
git clone https://github.com/hahahotsoup/sipintui.git
cd sipintui
dotnet publish -c Release -r win-x64 --self-contained false \
-p:PublishSingleFile=true -p:IncludeNativeLibrariesForSelfExtract=true -p:DebugSymbols=false -o publish/win-x64
./publish/win-x64/sip.exe # 进入 TUI 界面(Windows)
./publish/win-x64/sip.exe --help # 或直接用 CLI语言文件已内嵌:
zh-CN.json/en-US.json等官方翻译会打进 exe 内部——就算你把整个发布目录只拷走一个 exe,首次(或每次数据目录缺失时)启动都会自动恢复默认语言,界面仍是中文。发布目录里的外置languages/文件夹是给用户定制翻译用的(改完即生效,内置副本不会覆盖你的修改)。
-r win-x64 换成目标平台即可,常见 RID:
| 平台 | RID |
|---|---|
| Windows x64 / ARM64 | win-x64 / win-arm64 |
| Linux x64 / ARM64 | linux-x64 / linux-arm64 |
| macOS Intel / Apple Silicon | osx-x64 / osx-arm64 |
免装运行时版(self-contained):想发布给别人「拷走即跑」、不要求对方装 .NET 运行时,把
--self-contained false改成--self-contained true再发布即可(体积约几十 MB,程序更独立)。
一次性发布全部平台:执行
powershell -ExecutionPolicy Bypass -File publish.ps1,会为 Windows x64 / Linux x64 / macOS Intel / macOS Apple Silicon 各生成一个单文件可执行程序,输出到publish/<平台>/。版本号自动读取自sip.csproj,产物命名为唯一名sip-v<版本>-<平台>[.exe](如sip-v1.2.0-win-x64.exe,不再互相覆盖);发布前自动清理旧产物(保留sip-web*等发布件)与运行时测试数据(readwithhotsoup*/、_upd_*)。
技术栈
- C# / .NET 10.0
- Microsoft.Data.Sqlite
- CodeHollow.FeedReader(RSS/Atom 解析)
- DiffPlex(文本差异比较)
- Terminal.Gui(文件夹视图 TUI)
- HtmlAgilityPack(正文 HTML → 纯文本 / 全文抽取)
- ktsu.CredentialCache(系统原生凭据库存取 API Key)
- Embedding / LLM:兼容 OpenAI 接口(本地 Ollama、DeepSeek、OpenAI 等)