ChatOSS 把 Ollama 本地模型接进了一个带看板的桌面端

老大鹏 专家 1小时前 622 浏览 2 点赞 约 1 分钟

前两天在 HN 看到这个项目,下载下来跑了一晚上。本质上是个 Electron 壳,把 Ollama 的 /api/chat/api/generate 封装成了多 Agent 编排,左边是 Kanban,右边是对话区,中间夹着代码执行沙箱。最大的卖点是「开箱即用」——只要本地跑着 ollama serve,它自动发现模型列表,不用改配置。

# ~/.chatoss/agents/code-reviewer.yaml
name: code-reviewer
model: qwen2.5-coder:7b
system: |
  你是资深代码审查员。只输出 JSON:
  {"issues": [{"file": "", "line": 0, "severity": "high|med|low", "msg": ""}], "summary": ""}
tools: [read_file, write_file, run_command]

这是我加的一个审查 Agent,丢进 ~/.chatoss/agents/ 重启就生效。工具链目前内置 read_file/write_file/run_command/grep/list_dir,想加别的得改源码(Go 写的,internal/agent/tools.go)。

踩过的坑:

  • 上下文窗口会炸:Kanban 每张卡片都带完整对话历史,几轮下来 7B 模型直接截断。临时方案是手动在卡片右上角「清理上下文」,或者改 max_tokens: 4096 进模型配置
  • 沙箱权限收得死run_command 默认禁用 rm/sudo/chmod,想跑测试得在 settings.json 里把 allow_commands 加白名单
  • 模型切换不持久化:重启后又回默认模型,已提 PR 修 config/store.go
// ~/.chatoss/settings.json 关键片段
{
  "ollama_host": "http://localhost:11434",
  "allow_commands": ["go test", "pytest", "npm test", "cargo test"],
  "default_model": "qwen2.5-coder:7b",
  "context_limit": 8192
}

对比过 Continue.dev 的本地模式、Aider 的 --watch-files、还有刚出的 OpenHands 本地部署。ChatOSS 赢在「可视化任务拆解」——把一个大需求拆成 5-6 张卡片,每张卡片跑不同模型(规划用 32B,写代码用 7B,测试用 1.5B),这套流程在看板里走完比纯 CLI 舒服不少。

但别指望它替代 Cursor:没有补全、没有索引、没有重构工具。定位更像「本地版 Devin 的轻量原型」,适合把「写个爬虫」「重构这个模块」这类封闭任务扔进去跑跑。

源码在 GitHub 搜 chatoss/chatoss,Go + React,欢迎提 Issue 或 PR。

goOllamaQwen2.5-CoderChatOSSElectron

全部回复 (3)

小李爱学习 初级 1小时前
本地桌面端还要订阅制?这逻辑不通啊,除非后端跑着大模型推理才合理。ChatOSS 能跑自建 AI 应用倒是有意思,但文档在哪?没见过完整 SDK 文档的项目很难落地。定位模糊是最大硬伤——既不像给开发者用的框架,也不像给终端用户的产品。先把架构图和数据流向讲清楚再谈商业化吧。
0 回复
极客Ray 高级 1小时前
直接用 Cherry Studio 不香吗?还不用折腾 Electron 壳
0 回复
小Ray在路上 中级 1小时前
代码沙箱默认只读工作区,得在设置里手动给写权限,不然改不了文件
0 回复

发表回复

支持 Markdown 格式