DeepSeek Harness Remote
DeepSeek Harness Remote 可將手機或另一台電腦與你運行 DeepSeek Harness 的電腦安全連接,隨時隨地繼續你的工作,方便隨時查看進度並繼續工作。
AI 翻譯
Your AI assistant on the Mac menu bar, iPhone and Apple Watch. A thin client of AbstractGateway: talk or type, hands-free voice conversations, automations, and sessions that follow you across devices. Any provider and model, local or cloud.
翻譯準備中
取自儲存庫 README
正在載入完整 README。
檢視完整 README ↗AbstractAssistant is a gateway-native desktop assistant for the AbstractFramework ecosystem: a macOS menu-bar app with a compact palette, a hands-free voice conversation mode, and a small CLI.
The desktop client stays thin. AbstractGateway owns workflow discovery, durable runs, provider connections, tool execution and policy, workspace policy, and multimodal defaults. The assistant keeps only local state: your chats, window placement, downloads, and the overrides you choose for this app.
Tray / Palette / CLI -> AbstractGateway -> AbstractRuntime -> AbstractCore -> Providers
assistant run
and the web Assistant (web/) render a run from the gateway's replay view (GET /runs/{id}/view
and its stream): status, replies, tool rows and the approval or question wherever it waits come
from the gateway, so an approval answered on another client closes here too. On an older gateway
the app folds the run's ledger itself and says so.pip install "abstractassistant[voice]"
The voice extra adds local microphone capture (dictation and voice conversations). The base
install covers text chat, spoken replies and gateway-backed media; STT and TTS run on the gateway
either way.
Requirements: Python 3.10+, an AbstractGateway you can reach (0.16.0 or later for the voice
library and the chat-wide tool policy; an older gateway keeps the labeled local grant and refuses
the voice library's requests). AbstractCore is installed as a
dependency (its minimum version is set in pyproject.toml). macOS is the primary tray target;
Linux and Windows may work but are not packaged to the same standard.
Start a local gateway for development:
export ABSTRACTGATEWAY_FLOWS_DIR="$PWD/abstractgateway/flows/bundles"
export ABSTRACTGATEWAY_AUTH_TOKEN="your-shared-token"
abstractgateway serve --host 127.0.0.1 --port 8080
Launch the tray assistant:
assistant
Run a single terminal turn:
assistant run --prompt "Search the web for the latest OpenAI news and summarize it with sources."
Connection overrides:
assistant --gateway-url http://127.0.0.1:8080 --gateway-token "$ABSTRACTGATEWAY_AUTH_TOKEN"
--gateway-url on its own is enough when you have already signed in to that gateway: the app
reuses the sign-in saved in ~/.abstractassistant/gateway_connection.json.
If the gateway runs the AbstractGateway console, the simplest way to start the assistant is Open on its card there: the console launches the app already signed in as you, and the app remembers that sign-in for later launches. The console can sign in only an Assistant it launches, so quit a running Assistant before you click Open.
Each turn runs the gateway's default workflow for the assistant (abstractassistant.agent.v1).
When the gateway sets none, the app runs its built-in orchestrator, the
abstractassistant-orchestrator workflow it publishes to your tenant catalog. You can pick
another assistant workflow in Settings → Workflow; the list holds only the assistant
workflows the gateway says you can run (what your admin made available, plus your own:
GET /api/gateway/bundles?executable_for=abstractassistant.agent.v1).
The gateway is the source of truth for the published workflow, provider and model defaults, tool inventory and approval defaults, workspace policy, run history, waits and artifacts.
The desktop client stores under ~/.abstractassistant/:
preferences.json — this app's overrides and preferences (model routes, reasoning effort,
reply streaming, workspace grant, voice options, tool modes, hotkey, window size)gateway_connection.json — gateway URL and sign-in statesession_cache.json, sessions/ — a rebuildable cache of the gateway's sessions (local labels,
cached transcripts, each session's workspace); the sessions themselves live on
the gatewayautomations_notified.json — which automation notifications were already shown; automations
themselves live on the gatewayStart with docs/README.md.
pip install -e ".[dev]"
QT_QPA_PLATFORM=offscreen python -m pytest tests/basic -q