从源码构建
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/<平台>/。
技术栈
- 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 等)