Show HN:Agenttik——借助 AI Agent 并行处理多个项目
英文标题:🔶 Show HN: Agenttik – work on multiple projects in parallel with AI agents
Agenttik 是一个本地运行的 AI 编程工作区,可在一个桌面窗口或浏览器标签页中并行管理多个项目的 AI 编程会话。它通过官方 CLI 接入 Claude Code、Codex 和 GitHub Copilot,并支持 Linux、macOS ARM64 与 Windows x64 桌面版本。产品提供跨项目任务编排、实时会话、定时任务、Git 代码审查、用量追踪及 SQLite 本地状态保存等功能。对开发者而言,它试图将多个 AI 编程 Agent 和多个代码库的工作流集中到一个可本地部署、默认仅本机访问的工作台中。
136.2 KB
118.9 KB
95.6 KB
116.3 KB
中文
一个用于在多个项目中运行 AI 编程会话的本地工作区。你可以通过其官方 CLI,使用现有登录账号,在一个桌面窗口或浏览器标签页中使用 Claude Code、Codex 和 GitHub Copilot。桌面版本支持 Linux、macOS ARM64 和 Windows x64。
- **项目工作区:**整理会话和文件标签页;归档并恢复对话。
- **编排器:**在“设置”中启用一个单独固定的项目,以检查工作并管理跨项目任务;支持编辑指令并重置为内置提示词。
- **实时会话:**流式显示回复、恢复对话,并按项目排队提示词。
- **可复用工作:**固定提示词并安排周期性任务。
- **模型控制:**选择模型、推理强度、权限及常用组合。
- **代码工具:**浏览和编辑文件、预览 Markdown/HTML、检查 Git diff、暂存变更并编写提交。
- **用量追踪:**查看 token、上下文用量、订阅额度,以及服务报告的成本。
- **本地状态:**SQLite 历史记录、已记住的标签页、可自定义快捷键和颜色主题。可使用配置文件分隔不同工作区,或使用私有模式创建临时工作区。
Claude Code 已可运行;Codex、GitHub Copilot 和 OpenCode Go 已实现,但实时轮次验证仍待完成。OpenCode Go 支持通过订阅密钥直接使用,也支持可选的 CLI;若已安装 CLI,“设置”将默认使用 CLI。
截图来自一个新建的私有实例和浏览器上下文,其中使用了虚构项目和演示对话数据。未运行真实 Agent。点击图片可查看全尺寸版本。
在工作位置审查代码
在项目任务旁打开已修改的文件。比较 diff、暂存单个文件,并从工作区面板准备提交。
为周期性任务设置独立的提示词、模型和执行计划。查看其下一次运行与历史记录,或从同一视图暂停任务。
需要使用 Go 1.25+、带 npm 的 Node.js 22.12+,以及位于 PATH 中且已登录的 claude、codex 或 copilot CLI;或者在“设置 → 订阅”中配置 OpenCode Go 密钥。opencode CLI 为可选项。
打开 localhost:7717,添加项目文件夹并启动会话。或者,在目标文件夹的终端中使用 agenttik --init 添加项目——agenttik --init path/to/repo 可指定其他路径——无论应用是否已经打开均可使用,项目会立即显示在已打开的窗口中。
远程服务器与私有工作区
使用 agenttik --remote host:7717(或 HTTPS URL)连接到另一台服务器,或者在命令面板中选择 连接到远程服务器。客户端会先检查 /api/version,然后在需要时显示服务器登录页面。参见远程连接。
使用 agenttik --private 启动一个临时且独立的实例。退出时,其应用数据将被删除,项目文件仍保留在磁盘上。在 设置 → 配置文件 中管理本地配置文件。使用多个配置文件时,“快捷键”之前的选择器可在彼此隔离的项目和任务之间切换。
--addr 和 --data-dir 分别用于修改监听地址和数据库保存位置,--web 会跳过桌面窗口,--help 和 --version 用于显示该构建版本的信息。
对于桌面应用,先安装原生构建依赖(Debian/Ubuntu 上使用 make deps),然后运行 make run。make build-windows-amd64 可交叉编译 Windows x64 二进制文件;在 macOS 上使用 make build-macos-arm64 构建 macOS ARM64 目标。macOS 构建还会创建临时签名的 agenttik.app 和 ZIP 文件(make build 输出到 bin/,ARM64 目标输出到 dist/)。解压发布 ZIP 后,将应用移至 Applications 文件夹。构建无需 Apple 开发者账号。下载的构建版本未经过公证;如果启动被拦截,请使用“系统设置 → 隐私与安全性 → 仍要打开”。
在 macOS 上,即使没有辅助功能权限,“关闭到托盘”也可正常工作。全局显示/隐藏快捷键需要该权限;请在“系统设置 → 隐私与安全性 → 辅助功能”中授予权限,然后重启 agenttik。快捷键故障会显示在 agenttik 的桌面设置中,但托盘菜单仍可使用。
**默认仅本地访问:**agenttik 绑定到回环地址。任何能够访问未认证服务器的人都拥有对其的完全控制权。在通过 设置 → 服务器 将其暴露到外部之前,请配置身份验证并使用受信任网络。参见服务器访问。
基于 Go、SQLite、Vue 3、Nuxt UI 和 Wails 构建。架构及实现细节请参见 specs。
MIT。
English / 原文
A local workspace for running AI coding sessions across multiple projects. Use Claude Code, Codex and GitHub Copilot through their official CLIs, with your existing login, in one desktop window or browser tab. Desktop builds support Linux, macOS ARM64, and Windows x64.
- Project workspaces: organize sessions and file tabs; archive and restore conversations.
- Orchestrator: enable a separate pinned project in Settings to inspect work and manage tasks across projects, with editable instructions and a reset to the built-in prompt.
- Live sessions: stream replies, resume conversations, and queue prompts per project.
- Reusable work: pin prompts and schedule recurring tasks.
- Model controls: choose models, effort, permissions, and favorite combinations.
- Code tools: browse and edit files, preview Markdown/HTML, inspect Git diffs, stage changes, and write commits.
- Usage tracking: view tokens, context usage, subscription allowance, and costs where reported.
- Local state: SQLite history, remembered tabs, customizable shortcuts, and color themes. Use profiles for separate workspaces or private mode for a temporary one.
Claude Code is working; Codex, GitHub Copilot and OpenCode Go are implemented, with live-turn validation still pending. OpenCode Go supports direct use with a subscription key and an optional CLI; Settings defaults to the CLI when installed.
Captured from a fresh private instance and browser context with fictional projects and demo conversation data. No live agent was run. Click an image to view it full size.
Review code where you work
Open a changed file beside your project tasks. Compare the diff, stage individual files, and prepare a commit from the workspace panel.
Give a recurring task its own prompt, model, and schedule. Review its next run and history, or pause it from the same view.
Use Go 1.25+, Node.js 22.12+ with npm, and either a logged-in claude, codex or copilot CLI on PATH, or an OpenCode Go key configured in Settings → Subscriptions. The opencode CLI is optional.
Open localhost:7717, add a project folder, and start a session. Or add one from the terminal with agenttik --init in the folder you want — agenttik --init path/to/repo names another — which works whether or not the app is already open, and shows up in an open window straight away.
Remote servers and private workspaces
Connect to another server with agenttik --remote host:7717 (or an HTTPS URL), or choose Connect to remote server in the command palette. The client checks /api/version first, then shows the server’s login if needed. See remote connections.
Start a temporary, separate instance with agenttik --private. Its app data is removed on exit; project files stay on disk. Manage local profiles in Settings → Profiles. With multiple profiles, the picker before Shortcuts switches between their isolated projects and tasks.
--addr and --data-dir change where it listens and where it keeps its database, --web skips the desktop window, and --help and --version say what this build is.
For the desktop app, install the native build dependencies (make deps on Debian/Ubuntu), then run make run. make build-windows-amd64 cross-compiles the Windows x64 binary; build the macOS ARM64 target on macOS with make build-macos-arm64. macOS builds also create an ad-hoc-signed agenttik.app and a ZIP (bin/ for make build, dist/ for the ARM64 target). Extract the release ZIP and move the app to Applications. No Apple developer account is needed to build it. Downloaded builds are not notarized; after a blocked launch, use System Settings → Privacy & Security → Open Anyway.
On macOS, Close to tray works even without Accessibility permission. The global show/hide shortcut needs that permission; grant it in System Settings → Privacy & Security → Accessibility, then restart agenttik. Shortcut failures appear in agenttik's desktop settings while the tray menu remains usable.
Local access by default: agenttik binds to loopback. Anyone who can reach an unauthenticated server has full control of it. Before exposing it through Settings → Server , configure authentication and use a trusted network. See server access.
Built with Go, SQLite, Vue 3, Nuxt UI, and Wails. See specs for architecture and implementation details.
MIT.


