coding-agents
vectorize-io/hindsightHindsight:会学习的 Agent 长期记忆系统,自动召回/保存、知识页、深度反思与按仓库隔离的记忆银行。
原生 DSH 基础插件:注册持久化默认工作区,分页只读查看插件、skills、memory、会话、storage、settings、credentials 与 DSH_HOME 文件,并将 CLIProxyAPI 的模型能力同步到原生 Provider 设置。
An installable, cross-platform DSH bundle that fills a small set of missing host-side fundamentals: a persistent default Workspace, complete resource inspection, and synchronization of CLIProxyAPI's rich model catalog into native DSH Provider settings.
It is not a Codex plugin, does not read ~/.codex, does not inject or modify DSH frontend code, and does not proxy inference. DSH's native model and reasoning selector remains authoritative.
Source: https://github.com/CDeZT/better-basicfun · Release: https://github.com/CDeZT/better-basicfun/releases/latest · Community: https://github.com/deepseek-ai/deepseek-harness/discussions/5344
$DSH_HOME/workspace as the default Workspace.AGENTS.md, MEMORY.md, and .dsh/skills/ without overwriting user files.dsh_resources tool for plugins, skills, memory, sessions, storage, settings, credentials, and files below DSH_HOME.This plugin deliberately exposes sensitive DSH data to the model. dsh_resources can return unredacted settings, resolved credentials, complete sessions, and files below DSH_HOME; tool results may be sent to the configured model provider. Read SECURITY.md before installing.
Configure a DSH custom Provider with the real CLIProxyAPI inference URL. The plugin only synchronizes the catalog:
GET {baseURL}/models?client_version=pi
→ CLIProxyAPI rich models[] catalog
→ DSH models[] (id/name/contextWindow/maxTokens/input/reasoningEfforts)
→ llm-pi-ai settings
→ native DSH model/reasoning selector
Inference remains direct: DSH → configured CLIProxyAPI Base URL → model service.
Example:
llm-pi-ai:
providers:
cliproxyapi:
displayName: CLIProxyAPI
apiKeyEnv: CLIPROXYAPI_KEY
api: openai-responses
baseURL: http://127.0.0.1:8317/v1
models:
- id: placeholder
DSH currently cannot save a custom Provider with no models. During initial setup, use DSH's Fetch available models action and select at least one result before saving; no hand-written placeholder is needed. The bridge enriches the selected list after the Provider is saved.
The bridge refreshes at startup, after llm-pi-ai changes, after a relevant API key changes, and every 15 minutes by default. Plain OpenAI {"data": [...]} responses are ignored. Empty or failed responses never erase a working model list. API keys are resolved on the DSH host and sent only to the configured Provider catalog endpoint, never to the browser.
Enter only the normal inference Base URL, such as http://127.0.0.1:8317/v1. Do not append /models or ?client_version=pi; the bridge constructs the rich catalog URL itself.
Reasoning levels are mapped from the remote catalog only: none becomes DSH off; canonical levels remain unchanged; and ultra occupies DSH's current max position only when no real max is advertised. The bridge never guesses capabilities from model names. default_reasoning_level is not written because DSH currently has no safe equivalent per-model default field.
& "$env:APPDATA\DSH Desktop\host-commands\desktop\bin\dsh.cmd" plugin --profile desktop add "C:\path\to\better-basicfun-1.3.0.tgz"
Restart DSH Desktop after installation.
The Workspace is $DSH_HOME/workspace; its skills are in .dsh/skills, while user-level skills remain in $DSH_HOME/skills. Profiles, sessions, storage, settings, and credentials stay outside the Workspace write boundary.
Do not use all of $DSH_HOME as a Workspace: workspace-write would then allow changes to private DSH state. This plugin provides read-only discovery through native host services without widening that boundary. No customSkillDirs change is needed.
dsh_resources supports overview, plugins, skills, memory, sessions, storage, settings, credential, cliproxyapi, list, and file. The cliproxyapi view reports synchronization status without returning credentials.
Defaults require no configuration. Example override:
- id: better-basicfun
config:
workspacePath: 'D:\DSH\Default'
title: 'Default workspace'
pinFirst: true
memoryMaxBytes: 32768
defaultListLimit: 50
defaultContentLimit: 32768
maxBinaryReadBytes: 67108864
cliProxySync: true
cliProxyProbeAllCustomProviders: true
cliProxyRoutes: []
cliProxyRefreshMinutes: 15
cliProxyRequestTimeoutMs: 10000
An empty cliProxyRoutes probes custom OpenAI-compatible Base URLs but only writes when a rich models[] response is recognized. Use cliProxyRoutes: [cliproxyapi] to restrict probing to named routes.
& "$env:APPDATA\DSH Desktop\host-commands\desktop\bin\dsh.cmd" plugin --profile desktop remove better-basicfun
Uninstalling leaves user-authored Workspace files, memory, and skills intact.